Details

Time bar (total: 14.2s)

analyze397.0ms (2.8%)

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

Compiled 13 to 9 computations (30.8% saved)

sample4.1s (28.9%)

Results
2.2s3635×body1024valid
787.0ms2987×body256valid
758.0ms1427×body512valid
365.0ms207×body2048valid

preprocess21.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02356
13956
25556
36956
47356
033
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
(*.f64 a (/.f64 (sin.f64 b) (cos.f64 (+.f64 r b))))
(*.f64 b (/.f64 (sin.f64 r) (cos.f64 (+.f64 a r))))
(*.f64 r (/.f64 (sin.f64 a) (cos.f64 (+.f64 b a))))
Outputs
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(*.f64 a (/.f64 (sin.f64 b) (cos.f64 (+.f64 r b))))
(*.f64 (sin.f64 b) (/.f64 a (cos.f64 (+.f64 r b))))
(*.f64 b (/.f64 (sin.f64 r) (cos.f64 (+.f64 a r))))
(*.f64 b (/.f64 (sin.f64 r) (cos.f64 (+.f64 r a))))
(/.f64 (sin.f64 r) (/.f64 (cos.f64 (+.f64 r a)) b))
(*.f64 r (/.f64 (sin.f64 a) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 r (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
+-commutative_binary64
associate-*r/_binary64
associate-*l/_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

eval1.0ms (0%)

Compiler

Compiled 21 to 12 computations (42.9% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 12 to 8 computations (33.3% saved)

localize13.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 31 to 8 computations (74.2% saved)

series19.0ms (0.1%)

Counts
3 → 84
Calls

21 calls:

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

rewrite74.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
583×prod-diff_binary64
538×log-prod_binary64
345×pow-prod-down_binary64
288×pow2_binary64
214×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0931
120031
2287631
Stop Event
node limit
Counts
3 → 133
Calls
Call 1
Inputs
(cos.f64 (+.f64 b a))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
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)) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (pow.f64 (cbrt.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)) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (pow.f64 (cbrt.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)) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (pow.f64 (cbrt.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)) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (pow.f64 (cbrt.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)) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (pow.f64 (cbrt.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 (sin.f64 b) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))) 2)) (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 (pow.f64 (cbrt.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 (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 (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 (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 (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 (pow.f64 (cbrt.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 (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 (pow.f64 (cbrt.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 (pow.f64 (cos.f64 (+.f64 b a)) -1/2) (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.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))) 2) 1/2)))) (#(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 (pow.f64 (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)) (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 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 r) (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))) 2)) (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 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) 2) 1/2)))) (#(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 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))))))

simplify62.0ms (0.4%)

Algorithm
egg-herbie
Rules
904×fma-def_binary64
521×times-frac_binary64
471×associate-/l*_binary64
437×associate-*l/_binary64
359×associate-*r/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01781827
15851745
221051658
Stop Event
node limit
Counts
217 → 187
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 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) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 a (*.f64 -1 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) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (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))))
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 (*.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 (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/2 (*.f64 (cos.f64 a) (*.f64 b b)) (*.f64 (pow.f64 b 3) (*.f64 (sin.f64 a) 1/6))))
(+.f64 (*.f64 (sin.f64 a) (+.f64 (neg.f64 b) (*.f64 1/6 (pow.f64 b 3)))) (fma.f64 (cos.f64 a) (*.f64 (*.f64 b b) -1/2) (cos.f64 a)))
(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 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))))
(+.f64 (/.f64 b (cos.f64 a)) (*.f64 (/.f64 (sin.f64 a) (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 (pow.f64 b 3) (-.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 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b))))
(fma.f64 (pow.f64 b 3) (+.f64 (/.f64 1/3 (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)) (*.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 (pow.f64 b 3) (-.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 (*.f64 (/.f64 (sin.f64 a) (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 (pow.f64 b 3) (+.f64 (/.f64 1/3 (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)) (*.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) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a 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 a (pow.f64 (sin.f64 b) 2)) (pow.f64 (cos.f64 b) 2)))
(+.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 (*.f64 a (pow.f64 (sin.f64 b) 2)) (pow.f64 (cos.f64 b) 2))))
(+.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 -1/2 (/.f64 (cos.f64 b) (sin.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 (*.f64 a (pow.f64 (sin.f64 b) 2)) (pow.f64 (cos.f64 b) 2)))))
(+.f64 (-.f64 (/.f64 a (/.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (sin.f64 b) 2))) (*.f64 (*.f64 a a) (-.f64 (/.f64 -1/2 (/.f64 (cos.f64 b) (sin.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 (cos.f64 b) (sin.f64 b))) (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3))))) (/.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))) (fma.f64 (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))) (neg.f64 (pow.f64 a 3)) (/.f64 (sin.f64 b) (cos.f64 b))))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (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 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 b (/.f64 (cos.f64 a) r)) (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 (*.f64 b b) r))))
(+.f64 (*.f64 (/.f64 b (cos.f64 a)) r) (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 (*.f64 b 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 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 (*.f64 b b) r))) (+.f64 (/.f64 b (/.f64 (cos.f64 a) r)) (*.f64 (pow.f64 b 3) (-.f64 (/.f64 (*.f64 -1/6 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 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)) (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 (*.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 b (/.f64 (cos.f64 a) r)) (fma.f64 (pow.f64 b 3) (-.f64 (/.f64 (*.f64 -1/6 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 (*.f64 -1/6 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 (/.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 b (cos.f64 a)) r)) (*.f64 (pow.f64 b 4) (-.f64 (*.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) r) -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 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) 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 (pow.f64 b 4) (-.f64 (*.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) -1/3) r) (*.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) (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) (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) (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) (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) (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 (*.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 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 a r))))
(+.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 a r)))
(fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r (*.f64 (*.f64 (/.f64 a (pow.f64 (cos.f64 b) 2)) (pow.f64 (sin.f64 b) 2)) 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 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 (*.f64 (sin.f64 b) r) (cos.f64 b))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(+.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 a r)) (*.f64 (*.f64 a a) (-.f64 (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))) (/.f64 (pow.f64 (sin.f64 b) 3) (/.f64 (pow.f64 (cos.f64 b) 3) r))))))
(fma.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))) (*.f64 a (neg.f64 a)) (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r (*.f64 (*.f64 (/.f64 a (pow.f64 (cos.f64 b) 2)) (pow.f64 (sin.f64 b) 2)) 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 a r))) (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 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (*.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (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 -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 (sin.f64 b) (/.f64 (cos.f64 b) r)) (*.f64 (*.f64 a a) (-.f64 (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (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 (/.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 (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 (sin.f64 b) (/.f64 (cos.f64 b) r)) (*.f64 (*.f64 a a) (+.f64 (*.f64 (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 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) -1/3)) r)) a) (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 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) (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) (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) (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) (cos.f64 (+.f64 a b))) r)

eval54.0ms (0.4%)

Compiler

Compiled 4478 to 1528 computations (65.9% saved)

prune72.0ms (0.5%)

Pruning

40 alts after pruning (40 fresh and 0 done)

PrunedKeptTotal
New14740187
Fresh000
Picked101
Done000
Total14840188
Error
0.1b
Counts
188 → 40
Alt Table
Click to see full alt table
StatusErrorProgram
25.0b
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 b)))
37.3b
(exp.f64 (log.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)))
38.6b
(*.f64 r (log.f64 (exp.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))
19.8b
(*.f64 r (/.f64 (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)))))
38.9b
(*.f64 r (sqrt.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 2)))
27.7b
(*.f64 r (/.f64 (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)))))))
25.5b
(expm1.f64 (log1p.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)))
14.5b
(*.f64 r (*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (sin.f64 b)))
0.9b
(*.f64 r (/.f64 (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)))))
14.5b
(*.f64 r (/.f64 (sin.f64 b) (expm1.f64 (log1p.f64 (cos.f64 (+.f64 b a))))))
27.7b
(*.f64 r (/.f64 (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)))))))
30.2b
(+.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)))
14.5b
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
14.7b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (exp.f64 (log1p.f64 (cos.f64 (+.f64 b a)))) 1)))
29.8b
(*.f64 (/.f64 r (cos.f64 a)) b)
14.8b
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)))
0.3b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))))
29.9b
(/.f64 (*.f64 b r) (cos.f64 a))
29.2b
(*.f64 r (/.f64 (sin.f64 b) (+.f64 (cos.f64 a) (*.f64 b (-.f64 (*.f64 (*.f64 (cos.f64 a) -1/2) b) (sin.f64 a))))))
14.5b
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
14.6b
(*.f64 r (/.f64 (sin.f64 b) (log.f64 (exp.f64 (cos.f64 (+.f64 b a))))))
30.1b
(*.f64 r (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))))
42.1b
(sqrt.f64 (pow.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r) 2))
0.3b
(*.f64 r (/.f64 (sin.f64 b) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a)))))
25.0b
(*.f64 r (/.f64 (sin.f64 b) (sqrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) 2))))
0.4b
(*.f64 r (/.f64 (sin.f64 b) (+.f64 (fma.f64 (cos.f64 b) (cos.f64 a) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (pow.f64 (cbrt.f64 (sin.f64 b)) 2))))))
28.5b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b))))
15.3b
(*.f64 r (pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 3))
29.9b
(*.f64 r (/.f64 b (cos.f64 a)))
35.7b
(pow.f64 (sqrt.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)) 2)
14.9b
(*.f64 r (/.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 3)))
27.0b
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
15.2b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)) 3)
25.1b
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
39.3b
(*.f64 r (exp.f64 (log.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))
25.0b
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
26.5b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (fma.f64 -1/2 (*.f64 a a) 1) (cos.f64 b)) (*.f64 a (sin.f64 b)))))
26.2b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (cos.f64 b) (*.f64 a (sin.f64 b)))))
38.6b
(*.f64 r (/.f64 (sin.f64 b) (+.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)))))))
0.4b
(*.f64 r (/.f64 (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))))))
Compiler

Compiled 1592 to 924 computations (42% saved)

localize21.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 64 to 12 computations (81.3% saved)

series26.0ms (0.2%)

Counts
4 → 108
Calls

27 calls:

TimeVariablePointExpression
5.0ms
r
@0
(*.f64 r (/.f64 (sin.f64 b) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a)))))
3.0ms
b
@inf
(/.f64 (sin.f64 b) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a))))
1.0ms
a
@inf
(/.f64 (sin.f64 b) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a))))
1.0ms
b
@-inf
(/.f64 (sin.f64 b) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a))))
1.0ms
a
@-inf
(/.f64 (sin.f64 b) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a))))

rewrite109.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
653×log-prod_binary64
333×pow2_binary64
299×prod-diff_binary64
254×pow-unpow_binary64
236×pow1/3_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01377
126669
2349439
Stop Event
node limit
Counts
4 → 249
Calls
Call 1
Inputs
(*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a))
(/.f64 (sin.f64 b) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a))))
(*.f64 r (/.f64 (sin.f64 b) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a)))))
(fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a)))
Outputs
((#(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 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 a)) (sin.f64 b))) 2)) (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 0 (*.f64 (sin.f64 b) (sin.f64 a)))))) (#(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)) (cos.f64 (+.f64 b a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b))) 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 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 2) 1/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 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 (*.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (sin.f64 a) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (sin.f64 a) 3) (pow.f64 (sin.f64 b) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))) (#(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 log.f64 (/.f64 1 (+.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 cbrt.f64 (*.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (sin.f64 a) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 a) 3) (pow.f64 (sin.f64 b) 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 (sin.f64 b) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))) 2)) (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 (/.f64 0 (neg.f64 (cos.f64 (+.f64 b a)))) (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))) (#(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 (sin.f64 b) (/.f64 1 (neg.f64 (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 (/.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 (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 (pow.f64 (cos.f64 (+.f64 b a)) -1/2) (/.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))) 2) 1/2)))) (#(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 (pow.f64 (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)) (sin.f64 b)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sin.f64 b) (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 log.f64 (/.f64 1 (+.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 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 r) (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))) 2)) (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 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 (*.f64 (sin.f64 b) r) (neg.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 (/.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 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) 2) 1/2)))) (#(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 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 3) (pow.f64 r 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 r 3) (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 3)) 1/3)))) (#(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 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))))) (#(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 (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 -1 (*.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 (*.f64 (sin.f64 b) (sin.f64 a)) 1 (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 b a)) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2)) (cbrt.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 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2) (*.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)) (*.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 (cos.f64 b) (cos.f64 a)) 1) (*.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 (neg.f64 (sin.f64 a)) (sin.f64 b)))) (fma.f64 (neg.f64 (neg.f64 (sin.f64 a))) (sin.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))) (fma.f64 (neg.f64 (neg.f64 (sin.f64 a))) (sin.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 (cos.f64 b) (cos.f64 a)) (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))) (fma.f64 (neg.f64 (neg.f64 (sin.f64 a))) (sin.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (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 (neg.f64 (sin.f64 a)) (sin.f64 b)))) (fma.f64 (neg.f64 (neg.f64 (sin.f64 a))) (sin.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (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 (neg.f64 (sin.f64 a)) (sin.f64 b)))) (fma.f64 (neg.f64 (neg.f64 (sin.f64 a))) (sin.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (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 (neg.f64 (sin.f64 a)) (sin.f64 b)))) (fma.f64 (neg.f64 (neg.f64 (sin.f64 a))) (sin.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (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 (neg.f64 (sin.f64 a)) (sin.f64 b)))) (fma.f64 (neg.f64 (neg.f64 (sin.f64 a))) (sin.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (sqrt.f64 (cos.f64 b)) (sqrt.f64 (cos.f64 a))) (*.f64 (sqrt.f64 (cos.f64 b)) (sqrt.f64 (cos.f64 a))) (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))) (fma.f64 (neg.f64 (neg.f64 (sin.f64 a))) (sin.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (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 (neg.f64 (sin.f64 a)) (sin.f64 b)))) (fma.f64 (neg.f64 (neg.f64 (sin.f64 a))) (sin.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (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 (neg.f64 (sin.f64 a)) (sin.f64 b)))) (fma.f64 (neg.f64 (neg.f64 (sin.f64 a))) (sin.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 b) (cos.f64 a) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b)) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b))) (pow.f64 (cbrt.f64 (sin.f64 a)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (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 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b)) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b))) (pow.f64 (cbrt.f64 (sin.f64 a)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (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 b) (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b)) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b))) (pow.f64 (cbrt.f64 (sin.f64 a)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (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 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b)) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b))) (pow.f64 (cbrt.f64 (sin.f64 a)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (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 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b)) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b))) (pow.f64 (cbrt.f64 (sin.f64 a)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (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 b) (cos.f64 a))) 2) (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b)) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b))) (pow.f64 (cbrt.f64 (sin.f64 a)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (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 b) (cos.f64 a))) (sqrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b)) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b))) (pow.f64 (cbrt.f64 (sin.f64 a)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b)) (pow.f64 (cbrt.f64 (sin.f64 a)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (sqrt.f64 (cos.f64 b)) (sqrt.f64 (cos.f64 a))) (*.f64 (sqrt.f64 (cos.f64 b)) (sqrt.f64 (cos.f64 a))) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b)) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b))) (pow.f64 (cbrt.f64 (sin.f64 a)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (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 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b)) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b))) (pow.f64 (cbrt.f64 (sin.f64 a)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (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 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b)) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b))) (pow.f64 (cbrt.f64 (sin.f64 a)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (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 (*.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 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 (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 (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 (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 (*.f64 (sqrt.f64 (cos.f64 b)) (sqrt.f64 (cos.f64 a))) (*.f64 (sqrt.f64 (cos.f64 b)) (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 (*.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 b) (cos.f64 a) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b)) (sqrt.f64 (sin.f64 a))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b))) (sqrt.f64 (sin.f64 a)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (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 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b)) (sqrt.f64 (sin.f64 a))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b))) (sqrt.f64 (sin.f64 a)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b)) (sqrt.f64 (sin.f64 a)))))))) (#(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 a)) (sin.f64 b)) (sqrt.f64 (sin.f64 a))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b))) (sqrt.f64 (sin.f64 a)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (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 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b)) (sqrt.f64 (sin.f64 a))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b))) (sqrt.f64 (sin.f64 a)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (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 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b)) (sqrt.f64 (sin.f64 a))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b))) (sqrt.f64 (sin.f64 a)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (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 b) (cos.f64 a))) 2) (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b)) (sqrt.f64 (sin.f64 a))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b))) (sqrt.f64 (sin.f64 a)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b)) (sqrt.f64 (sin.f64 a)))))))) (#(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 a)) (sin.f64 b)) (sqrt.f64 (sin.f64 a))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b))) (sqrt.f64 (sin.f64 a)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b)) (sqrt.f64 (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (sqrt.f64 (cos.f64 b)) (sqrt.f64 (cos.f64 a))) (*.f64 (sqrt.f64 (cos.f64 b)) (sqrt.f64 (cos.f64 a))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b)) (sqrt.f64 (sin.f64 a))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b))) (sqrt.f64 (sin.f64 a)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (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 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b)) (sqrt.f64 (sin.f64 a))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b))) (sqrt.f64 (sin.f64 a)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (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 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b)) (sqrt.f64 (sin.f64 a))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b))) (sqrt.f64 (sin.f64 a)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (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 (*.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 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 (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 (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 (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 (*.f64 (sqrt.f64 (cos.f64 b)) (sqrt.f64 (cos.f64 a))) (*.f64 (sqrt.f64 (cos.f64 b)) (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 (*.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 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 (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 1 (*.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 (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 (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 (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 (*.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 (*.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 (sqrt.f64 (cos.f64 b)) (sqrt.f64 (cos.f64 a))) (*.f64 (sqrt.f64 (cos.f64 b)) (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 (*.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 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 (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 1 (*.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 (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 (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 (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 (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 b) (cos.f64 a))) (sqrt.f64 (*.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 (sqrt.f64 (cos.f64 b)) (sqrt.f64 (cos.f64 a))) (*.f64 (sqrt.f64 (cos.f64 b)) (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 (*.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 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 (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 1 (*.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 (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 (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 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 2) (cbrt.f64 (*.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 b) (cos.f64 a))) (sqrt.f64 (*.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 (sqrt.f64 (cos.f64 b)) (sqrt.f64 (cos.f64 a))) (*.f64 (sqrt.f64 (cos.f64 b)) (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 (*.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 b) (cos.f64 a) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (cbrt.f64 (pow.f64 (sin.f64 b) 2))) (*.f64 (cbrt.f64 (sin.f64 b)) (*.f64 (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 (cbrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (cbrt.f64 (pow.f64 (sin.f64 b) 2))) (*.f64 (cbrt.f64 (sin.f64 b)) (*.f64 (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 (cbrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (cbrt.f64 (pow.f64 (sin.f64 b) 2))) (*.f64 (cbrt.f64 (sin.f64 b)) (*.f64 (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 (cbrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (cbrt.f64 (pow.f64 (sin.f64 b) 2))) (*.f64 (cbrt.f64 (sin.f64 b)) (*.f64 (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 (cbrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (cbrt.f64 (pow.f64 (sin.f64 b) 2))) (*.f64 (cbrt.f64 (sin.f64 b)) (*.f64 (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 (cbrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (cbrt.f64 (pow.f64 (sin.f64 b) 2))) (*.f64 (cbrt.f64 (sin.f64 b)) (*.f64 (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 (cbrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (cbrt.f64 (pow.f64 (sin.f64 b) 2))) (*.f64 (cbrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (sqrt.f64 (cos.f64 b)) (sqrt.f64 (cos.f64 a))) (*.f64 (sqrt.f64 (cos.f64 b)) (sqrt.f64 (cos.f64 a))) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (cbrt.f64 (pow.f64 (sin.f64 b) 2))) (*.f64 (cbrt.f64 (sin.f64 b)) (*.f64 (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 (cbrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (cbrt.f64 (pow.f64 (sin.f64 b) 2))) (*.f64 (cbrt.f64 (sin.f64 b)) (*.f64 (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 (cbrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (cbrt.f64 (pow.f64 (sin.f64 b) 2))) (*.f64 (cbrt.f64 (sin.f64 b)) (*.f64 (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 (sqrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b))) (*.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (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 (sqrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b))) (*.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (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 (sqrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b))) (*.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (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 (sqrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b))) (*.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (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 (sqrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b))) (*.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (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 (sqrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b))) (*.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (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 (sqrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b))) (*.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (sqrt.f64 (cos.f64 b)) (sqrt.f64 (cos.f64 a))) (*.f64 (sqrt.f64 (cos.f64 b)) (sqrt.f64 (cos.f64 a))) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b))) (*.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (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 (sqrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b))) (*.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (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 (sqrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b))) (*.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (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 (sin.f64 b) (*.f64 (sin.f64 a) -1)))) (fma.f64 (sin.f64 b) (*.f64 (sin.f64 a) -1) (*.f64 (sin.f64 b) (*.f64 (sin.f64 a) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (neg.f64 (*.f64 (sin.f64 b) (*.f64 (sin.f64 a) -1)))) (fma.f64 (sin.f64 b) (*.f64 (sin.f64 a) -1) (*.f64 (sin.f64 b) (*.f64 (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 (sin.f64 b) (*.f64 (sin.f64 a) -1)))) (fma.f64 (sin.f64 b) (*.f64 (sin.f64 a) -1) (*.f64 (sin.f64 b) (*.f64 (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 (sin.f64 b) (*.f64 (sin.f64 a) -1)))) (fma.f64 (sin.f64 b) (*.f64 (sin.f64 a) -1) (*.f64 (sin.f64 b) (*.f64 (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 (sin.f64 b) (*.f64 (sin.f64 a) -1)))) (fma.f64 (sin.f64 b) (*.f64 (sin.f64 a) -1) (*.f64 (sin.f64 b) (*.f64 (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 (sin.f64 b) (*.f64 (sin.f64 a) -1)))) (fma.f64 (sin.f64 b) (*.f64 (sin.f64 a) -1) (*.f64 (sin.f64 b) (*.f64 (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 (sin.f64 b) (*.f64 (sin.f64 a) -1)))) (fma.f64 (sin.f64 b) (*.f64 (sin.f64 a) -1) (*.f64 (sin.f64 b) (*.f64 (sin.f64 a) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (sqrt.f64 (cos.f64 b)) (sqrt.f64 (cos.f64 a))) (*.f64 (sqrt.f64 (cos.f64 b)) (sqrt.f64 (cos.f64 a))) (neg.f64 (*.f64 (sin.f64 b) (*.f64 (sin.f64 a) -1)))) (fma.f64 (sin.f64 b) (*.f64 (sin.f64 a) -1) (*.f64 (sin.f64 b) (*.f64 (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 (sin.f64 b) (*.f64 (sin.f64 a) -1)))) (fma.f64 (sin.f64 b) (*.f64 (sin.f64 a) -1) (*.f64 (sin.f64 b) (*.f64 (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 (sin.f64 b) (*.f64 (sin.f64 a) -1)))) (fma.f64 (sin.f64 b) (*.f64 (sin.f64 a) -1) (*.f64 (sin.f64 b) (*.f64 (sin.f64 a) -1))))))) (#(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 log.f64 (/.f64 (exp.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (pow.f64 (exp.f64 (sin.f64 a)) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (sin.f64 a)) (sin.f64 b)) (exp.f64 (*.f64 (cos.f64 b) (cos.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (exp.f64 (*.f64 (cos.f64 b) (cos.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 b) (sin.f64 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 cos.f64 (+.f64 b a))))) (#(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))))))

simplify80.0ms (0.6%)

Algorithm
egg-herbie
Rules
497×times-frac_binary64
452×associate-/l*_binary64
437×associate-*l/_binary64
359×associate-*r/_binary64
303×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01982979
16522833
223312734
Stop Event
node limit
Counts
357 → 317
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (sin.f64 a) b))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 a) (pow.f64 b 3))) (*.f64 -1 (*.f64 (sin.f64 a) b)))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 a) (pow.f64 b 3))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) b)) (*.f64 -1/120 (*.f64 (sin.f64 a) (pow.f64 b 5)))))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 a) (pow.f64 b 3))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) b)) (+.f64 (*.f64 1/5040 (*.f64 (sin.f64 a) (pow.f64 b 7))) (*.f64 -1/120 (*.f64 (sin.f64 a) (pow.f64 b 5))))))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 b) a))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 b) (pow.f64 a 3))) (*.f64 -1 (*.f64 (sin.f64 b) a)))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 b) (pow.f64 a 3))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 b) a)) (*.f64 -1/120 (*.f64 (sin.f64 b) (pow.f64 a 5)))))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 b) (pow.f64 a 3))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 b) a)) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 b) (pow.f64 a 5))) (*.f64 1/5040 (*.f64 (sin.f64 b) (pow.f64 a 7))))))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(/.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 (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 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))))
(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 -1 (*.f64 (sin.f64 a) b))
(neg.f64 (*.f64 (sin.f64 a) b))
(*.f64 (sin.f64 a) (neg.f64 b))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 a) (pow.f64 b 3))) (*.f64 -1 (*.f64 (sin.f64 a) b)))
(fma.f64 1/6 (*.f64 (sin.f64 a) (pow.f64 b 3)) (neg.f64 (*.f64 (sin.f64 a) b)))
(-.f64 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 3) 1/6)) (*.f64 (sin.f64 a) b))
(*.f64 (sin.f64 a) (-.f64 (*.f64 1/6 (pow.f64 b 3)) b))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 a) (pow.f64 b 3))) (+.f64 (*.f64 -1 (*.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 -1 (*.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)) (-.f64 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 5) -1/120)) (*.f64 (sin.f64 a) b)))
(fma.f64 1/6 (*.f64 (sin.f64 a) (pow.f64 b 3)) (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/120 (pow.f64 b 5)) b)))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 a) (pow.f64 b 3))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) b)) (+.f64 (*.f64 1/5040 (*.f64 (sin.f64 a) (pow.f64 b 7))) (*.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 -1 (*.f64 (sin.f64 a) b) (fma.f64 1/5040 (*.f64 (sin.f64 a) (pow.f64 b 7)) (*.f64 -1/120 (*.f64 (sin.f64 a) (pow.f64 b 5))))))
(fma.f64 1/6 (*.f64 (sin.f64 a) (pow.f64 b 3)) (-.f64 (fma.f64 -1/120 (*.f64 (sin.f64 a) (pow.f64 b 5)) (*.f64 (pow.f64 b 7) (*.f64 (sin.f64 a) 1/5040))) (*.f64 (sin.f64 a) b)))
(+.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 1/6 (pow.f64 b 3)) b)) (*.f64 (sin.f64 a) (+.f64 (*.f64 -1/120 (pow.f64 b 5)) (*.f64 1/5040 (pow.f64 b 7)))))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(neg.f64 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(neg.f64 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(neg.f64 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(neg.f64 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(neg.f64 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(neg.f64 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(neg.f64 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(neg.f64 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 b) a))
(neg.f64 (*.f64 a (sin.f64 b)))
(*.f64 a (neg.f64 (sin.f64 b)))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 b) (pow.f64 a 3))) (*.f64 -1 (*.f64 (sin.f64 b) a)))
(fma.f64 1/6 (*.f64 (sin.f64 b) (pow.f64 a 3)) (neg.f64 (*.f64 a (sin.f64 b))))
(-.f64 (*.f64 (sin.f64 b) (*.f64 (pow.f64 a 3) 1/6)) (*.f64 a (sin.f64 b)))
(*.f64 (sin.f64 b) (-.f64 (*.f64 (pow.f64 a 3) 1/6) a))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 b) (pow.f64 a 3))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 b) a)) (*.f64 -1/120 (*.f64 (sin.f64 b) (pow.f64 a 5)))))
(fma.f64 1/6 (*.f64 (sin.f64 b) (pow.f64 a 3)) (fma.f64 -1 (*.f64 a (sin.f64 b)) (*.f64 (*.f64 -1/120 (sin.f64 b)) (pow.f64 a 5))))
(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 a (neg.f64 (sin.f64 b)))))
(fma.f64 1/6 (*.f64 (sin.f64 b) (pow.f64 a 3)) (*.f64 (sin.f64 b) (-.f64 (*.f64 -1/120 (pow.f64 a 5)) a)))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 b) (pow.f64 a 3))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 b) a)) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 b) (pow.f64 a 5))) (*.f64 1/5040 (*.f64 (sin.f64 b) (pow.f64 a 7))))))
(fma.f64 1/6 (*.f64 (sin.f64 b) (pow.f64 a 3)) (fma.f64 -1 (*.f64 a (sin.f64 b)) (fma.f64 -1/120 (*.f64 (sin.f64 b) (pow.f64 a 5)) (*.f64 1/5040 (*.f64 (sin.f64 b) (pow.f64 a 7))))))
(fma.f64 1/6 (*.f64 (sin.f64 b) (pow.f64 a 3)) (-.f64 (fma.f64 -1/120 (*.f64 (sin.f64 b) (pow.f64 a 5)) (*.f64 (sin.f64 b) (*.f64 (pow.f64 a 7) 1/5040))) (*.f64 a (sin.f64 b))))
(+.f64 (*.f64 (sin.f64 b) (-.f64 (*.f64 (pow.f64 a 3) 1/6) a)) (*.f64 (sin.f64 b) (+.f64 (*.f64 -1/120 (pow.f64 a 5)) (*.f64 1/5040 (pow.f64 a 7)))))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(neg.f64 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(neg.f64 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(neg.f64 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(neg.f64 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(neg.f64 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(neg.f64 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(neg.f64 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))
(*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)))
(neg.f64 (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))
(/.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))))
(+.f64 (/.f64 b (cos.f64 a)) (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b)))
(+.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 (pow.f64 b 3) (-.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 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b))))
(+.f64 (/.f64 b (cos.f64 a)) (*.f64 (*.f64 b b) (+.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 (+.f64 (/.f64 1/3 (cos.f64 a)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) b))))
(+.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 (pow.f64 b 3) (-.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 (*.f64 (/.f64 (sin.f64 a) (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 (+.f64 (/.f64 b (cos.f64 a)) (*.f64 (*.f64 b b) (+.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 (+.f64 (/.f64 1/3 (cos.f64 a)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) b)))) (*.f64 (pow.f64 b 4) (-.f64 (/.f64 (*.f64 (sin.f64 a) -1/3) (pow.f64 (cos.f64 a) 2)) (*.f64 (/.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 -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 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) a))
(+.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 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) a) (*.f64 (*.f64 a 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 -1/2 (/.f64 (sin.f64 b) (cos.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 (*.f64 (sin.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))))) (cos.f64 b)) (*.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 (sin.f64 b) (cos.f64 b)) (-.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) a) (*.f64 (*.f64 a 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 (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 (*.f64 a (-.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (sin.f64 b) (cos.f64 b))) (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3)) a))) (-.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (*.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))) (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 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 (*.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 (*.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 a) (sin.f64 b))) 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 (*.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 a) (sin.f64 b))) 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 (*.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 a) (sin.f64 b))) 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 (*.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 a) (sin.f64 b))) 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 (*.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 a) (sin.f64 b))) 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 (*.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 a) (sin.f64 b))) 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 (*.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 a) (sin.f64 b))) 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 (*.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 a) (sin.f64 b))) 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 (*.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 a) (sin.f64 b))) 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 (*.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 a) (sin.f64 b))) 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 (*.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 a) (sin.f64 b))) 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 (*.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 a) (sin.f64 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) (pow.f64 (cos.f64 a) 2)) (*.f64 b (*.f64 b r))))
(+.f64 (*.f64 (/.f64 r (cos.f64 a)) b) (*.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 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) (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)))
(+.f64 (*.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b)) 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 r (cos.f64 a)) 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 (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 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2)) -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 (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 (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))))))))
(-.f64 (+.f64 (*.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b)) 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 r (cos.f64 a)) b))) (*.f64 (pow.f64 b 4) (-.f64 (*.f64 (/.f64 (*.f64 (sin.f64 a) -1/3) (pow.f64 (cos.f64 a) 2)) r) (*.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 (*.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 a) (sin.f64 b))) 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 (*.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 a) (sin.f64 b))) 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 (*.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 a) (sin.f64 b))) 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 (*.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 a) (sin.f64 b))) 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 (*.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 a) (sin.f64 b))) 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 (*.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 a) (sin.f64 b))) 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 (*.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 a) (sin.f64 b))) 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 (*.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 a) (sin.f64 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 (*.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) (cos.f64 b)) r) (/.f64 (*.f64 a r) (/.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (sin.f64 b) 2))))
(+.f64 (*.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 (*.f64 a r) (/.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (sin.f64 b) 2))) (-.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (*.f64 a (*.f64 a (-.f64 (*.f64 -1/2 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)) (/.f64 r (/.f64 (pow.f64 (cos.f64 b) 3) (pow.f64 (sin.f64 b) 3))))))))
(+.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (-.f64 (*.f64 (/.f64 (*.f64 a r) (pow.f64 (cos.f64 b) 2)) (pow.f64 (sin.f64 b) 2)) (*.f64 a (*.f64 a (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (*.f64 (pow.f64 (/.f64 (sin.f64 b) (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 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 (*.f64 a r) (/.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (sin.f64 b) 2))) (-.f64 (-.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (*.f64 a (*.f64 a (-.f64 (*.f64 -1/2 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)) (/.f64 r (/.f64 (pow.f64 (cos.f64 b) 3) (pow.f64 (sin.f64 b) 3))))))) (*.f64 (pow.f64 a 3) (fma.f64 (/.f64 r (/.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (sin.f64 b) 2))) -1/3 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (-.f64 (*.f64 -1/2 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)) (/.f64 r (/.f64 (pow.f64 (cos.f64 b) 3) (pow.f64 (sin.f64 b) 3)))))))))
(+.f64 (*.f64 (/.f64 (*.f64 a r) (pow.f64 (cos.f64 b) 2)) (pow.f64 (sin.f64 b) 2)) (-.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (*.f64 (*.f64 a a) (+.f64 (*.f64 (fma.f64 (*.f64 (/.f64 r (pow.f64 (cos.f64 b) 2)) (pow.f64 (sin.f64 b) 2)) -1/3 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (*.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3) (neg.f64 r))))) a) (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (*.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3) (neg.f64 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 (*.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 a) (sin.f64 b))) 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 (*.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 a) (sin.f64 b))) 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 (*.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 a) (sin.f64 b))) 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 (*.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 a) (sin.f64 b))) 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 (*.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 a) (sin.f64 b))) 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 (*.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 a) (sin.f64 b))) 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 (*.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 a) (sin.f64 b))) 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 (*.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 a) (sin.f64 b))) r))
(cos.f64 a)
(+.f64 (cos.f64 a) (*.f64 -1 (*.f64 (sin.f64 a) b)))
(+.f64 (neg.f64 (*.f64 (sin.f64 a) b)) (cos.f64 a))
(-.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 (cos.f64 a) (-.f64 (*.f64 (cos.f64 a) (*.f64 (*.f64 b b) -1/2)) (*.f64 (sin.f64 a) 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 (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 (*.f64 (sin.f64 a) (-.f64 (*.f64 1/6 (pow.f64 b 3)) b)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 b b)) 1) (cos.f64 a)))
(+.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 (neg.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)))
(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 (neg.f64 (sin.f64 b)) a (fma.f64 -1/2 (*.f64 (cos.f64 b) (*.f64 a a)) (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)))
(+.f64 (*.f64 (sin.f64 b) (-.f64 (*.f64 (pow.f64 a 3) 1/6) a)) (fma.f64 -1/2 (*.f64 (cos.f64 b) (*.f64 a a)) (cos.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)))
(+.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)))

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 18 to 6 computations (66.7% saved)

series9.0ms (0.1%)

Counts
2 → 40
Calls

15 calls:

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

rewrite56.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
776×pow1_binary64
714×add-log-exp_binary64
714×log1p-expm1-u_binary64
714×expm1-log1p-u_binary64
697×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0715
114415
2189615
Stop Event
node limit
Counts
2 → 53
Calls
Call 1
Inputs
(/.f64 b (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
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 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)))))))

simplify49.0ms (0.3%)

Algorithm
egg-herbie
Rules
692×distribute-rgt-in_binary64
579×fma-def_binary64
541×distribute-lft-neg-in_binary64
538×distribute-rgt-neg-in_binary64
448×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
061511
1212472
2862452
34256442
Stop Event
node limit
Counts
93 → 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 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 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 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))
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 b (*.f64 -5/24 (pow.f64 a 4)))))
(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 b (*.f64 -5/24 (pow.f64 a 4)))))
(-.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/720 (*.f64 b -1/12))))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(*.f64 r b)
(*.f64 b r)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 r b))) (*.f64 r b))
(fma.f64 1/2 (*.f64 (*.f64 a a) (*.f64 b r)) (*.f64 b r))
(*.f64 (+.f64 (*.f64 1/2 (*.f64 a a)) 1) (*.f64 b r))
(*.f64 (*.f64 b r) (fma.f64 1/2 (*.f64 a a) 1))
(*.f64 b (*.f64 (fma.f64 1/2 (*.f64 a a) 1) r))
(+.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 b r)) (fma.f64 r b (neg.f64 (*.f64 (pow.f64 a 4) (fma.f64 -1/4 (*.f64 b r) (*.f64 1/24 (*.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 (pow.f64 a 4) (*.f64 (*.f64 b r) 5/24) (*.f64 (*.f64 b r) (fma.f64 1/2 (*.f64 a a) 1)))
(*.f64 (*.f64 b 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) (*.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 b r)) (fma.f64 r b (fma.f64 -1 (*.f64 (pow.f64 a 6) (fma.f64 1/2 (fma.f64 -1/4 (*.f64 b r) (*.f64 1/24 (*.f64 b r))) (fma.f64 -1/720 (*.f64 b r) (*.f64 1/48 (*.f64 b r))))) (neg.f64 (*.f64 (pow.f64 a 4) (fma.f64 -1/4 (*.f64 b r) (*.f64 1/24 (*.f64 b r))))))))
(fma.f64 1/2 (*.f64 a (*.f64 a (*.f64 b r))) (fma.f64 b r (neg.f64 (fma.f64 (pow.f64 a 6) (fma.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))))))
(-.f64 (fma.f64 (pow.f64 a 4) (*.f64 (*.f64 b r) 5/24) (*.f64 (*.f64 b r) (fma.f64 1/2 (*.f64 a a) 1))) (*.f64 (pow.f64 a 6) (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 b (*.f64 1/48 r) (*.f64 (*.f64 b r) -19/180))))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 40 to 11 computations (72.5% saved)

series12.0ms (0.1%)

Counts
3 → 76
Calls

24 calls:

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

rewrite73.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
632×log-prod_binary64
592×prod-diff_binary64
326×pow2_binary64
227×pow1/3_binary64
222×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01137
124134
2342534
Stop Event
node limit
Counts
3 → 119
Calls
Call 1
Inputs
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r))
(*.f64 (sin.f64 b) r)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 b) r) (/.f64 1 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))) (pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))) 2) (cbrt.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))) (sqrt.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (/.f64 (neg.f64 (cos.f64 (+.f64 b a))) (*.f64 (sin.f64 b) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (*.f64 (sin.f64 b) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (/.f64 1 (/.f64 (/.f64 1 r) (sin.f64 b))))))) (#(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 1) (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 2) 1) (/.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (sin.f64 b) r)) 1) (/.f64 (sqrt.f64 (*.f64 (sin.f64 b) r)) (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 (sin.f64 b) r) (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 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 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 2) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (/.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) (cbrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (sin.f64 b) r)) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (/.f64 (sqrt.f64 (*.f64 (sin.f64 b) r)) (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 (*.f64 (sin.f64 b) 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 r (sqrt.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 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 2) (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (sin.f64 b) r)) (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (sqrt.f64 (*.f64 (sin.f64 b) r)) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (neg.f64 (cos.f64 (+.f64 b a)))) (*.f64 (sin.f64 b) (neg.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))) r)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r))) 2)) (cbrt.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) 1) (*.f64 (sin.f64 b) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (sin.f64 b)) r)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) r) (sin.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (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 (*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (sqrt.f64 (*.f64 (sin.f64 b) r))) (sqrt.f64 (*.f64 (sin.f64 b) r)))))) (#(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 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 (sin.f64 b) r) 3) (pow.f64 (cos.f64 (+.f64 b a)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (/.f64 (neg.f64 (cos.f64 (+.f64 b a))) (*.f64 (sin.f64 b) r))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (*.f64 (sin.f64 b) r)) (sqrt.f64 (cos.f64 (+.f64 b a)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 (sin.f64 b) r) 3) (pow.f64 (cos.f64 (+.f64 b a)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sin.f64 b) (/.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)) (*.f64 (sin.f64 b) r))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) r)) (/.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (sin.f64 b) r)))))) (#(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 (cos.f64 (+.f64 b a)) (/.f64 (/.f64 1 r) (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)) 1)))) (#(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 (/.f64 1 r) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r))) (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r))) 2) (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) 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 (/.f64 1 r) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r))) (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cos.f64 (+.f64 b a))) (/.f64 1 (*.f64 (sin.f64 b) (neg.f64 r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 r) (sin.f64 b)) (cos.f64 (+.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)) (/.f64 1 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))) (*.f64 (sin.f64 b) 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))) (*.f64 (sin.f64 b) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sin.f64 b)) (/.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) (sin.f64 b)) (/.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))) (sin.f64 b)) (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.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 (/.f64 1 r) (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2) r) (/.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 2)) (/.f64 (cos.f64 (+.f64 b a)) (cbrt.f64 (*.f64 (sin.f64 b) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 2)) (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 2)) (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (cbrt.f64 (*.f64 (sin.f64 b) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (*.f64 (sin.f64 b) r))) (/.f64 (cos.f64 (+.f64 b a)) (sqrt.f64 (*.f64 (sin.f64 b) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2) (sqrt.f64 (*.f64 (sin.f64 b) r))) (/.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) (sqrt.f64 (*.f64 (sin.f64 b) r))))))) (#(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 (sin.f64 b) (/.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)) (*.f64 (sin.f64 b) r)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 b a)) 3) (pow.f64 (*.f64 (sin.f64 b) r) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) (neg.f64 r))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 b a)) 3) (pow.f64 (*.f64 (sin.f64 b) r) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 b) r))))) (#(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 (sin.f64 b) r))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 b) r) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 b) r) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 b) r)) 2)))) (#(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 pow.f64 (*.f64 (pow.f64 r 3) (pow.f64 (sin.f64 b) 3)) 1/3)))) (#(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 r) (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.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 cbrt.f64 (*.f64 (pow.f64 r 3) (pow.f64 (sin.f64 b) 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 exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 b) r)) 1))))))

simplify55.0ms (0.4%)

Algorithm
egg-herbie
Rules
726×associate-*r*_binary64
677×associate-*l*_binary64
652×fma-def_binary64
425×times-frac_binary64
411×associate-/l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01551646
15011583
216551534
Stop Event
node limit
Counts
195 → 166
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) (*.f64 b r))
(+.f64 (*.f64 -1 (/.f64 (sin.f64 a) r)) (/.f64 (cos.f64 a) (*.f64 r b)))
(+.f64 (*.f64 b (-.f64 (*.f64 -1/2 (/.f64 (cos.f64 a) r)) (*.f64 -1/6 (/.f64 (cos.f64 a) r)))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 a) r)) (/.f64 (cos.f64 a) (*.f64 r b))))
(+.f64 (*.f64 b (-.f64 (*.f64 -1/2 (/.f64 (cos.f64 a) r)) (*.f64 -1/6 (/.f64 (cos.f64 a) r)))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 a) r)) (+.f64 (*.f64 (pow.f64 b 3) (-.f64 (*.f64 1/24 (/.f64 (cos.f64 a) r)) (+.f64 (*.f64 1/120 (/.f64 (cos.f64 a) r)) (*.f64 -1/6 (-.f64 (*.f64 -1/2 (/.f64 (cos.f64 a) r)) (*.f64 -1/6 (/.f64 (cos.f64 a) r))))))) (/.f64 (cos.f64 a) (*.f64 r b)))))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 b) (*.f64 (sin.f64 b) r))
(+.f64 (*.f64 -1 (/.f64 a r)) (/.f64 (cos.f64 b) (*.f64 (sin.f64 b) r)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 2) (cos.f64 b)) (*.f64 (sin.f64 b) r))) (+.f64 (*.f64 -1 (/.f64 a r)) (/.f64 (cos.f64 b) (*.f64 (sin.f64 b) r))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 2) (cos.f64 b)) (*.f64 (sin.f64 b) r))) (+.f64 (*.f64 -1 (/.f64 a r)) (+.f64 (/.f64 (cos.f64 b) (*.f64 (sin.f64 b) r)) (*.f64 1/6 (/.f64 (pow.f64 a 3) r)))))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 a b)) (*.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)))))
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))))
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b (*.f64 b 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 (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 (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 (neg.f64 (pow.f64 (sin.f64 a) 2)) (/.f64 (pow.f64 (cos.f64 a) 3) r))) (/.f64 b (/.f64 (cos.f64 a) r))))
(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 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b (*.f64 b 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 (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 (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 (neg.f64 (pow.f64 (sin.f64 a) 2)) (/.f64 (pow.f64 (cos.f64 a) 3) r))) (/.f64 b (/.f64 (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)) (-.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 (/.f64 r (pow.f64 (cos.f64 a) 3)) (pow.f64 (sin.f64 a) 2))) (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b (*.f64 b r)) (*.f64 (/.f64 b (cos.f64 a)) r))) (*.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 r (pow.f64 (cos.f64 a) 3)) (pow.f64 (sin.f64 a) 2))))) (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 r (/.f64 (cos.f64 b) (sin.f64 b)))
(*.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 r (/.f64 (cos.f64 b) (sin.f64 b))) (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r a)) (pow.f64 (cos.f64 b) 2)))
(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 (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 (pow.f64 (sin.f64 b) 2) (*.f64 r a)) (pow.f64 (cos.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 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 a (neg.f64 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 (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) (*.f64 r a)) (pow.f64 (cos.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 (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 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 r (cos.f64 b)) (sin.f64 b)) (*.f64 (*.f64 a a) (+.f64 (*.f64 (fma.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))) (*.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 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 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 (*.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 (*.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 (cos.f64 a) (*.f64 b r))
(+.f64 (*.f64 -1 (/.f64 (sin.f64 a) r)) (/.f64 (cos.f64 a) (*.f64 r b)))
(fma.f64 -1 (/.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) (*.f64 b r)))
(-.f64 (/.f64 (cos.f64 a) (*.f64 b r)) (/.f64 (sin.f64 a) r))
(+.f64 (*.f64 b (-.f64 (*.f64 -1/2 (/.f64 (cos.f64 a) r)) (*.f64 -1/6 (/.f64 (cos.f64 a) r)))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 a) r)) (/.f64 (cos.f64 a) (*.f64 r b))))
(fma.f64 b (*.f64 (/.f64 (cos.f64 a) r) -1/3) (fma.f64 -1 (/.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) (*.f64 b r))))
(fma.f64 b (*.f64 (/.f64 (cos.f64 a) r) -1/3) (-.f64 (/.f64 (cos.f64 a) (*.f64 b r)) (/.f64 (sin.f64 a) r)))
(-.f64 (fma.f64 b (/.f64 (cos.f64 a) (/.f64 r -1/3)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r))
(+.f64 (*.f64 b (-.f64 (*.f64 -1/2 (/.f64 (cos.f64 a) r)) (*.f64 -1/6 (/.f64 (cos.f64 a) r)))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 a) r)) (+.f64 (*.f64 (pow.f64 b 3) (-.f64 (*.f64 1/24 (/.f64 (cos.f64 a) r)) (+.f64 (*.f64 1/120 (/.f64 (cos.f64 a) r)) (*.f64 -1/6 (-.f64 (*.f64 -1/2 (/.f64 (cos.f64 a) r)) (*.f64 -1/6 (/.f64 (cos.f64 a) r))))))) (/.f64 (cos.f64 a) (*.f64 r b)))))
(fma.f64 b (*.f64 (/.f64 (cos.f64 a) r) -1/3) (fma.f64 -1 (/.f64 (sin.f64 a) r) (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 (/.f64 (cos.f64 a) r) 1/24) (fma.f64 1/120 (/.f64 (cos.f64 a) r) (*.f64 -1/6 (*.f64 (/.f64 (cos.f64 a) r) -1/3)))) (/.f64 (cos.f64 a) (*.f64 b r)))))
(fma.f64 b (*.f64 (/.f64 (cos.f64 a) r) -1/3) (-.f64 (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 (/.f64 (cos.f64 a) r) 1/30) (*.f64 (/.f64 (cos.f64 a) r) 1/18)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(-.f64 (fma.f64 b (/.f64 (cos.f64 a) (/.f64 r -1/3)) (fma.f64 (pow.f64 b 3) (*.f64 (/.f64 (cos.f64 a) r) -1/45) (/.f64 (cos.f64 a) (*.f64 b r)))) (/.f64 (sin.f64 a) r))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b)))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b)))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b)))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b)))
(/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b)))
(/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b)))
(/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b)))
(/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b)))
(/.f64 (cos.f64 b) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 b) (*.f64 r (sin.f64 b)))
(+.f64 (*.f64 -1 (/.f64 a r)) (/.f64 (cos.f64 b) (*.f64 (sin.f64 b) r)))
(fma.f64 -1 (/.f64 a r) (/.f64 (cos.f64 b) (*.f64 r (sin.f64 b))))
(-.f64 (/.f64 (cos.f64 b) (*.f64 r (sin.f64 b))) (/.f64 a r))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 2) (cos.f64 b)) (*.f64 (sin.f64 b) r))) (+.f64 (*.f64 -1 (/.f64 a r)) (/.f64 (cos.f64 b) (*.f64 (sin.f64 b) r))))
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a a) (sin.f64 b)) (/.f64 (cos.f64 b) r)) (fma.f64 -1 (/.f64 a r) (/.f64 (cos.f64 b) (*.f64 r (sin.f64 b)))))
(fma.f64 -1/2 (*.f64 (/.f64 a (/.f64 (sin.f64 b) a)) (/.f64 (cos.f64 b) r)) (-.f64 (/.f64 (cos.f64 b) (*.f64 r (sin.f64 b))) (/.f64 a r)))
(-.f64 (fma.f64 -1/2 (/.f64 (/.f64 a (/.f64 (sin.f64 b) (*.f64 a (cos.f64 b)))) r) (/.f64 (cos.f64 b) (*.f64 r (sin.f64 b)))) (/.f64 a r))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 2) (cos.f64 b)) (*.f64 (sin.f64 b) r))) (+.f64 (*.f64 -1 (/.f64 a r)) (+.f64 (/.f64 (cos.f64 b) (*.f64 (sin.f64 b) r)) (*.f64 1/6 (/.f64 (pow.f64 a 3) r)))))
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a a) (sin.f64 b)) (/.f64 (cos.f64 b) r)) (+.f64 (fma.f64 -1 (/.f64 a r) (/.f64 (cos.f64 b) (*.f64 r (sin.f64 b)))) (*.f64 1/6 (/.f64 (pow.f64 a 3) r))))
(fma.f64 -1/2 (*.f64 (/.f64 a (/.f64 (sin.f64 b) a)) (/.f64 (cos.f64 b) r)) (-.f64 (fma.f64 1/6 (/.f64 (pow.f64 a 3) r) (/.f64 (cos.f64 b) (*.f64 r (sin.f64 b)))) (/.f64 a r)))
(-.f64 (fma.f64 -1/2 (/.f64 (/.f64 a (/.f64 (sin.f64 b) (*.f64 a (cos.f64 b)))) r) (fma.f64 1/6 (/.f64 (pow.f64 a 3) r) (/.f64 (cos.f64 b) (*.f64 r (sin.f64 b))))) (/.f64 a r))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b)))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b)))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b)))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b)))
(/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b)))
(/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b)))
(/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b)))
(/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b)))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b)))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b)))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b)))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b)))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b)))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b)))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b)))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b)))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b)))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b)))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b)))
(/.f64 (cos.f64 (+.f64 a b)) (*.f64 (sin.f64 b) r))
(/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b)))
(*.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 (pow.f64 b 3) -1/6)))
(*.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 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 (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 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 (pow.f64 b 3) -1/6 (*.f64 -1/5040 (pow.f64 b 7)))))

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))
0.4b
(pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 2)
3.2b
(cos.f64 (+.f64 b a))
15.3b
(sqrt.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 2))
Compiler

Compiled 54 to 17 computations (68.5% saved)

series8.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite63.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
583×prod-diff_binary64
473×log-prod_binary64
281×pow-prod-down_binary64
270×pow2_binary64
210×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
122325
2276425
Stop Event
node limit
Counts
2 → 98
Calls
Call 1
Inputs
(sqrt.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 2))
(pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 2)
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 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))) 2)) (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 (pow.f64 (cbrt.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 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) (pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.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 (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 (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 (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 (pow.f64 (cbrt.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 (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 (pow.f64 (cbrt.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 (pow.f64 (cos.f64 (+.f64 b a)) -1/2) (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.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 (sin.f64 b) (cos.f64 (+.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (/.f64 (cos.f64 (+.f64 b a)) (cbrt.f64 (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) (sqrt.f64 (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sin.f64 b)) (neg.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (sin.f64 b))) (neg.f64 (neg.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)))) (sqrt.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 b) 1) (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)) (cbrt.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))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 6) 1/6)))) (#(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 (pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 2) 3/2)))) (#(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 (pow.f64 (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)) (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 fabs.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))) (#(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 exp.f64 (*.f64 (*.f64 2 (log.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))) -1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 b) (*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 b a)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 4) (pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 2) (pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) (sin.f64 b)) (/.f64 1 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 3/2) (sqrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 5) (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 b) (*.f64 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 b) (*.f64 (cos.f64 (+.f64 b a)) (/.f64 (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))) (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (pow.f64 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 b a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sin.f64 b)) (*.f64 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)) (neg.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (neg.f64 (sin.f64 b)) 2) (pow.f64 (neg.f64 (cos.f64 (+.f64 b a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 b)) (*.f64 (neg.f64 (cos.f64 (+.f64 b a))) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sin.f64 b)) 1) (*.f64 (neg.f64 (cos.f64 (+.f64 b a))) (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 b))) (*.f64 (cos.f64 (+.f64 b a)) (neg.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 b) (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) (cos.f64 (+.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sin.f64 b)) (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) (neg.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) (sin.f64 b)) (cos.f64 (+.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) (neg.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))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 4 (log.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))) 3))))))

simplify54.0ms (0.4%)

Algorithm
egg-herbie
Rules
625×times-frac_binary64
613×fma-def_binary64
450×associate-/l*_binary64
369×associate-*l/_binary64
344×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01481656
14791573
218021485
Stop Event
node limit
Counts
146 → 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) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 a (*.f64 -1 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) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (pow.f64 b 2) (pow.f64 (cos.f64 a) 2))
(+.f64 (*.f64 2 (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 3)) (pow.f64 (cos.f64 a) 3))) (/.f64 (pow.f64 b 2) (pow.f64 (cos.f64 a) 2)))
(+.f64 (*.f64 2 (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 3)) (pow.f64 (cos.f64 a) 3))) (+.f64 (/.f64 (pow.f64 b 2) (pow.f64 (cos.f64 a) 2)) (*.f64 (-.f64 (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 (cos.f64 a) 2))) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (cos.f64 a) 2))) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 4)))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 4))) (*.f64 1/6 (/.f64 1 (pow.f64 (cos.f64 a) 2))))) (pow.f64 b 4))))
(+.f64 (*.f64 (+.f64 (*.f64 2 (/.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)))))) (pow.f64 (cos.f64 a) 2))) (*.f64 -2 (/.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 (*.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 -1/2 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))))) (cos.f64 a)))) (pow.f64 b 5)) (+.f64 (*.f64 2 (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 3)) (pow.f64 (cos.f64 a) 3))) (+.f64 (/.f64 (pow.f64 b 2) (pow.f64 (cos.f64 a) 2)) (*.f64 (-.f64 (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 (cos.f64 a) 2))) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (cos.f64 a) 2))) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 4)))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 4))) (*.f64 1/6 (/.f64 1 (pow.f64 (cos.f64 a) 2))))) (pow.f64 b 4)))))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 a b)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 a b)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 a b)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 a b)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2))
(+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) a) (pow.f64 (cos.f64 b) 3))) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)))
(+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) a) (pow.f64 (cos.f64 b) 3))) (+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -2 (/.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 (pow.f64 (sin.f64 b) 4) (pow.f64 (cos.f64 b) 4)))) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2))))
(+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) a) (pow.f64 (cos.f64 b) 3))) (+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -2 (/.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 (pow.f64 (sin.f64 b) 4) (pow.f64 (cos.f64 b) 4)))) (+.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 (+.f64 (*.f64 -2 (/.f64 (*.f64 (sin.f64 b) (+.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)))))) (cos.f64 b))) (*.f64 -2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 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))))) (pow.f64 (cos.f64 b) 2)))) (pow.f64 a 3)))))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 a b)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 a b)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 a b)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 a b)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) 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))))
(+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 b (*.f64 b (sin.f64 a))) (pow.f64 (cos.f64 a) 2)))
(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 (*.f64 b (*.f64 b (sin.f64 a))) (pow.f64 (cos.f64 a) 2))))
(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 (*.f64 (sin.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)))))) (cos.f64 a)))))) (/.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 (*.f64 b (*.f64 b (sin.f64 a))) (pow.f64 (cos.f64 a) 2)) (*.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) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))
(/.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) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))
(/.f64 (pow.f64 b 2) (pow.f64 (cos.f64 a) 2))
(/.f64 (*.f64 b b) (pow.f64 (cos.f64 a) 2))
(+.f64 (*.f64 2 (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 3)) (pow.f64 (cos.f64 a) 3))) (/.f64 (pow.f64 b 2) (pow.f64 (cos.f64 a) 2)))
(fma.f64 2 (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 3)) (pow.f64 (cos.f64 a) 3)) (/.f64 (*.f64 b b) (pow.f64 (cos.f64 a) 2)))
(fma.f64 2 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 3)) (pow.f64 b 3)) (/.f64 (*.f64 b b) (pow.f64 (cos.f64 a) 2)))
(fma.f64 2 (/.f64 (sin.f64 a) (pow.f64 (/.f64 (cos.f64 a) b) 3)) (/.f64 (*.f64 b b) (pow.f64 (cos.f64 a) 2)))
(+.f64 (*.f64 2 (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 3)) (pow.f64 (cos.f64 a) 3))) (+.f64 (/.f64 (pow.f64 b 2) (pow.f64 (cos.f64 a) 2)) (*.f64 (-.f64 (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 (cos.f64 a) 2))) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (cos.f64 a) 2))) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 4)))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 4))) (*.f64 1/6 (/.f64 1 (pow.f64 (cos.f64 a) 2))))) (pow.f64 b 4))))
(+.f64 (fma.f64 2 (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 3)) (pow.f64 (cos.f64 a) 3)) (/.f64 (*.f64 b b) (pow.f64 (cos.f64 a) 2))) (*.f64 (pow.f64 b 4) (+.f64 (/.f64 1/3 (pow.f64 (cos.f64 a) 2)) (-.f64 (+.f64 (/.f64 1/2 (pow.f64 (cos.f64 a) 2)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 4))) (fma.f64 -2 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 4)) (/.f64 1/6 (pow.f64 (cos.f64 a) 2)))))))
(fma.f64 2 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 3)) (pow.f64 b 3)) (fma.f64 (pow.f64 b 4) (+.f64 (*.f64 (/.f64 1 (pow.f64 (cos.f64 a) 2)) 5/6) (-.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 4)) (fma.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 4)) -2 (/.f64 1/6 (pow.f64 (cos.f64 a) 2))))) (/.f64 (*.f64 b b) (pow.f64 (cos.f64 a) 2))))
(fma.f64 2 (/.f64 (sin.f64 a) (pow.f64 (/.f64 (cos.f64 a) b) 3)) (fma.f64 (pow.f64 b 4) (+.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 4)) (-.f64 (/.f64 5/6 (pow.f64 (cos.f64 a) 2)) (fma.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 4)) -2 (/.f64 1/6 (pow.f64 (cos.f64 a) 2))))) (/.f64 (*.f64 b b) (pow.f64 (cos.f64 a) 2))))
(+.f64 (*.f64 (+.f64 (*.f64 2 (/.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)))))) (pow.f64 (cos.f64 a) 2))) (*.f64 -2 (/.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 (*.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 -1/2 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))))) (cos.f64 a)))) (pow.f64 b 5)) (+.f64 (*.f64 2 (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 3)) (pow.f64 (cos.f64 a) 3))) (+.f64 (/.f64 (pow.f64 b 2) (pow.f64 (cos.f64 a) 2)) (*.f64 (-.f64 (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 (cos.f64 a) 2))) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (cos.f64 a) 2))) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 4)))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 4))) (*.f64 1/6 (/.f64 1 (pow.f64 (cos.f64 a) 2))))) (pow.f64 b 4)))))
(fma.f64 (fma.f64 2 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (-.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 -2 (/.f64 (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 (*.f64 (sin.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)))))) (cos.f64 a))))) (cos.f64 a)))) (pow.f64 b 5) (+.f64 (fma.f64 2 (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 3)) (pow.f64 (cos.f64 a) 3)) (/.f64 (*.f64 b b) (pow.f64 (cos.f64 a) 2))) (*.f64 (pow.f64 b 4) (+.f64 (/.f64 1/3 (pow.f64 (cos.f64 a) 2)) (-.f64 (+.f64 (/.f64 1/2 (pow.f64 (cos.f64 a) 2)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 4))) (fma.f64 -2 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 4)) (/.f64 1/6 (pow.f64 (cos.f64 a) 2))))))))
(fma.f64 (fma.f64 -2 (/.f64 (-.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))))) (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 2) (-.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 5) (fma.f64 2 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 3)) (pow.f64 b 3)) (fma.f64 (pow.f64 b 4) (+.f64 (*.f64 (/.f64 1 (pow.f64 (cos.f64 a) 2)) 5/6) (-.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 4)) (fma.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 4)) -2 (/.f64 1/6 (pow.f64 (cos.f64 a) 2))))) (/.f64 (*.f64 b b) (pow.f64 (cos.f64 a) 2)))))
(fma.f64 (fma.f64 2 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 1/3 (cos.f64 a)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)))) (*.f64 (/.f64 -2 (cos.f64 a)) (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)))))))) (pow.f64 b 5) (fma.f64 2 (/.f64 (sin.f64 a) (pow.f64 (/.f64 (cos.f64 a) b) 3)) (fma.f64 (pow.f64 b 4) (+.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 4)) (-.f64 (/.f64 5/6 (pow.f64 (cos.f64 a) 2)) (fma.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 4)) -2 (/.f64 1/6 (pow.f64 (cos.f64 a) 2))))) (/.f64 (*.f64 b b) (pow.f64 (cos.f64 a) 2)))))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 a b)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 b a)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 a b)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 b a)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 a b)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 b a)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 a b)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 b a)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 b a)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 b a)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 b a)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 b a)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2))
(+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) a) (pow.f64 (cos.f64 b) 3))) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)))
(fma.f64 2 (/.f64 (*.f64 a (pow.f64 (sin.f64 b) 3)) (pow.f64 (cos.f64 b) 3)) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)))
(fma.f64 2 (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) a) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)))
(fma.f64 2 (*.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3) a) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)))
(+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) a) (pow.f64 (cos.f64 b) 3))) (+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -2 (/.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 (pow.f64 (sin.f64 b) 4) (pow.f64 (cos.f64 b) 4)))) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2))))
(fma.f64 2 (/.f64 (*.f64 a (pow.f64 (sin.f64 b) 3)) (pow.f64 (cos.f64 b) 3)) (fma.f64 (*.f64 a a) (fma.f64 -2 (/.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 (pow.f64 (sin.f64 b) 4) (pow.f64 (cos.f64 b) 4))) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2))))
(fma.f64 2 (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) a) (fma.f64 (*.f64 a a) (fma.f64 (*.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)))) -2 (/.f64 (pow.f64 (sin.f64 b) 4) (pow.f64 (cos.f64 b) 4))) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2))))
(fma.f64 a (*.f64 a (fma.f64 (*.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))) -2 (/.f64 (pow.f64 (sin.f64 b) 4) (pow.f64 (cos.f64 b) 4)))) (fma.f64 2 (*.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3) a) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2))))
(+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) a) (pow.f64 (cos.f64 b) 3))) (+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -2 (/.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 (pow.f64 (sin.f64 b) 4) (pow.f64 (cos.f64 b) 4)))) (+.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 (+.f64 (*.f64 -2 (/.f64 (*.f64 (sin.f64 b) (+.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)))))) (cos.f64 b))) (*.f64 -2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 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))))) (pow.f64 (cos.f64 b) 2)))) (pow.f64 a 3)))))
(fma.f64 2 (/.f64 (*.f64 a (pow.f64 (sin.f64 b) 3)) (pow.f64 (cos.f64 b) 3)) (+.f64 (fma.f64 (*.f64 a a) (fma.f64 -2 (/.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 (pow.f64 (sin.f64 b) 4) (pow.f64 (cos.f64 b) 4))) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2))) (*.f64 (pow.f64 a 3) (*.f64 -2 (+.f64 (/.f64 (*.f64 (sin.f64 b) (+.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))) (cos.f64 b)) (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (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)))))))))))
(fma.f64 2 (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) a) (fma.f64 (*.f64 a a) (fma.f64 (*.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)))) -2 (/.f64 (pow.f64 (sin.f64 b) 4) (pow.f64 (cos.f64 b) 4))) (fma.f64 (pow.f64 a 3) (*.f64 -2 (+.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (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 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (-.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 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)))))
(fma.f64 2 (*.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3) a) (fma.f64 -2 (*.f64 (fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (-.f64 (*.f64 (/.f64 -1/2 (cos.f64 b)) (sin.f64 b)) (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3)) (/.f64 (fma.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 2)) -1/3 (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (cos.f64 b)) (-.f64 (*.f64 (/.f64 -1/2 (cos.f64 b)) (sin.f64 b)) (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3)))) (cos.f64 b))) (pow.f64 a 3)) (fma.f64 (*.f64 a a) (fma.f64 (*.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))) -2 (/.f64 (pow.f64 (sin.f64 b) 4) (pow.f64 (cos.f64 b) 4))) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)))))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 a b)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 b a)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 a b)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 b a)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 a b)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 b a)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 a b)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 b a)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 b a)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 b a)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 b a)) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) 2))
(/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 (+.f64 b a)) 2))

localize30.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))
0.2b
(pow.f64 (cos.f64 a) 2)
2.6b
(*.f64 r (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))))
3.1b
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a)))
Compiler

Compiled 61 to 22 computations (63.9% saved)

series21.0ms (0.1%)

Counts
4 → 68
Calls

21 calls:

TimeVariablePointExpression
8.0ms
b
@0
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a)))
2.0ms
a
@-inf
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a)))
2.0ms
r
@0
(*.f64 r (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))))
1.0ms
a
@inf
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a)))
1.0ms
b
@inf
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a)))

rewrite80.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
662×log-prod_binary64
347×pow2_binary64
280×prod-diff_binary64
243×pow1/3_binary64
238×expm1-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01366
127166
2339657
Stop Event
node limit
Counts
4 → 117
Calls
Call 1
Inputs
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a)))
(*.f64 r (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))))
(pow.f64 (cos.f64 a) 2)
(/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 b (cos.f64 a)) (*.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b)) (/.f64 b (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b)) 1) (/.f64 b (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a)))) (pow.f64 (cbrt.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a)))) 2) (cbrt.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a)))) (sqrt.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b)) 3) (pow.f64 (/.f64 b (cos.f64 a)) 3)) (+.f64 (pow.f64 (*.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b)) 2) (-.f64 (pow.f64 (/.f64 (cos.f64 a) b) -2) (*.f64 (*.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b)) (/.f64 b (cos.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b)) 2) (pow.f64 (/.f64 (cos.f64 a) b) -2)) (-.f64 (*.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b)) (/.f64 b (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (/.f64 b (cos.f64 a))) (exp.f64 (*.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 b (cos.f64 a)))) (exp.f64 (*.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b))) (+.f64 1 (expm1.f64 (/.f64 b (cos.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))) r))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b)) r) (*.f64 (/.f64 b (cos.f64 a)) r))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 r (*.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b))) (*.f64 r (/.f64 b (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 r) (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 r) (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 r) (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 r) (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))) r))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))) r) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))) r) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))) r) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))) 3) (pow.f64 r 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 r 3) (pow.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))) r) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 r) (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))) r))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))) r) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.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 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 r (*.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b)) (*.f64 r (/.f64 b (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 (tan.f64 a) (cos.f64 a)) (*.f64 b b)) r (*.f64 (/.f64 b (cos.f64 a)) r))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (cos.f64 a) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (cos.f64 a) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (cos.f64 a) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (cos.f64 a) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (cos.f64 a) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (cos.f64 a) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 a) (cos.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 a) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (cos.f64 a) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 a)) 4) (pow.f64 (cbrt.f64 (cos.f64 a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 a)) 2) (pow.f64 (cbrt.f64 (cos.f64 a)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 a)) 2) (*.f64 (cbrt.f64 (cos.f64 a)) (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 a)) (*.f64 (sqrt.f64 (cos.f64 a)) (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cos.f64 a)) 3) (sqrt.f64 (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 a) (pow.f64 (cbrt.f64 (cos.f64 a)) 2)) (cbrt.f64 (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 (+.f64 a a)) (cos.f64 (-.f64 a a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 a) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cos.f64 a) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (cos.f64 a) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 a) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cos.f64 a) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cos.f64 a) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (cos.f64 a))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (tan.f64 a) (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (tan.f64 a) (cos.f64 a)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (tan.f64 a) (cos.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (tan.f64 a) (cos.f64 a))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (tan.f64 a) (cos.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (tan.f64 a) (cos.f64 a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 a) (pow.f64 (cos.f64 a) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (tan.f64 a) (cos.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (tan.f64 a) (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 a)) 2) (*.f64 (cbrt.f64 (sin.f64 a)) (pow.f64 (cos.f64 a) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (tan.f64 a) (cos.f64 a))) (pow.f64 (cbrt.f64 (/.f64 (tan.f64 a) (cos.f64 a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (tan.f64 a) (cos.f64 a))) 2) (cbrt.f64 (/.f64 (tan.f64 a) (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sqrt.f64 (sin.f64 a)) (pow.f64 (cos.f64 a) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (tan.f64 a) (cos.f64 a))) (sqrt.f64 (/.f64 (tan.f64 a) (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 a)) (/.f64 1 (neg.f64 (pow.f64 (cos.f64 a) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cos.f64 a)) (tan.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 a) -2) (sin.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 a)) 2) (cos.f64 a)) (/.f64 (cbrt.f64 (sin.f64 a)) (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 a)) 2) 1) (/.f64 (cbrt.f64 (sin.f64 a)) (pow.f64 (cos.f64 a) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 a)) 1) (/.f64 (sqrt.f64 (sin.f64 a)) (pow.f64 (cos.f64 a) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (cos.f64 a)) 4)) (/.f64 (sin.f64 a) (pow.f64 (cbrt.f64 (cos.f64 a)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 a)) 2) (pow.f64 (cbrt.f64 (cos.f64 a)) 4)) (cbrt.f64 (/.f64 (tan.f64 a) (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 a)) (pow.f64 (cbrt.f64 (cos.f64 a)) 4)) (/.f64 (sqrt.f64 (sin.f64 a)) (pow.f64 (cbrt.f64 (cos.f64 a)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (tan.f64 a) (cos.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (tan.f64 a) (cos.f64 a)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (tan.f64 a) (cos.f64 a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (tan.f64 a) (cos.f64 a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (tan.f64 a) (cos.f64 a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cos.f64 a) (tan.f64 a)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (sin.f64 a) 3) (pow.f64 (cos.f64 a) 6)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (cos.f64 a) (tan.f64 a)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sin.f64 a) (neg.f64 (pow.f64 (cos.f64 a) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (tan.f64 a) (cos.f64 a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (tan.f64 a) (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (tan.f64 a) (cos.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (tan.f64 a) (cos.f64 a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (sin.f64 a) 3) (pow.f64 (cos.f64 a) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (tan.f64 a) (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (tan.f64 a) (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (tan.f64 a) (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (tan.f64 a) (cos.f64 a))) 1))))))

simplify95.0ms (0.7%)

Algorithm
egg-herbie
Rules
661×unswap-sqr_binary64
653×fma-neg_binary64
413×*-commutative_binary64
385×fma-def_binary64
379×times-frac_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0751564
12021548
25811449
322011389
453541389
576641389
Stop Event
node limit
Counts
185 → 158
Calls
Call 1
Inputs
b
(+.f64 (*.f64 a (pow.f64 b 2)) b)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (+.f64 (*.f64 a (pow.f64 b 2)) b))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (+.f64 (*.f64 5/6 (*.f64 (pow.f64 a 3) (pow.f64 b 2))) (+.f64 (*.f64 a (pow.f64 b 2)) b)))
(+.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 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2)))
(+.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 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2)))
(+.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 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2)))
(+.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 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2)))
(/.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 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2)))
(+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2)))
(/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))
(+.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 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2)))
(+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2)))
(/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))
(+.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 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2)))
(+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2)))
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 r b)
(+.f64 (*.f64 a (*.f64 (pow.f64 b 2) r)) (*.f64 r b))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 r b))) (+.f64 (*.f64 a (*.f64 (pow.f64 b 2) r)) (*.f64 r b)))
(+.f64 (*.f64 5/6 (*.f64 (pow.f64 a 3) (*.f64 r (pow.f64 b 2)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 r b))) (+.f64 (*.f64 a (*.f64 (pow.f64 b 2) r)) (*.f64 r b))))
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(/.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 (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 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2)) (/.f64 (*.f64 r b) (cos.f64 a)))
(/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2))
(+.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 (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 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2)) (/.f64 (*.f64 r b) (cos.f64 a)))
(/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2))
(+.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 (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 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2)) (/.f64 (*.f64 r b) (cos.f64 a)))
1
(+.f64 (*.f64 -1 (pow.f64 a 2)) 1)
(+.f64 (*.f64 1/3 (pow.f64 a 4)) (+.f64 (*.f64 -1 (pow.f64 a 2)) 1))
(+.f64 (*.f64 -2/45 (pow.f64 a 6)) (+.f64 (*.f64 1/3 (pow.f64 a 4)) (+.f64 (*.f64 -1 (pow.f64 a 2)) 1)))
a
(+.f64 (*.f64 5/6 (pow.f64 a 3)) a)
(+.f64 (*.f64 61/120 (pow.f64 a 5)) (+.f64 (*.f64 5/6 (pow.f64 a 3)) a))
(+.f64 (*.f64 61/120 (pow.f64 a 5)) (+.f64 (*.f64 5/6 (pow.f64 a 3)) (+.f64 (*.f64 277/1008 (pow.f64 a 7)) a)))
Outputs
b
(+.f64 (*.f64 a (pow.f64 b 2)) b)
(fma.f64 a (*.f64 b b) b)
(fma.f64 b (*.f64 b a) b)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (+.f64 (*.f64 a (pow.f64 b 2)) b))
(fma.f64 1/2 (*.f64 b (*.f64 a a)) (fma.f64 a (*.f64 b b) b))
(fma.f64 b (*.f64 a (*.f64 a 1/2)) (fma.f64 b (*.f64 b a) b))
(+.f64 b (*.f64 (*.f64 b a) (+.f64 b (*.f64 a 1/2))))
(+.f64 b (*.f64 a (*.f64 b (+.f64 b (*.f64 a 1/2)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (+.f64 (*.f64 5/6 (*.f64 (pow.f64 a 3) (pow.f64 b 2))) (+.f64 (*.f64 a (pow.f64 b 2)) b)))
(fma.f64 1/2 (*.f64 b (*.f64 a a)) (fma.f64 5/6 (*.f64 (*.f64 b b) (pow.f64 a 3)) (fma.f64 a (*.f64 b b) b)))
(fma.f64 1/2 (*.f64 b (*.f64 a a)) (+.f64 b (*.f64 (*.f64 b b) (fma.f64 5/6 (pow.f64 a 3) a))))
(fma.f64 (*.f64 b b) (fma.f64 5/6 (pow.f64 a 3) a) (fma.f64 (*.f64 a a) (*.f64 b 1/2) b))
(fma.f64 b (*.f64 a (*.f64 a 1/2)) (fma.f64 (*.f64 b b) (fma.f64 5/6 (pow.f64 a 3) a) b))
(+.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 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2)))
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) b) 1) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 1 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) b))) (/.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 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2)))
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) b) 1) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 1 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) b))) (/.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 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2)))
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) b) 1) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 1 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) b))) (/.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 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2)))
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) b) 1) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 1 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) b))) (/.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 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2)))
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) b) 1) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 1 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) b))) (/.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 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2)))
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) b) 1) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 1 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) b))) (/.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 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2)))
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) b) 1) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 1 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) b))) (/.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 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2)))
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) b) 1) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 1 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) b))) (/.f64 b (cos.f64 a)))
(/.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 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2)))
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) b) 1) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 1 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) b))) (/.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 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2)))
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) b) 1) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 1 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) b))) (/.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 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2)))
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) b) 1) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 1 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) b))) (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))
(/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))
(/.f64 (*.f64 b b) (/.f64 (pow.f64 (cos.f64 a) 2) (sin.f64 a)))
(*.f64 b (/.f64 (*.f64 b (sin.f64 a)) (pow.f64 (cos.f64 a) 2)))
(+.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 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2)))
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) b) 1) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 1 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) b))) (/.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 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2)))
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) b) 1) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 1 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) b))) (/.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 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2)))
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) b) 1) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 1 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) b))) (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))
(/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))
(/.f64 (*.f64 b b) (/.f64 (pow.f64 (cos.f64 a) 2) (sin.f64 a)))
(*.f64 b (/.f64 (*.f64 b (sin.f64 a)) (pow.f64 (cos.f64 a) 2)))
(+.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 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2)))
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) b) 1) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 1 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) b))) (/.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 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2)))
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) b) 1) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 1 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) b))) (/.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 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2)))
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) b) 1) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 1 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) b))) (/.f64 b (cos.f64 a)))
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a)) b)))
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a)) b)))
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a)) b)))
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a)) b)))
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a)) b)))
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a)) b)))
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a)) b)))
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a)) b)))
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a)) b)))
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a)) b)))
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a)) b)))
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a)) b)))
(*.f64 r b)
(*.f64 b r)
(+.f64 (*.f64 a (*.f64 (pow.f64 b 2) r)) (*.f64 r b))
(fma.f64 a (*.f64 (*.f64 b b) r) (*.f64 b r))
(*.f64 r (fma.f64 a (*.f64 b b) b))
(*.f64 (fma.f64 b (*.f64 b a) b) r)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 r b))) (+.f64 (*.f64 a (*.f64 (pow.f64 b 2) r)) (*.f64 r b)))
(fma.f64 1/2 (*.f64 (*.f64 a a) (*.f64 b r)) (fma.f64 a (*.f64 (*.f64 b b) r) (*.f64 b r)))
(fma.f64 1/2 (*.f64 (*.f64 (*.f64 b r) a) a) (*.f64 r (fma.f64 a (*.f64 b b) b)))
(fma.f64 b r (*.f64 r (*.f64 b (+.f64 (*.f64 b a) (*.f64 a (*.f64 a 1/2))))))
(*.f64 r (+.f64 b (*.f64 (*.f64 b a) (+.f64 b (*.f64 a 1/2)))))
(*.f64 b (+.f64 r (*.f64 (*.f64 a r) (+.f64 b (*.f64 a 1/2)))))
(+.f64 (*.f64 5/6 (*.f64 (pow.f64 a 3) (*.f64 r (pow.f64 b 2)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 r b))) (+.f64 (*.f64 a (*.f64 (pow.f64 b 2) r)) (*.f64 r b))))
(fma.f64 5/6 (*.f64 (pow.f64 a 3) (*.f64 (*.f64 b b) r)) (fma.f64 1/2 (*.f64 (*.f64 a a) (*.f64 b r)) (fma.f64 a (*.f64 (*.f64 b b) r) (*.f64 b r))))
(fma.f64 5/6 (*.f64 (*.f64 b b) (*.f64 (pow.f64 a 3) r)) (fma.f64 1/2 (*.f64 (*.f64 (*.f64 b r) a) a) (*.f64 r (fma.f64 a (*.f64 b b) b))))
(fma.f64 r (fma.f64 b (*.f64 b a) b) (*.f64 r (*.f64 b (+.f64 (*.f64 a (*.f64 a 1/2)) (*.f64 b (*.f64 5/6 (pow.f64 a 3)))))))
(*.f64 r (fma.f64 b (*.f64 a (*.f64 a 1/2)) (fma.f64 (*.f64 b b) (fma.f64 5/6 (pow.f64 a 3) a) b)))
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a)) b)))
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a)) b)))
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a)) b)))
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a)) b)))
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a)) b)))
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a)) b)))
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a)) b)))
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a)) b)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 b (cos.f64 a)) r)
(*.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 (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.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 (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.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 (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a)) b)))
(/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2))
(/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 (*.f64 b b) r)))
(/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 b (*.f64 b r))))
(*.f64 (*.f64 b r) (/.f64 (*.f64 b (sin.f64 a)) (pow.f64 (cos.f64 a) 2)))
(*.f64 b (/.f64 (*.f64 b (*.f64 (sin.f64 a) r)) (pow.f64 (cos.f64 a) 2)))
(+.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 (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.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 (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.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 (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a)) b)))
(/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2))
(/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 (*.f64 b b) r)))
(/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 b (*.f64 b r))))
(*.f64 (*.f64 b r) (/.f64 (*.f64 b (sin.f64 a)) (pow.f64 (cos.f64 a) 2)))
(*.f64 b (/.f64 (*.f64 b (*.f64 (sin.f64 a) r)) (pow.f64 (cos.f64 a) 2)))
(+.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 (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.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 (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.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 (cos.f64 a)) (/.f64 (*.f64 (*.f64 b b) (sin.f64 a)) (pow.f64 (cos.f64 a) 2))) r)
(*.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))) r)
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (cos.f64 a) b)) r))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a)) b)))
1
(+.f64 (*.f64 -1 (pow.f64 a 2)) 1)
(fma.f64 -1 (*.f64 a a) 1)
(-.f64 1 (*.f64 a a))
(neg.f64 (fma.f64 a a -1))
(+.f64 (*.f64 1/3 (pow.f64 a 4)) (+.f64 (*.f64 -1 (pow.f64 a 2)) 1))
(fma.f64 1/3 (pow.f64 a 4) (fma.f64 -1 (*.f64 a a) 1))
(fma.f64 1/3 (pow.f64 a 4) (-.f64 1 (*.f64 a a)))
(-.f64 (*.f64 1/3 (pow.f64 a 4)) (fma.f64 a a -1))
(-.f64 (fma.f64 1/3 (pow.f64 a 4) 1) (*.f64 a a))
(+.f64 (*.f64 -2/45 (pow.f64 a 6)) (+.f64 (*.f64 1/3 (pow.f64 a 4)) (+.f64 (*.f64 -1 (pow.f64 a 2)) 1)))
(fma.f64 -2/45 (pow.f64 a 6) (fma.f64 1/3 (pow.f64 a 4) (fma.f64 -1 (*.f64 a a) 1)))
(fma.f64 -2/45 (pow.f64 a 6) (fma.f64 1/3 (pow.f64 a 4) (-.f64 1 (*.f64 a a))))
(-.f64 (fma.f64 1/3 (pow.f64 a 4) (*.f64 -2/45 (pow.f64 a 6))) (fma.f64 a a -1))
(fma.f64 1/3 (pow.f64 a 4) (fma.f64 -2/45 (pow.f64 a 6) (neg.f64 (fma.f64 a a -1))))
(fma.f64 1/3 (pow.f64 a 4) (fma.f64 a (fma.f64 -2/45 (pow.f64 a 5) (neg.f64 a)) 1))
a
(+.f64 (*.f64 5/6 (pow.f64 a 3)) a)
(fma.f64 5/6 (pow.f64 a 3) a)
(+.f64 (*.f64 61/120 (pow.f64 a 5)) (+.f64 (*.f64 5/6 (pow.f64 a 3)) a))
(fma.f64 61/120 (pow.f64 a 5) (fma.f64 5/6 (pow.f64 a 3) a))
(fma.f64 5/6 (pow.f64 a 3) (fma.f64 61/120 (pow.f64 a 5) a))
(+.f64 (*.f64 61/120 (pow.f64 a 5)) (+.f64 (*.f64 5/6 (pow.f64 a 3)) (+.f64 (*.f64 277/1008 (pow.f64 a 7)) a)))
(fma.f64 61/120 (pow.f64 a 5) (fma.f64 5/6 (pow.f64 a 3) (fma.f64 277/1008 (pow.f64 a 7) a)))
(fma.f64 5/6 (pow.f64 a 3) (fma.f64 61/120 (pow.f64 a 5) (fma.f64 277/1008 (pow.f64 a 7) a)))

eval310.0ms (2.2%)

Compiler

Compiled 26240 to 8829 computations (66.4% saved)

prune248.0ms (1.7%)

Pruning

64 alts after pruning (61 fresh and 3 done)

PrunedKeptTotal
New1015531068
Fresh27835
Picked101
Done134
Total1044641108
Error
0.0b
Counts
1108 → 64
Alt Table
Click to see full alt table
StatusErrorProgram
0.8b
(/.f64 1 (/.f64 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (sin.f64 b) r)))
25.0b
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
27.3b
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 (sin.f64 b) r)))
53.6b
(*.f64 r (neg.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))
40.1b
(*.f64 r b)
14.4b
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
41.8b
(*.f64 r (sqrt.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 2)))
25.0b
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
30.0b
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a)) b)))
29.7b
(/.f64 1 (-.f64 (fma.f64 b (/.f64 (cos.f64 a) (/.f64 r -1/3)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
5.8b
(/.f64 1 (-.f64 (/.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) r)) (/.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (sin.f64 b) r))))
15.4b
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 3)))
19.8b
(*.f64 r (/.f64 (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)))))
30.2b
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r b)))
41.8b
(*.f64 r (sqrt.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2))))
35.7b
(pow.f64 (sqrt.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))) 2)
27.6b
(/.f64 1 (-.f64 (/.f64 (cos.f64 a) (*.f64 b r)) (/.f64 (sin.f64 a) r)))
14.5b
(*.f64 r (/.f64 (sin.f64 b) (expm1.f64 (log1p.f64 (cos.f64 (+.f64 b a))))))
15.3b
(*.f64 r (/.f64 (sin.f64 b) (+.f64 (fma.f64 (*.f64 (cos.f64 b) (sqrt.f64 (cos.f64 a))) (sqrt.f64 (cos.f64 a)) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (cbrt.f64 (pow.f64 (sin.f64 b) 2))) (*.f64 (cbrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))))))
0.9b
(*.f64 r (/.f64 (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)))))
27.7b
(*.f64 r (/.f64 (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)))))))
28.3b
(/.f64 1 (/.f64 (+.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 (sin.f64 b) r)))
14.6b
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (-.f64 b a))))
33.7b
(*.f64 r (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 2) 3/2))
37.9b
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (exp.f64 (log.f64 (*.f64 (sin.f64 b) r)))))
14.8b
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)))
15.2b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)) 3)
29.2b
(*.f64 r (/.f64 (sin.f64 b) (+.f64 (cos.f64 a) (*.f64 b (-.f64 (*.f64 (*.f64 (cos.f64 a) -1/2) b) (sin.f64 a))))))
14.5b
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
15.0b
(/.f64 1 (*.f64 (/.f64 (/.f64 1 r) (sin.f64 b)) (cos.f64 (+.f64 b a))))
43.1b
(*.f64 r (sqrt.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 a)) 2)))
29.8b
(*.f64 (/.f64 r (cos.f64 a)) b)
37.3b
(exp.f64 (log.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))))
0.3b
(*.f64 r (/.f64 (sin.f64 b) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a)))))
27.5b
(/.f64 1 (-.f64 (/.f64 (cos.f64 b) (*.f64 r (sin.f64 b))) (/.f64 a r)))
53.6b
(*.f64 r (*.f64 (sin.f64 b) (/.f64 1 (neg.f64 (cos.f64 (+.f64 b a))))))
29.9b
(/.f64 (*.f64 r b) (cos.f64 a))
27.0b
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
29.9b
(*.f64 r (/.f64 b (cos.f64 a)))
25.3b
(/.f64 1 (/.f64 (cos.f64 b) (*.f64 (sin.f64 b) r)))
0.4b
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
14.9b
(*.f64 r (/.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 3)))
14.5b
(+.f64 0 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
44.3b
(*.f64 r (+.f64 b (*.f64 a (*.f64 b (+.f64 b (*.f64 a 1/2))))))
0.6b
(*.f64 r (/.f64 (sin.f64 b) (log.f64 (/.f64 (exp.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))))
0.3b
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
14.5b
(*.f64 (*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (sin.f64 b)) r)
44.2b
(*.f64 b (+.f64 r (*.f64 (*.f64 a r) (+.f64 b (*.f64 a 1/2)))))
0.6b
(*.f64 r (/.f64 (sin.f64 b) (log.f64 (/.f64 (exp.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (pow.f64 (exp.f64 (sin.f64 a)) (sin.f64 b))))))
25.1b
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
53.2b
(*.f64 r (log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))))
30.2b
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 b r)))
0.9b
(/.f64 1 (/.f64 (+.f64 (fma.f64 1 (*.f64 (cos.f64 b) (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)))) (*.f64 (sin.f64 b) r)))
0.3b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))))
39.3b
(*.f64 r (exp.f64 (log.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))
41.4b
(*.f64 (fma.f64 b (*.f64 b a) b) r)
25.0b
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
29.9b
(/.f64 r (/.f64 (cos.f64 a) b))
53.9b
(*.f64 r (-.f64 (+.f64 1 (/.f64 b (cos.f64 a))) 1))
14.6b
(*.f64 r (/.f64 (sin.f64 b) (log.f64 (exp.f64 (cos.f64 (+.f64 b a))))))
15.0b
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (/.f64 1 (/.f64 (/.f64 1 r) (sin.f64 b))))
53.6b
(/.f64 (*.f64 (sin.f64 b) r) (neg.f64 (cos.f64 (+.f64 b a))))
43.9b
(-.f64 (+.f64 1 (*.f64 (/.f64 b (cos.f64 a)) r)) 1)
14.9b
(/.f64 1 (/.f64 (log.f64 (exp.f64 (cos.f64 (+.f64 b a)))) (*.f64 (sin.f64 b) r)))
Compiler

Compiled 2220 to 1424 computations (35.9% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 65 to 12 computations (81.5% saved)

series15.0ms (0.1%)

Counts
4 → 108
Calls

27 calls:

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

rewrite78.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
794×log-prod_binary64
552×fma-def_binary64
285×fma-neg_binary64
273×expm1-udef_binary64
273×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01365
129241
2421241
Stop Event
node limit
Counts
4 → 104
Calls
Call 1
Inputs
(*.f64 (sin.f64 b) (sin.f64 a))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 b) (cos.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 (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 (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 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 (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 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 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))))))

simplify70.0ms (0.5%)

Algorithm
egg-herbie
Rules
497×times-frac_binary64
456×associate-/l*_binary64
447×associate-*l/_binary64
367×associate-*r/_binary64
303×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02022726
16582643
223802560
Stop Event
node limit
Counts
212 → 167
Calls
Call 1
Inputs
(*.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))
(/.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 (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))))
(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 (sin.f64 a) b)
(+.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 (sin.f64 a) b))
(fma.f64 (sin.f64 a) b (*.f64 -1/6 (*.f64 (sin.f64 a) (pow.f64 b 3))))
(*.f64 (sin.f64 a) (+.f64 b (*.f64 -1/6 (pow.f64 b 3))))
(+.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 (sin.f64 a) b (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 5) 1/120))))
(fma.f64 -1/6 (*.f64 (sin.f64 a) (pow.f64 b 3)) (*.f64 (sin.f64 a) (+.f64 b (*.f64 (pow.f64 b 5) 1/120))))
(+.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 (sin.f64 a) b (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 5) 1/120)))))
(+.f64 (*.f64 (sin.f64 a) (+.f64 b (*.f64 -1/6 (pow.f64 b 3)))) (*.f64 (sin.f64 a) (+.f64 (*.f64 1/120 (pow.f64 b 5)) (*.f64 -1/5040 (pow.f64 b 7)))))
(*.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 a (sin.f64 b))
(+.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 a (sin.f64 b)))
(fma.f64 a (sin.f64 b) (*.f64 -1/6 (*.f64 (sin.f64 b) (pow.f64 a 3))))
(*.f64 (sin.f64 b) (+.f64 a (*.f64 -1/6 (pow.f64 a 3))))
(+.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 a (sin.f64 b))))
(fma.f64 -1/6 (*.f64 (sin.f64 b) (pow.f64 a 3)) (fma.f64 a (sin.f64 b) (*.f64 1/120 (*.f64 (sin.f64 b) (pow.f64 a 5)))))
(fma.f64 -1/6 (*.f64 (sin.f64 b) (pow.f64 a 3)) (*.f64 (sin.f64 b) (+.f64 a (*.f64 1/120 (pow.f64 a 5)))))
(+.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 a (sin.f64 b)))))
(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 a (sin.f64 b) (*.f64 1/120 (*.f64 (sin.f64 b) (pow.f64 a 5))))))
(+.f64 (*.f64 (sin.f64 b) (+.f64 (*.f64 -1/6 (pow.f64 a 3)) (*.f64 1/120 (pow.f64 a 5)))) (*.f64 (sin.f64 b) (+.f64 a (*.f64 -1/5040 (pow.f64 a 7)))))
(*.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 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))))
(+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (*.f64 b b)) (pow.f64 (cos.f64 a) 2)))
(+.f64 (/.f64 b (cos.f64 a)) (*.f64 (/.f64 (*.f64 b b) (pow.f64 (cos.f64 a) 2)) (sin.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 (pow.f64 b 3) (-.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 (*.f64 (sin.f64 a) (*.f64 b b)) (pow.f64 (cos.f64 a) 2))))
(+.f64 (/.f64 b (cos.f64 a)) (*.f64 (*.f64 b b) (+.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 (+.f64 (/.f64 1/3 (cos.f64 a)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) b))))
(+.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 (pow.f64 b 3) (-.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 (/.f64 (*.f64 (sin.f64 a) (*.f64 b b)) (pow.f64 (cos.f64 a) 2)) (*.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 (+.f64 (/.f64 b (cos.f64 a)) (*.f64 (*.f64 b b) (+.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 (+.f64 (/.f64 1/3 (cos.f64 a)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) 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 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) (-.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 a (pow.f64 (sin.f64 b) 2)) (pow.f64 (cos.f64 b) 2)))
(+.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) a))
(+.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 (*.f64 a (pow.f64 (sin.f64 b) 2)) (pow.f64 (cos.f64 b) 2))))
(+.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (-.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) a) (*.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 -1/2 (/.f64 (sin.f64 b) (cos.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 (*.f64 a (pow.f64 (sin.f64 b) 2)) (pow.f64 (cos.f64 b) 2)))))
(+.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) a) (*.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 -1/2 (/.f64 (sin.f64 b) (cos.f64 b))) (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3)) a))) (*.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))) (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3)))))))
(/.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 (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 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 (*.f64 (*.f64 (sin.f64 a) r) (*.f64 b b)) (pow.f64 (cos.f64 a) 2)))
(+.f64 (*.f64 (/.f64 b (cos.f64 a)) r) (/.f64 (*.f64 (sin.f64 a) (*.f64 b b)) (/.f64 (pow.f64 (cos.f64 a) 2) r)))
(+.f64 (*.f64 (/.f64 b (cos.f64 a)) r) (/.f64 (*.f64 b b) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 (sin.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 (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 (*.f64 (sin.f64 a) 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 (*.f64 -1/6 r) (cos.f64 a)) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 b b)) (/.f64 (pow.f64 (cos.f64 a) 2) 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)))
(+.f64 (/.f64 (*.f64 b b) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 (sin.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 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 (*.f64 (*.f64 (sin.f64 a) 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 (*.f64 -1/6 r) (cos.f64 a)) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))) (neg.f64 (*.f64 (pow.f64 b 4) (fma.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (/.f64 (*.f64 -1/6 r) (cos.f64 a)) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a)) (*.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) r)) -1/3)))))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 b b)) (/.f64 (pow.f64 (cos.f64 a) 2) 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 (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 (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 (pow.f64 b 4) (-.f64 (/.f64 (sin.f64 a) (/.f64 (/.f64 (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))))) (/.f64 (*.f64 b b) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 (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 (*.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 (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 (*.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 (*.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 (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 (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)))))
(+.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 a (*.f64 a (-.f64 (/.f64 (sin.f64 b) (/.f64 (/.f64 (cos.f64 b) r) -1/2)) (*.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3) 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 (*.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 (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 (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 (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) (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 (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 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) r)))))))
(+.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 a r)) (-.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (*.f64 (*.f64 a a) (+.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)) (-.f64 (/.f64 (sin.f64 b) (/.f64 (/.f64 (cos.f64 b) r) -1/2)) (*.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3) r)))) a) (-.f64 (/.f64 (sin.f64 b) (/.f64 (/.f64 (cos.f64 b) r) -1/2)) (*.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 (*.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 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 (*.f64 (cos.f64 a) -1/2) (*.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 (*.f64 (cos.f64 a) -1/2) (*.f64 b b) (cos.f64 a)))
(+.f64 (cos.f64 a) (*.f64 (cos.f64 a) (+.f64 (*.f64 1/24 (pow.f64 b 4)) (*.f64 -1/2 (*.f64 b b)))))
(+.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 (*.f64 (cos.f64 a) -1/2) (*.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 (*.f64 b b) -1/2) (*.f64 (pow.f64 b 6) -1/720))))
(*.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 (*.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)) (+.f64 (*.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 (fma.f64 1/24 (*.f64 (cos.f64 b) (pow.f64 a 4)) (cos.f64 b)) (*.f64 (cos.f64 b) (+.f64 (*.f64 -1/720 (pow.f64 a 6)) (*.f64 -1/2 (*.f64 a a)))))
(+.f64 (*.f64 (cos.f64 b) (+.f64 (+.f64 (*.f64 -1/720 (pow.f64 a 6)) (*.f64 -1/2 (*.f64 a a))) (*.f64 1/24 (pow.f64 a 4)))) (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))

localize5.0ms (0%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 20 to 7 computations (65% saved)

series4.0ms (0%)

Counts
1 → 4
Calls

6 calls:

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

rewrite48.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

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

simplify50.0ms (0.4%)

Algorithm
egg-herbie
Rules
632×unsub-neg_binary64
506×associate-*l*_binary64
447×associate-+l+_binary64
431×associate-*r*_binary64
356×associate-+r+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
039135
1111111
232586
3148879
4655179
Stop Event
node limit
Counts
45 → 48
Calls
Call 1
Inputs
(*.f64 r b)
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)) (pow.f64 b 3)) (*.f64 r b))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)) (pow.f64 b 3)) (+.f64 (*.f64 r b) (*.f64 (pow.f64 b 5) (-.f64 (*.f64 1/120 r) (+.f64 (*.f64 1/24 r) (*.f64 -1/2 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r))))))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)) (pow.f64 b 3)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 r) (+.f64 (*.f64 -1/2 (-.f64 (*.f64 1/120 r) (+.f64 (*.f64 1/24 r) (*.f64 -1/2 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)))))) (+.f64 (*.f64 -1/720 r) (*.f64 1/24 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)))))) (pow.f64 b 7)) (+.f64 (*.f64 r b) (*.f64 (pow.f64 b 5) (-.f64 (*.f64 1/120 r) (+.f64 (*.f64 1/24 r) (*.f64 -1/2 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)))))))))
Outputs
(*.f64 r b)
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)) (pow.f64 b 3)) (*.f64 r b))
(fma.f64 (*.f64 r 1/3) (pow.f64 b 3) (*.f64 r b))
(*.f64 r (+.f64 b (*.f64 (pow.f64 b 3) 1/3)))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)) (pow.f64 b 3)) (+.f64 (*.f64 r b) (*.f64 (pow.f64 b 5) (-.f64 (*.f64 1/120 r) (+.f64 (*.f64 1/24 r) (*.f64 -1/2 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r))))))))
(fma.f64 (*.f64 r 1/3) (pow.f64 b 3) (fma.f64 r b (*.f64 (pow.f64 b 5) (-.f64 (*.f64 r 1/120) (fma.f64 1/24 r (*.f64 -1/2 (*.f64 r 1/3)))))))
(fma.f64 (*.f64 r 1/3) (pow.f64 b 3) (fma.f64 (pow.f64 b 5) (-.f64 (*.f64 r -1/30) (*.f64 r -1/6)) (*.f64 r b)))
(fma.f64 (pow.f64 b 5) (*.f64 r 2/15) (*.f64 r (+.f64 b (*.f64 (pow.f64 b 3) 1/3))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)) (pow.f64 b 3)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 r) (+.f64 (*.f64 -1/2 (-.f64 (*.f64 1/120 r) (+.f64 (*.f64 1/24 r) (*.f64 -1/2 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)))))) (+.f64 (*.f64 -1/720 r) (*.f64 1/24 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)))))) (pow.f64 b 7)) (+.f64 (*.f64 r b) (*.f64 (pow.f64 b 5) (-.f64 (*.f64 1/120 r) (+.f64 (*.f64 1/24 r) (*.f64 -1/2 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)))))))))
(fma.f64 (*.f64 r 1/3) (pow.f64 b 3) (fma.f64 (-.f64 (*.f64 r -1/5040) (fma.f64 -1/2 (-.f64 (*.f64 r 1/120) (fma.f64 1/24 r (*.f64 -1/2 (*.f64 r 1/3)))) (fma.f64 -1/720 r (*.f64 (*.f64 r 1/3) 1/24)))) (pow.f64 b 7) (fma.f64 r b (*.f64 (pow.f64 b 5) (-.f64 (*.f64 r 1/120) (fma.f64 1/24 r (*.f64 -1/2 (*.f64 r 1/3))))))))
(fma.f64 (*.f64 r 1/3) (pow.f64 b 3) (fma.f64 (-.f64 (*.f64 r -1/5040) (fma.f64 -1/2 (-.f64 (*.f64 r -1/30) (*.f64 r -1/6)) (fma.f64 r -1/720 (*.f64 r 1/72)))) (pow.f64 b 7) (fma.f64 (pow.f64 b 5) (-.f64 (*.f64 r -1/30) (*.f64 r -1/6)) (*.f64 r b))))
(fma.f64 (-.f64 (*.f64 r -1/5040) (fma.f64 -1/2 (*.f64 r 2/15) (*.f64 r 1/80))) (pow.f64 b 7) (fma.f64 (pow.f64 b 5) (*.f64 r 2/15) (*.f64 r (+.f64 b (*.f64 (pow.f64 b 3) 1/3)))))
(fma.f64 (+.f64 (*.f64 r 1/15) (*.f64 r -4/315)) (pow.f64 b 7) (fma.f64 (pow.f64 b 5) (*.f64 r 2/15) (*.f64 r (+.f64 b (*.f64 (pow.f64 b 3) 1/3)))))

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 61 to 11 computations (82% saved)

series14.0ms (0.1%)

Counts
3 → 64
Calls

21 calls:

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

rewrite73.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
525×log-prod_binary64
409×prod-exp_binary64
389×exp-prod_binary64
351×pow-prod-down_binary64
255×pow2_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0931
118531
2244327
Stop Event
node limit
Counts
3 → 132
Calls
Call 1
Inputs
(*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a)) b)
(*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a))
(/.f64 r (cos.f64 a))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 b) (*.f64 (/.f64 r 1) (tan.f64 a)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 b) (*.f64 (/.f64 r 1) (tan.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 b) (*.f64 (/.f64 r 1) (tan.f64 a))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 b) (*.f64 (/.f64 r 1) (tan.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 a) b) (/.f64 (cos.f64 a) r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 r (*.f64 (sin.f64 a) b)) (cos.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 r) (*.f64 (sin.f64 a) b)) (neg.f64 (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 r (sin.f64 a)) b) (cos.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b (*.f64 r (sin.f64 a))) (cos.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) b) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) b) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) b)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) b)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) b))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) b)))) (sqrt.f64 (log.f64 (*.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 b) (*.f64 (/.f64 r 1) (tan.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) b) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) b))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) b))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) b)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 r (cos.f64 a))) 1) (log.f64 (*.f64 (sin.f64 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (/.f64 r 1) (tan.f64 a))) 1) (log.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (*.f64 (/.f64 r 1) (tan.f64 a))) (*.f64 (log.f64 b) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (/.f64 r 1) (tan.f64 a))) 1) (*.f64 (log.f64 b) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 b) 1) (log.f64 (*.f64 (/.f64 r 1) (tan.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 b) (*.f64 (log.f64 (*.f64 (/.f64 r 1) (tan.f64 a))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 b) 1) (*.f64 (log.f64 (*.f64 (/.f64 r 1) (tan.f64 a))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 a) b)) (*.f64 (log.f64 (/.f64 r (cos.f64 a))) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 r 1) (tan.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 r 1) (tan.f64 a)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 r 1) (tan.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 r 1) (tan.f64 a))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 r 1) (tan.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 r 1) (tan.f64 a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 r (/.f64 (cos.f64 a) (sin.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 a) (/.f64 (cos.f64 a) r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (cos.f64 a) (*.f64 r (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 r (sin.f64 a)) (cos.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 r (sin.f64 a))) (neg.f64 (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 r (sin.f64 a)) 1) (cos.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 r (sin.f64 a)) (cbrt.f64 (pow.f64 (cos.f64 a) 2))) (cbrt.f64 (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 r (sin.f64 a)) (sqrt.f64 (cos.f64 a))) (sqrt.f64 (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 r) (sin.f64 a)) (neg.f64 (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 a) (neg.f64 r)) (neg.f64 (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 r 1) (tan.f64 a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 r 1) (tan.f64 a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 r 1) (tan.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cos.f64 a) (*.f64 r (sin.f64 a))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 r 1) (tan.f64 a)))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 r 1) (tan.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 r 1) (tan.f64 a))))) (sqrt.f64 (log.f64 (*.f64 (/.f64 r 1) (tan.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (/.f64 r 1) (tan.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 r 1) (tan.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 r 1) (tan.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 r 1) (tan.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 r 1) (tan.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 r 1) (tan.f64 a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (/.f64 r 1) (tan.f64 a)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 r 1) (tan.f64 a)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 r 1) (tan.f64 a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 r 1) (tan.f64 a))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (sin.f64 a)) 1) (log.f64 (/.f64 (cos.f64 a) r))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 r (sin.f64 a))) (*.f64 (log.f64 (cos.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 r (cos.f64 a))) 1) (log.f64 (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (/.f64 r (cos.f64 a))) (*.f64 (log.f64 (sin.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 r (cos.f64 a))) 1) (*.f64 (log.f64 (sin.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 a)) 1) (log.f64 (/.f64 r (cos.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (sin.f64 a)) (*.f64 (log.f64 (/.f64 r (cos.f64 a))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 a)) 1) (*.f64 (log.f64 (/.f64 r (cos.f64 a))) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 r (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 r (cos.f64 a)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 r (cos.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 r (cos.f64 a))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 r (cos.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.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 (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) (cbrt.f64 (pow.f64 (cos.f64 a) 2))) (cbrt.f64 (/.f64 r (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 r) (cbrt.f64 (pow.f64 (cos.f64 a) 2))) (/.f64 (sqrt.f64 r) (cbrt.f64 (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 a) -1/2) (/.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)) 2) 1/2)))) (#(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 pow.f64 (exp.f64 1) (log.f64 (/.f64 r (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 r 3) (pow.f64 (cos.f64 a) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (cos.f64 a) r) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 r (cos.f64 a)))) 2)) (cbrt.f64 (log.f64 (/.f64 r (cos.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 r (cos.f64 a))))) (sqrt.f64 (log.f64 (/.f64 r (cos.f64 a)))))))) (#(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 log.f64 (+.f64 1 (expm1.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 exp.f64 (*.f64 (log.f64 (/.f64 r (cos.f64 a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 r (cos.f64 a)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 r (cos.f64 a)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 r (cos.f64 a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (cos.f64 a) r)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 r (cos.f64 a))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 r) 1) (log.f64 (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 r) (*.f64 (log.f64 (cos.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 r) 1) (*.f64 (log.f64 (cos.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 r) 1) (neg.f64 (log.f64 (cos.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (neg.f64 (log.f64 (cos.f64 a))) (*.f64 (log.f64 r) 1)))))))

simplify62.0ms (0.4%)

Algorithm
egg-herbie
Rules
775×fma-neg_binary64
596×fma-def_binary64
586×distribute-rgt-neg-in_binary64
461×associate-*l*_binary64
425×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01011143
13201026
21074979
35232967
Stop Event
node limit
Counts
196 → 158
Calls
Call 1
Inputs
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(*.f64 a (*.f64 b r))
(+.f64 (*.f64 (pow.f64 a 3) (-.f64 (*.f64 -1/6 (*.f64 b r)) (*.f64 -1/2 (*.f64 r b)))) (*.f64 a (*.f64 b r)))
(+.f64 (*.f64 (pow.f64 a 3) (-.f64 (*.f64 -1/6 (*.f64 b r)) (*.f64 -1/2 (*.f64 r b)))) (+.f64 (*.f64 (pow.f64 a 5) (-.f64 (*.f64 1/120 (*.f64 b r)) (+.f64 (*.f64 1/24 (*.f64 r b)) (*.f64 -1/2 (-.f64 (*.f64 -1/6 (*.f64 b r)) (*.f64 -1/2 (*.f64 r b))))))) (*.f64 a (*.f64 b r))))
(+.f64 (*.f64 (pow.f64 a 7) (-.f64 (*.f64 -1/5040 (*.f64 b r)) (+.f64 (*.f64 -1/2 (-.f64 (*.f64 1/120 (*.f64 b r)) (+.f64 (*.f64 1/24 (*.f64 r b)) (*.f64 -1/2 (-.f64 (*.f64 -1/6 (*.f64 b r)) (*.f64 -1/2 (*.f64 r b))))))) (+.f64 (*.f64 -1/720 (*.f64 r b)) (*.f64 1/24 (-.f64 (*.f64 -1/6 (*.f64 b r)) (*.f64 -1/2 (*.f64 r b)))))))) (+.f64 (*.f64 (pow.f64 a 3) (-.f64 (*.f64 -1/6 (*.f64 b r)) (*.f64 -1/2 (*.f64 r b)))) (+.f64 (*.f64 (pow.f64 a 5) (-.f64 (*.f64 1/120 (*.f64 b r)) (+.f64 (*.f64 1/24 (*.f64 r b)) (*.f64 -1/2 (-.f64 (*.f64 -1/6 (*.f64 b r)) (*.f64 -1/2 (*.f64 r b))))))) (*.f64 a (*.f64 b r)))))
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(*.f64 a r)
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)) (pow.f64 a 3)) (*.f64 a r))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)) (pow.f64 a 3)) (+.f64 (*.f64 a r) (*.f64 (pow.f64 a 5) (-.f64 (*.f64 1/120 r) (+.f64 (*.f64 1/24 r) (*.f64 -1/2 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r))))))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)) (pow.f64 a 3)) (+.f64 (*.f64 (pow.f64 a 7) (-.f64 (*.f64 -1/5040 r) (+.f64 (*.f64 -1/2 (-.f64 (*.f64 1/120 r) (+.f64 (*.f64 1/24 r) (*.f64 -1/2 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)))))) (+.f64 (*.f64 -1/720 r) (*.f64 1/24 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r))))))) (+.f64 (*.f64 a r) (*.f64 (pow.f64 a 5) (-.f64 (*.f64 1/120 r) (+.f64 (*.f64 1/24 r) (*.f64 -1/2 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)))))))))
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
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))))))))))
Outputs
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(*.f64 a (*.f64 b r))
(+.f64 (*.f64 (pow.f64 a 3) (-.f64 (*.f64 -1/6 (*.f64 b r)) (*.f64 -1/2 (*.f64 r b)))) (*.f64 a (*.f64 b r)))
(fma.f64 (pow.f64 a 3) (+.f64 (*.f64 (*.f64 b r) -1/6) (*.f64 1/2 (*.f64 b r))) (*.f64 a (*.f64 b r)))
(fma.f64 a (*.f64 b r) (*.f64 (pow.f64 a 3) (*.f64 (*.f64 b r) 1/3)))
(fma.f64 a (*.f64 b r) (*.f64 (*.f64 b r) (*.f64 (pow.f64 a 3) 1/3)))
(+.f64 (*.f64 (pow.f64 a 3) (-.f64 (*.f64 -1/6 (*.f64 b r)) (*.f64 -1/2 (*.f64 r b)))) (+.f64 (*.f64 (pow.f64 a 5) (-.f64 (*.f64 1/120 (*.f64 b r)) (+.f64 (*.f64 1/24 (*.f64 r b)) (*.f64 -1/2 (-.f64 (*.f64 -1/6 (*.f64 b r)) (*.f64 -1/2 (*.f64 r b))))))) (*.f64 a (*.f64 b r))))
(fma.f64 (pow.f64 a 3) (+.f64 (*.f64 (*.f64 b r) -1/6) (*.f64 1/2 (*.f64 b r))) (fma.f64 (pow.f64 a 5) (-.f64 (*.f64 (*.f64 b r) 1/120) (fma.f64 1/24 (*.f64 b r) (*.f64 -1/2 (+.f64 (*.f64 (*.f64 b r) -1/6) (*.f64 1/2 (*.f64 b r)))))) (*.f64 a (*.f64 b r))))
(fma.f64 (pow.f64 a 3) (*.f64 (*.f64 b r) 1/3) (fma.f64 a (*.f64 b r) (*.f64 (pow.f64 a 5) (+.f64 (*.f64 (*.f64 b r) -1/30) (*.f64 1/2 (*.f64 (*.f64 b r) 1/3))))))
(fma.f64 a (*.f64 b r) (fma.f64 (pow.f64 a 3) (*.f64 b (*.f64 r 1/3)) (*.f64 (pow.f64 a 5) (-.f64 (*.f64 b (*.f64 r -1/30)) (*.f64 b (*.f64 r -1/6))))))
(fma.f64 a (*.f64 b r) (fma.f64 (pow.f64 a 3) (*.f64 b (*.f64 r 1/3)) (*.f64 (fma.f64 b (*.f64 r -1/30) (*.f64 b (*.f64 r 1/6))) (pow.f64 a 5))))
(+.f64 (*.f64 (pow.f64 a 7) (-.f64 (*.f64 -1/5040 (*.f64 b r)) (+.f64 (*.f64 -1/2 (-.f64 (*.f64 1/120 (*.f64 b r)) (+.f64 (*.f64 1/24 (*.f64 r b)) (*.f64 -1/2 (-.f64 (*.f64 -1/6 (*.f64 b r)) (*.f64 -1/2 (*.f64 r b))))))) (+.f64 (*.f64 -1/720 (*.f64 r b)) (*.f64 1/24 (-.f64 (*.f64 -1/6 (*.f64 b r)) (*.f64 -1/2 (*.f64 r b)))))))) (+.f64 (*.f64 (pow.f64 a 3) (-.f64 (*.f64 -1/6 (*.f64 b r)) (*.f64 -1/2 (*.f64 r b)))) (+.f64 (*.f64 (pow.f64 a 5) (-.f64 (*.f64 1/120 (*.f64 b r)) (+.f64 (*.f64 1/24 (*.f64 r b)) (*.f64 -1/2 (-.f64 (*.f64 -1/6 (*.f64 b r)) (*.f64 -1/2 (*.f64 r b))))))) (*.f64 a (*.f64 b r)))))
(fma.f64 (pow.f64 a 7) (-.f64 (*.f64 (*.f64 b r) -1/5040) (fma.f64 -1/2 (-.f64 (*.f64 (*.f64 b r) 1/120) (fma.f64 1/24 (*.f64 b r) (*.f64 -1/2 (+.f64 (*.f64 (*.f64 b r) -1/6) (*.f64 1/2 (*.f64 b r)))))) (fma.f64 -1/720 (*.f64 b r) (*.f64 (+.f64 (*.f64 (*.f64 b r) -1/6) (*.f64 1/2 (*.f64 b r))) 1/24)))) (fma.f64 (pow.f64 a 3) (+.f64 (*.f64 (*.f64 b r) -1/6) (*.f64 1/2 (*.f64 b r))) (fma.f64 (pow.f64 a 5) (-.f64 (*.f64 (*.f64 b r) 1/120) (fma.f64 1/24 (*.f64 b r) (*.f64 -1/2 (+.f64 (*.f64 (*.f64 b r) -1/6) (*.f64 1/2 (*.f64 b r)))))) (*.f64 a (*.f64 b r)))))
(fma.f64 (pow.f64 a 7) (-.f64 (*.f64 r (*.f64 b -1/5040)) (fma.f64 -1/2 (+.f64 (*.f64 (*.f64 b r) -1/30) (*.f64 1/2 (*.f64 (*.f64 b r) 1/3))) (fma.f64 (*.f64 b r) -1/720 (*.f64 (*.f64 (*.f64 b r) 1/3) 1/24)))) (fma.f64 (pow.f64 a 3) (*.f64 (*.f64 b r) 1/3) (fma.f64 a (*.f64 b r) (*.f64 (pow.f64 a 5) (+.f64 (*.f64 (*.f64 b r) -1/30) (*.f64 1/2 (*.f64 (*.f64 b r) 1/3)))))))
(fma.f64 (pow.f64 a 7) (-.f64 (*.f64 b (*.f64 r -1/5040)) (fma.f64 b (*.f64 r -1/720) (fma.f64 -1/2 (-.f64 (*.f64 b (*.f64 r -1/30)) (*.f64 b (*.f64 r -1/6))) (*.f64 (*.f64 b r) 1/72)))) (fma.f64 a (*.f64 b r) (fma.f64 (pow.f64 a 3) (*.f64 b (*.f64 r 1/3)) (*.f64 (pow.f64 a 5) (-.f64 (*.f64 b (*.f64 r -1/30)) (*.f64 b (*.f64 r -1/6)))))))
(fma.f64 (pow.f64 a 7) (+.f64 (fma.f64 b (*.f64 r -1/5040) (fma.f64 (fma.f64 b (*.f64 r -1/30) (*.f64 b (*.f64 r 1/6))) 1/2 (*.f64 b (*.f64 r 1/720)))) (*.f64 (*.f64 b r) -1/72)) (fma.f64 a (*.f64 b r) (fma.f64 (pow.f64 a 3) (*.f64 b (*.f64 r 1/3)) (*.f64 (fma.f64 b (*.f64 r -1/30) (*.f64 b (*.f64 r 1/6))) (pow.f64 a 5)))))
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (*.f64 b r))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) b)
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) r)
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) r)
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) r)
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) r)
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) r)
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) r)
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) r)
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) r)
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) r)
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) r)
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) r)
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) r)
(*.f64 a r)
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)) (pow.f64 a 3)) (*.f64 a r))
(fma.f64 (*.f64 r 1/3) (pow.f64 a 3) (*.f64 a r))
(fma.f64 a r (*.f64 (pow.f64 a 3) (*.f64 r 1/3)))
(*.f64 r (+.f64 a (*.f64 (pow.f64 a 3) 1/3)))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)) (pow.f64 a 3)) (+.f64 (*.f64 a r) (*.f64 (pow.f64 a 5) (-.f64 (*.f64 1/120 r) (+.f64 (*.f64 1/24 r) (*.f64 -1/2 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r))))))))
(fma.f64 (*.f64 r 1/3) (pow.f64 a 3) (fma.f64 a r (*.f64 (pow.f64 a 5) (-.f64 (*.f64 r 1/120) (fma.f64 1/24 r (*.f64 -1/2 (*.f64 r 1/3)))))))
(fma.f64 (pow.f64 a 3) (*.f64 r 1/3) (fma.f64 a r (*.f64 (pow.f64 a 5) (-.f64 (*.f64 r -1/30) (*.f64 r -1/6)))))
(fma.f64 (pow.f64 a 5) (*.f64 r 2/15) (*.f64 r (+.f64 a (*.f64 (pow.f64 a 3) 1/3))))
(fma.f64 (*.f64 r 2/15) (pow.f64 a 5) (*.f64 r (+.f64 a (*.f64 (pow.f64 a 3) 1/3))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)) (pow.f64 a 3)) (+.f64 (*.f64 (pow.f64 a 7) (-.f64 (*.f64 -1/5040 r) (+.f64 (*.f64 -1/2 (-.f64 (*.f64 1/120 r) (+.f64 (*.f64 1/24 r) (*.f64 -1/2 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)))))) (+.f64 (*.f64 -1/720 r) (*.f64 1/24 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r))))))) (+.f64 (*.f64 a r) (*.f64 (pow.f64 a 5) (-.f64 (*.f64 1/120 r) (+.f64 (*.f64 1/24 r) (*.f64 -1/2 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)))))))))
(fma.f64 (*.f64 r 1/3) (pow.f64 a 3) (fma.f64 (pow.f64 a 7) (-.f64 (*.f64 r -1/5040) (fma.f64 -1/2 (-.f64 (*.f64 r 1/120) (fma.f64 1/24 r (*.f64 -1/2 (*.f64 r 1/3)))) (fma.f64 -1/720 r (*.f64 1/24 (*.f64 r 1/3))))) (fma.f64 a r (*.f64 (pow.f64 a 5) (-.f64 (*.f64 r 1/120) (fma.f64 1/24 r (*.f64 -1/2 (*.f64 r 1/3))))))))
(fma.f64 (pow.f64 a 3) (*.f64 r 1/3) (fma.f64 (pow.f64 a 7) (-.f64 (*.f64 r -1/5040) (fma.f64 -1/2 (-.f64 (*.f64 r -1/30) (*.f64 r -1/6)) (fma.f64 r -1/720 (*.f64 r 1/72)))) (fma.f64 a r (*.f64 (pow.f64 a 5) (-.f64 (*.f64 r -1/30) (*.f64 r -1/6))))))
(fma.f64 (pow.f64 a 7) (-.f64 (*.f64 r -1/5040) (fma.f64 -1/2 (*.f64 r 2/15) (*.f64 r 1/80))) (fma.f64 (pow.f64 a 5) (*.f64 r 2/15) (*.f64 r (+.f64 a (*.f64 (pow.f64 a 3) 1/3)))))
(fma.f64 (pow.f64 a 7) (fma.f64 r -1/5040 (fma.f64 -1/2 (*.f64 r -2/15) (*.f64 r -1/80))) (fma.f64 (*.f64 r 2/15) (pow.f64 a 5) (*.f64 r (+.f64 a (*.f64 (pow.f64 a 3) 1/3)))))
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) r)
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) r)
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) r)
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) r)
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) r)
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) r)
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) r)
(/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a))
(/.f64 (sin.f64 a) (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) r)
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)) (-.f64 r (*.f64 r (*.f64 -5/24 (pow.f64 a 4)))))
(fma.f64 r (*.f64 a (*.f64 a 1/2)) (fma.f64 (pow.f64 a 4) (*.f64 r 5/24) r))
(+.f64 r (*.f64 r (fma.f64 a (*.f64 a 1/2) (*.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 (-.f64 r (*.f64 r (*.f64 -5/24 (pow.f64 a 4)))) (*.f64 (pow.f64 a 6) (+.f64 (*.f64 r -5/48) (*.f64 r 7/360)))))
(-.f64 (fma.f64 r (*.f64 a (*.f64 a 1/2)) (fma.f64 (pow.f64 a 4) (*.f64 r 5/24) r)) (*.f64 (pow.f64 a 6) (*.f64 r -61/720)))
(+.f64 r (fma.f64 r (fma.f64 a (*.f64 a 1/2) (*.f64 (pow.f64 a 4) 5/24)) (*.f64 (pow.f64 a 6) (*.f64 r 61/720))))

localize33.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 r -1/3)
0.3b
(/.f64 (cos.f64 a) (/.f64 r -1/3))
0.7b
(/.f64 (cos.f64 a) (*.f64 b r))
0.8b
(/.f64 1 (-.f64 (fma.f64 b (/.f64 (cos.f64 a) (/.f64 r -1/3)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
Compiler

Compiled 88 to 31 computations (64.8% saved)

series25.0ms (0.2%)

Counts
4 → 88
Calls

27 calls:

TimeVariablePointExpression
3.0ms
a
@0
(/.f64 (cos.f64 a) (/.f64 r -1/3))
3.0ms
a
@0
(/.f64 1 (-.f64 (fma.f64 b (/.f64 (cos.f64 a) (/.f64 r -1/3)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
2.0ms
a
@inf
(/.f64 1 (-.f64 (fma.f64 b (/.f64 (cos.f64 a) (/.f64 r -1/3)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
2.0ms
a
@-inf
(/.f64 1 (-.f64 (fma.f64 b (/.f64 (cos.f64 a) (/.f64 r -1/3)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
2.0ms
r
@0
(/.f64 1 (-.f64 (fma.f64 b (/.f64 (cos.f64 a) (/.f64 r -1/3)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))

rewrite96.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
948×log-prod_binary64
343×fma-def_binary64
321×expm1-udef_binary64
321×log1p-udef_binary64
297×log-div_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify71.0ms (0.5%)

Algorithm
egg-herbie
Rules
866×associate-/r*_binary64
780×fma-def_binary64
722×associate-/l*_binary64
463×associate-*l/_binary64
420×associate-*r/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02102573
16892414
223652289
Stop Event
node limit
Counts
230 → 192
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 -1 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))) (pow.f64 b 3))) (/.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 -1 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))) (pow.f64 b 3))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (/.f64 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))) (sin.f64 a)) (cos.f64 a))) (pow.f64 b 4))) (/.f64 (*.f64 r b) (cos.f64 a)))))
(*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b)))
(+.f64 (*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b))) (*.f64 9 (/.f64 (*.f64 (sin.f64 a) r) (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 b 2)))))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 9 (/.f64 r (cos.f64 a))) (*.f64 27 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))) (pow.f64 b 3))) (+.f64 (*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b))) (*.f64 9 (/.f64 (*.f64 (sin.f64 a) r) (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 b 2))))))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -27 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (*.f64 -3 (/.f64 (*.f64 (sin.f64 a) (+.f64 (*.f64 9 (/.f64 r (cos.f64 a))) (*.f64 27 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))) (cos.f64 a)))) (pow.f64 b 4))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 9 (/.f64 r (cos.f64 a))) (*.f64 27 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))) (pow.f64 b 3))) (+.f64 (*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b))) (*.f64 9 (/.f64 (*.f64 (sin.f64 a) r) (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 b 2)))))))
(*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b)))
(+.f64 (*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b))) (*.f64 9 (/.f64 (*.f64 (sin.f64 a) r) (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 b 2)))))
(+.f64 (*.f64 -9 (/.f64 r (*.f64 (cos.f64 a) (pow.f64 b 3)))) (+.f64 (*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b))) (+.f64 (*.f64 9 (/.f64 (*.f64 (sin.f64 a) r) (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 b 2)))) (*.f64 -27 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (*.f64 (pow.f64 (cos.f64 a) 3) (pow.f64 b 3)))))))
(+.f64 (*.f64 -9 (/.f64 r (*.f64 (cos.f64 a) (pow.f64 b 3)))) (+.f64 (*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b))) (+.f64 (*.f64 9 (/.f64 (*.f64 (sin.f64 a) r) (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 b 2)))) (+.f64 (*.f64 -27 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (*.f64 (pow.f64 (cos.f64 a) 3) (pow.f64 b 3)))) (*.f64 -1 (/.f64 (+.f64 (*.f64 3 (/.f64 (*.f64 (sin.f64 a) (+.f64 (*.f64 -9 (/.f64 r (cos.f64 a))) (*.f64 -27 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))) (cos.f64 a))) (*.f64 -27 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2)))) (pow.f64 b 4)))))))
(/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))))
(+.f64 (/.f64 a (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))) (/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))
(+.f64 (*.f64 (pow.f64 a 2) (-.f64 (+.f64 (/.f64 1 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 (pow.f64 r 2) (pow.f64 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))) 2)))) (*.f64 1/2 (/.f64 1 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (*.f64 b (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))))))))) (*.f64 1/6 (/.f64 b (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))))))))) (+.f64 (/.f64 a (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))) (/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))))))
(+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 (pow.f64 r 2) (*.f64 b (pow.f64 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))) 2)))))) (+.f64 (*.f64 -1 (/.f64 (-.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) 2) (*.f64 (pow.f64 r 2) (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))) (*.f64 1/2 (/.f64 1 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 b (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))))))))) (*.f64 1/6 (/.f64 b (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))))) (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))) (+.f64 (*.f64 1/6 (/.f64 b (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 (pow.f64 r 2) (pow.f64 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))) 2))))) (*.f64 1/6 (/.f64 1 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))))))) (pow.f64 a 3)) (+.f64 (*.f64 (pow.f64 a 2) (-.f64 (+.f64 (/.f64 1 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 (pow.f64 r 2) (pow.f64 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))) 2)))) (*.f64 1/2 (/.f64 1 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (*.f64 b (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))))))))) (*.f64 1/6 (/.f64 b (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))))))))) (+.f64 (/.f64 a (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))) (/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))))
(/.f64 1 (-.f64 (+.f64 (*.f64 -1/3 (/.f64 (*.f64 (cos.f64 a) b) r)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (+.f64 (*.f64 -1/3 (/.f64 (*.f64 (cos.f64 a) b) r)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (+.f64 (*.f64 -1/3 (/.f64 (*.f64 (cos.f64 a) b) r)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (+.f64 (*.f64 -1/3 (/.f64 (*.f64 (cos.f64 a) b) r)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (+.f64 (*.f64 -1/3 (/.f64 (*.f64 (cos.f64 a) b) r)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (+.f64 (*.f64 -1/3 (/.f64 (*.f64 (cos.f64 a) b) r)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (+.f64 (*.f64 -1/3 (/.f64 (*.f64 (cos.f64 a) b) r)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (+.f64 (*.f64 -1/3 (/.f64 (*.f64 (cos.f64 a) b) r)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 r (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(*.f64 -1 (/.f64 r (-.f64 (+.f64 (*.f64 -1 (/.f64 (cos.f64 a) b)) (*.f64 1/3 (*.f64 (cos.f64 a) b))) (*.f64 -1 (sin.f64 a)))))
(*.f64 -1 (/.f64 r (-.f64 (+.f64 (*.f64 -1 (/.f64 (cos.f64 a) b)) (*.f64 1/3 (*.f64 (cos.f64 a) b))) (*.f64 -1 (sin.f64 a)))))
(*.f64 -1 (/.f64 r (-.f64 (+.f64 (*.f64 -1 (/.f64 (cos.f64 a) b)) (*.f64 1/3 (*.f64 (cos.f64 a) b))) (*.f64 -1 (sin.f64 a)))))
(*.f64 -1 (/.f64 r (-.f64 (+.f64 (*.f64 -1 (/.f64 (cos.f64 a) b)) (*.f64 1/3 (*.f64 (cos.f64 a) b))) (*.f64 -1 (sin.f64 a)))))
(/.f64 1 (*.f64 b r))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a 2) (*.f64 b r))) (/.f64 1 (*.f64 r b)))
(+.f64 (*.f64 1/24 (/.f64 (pow.f64 a 4) (*.f64 r b))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a 2) (*.f64 b r))) (/.f64 1 (*.f64 r b))))
(+.f64 (*.f64 -1/720 (/.f64 (pow.f64 a 6) (*.f64 b r))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 a 4) (*.f64 r b))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a 2) (*.f64 b r))) (/.f64 1 (*.f64 r b)))))
(/.f64 (cos.f64 a) (*.f64 r b))
(/.f64 (cos.f64 a) (*.f64 r b))
(/.f64 (cos.f64 a) (*.f64 r b))
(/.f64 (cos.f64 a) (*.f64 r b))
(/.f64 (cos.f64 a) (*.f64 r b))
(/.f64 (cos.f64 a) (*.f64 r b))
(/.f64 (cos.f64 a) (*.f64 r b))
(/.f64 (cos.f64 a) (*.f64 r b))
(/.f64 (cos.f64 a) (*.f64 r b))
(/.f64 (cos.f64 a) (*.f64 r b))
(/.f64 (cos.f64 a) (*.f64 r b))
(/.f64 (cos.f64 a) (*.f64 r b))
(/.f64 -1/3 r)
(-.f64 (*.f64 1/6 (/.f64 (pow.f64 a 2) r)) (*.f64 1/3 (/.f64 1 r)))
(-.f64 (+.f64 (*.f64 -1/72 (/.f64 (pow.f64 a 4) r)) (*.f64 1/6 (/.f64 (pow.f64 a 2) r))) (*.f64 1/3 (/.f64 1 r)))
(-.f64 (+.f64 (*.f64 1/2160 (/.f64 (pow.f64 a 6) r)) (+.f64 (*.f64 -1/72 (/.f64 (pow.f64 a 4) r)) (*.f64 1/6 (/.f64 (pow.f64 a 2) r)))) (*.f64 1/3 (/.f64 1 r)))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 -3 r)
(*.f64 -3 r)
(*.f64 -3 r)
(*.f64 -3 r)
(*.f64 -3 r)
(*.f64 -3 r)
(*.f64 -3 r)
(*.f64 -3 r)
(*.f64 -3 r)
(*.f64 -3 r)
(*.f64 -3 r)
(*.f64 -3 r)
Outputs
(/.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 r (*.f64 b b))) (pow.f64 (cos.f64 a) 2)))
(+.f64 (/.f64 b (/.f64 (cos.f64 a) r)) (/.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 r (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 -1 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))) (pow.f64 b 3))) (/.f64 (*.f64 r b) (cos.f64 a))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (*.f64 b b))) (pow.f64 (cos.f64 a) 2)) (fma.f64 -1 (*.f64 (fma.f64 -1/3 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r)))) (pow.f64 b 3)) (/.f64 b (/.f64 (cos.f64 a) r))))
(+.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 b (*.f64 b r)))) (-.f64 (/.f64 b (/.f64 (cos.f64 a) r)) (*.f64 (-.f64 (*.f64 -1/3 (/.f64 r (cos.f64 a))) (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r))) (pow.f64 b 3))))
(fma.f64 (*.f64 (/.f64 r (cos.f64 a)) (-.f64 -1/3 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 2)))) (neg.f64 (pow.f64 b 3)) (fma.f64 (/.f64 r (cos.f64 a)) b (*.f64 (*.f64 (/.f64 r (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 -1 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))) (pow.f64 b 3))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (/.f64 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))) (sin.f64 a)) (cos.f64 a))) (pow.f64 b 4))) (/.f64 (*.f64 r b) (cos.f64 a)))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (*.f64 b b))) (pow.f64 (cos.f64 a) 2)) (fma.f64 -1 (*.f64 (fma.f64 -1/3 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r)))) (pow.f64 b 3)) (fma.f64 -1 (*.f64 (fma.f64 -1/3 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) r)) (/.f64 (fma.f64 -1/3 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r)))) (/.f64 (cos.f64 a) (sin.f64 a)))) (pow.f64 b 4)) (/.f64 b (/.f64 (cos.f64 a) r)))))
(+.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 b (*.f64 b r)))) (-.f64 (-.f64 (/.f64 b (/.f64 (cos.f64 a) r)) (*.f64 (fma.f64 -1/3 (/.f64 r (/.f64 (pow.f64 (cos.f64 a) 2) (sin.f64 a))) (/.f64 (-.f64 (*.f64 -1/3 (/.f64 r (cos.f64 a))) (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r))) (/.f64 (cos.f64 a) (sin.f64 a)))) (pow.f64 b 4))) (*.f64 (-.f64 (*.f64 -1/3 (/.f64 r (cos.f64 a))) (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r))) (pow.f64 b 3))))
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b (*.f64 b r)) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) b) (fma.f64 (*.f64 (/.f64 r (cos.f64 a)) (-.f64 -1/3 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 2)))) (pow.f64 b 3) (*.f64 (fma.f64 (/.f64 (*.f64 (/.f64 r (cos.f64 a)) (-.f64 -1/3 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 2)))) (cos.f64 a)) (sin.f64 a) (/.f64 (*.f64 r (sin.f64 a)) (/.f64 (pow.f64 (cos.f64 a) 2) -1/3))) (pow.f64 b 4)))))
(*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b)))
(*.f64 -3 (/.f64 r (*.f64 b (cos.f64 a))))
(*.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b))
(+.f64 (*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b))) (*.f64 9 (/.f64 (*.f64 (sin.f64 a) r) (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 b 2)))))
(fma.f64 -3 (/.f64 r (*.f64 b (cos.f64 a))) (*.f64 9 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (/.f64 r (*.f64 b b)))))
(fma.f64 -3 (/.f64 r (*.f64 b (cos.f64 a))) (*.f64 9 (*.f64 (/.f64 (sin.f64 a) (*.f64 b b)) (/.f64 r (pow.f64 (cos.f64 a) 2)))))
(fma.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b) (/.f64 (*.f64 (/.f64 9 (*.f64 b b)) (sin.f64 a)) (/.f64 (pow.f64 (cos.f64 a) 2) r)))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 9 (/.f64 r (cos.f64 a))) (*.f64 27 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))) (pow.f64 b 3))) (+.f64 (*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b))) (*.f64 9 (/.f64 (*.f64 (sin.f64 a) r) (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 b 2))))))
(fma.f64 -1 (/.f64 (fma.f64 9 (/.f64 r (cos.f64 a)) (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r)) 27)) (pow.f64 b 3)) (fma.f64 -3 (/.f64 r (*.f64 b (cos.f64 a))) (*.f64 9 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (/.f64 r (*.f64 b b))))))
(-.f64 (fma.f64 -3 (/.f64 r (*.f64 b (cos.f64 a))) (*.f64 9 (*.f64 (/.f64 (sin.f64 a) (*.f64 b b)) (/.f64 r (pow.f64 (cos.f64 a) 2))))) (/.f64 (fma.f64 (/.f64 r (cos.f64 a)) 9 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r)) 27)) (pow.f64 b 3)))
(fma.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b) (fma.f64 9 (*.f64 (/.f64 (sin.f64 a) (*.f64 b b)) (/.f64 r (pow.f64 (cos.f64 a) 2))) (/.f64 (fma.f64 (/.f64 r (cos.f64 a)) -9 (/.f64 (*.f64 (*.f64 -27 r) (pow.f64 (sin.f64 a) 2)) (pow.f64 (cos.f64 a) 3))) (pow.f64 b 3))))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -27 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (*.f64 -3 (/.f64 (*.f64 (sin.f64 a) (+.f64 (*.f64 9 (/.f64 r (cos.f64 a))) (*.f64 27 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))) (cos.f64 a)))) (pow.f64 b 4))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 9 (/.f64 r (cos.f64 a))) (*.f64 27 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))) (pow.f64 b 3))) (+.f64 (*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b))) (*.f64 9 (/.f64 (*.f64 (sin.f64 a) r) (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 b 2)))))))
(fma.f64 -1 (/.f64 (fma.f64 -27 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) r)) (*.f64 -3 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (fma.f64 9 (/.f64 r (cos.f64 a)) (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r)) 27)))))) (pow.f64 b 4)) (fma.f64 -1 (/.f64 (fma.f64 9 (/.f64 r (cos.f64 a)) (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r)) 27)) (pow.f64 b 3)) (fma.f64 -3 (/.f64 r (*.f64 b (cos.f64 a))) (*.f64 9 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (/.f64 r (*.f64 b b)))))))
(-.f64 (-.f64 (fma.f64 -3 (/.f64 r (*.f64 b (cos.f64 a))) (*.f64 9 (*.f64 (/.f64 (sin.f64 a) (*.f64 b b)) (/.f64 r (pow.f64 (cos.f64 a) 2))))) (/.f64 (fma.f64 (/.f64 r (cos.f64 a)) 9 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r)) 27)) (pow.f64 b 3))) (/.f64 (fma.f64 (/.f64 r (/.f64 (pow.f64 (cos.f64 a) 2) (sin.f64 a))) -27 (*.f64 -3 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (fma.f64 (/.f64 r (cos.f64 a)) 9 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r)) 27))))) (pow.f64 b 4)))
(-.f64 (fma.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b) (fma.f64 9 (*.f64 (/.f64 (sin.f64 a) (*.f64 b b)) (/.f64 r (pow.f64 (cos.f64 a) 2))) (/.f64 (fma.f64 (/.f64 r (cos.f64 a)) -9 (/.f64 (*.f64 (*.f64 -27 r) (pow.f64 (sin.f64 a) 2)) (pow.f64 (cos.f64 a) 3))) (pow.f64 b 3)))) (/.f64 (fma.f64 (*.f64 (/.f64 r (pow.f64 (cos.f64 a) 2)) (sin.f64 a)) -27 (*.f64 (/.f64 (*.f64 (sin.f64 a) -3) (cos.f64 a)) (fma.f64 (/.f64 r (cos.f64 a)) 9 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r)) 27)))) (pow.f64 b 4)))
(*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b)))
(*.f64 -3 (/.f64 r (*.f64 b (cos.f64 a))))
(*.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b))
(+.f64 (*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b))) (*.f64 9 (/.f64 (*.f64 (sin.f64 a) r) (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 b 2)))))
(fma.f64 -3 (/.f64 r (*.f64 b (cos.f64 a))) (*.f64 9 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (/.f64 r (*.f64 b b)))))
(fma.f64 -3 (/.f64 r (*.f64 b (cos.f64 a))) (*.f64 9 (*.f64 (/.f64 (sin.f64 a) (*.f64 b b)) (/.f64 r (pow.f64 (cos.f64 a) 2)))))
(fma.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b) (/.f64 (*.f64 (/.f64 9 (*.f64 b b)) (sin.f64 a)) (/.f64 (pow.f64 (cos.f64 a) 2) r)))
(+.f64 (*.f64 -9 (/.f64 r (*.f64 (cos.f64 a) (pow.f64 b 3)))) (+.f64 (*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b))) (+.f64 (*.f64 9 (/.f64 (*.f64 (sin.f64 a) r) (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 b 2)))) (*.f64 -27 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (*.f64 (pow.f64 (cos.f64 a) 3) (pow.f64 b 3)))))))
(fma.f64 -9 (/.f64 r (*.f64 (cos.f64 a) (pow.f64 b 3))) (fma.f64 -3 (/.f64 r (*.f64 b (cos.f64 a))) (fma.f64 9 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (/.f64 r (*.f64 b b))) (*.f64 -27 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (*.f64 (pow.f64 (cos.f64 a) 3) (pow.f64 b 3)) r))))))
(fma.f64 -9 (/.f64 r (*.f64 (cos.f64 a) (pow.f64 b 3))) (fma.f64 -3 (/.f64 r (*.f64 b (cos.f64 a))) (fma.f64 9 (*.f64 (/.f64 (sin.f64 a) (*.f64 b b)) (/.f64 r (pow.f64 (cos.f64 a) 2))) (*.f64 -27 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) (/.f64 r (pow.f64 b 3)))))))
(+.f64 (fma.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b) (/.f64 (*.f64 (/.f64 9 (*.f64 b b)) (sin.f64 a)) (/.f64 (pow.f64 (cos.f64 a) 2) r))) (*.f64 (/.f64 r (pow.f64 b 3)) (+.f64 (*.f64 -27 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) (/.f64 -9 (cos.f64 a)))))
(+.f64 (*.f64 -9 (/.f64 r (*.f64 (cos.f64 a) (pow.f64 b 3)))) (+.f64 (*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b))) (+.f64 (*.f64 9 (/.f64 (*.f64 (sin.f64 a) r) (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 b 2)))) (+.f64 (*.f64 -27 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (*.f64 (pow.f64 (cos.f64 a) 3) (pow.f64 b 3)))) (*.f64 -1 (/.f64 (+.f64 (*.f64 3 (/.f64 (*.f64 (sin.f64 a) (+.f64 (*.f64 -9 (/.f64 r (cos.f64 a))) (*.f64 -27 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))) (cos.f64 a))) (*.f64 -27 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2)))) (pow.f64 b 4)))))))
(fma.f64 -9 (/.f64 r (*.f64 (cos.f64 a) (pow.f64 b 3))) (fma.f64 -3 (/.f64 r (*.f64 b (cos.f64 a))) (fma.f64 9 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (/.f64 r (*.f64 b b))) (fma.f64 -27 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (*.f64 (pow.f64 (cos.f64 a) 3) (pow.f64 b 3)) r)) (neg.f64 (/.f64 (fma.f64 3 (/.f64 (*.f64 (sin.f64 a) (fma.f64 -9 (/.f64 r (cos.f64 a)) (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r)) -27))) (cos.f64 a)) (*.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) r)) -27)) (pow.f64 b 4)))))))
(fma.f64 -9 (/.f64 r (*.f64 (cos.f64 a) (pow.f64 b 3))) (fma.f64 -3 (/.f64 r (*.f64 b (cos.f64 a))) (-.f64 (fma.f64 9 (*.f64 (/.f64 (sin.f64 a) (*.f64 b b)) (/.f64 r (pow.f64 (cos.f64 a) 2))) (*.f64 -27 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) (/.f64 r (pow.f64 b 3))))) (/.f64 (fma.f64 3 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (fma.f64 (/.f64 r (cos.f64 a)) -9 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r)) -27))) (*.f64 (/.f64 r (/.f64 (pow.f64 (cos.f64 a) 2) (sin.f64 a))) -27)) (pow.f64 b 4)))))
(-.f64 (+.f64 (fma.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b) (/.f64 (*.f64 (/.f64 9 (*.f64 b b)) (sin.f64 a)) (/.f64 (pow.f64 (cos.f64 a) 2) r))) (*.f64 (/.f64 r (pow.f64 b 3)) (+.f64 (*.f64 -27 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) (/.f64 -9 (cos.f64 a))))) (/.f64 (fma.f64 3 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (fma.f64 (/.f64 r (cos.f64 a)) -9 (/.f64 (*.f64 (*.f64 -27 r) (pow.f64 (sin.f64 a) 2)) (pow.f64 (cos.f64 a) 3)))) (*.f64 (*.f64 (/.f64 r (pow.f64 (cos.f64 a) 2)) (sin.f64 a)) -27)) (pow.f64 b 4)))
(/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))))
(/.f64 1 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))))
(+.f64 (/.f64 a (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))) (/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))
(+.f64 (/.f64 a (*.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) (*.f64 r (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r)))))) (/.f64 1 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r)))))
(+.f64 (/.f64 a (*.f64 r (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2))) (/.f64 1 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r)))))
(+.f64 (/.f64 (/.f64 a r) (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2)) (/.f64 1 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r)))))
(+.f64 (*.f64 (pow.f64 a 2) (-.f64 (+.f64 (/.f64 1 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 (pow.f64 r 2) (pow.f64 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))) 2)))) (*.f64 1/2 (/.f64 1 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (*.f64 b (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))))))))) (*.f64 1/6 (/.f64 b (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))))))))) (+.f64 (/.f64 a (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))) (/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))))))
(fma.f64 (*.f64 a a) (+.f64 (/.f64 1 (*.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) (*.f64 (*.f64 r r) (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2)))) (-.f64 (/.f64 1/2 (*.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) (*.f64 b (*.f64 r (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))))))) (*.f64 1/6 (/.f64 (/.f64 b (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r)))) (*.f64 r (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r)))))))) (+.f64 (/.f64 a (*.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) (*.f64 r (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r)))))) (/.f64 1 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))))))
(+.f64 (/.f64 1 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r)))) (fma.f64 (*.f64 a a) (+.f64 (/.f64 1 (*.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) (*.f64 (*.f64 r r) (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2)))) (+.f64 (/.f64 1/2 (*.f64 b (*.f64 r (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2)))) (*.f64 (/.f64 b (*.f64 r (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2))) -1/6))) (/.f64 a (*.f64 r (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2)))))
(fma.f64 (*.f64 a a) (fma.f64 (/.f64 b (*.f64 r (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2))) -1/6 (+.f64 (/.f64 (/.f64 1 (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 3)) (*.f64 r r)) (/.f64 (/.f64 1/2 (*.f64 b r)) (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2)))) (+.f64 (/.f64 (/.f64 a r) (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2)) (/.f64 1 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))))))
(+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 (pow.f64 r 2) (*.f64 b (pow.f64 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))) 2)))))) (+.f64 (*.f64 -1 (/.f64 (-.f64 (+.f64 (/.f64 1 (*.f64 (pow.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) 2) (*.f64 (pow.f64 r 2) (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))) (*.f64 1/2 (/.f64 1 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 b (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))))))))) (*.f64 1/6 (/.f64 b (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))))) (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))) (+.f64 (*.f64 1/6 (/.f64 b (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 (pow.f64 r 2) (pow.f64 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))) 2))))) (*.f64 1/6 (/.f64 1 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))))))) (pow.f64 a 3)) (+.f64 (*.f64 (pow.f64 a 2) (-.f64 (+.f64 (/.f64 1 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 (pow.f64 r 2) (pow.f64 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))) 2)))) (*.f64 1/2 (/.f64 1 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (*.f64 b (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))))))))) (*.f64 1/6 (/.f64 b (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))))))))) (+.f64 (/.f64 a (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))) (/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))))
(fma.f64 (-.f64 (/.f64 1/2 (*.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) (*.f64 (*.f64 (*.f64 r r) b) (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2)))) (fma.f64 -1 (/.f64 (+.f64 (/.f64 1 (*.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) (*.f64 (*.f64 r r) (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2)))) (-.f64 (/.f64 1/2 (*.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) (*.f64 b (*.f64 r (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))))))) (*.f64 1/6 (/.f64 (/.f64 b (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r)))) (*.f64 r (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r)))))))) (*.f64 r (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))))) (fma.f64 1/6 (/.f64 b (*.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) (*.f64 (*.f64 r r) (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2)))) (/.f64 1/6 (*.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) (*.f64 r (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))))))))) (pow.f64 a 3) (fma.f64 (*.f64 a a) (+.f64 (/.f64 1 (*.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) (*.f64 (*.f64 r r) (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2)))) (-.f64 (/.f64 1/2 (*.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) (*.f64 b (*.f64 r (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))))))) (*.f64 1/6 (/.f64 (/.f64 b (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r)))) (*.f64 r (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r)))))))) (+.f64 (/.f64 a (*.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) (*.f64 r (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r)))))) (/.f64 1 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r)))))))
(fma.f64 (-.f64 (/.f64 1/2 (*.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) (*.f64 b (*.f64 (*.f64 r r) (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2))))) (-.f64 (fma.f64 1/6 (/.f64 b (*.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) (*.f64 (*.f64 r r) (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2)))) (/.f64 1/6 (*.f64 r (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2)))) (/.f64 (+.f64 (/.f64 1 (*.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) (*.f64 (*.f64 r r) (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2)))) (+.f64 (/.f64 1/2 (*.f64 b (*.f64 r (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2)))) (*.f64 (/.f64 b (*.f64 r (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2))) -1/6))) (*.f64 r (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))))))) (pow.f64 a 3) (+.f64 (/.f64 1 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r)))) (fma.f64 (*.f64 a a) (+.f64 (/.f64 1 (*.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) (*.f64 (*.f64 r r) (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2)))) (+.f64 (/.f64 1/2 (*.f64 b (*.f64 r (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2)))) (*.f64 (/.f64 b (*.f64 r (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2))) -1/6))) (/.f64 a (*.f64 r (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2))))))
(+.f64 (fma.f64 (+.f64 (-.f64 (/.f64 1/2 (*.f64 (*.f64 b (*.f64 r r)) (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 3))) (fma.f64 1/6 (/.f64 (/.f64 b (*.f64 r r)) (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 3)) (/.f64 (/.f64 1/6 r) (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2)))) (/.f64 (fma.f64 (/.f64 b (*.f64 r (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2))) -1/6 (+.f64 (/.f64 (/.f64 1 (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 3)) (*.f64 r r)) (/.f64 (/.f64 1/2 (*.f64 b r)) (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2)))) (+.f64 (/.f64 1 b) (/.f64 (*.f64 b -1/3) 1)))) (pow.f64 a 3) (fma.f64 (*.f64 a a) (fma.f64 (/.f64 b (*.f64 r (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2))) -1/6 (+.f64 (/.f64 (/.f64 1 (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 3)) (*.f64 r r)) (/.f64 (/.f64 1/2 (*.f64 b r)) (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2)))) (/.f64 (/.f64 a r) (pow.f64 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r))) 2)))) (/.f64 1 (fma.f64 -1/3 (/.f64 b r) (/.f64 1 (*.f64 b r)))))
(/.f64 1 (-.f64 (+.f64 (*.f64 -1/3 (/.f64 (*.f64 (cos.f64 a) b) r)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (fma.f64 -1/3 (/.f64 (cos.f64 a) (/.f64 r b)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (fma.f64 -1/3 (*.f64 (/.f64 (cos.f64 a) r) b) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (fma.f64 -1/3 (*.f64 (/.f64 b r) (cos.f64 a)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (+.f64 (*.f64 -1/3 (/.f64 (*.f64 (cos.f64 a) b) r)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (fma.f64 -1/3 (/.f64 (cos.f64 a) (/.f64 r b)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (fma.f64 -1/3 (*.f64 (/.f64 (cos.f64 a) r) b) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (fma.f64 -1/3 (*.f64 (/.f64 b r) (cos.f64 a)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (+.f64 (*.f64 -1/3 (/.f64 (*.f64 (cos.f64 a) b) r)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (fma.f64 -1/3 (/.f64 (cos.f64 a) (/.f64 r b)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (fma.f64 -1/3 (*.f64 (/.f64 (cos.f64 a) r) b) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (fma.f64 -1/3 (*.f64 (/.f64 b r) (cos.f64 a)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (+.f64 (*.f64 -1/3 (/.f64 (*.f64 (cos.f64 a) b) r)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (fma.f64 -1/3 (/.f64 (cos.f64 a) (/.f64 r b)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (fma.f64 -1/3 (*.f64 (/.f64 (cos.f64 a) r) b) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (fma.f64 -1/3 (*.f64 (/.f64 b r) (cos.f64 a)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (+.f64 (*.f64 -1/3 (/.f64 (*.f64 (cos.f64 a) b) r)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (fma.f64 -1/3 (/.f64 (cos.f64 a) (/.f64 r b)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (fma.f64 -1/3 (*.f64 (/.f64 (cos.f64 a) r) b) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (fma.f64 -1/3 (*.f64 (/.f64 b r) (cos.f64 a)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (+.f64 (*.f64 -1/3 (/.f64 (*.f64 (cos.f64 a) b) r)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (fma.f64 -1/3 (/.f64 (cos.f64 a) (/.f64 r b)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (fma.f64 -1/3 (*.f64 (/.f64 (cos.f64 a) r) b) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (fma.f64 -1/3 (*.f64 (/.f64 b r) (cos.f64 a)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (+.f64 (*.f64 -1/3 (/.f64 (*.f64 (cos.f64 a) b) r)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (fma.f64 -1/3 (/.f64 (cos.f64 a) (/.f64 r b)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (fma.f64 -1/3 (*.f64 (/.f64 (cos.f64 a) r) b) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (fma.f64 -1/3 (*.f64 (/.f64 b r) (cos.f64 a)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (+.f64 (*.f64 -1/3 (/.f64 (*.f64 (cos.f64 a) b) r)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (fma.f64 -1/3 (/.f64 (cos.f64 a) (/.f64 r b)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (fma.f64 -1/3 (*.f64 (/.f64 (cos.f64 a) r) b) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 1 (-.f64 (fma.f64 -1/3 (*.f64 (/.f64 b r) (cos.f64 a)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(/.f64 r (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 b (cos.f64 a)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (fma.f64 b (*.f64 (cos.f64 a) -1/3) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 b (cos.f64 a)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (fma.f64 b (*.f64 (cos.f64 a) -1/3) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 b (cos.f64 a)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (fma.f64 b (*.f64 (cos.f64 a) -1/3) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 b (cos.f64 a)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (fma.f64 b (*.f64 (cos.f64 a) -1/3) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 b (cos.f64 a)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (fma.f64 b (*.f64 (cos.f64 a) -1/3) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 b (cos.f64 a)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (fma.f64 b (*.f64 (cos.f64 a) -1/3) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 b (cos.f64 a)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (fma.f64 b (*.f64 (cos.f64 a) -1/3) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 b (cos.f64 a)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(/.f64 r (-.f64 (fma.f64 b (*.f64 (cos.f64 a) -1/3) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(*.f64 -1 (/.f64 r (-.f64 (+.f64 (*.f64 -1 (/.f64 (cos.f64 a) b)) (*.f64 1/3 (*.f64 (cos.f64 a) b))) (*.f64 -1 (sin.f64 a)))))
(neg.f64 (/.f64 r (-.f64 (fma.f64 -1 (/.f64 (cos.f64 a) b) (*.f64 (*.f64 b (cos.f64 a)) 1/3)) (neg.f64 (sin.f64 a)))))
(/.f64 (neg.f64 r) (fma.f64 -1 (/.f64 (cos.f64 a) b) (fma.f64 (*.f64 b (cos.f64 a)) 1/3 (sin.f64 a))))
(/.f64 (neg.f64 r) (-.f64 (fma.f64 b (*.f64 (cos.f64 a) 1/3) (sin.f64 a)) (/.f64 (cos.f64 a) b)))
(*.f64 -1 (/.f64 r (-.f64 (+.f64 (*.f64 -1 (/.f64 (cos.f64 a) b)) (*.f64 1/3 (*.f64 (cos.f64 a) b))) (*.f64 -1 (sin.f64 a)))))
(neg.f64 (/.f64 r (-.f64 (fma.f64 -1 (/.f64 (cos.f64 a) b) (*.f64 (*.f64 b (cos.f64 a)) 1/3)) (neg.f64 (sin.f64 a)))))
(/.f64 (neg.f64 r) (fma.f64 -1 (/.f64 (cos.f64 a) b) (fma.f64 (*.f64 b (cos.f64 a)) 1/3 (sin.f64 a))))
(/.f64 (neg.f64 r) (-.f64 (fma.f64 b (*.f64 (cos.f64 a) 1/3) (sin.f64 a)) (/.f64 (cos.f64 a) b)))
(*.f64 -1 (/.f64 r (-.f64 (+.f64 (*.f64 -1 (/.f64 (cos.f64 a) b)) (*.f64 1/3 (*.f64 (cos.f64 a) b))) (*.f64 -1 (sin.f64 a)))))
(neg.f64 (/.f64 r (-.f64 (fma.f64 -1 (/.f64 (cos.f64 a) b) (*.f64 (*.f64 b (cos.f64 a)) 1/3)) (neg.f64 (sin.f64 a)))))
(/.f64 (neg.f64 r) (fma.f64 -1 (/.f64 (cos.f64 a) b) (fma.f64 (*.f64 b (cos.f64 a)) 1/3 (sin.f64 a))))
(/.f64 (neg.f64 r) (-.f64 (fma.f64 b (*.f64 (cos.f64 a) 1/3) (sin.f64 a)) (/.f64 (cos.f64 a) b)))
(*.f64 -1 (/.f64 r (-.f64 (+.f64 (*.f64 -1 (/.f64 (cos.f64 a) b)) (*.f64 1/3 (*.f64 (cos.f64 a) b))) (*.f64 -1 (sin.f64 a)))))
(neg.f64 (/.f64 r (-.f64 (fma.f64 -1 (/.f64 (cos.f64 a) b) (*.f64 (*.f64 b (cos.f64 a)) 1/3)) (neg.f64 (sin.f64 a)))))
(/.f64 (neg.f64 r) (fma.f64 -1 (/.f64 (cos.f64 a) b) (fma.f64 (*.f64 b (cos.f64 a)) 1/3 (sin.f64 a))))
(/.f64 (neg.f64 r) (-.f64 (fma.f64 b (*.f64 (cos.f64 a) 1/3) (sin.f64 a)) (/.f64 (cos.f64 a) b)))
(/.f64 1 (*.f64 b r))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a 2) (*.f64 b r))) (/.f64 1 (*.f64 r b)))
(fma.f64 -1/2 (/.f64 (*.f64 a a) (*.f64 b r)) (/.f64 1 (*.f64 b r)))
(fma.f64 -1/2 (*.f64 (/.f64 a b) (/.f64 a r)) (/.f64 1 (*.f64 b r)))
(fma.f64 -1/2 (*.f64 (/.f64 a (*.f64 b r)) a) (/.f64 1 (*.f64 b r)))
(+.f64 (*.f64 1/24 (/.f64 (pow.f64 a 4) (*.f64 r b))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a 2) (*.f64 b r))) (/.f64 1 (*.f64 r b))))
(fma.f64 1/24 (/.f64 (/.f64 (pow.f64 a 4) r) b) (fma.f64 -1/2 (/.f64 (*.f64 a a) (*.f64 b r)) (/.f64 1 (*.f64 b r))))
(fma.f64 1/24 (/.f64 (pow.f64 a 4) (*.f64 b r)) (fma.f64 -1/2 (*.f64 (/.f64 a b) (/.f64 a r)) (/.f64 1 (*.f64 b r))))
(fma.f64 1/24 (/.f64 (pow.f64 a 4) (*.f64 b r)) (fma.f64 -1/2 (*.f64 (/.f64 a (*.f64 b r)) a) (/.f64 1 (*.f64 b r))))
(+.f64 (*.f64 -1/720 (/.f64 (pow.f64 a 6) (*.f64 b r))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 a 4) (*.f64 r b))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a 2) (*.f64 b r))) (/.f64 1 (*.f64 r b)))))
(fma.f64 -1/720 (/.f64 (pow.f64 a 6) (*.f64 b r)) (fma.f64 1/24 (/.f64 (/.f64 (pow.f64 a 4) r) b) (fma.f64 -1/2 (/.f64 (*.f64 a a) (*.f64 b r)) (/.f64 1 (*.f64 b r)))))
(fma.f64 -1/720 (/.f64 (pow.f64 a 6) (*.f64 b r)) (fma.f64 1/24 (/.f64 (pow.f64 a 4) (*.f64 b r)) (fma.f64 -1/2 (*.f64 (/.f64 a b) (/.f64 a r)) (/.f64 1 (*.f64 b r)))))
(fma.f64 -1/720 (/.f64 (pow.f64 a 6) (*.f64 b r)) (fma.f64 1/24 (/.f64 (pow.f64 a 4) (*.f64 b r)) (fma.f64 -1/2 (*.f64 (/.f64 a (*.f64 b r)) a) (/.f64 1 (*.f64 b r)))))
(/.f64 (cos.f64 a) (*.f64 r b))
(/.f64 (cos.f64 a) (*.f64 b r))
(/.f64 (cos.f64 a) (*.f64 r b))
(/.f64 (cos.f64 a) (*.f64 b r))
(/.f64 (cos.f64 a) (*.f64 r b))
(/.f64 (cos.f64 a) (*.f64 b r))
(/.f64 (cos.f64 a) (*.f64 r b))
(/.f64 (cos.f64 a) (*.f64 b r))
(/.f64 (cos.f64 a) (*.f64 r b))
(/.f64 (cos.f64 a) (*.f64 b r))
(/.f64 (cos.f64 a) (*.f64 r b))
(/.f64 (cos.f64 a) (*.f64 b r))
(/.f64 (cos.f64 a) (*.f64 r b))
(/.f64 (cos.f64 a) (*.f64 b r))
(/.f64 (cos.f64 a) (*.f64 r b))
(/.f64 (cos.f64 a) (*.f64 b r))
(/.f64 (cos.f64 a) (*.f64 r b))
(/.f64 (cos.f64 a) (*.f64 b r))
(/.f64 (cos.f64 a) (*.f64 r b))
(/.f64 (cos.f64 a) (*.f64 b r))
(/.f64 (cos.f64 a) (*.f64 r b))
(/.f64 (cos.f64 a) (*.f64 b r))
(/.f64 (cos.f64 a) (*.f64 r b))
(/.f64 (cos.f64 a) (*.f64 b r))
(/.f64 -1/3 r)
(-.f64 (*.f64 1/6 (/.f64 (pow.f64 a 2) r)) (*.f64 1/3 (/.f64 1 r)))
(-.f64 (*.f64 1/6 (/.f64 (*.f64 a a) r)) (/.f64 1/3 r))
(fma.f64 1/6 (/.f64 a (/.f64 r a)) (/.f64 -1/3 r))
(fma.f64 1/6 (*.f64 (/.f64 a r) a) (/.f64 -1/3 r))
(-.f64 (+.f64 (*.f64 -1/72 (/.f64 (pow.f64 a 4) r)) (*.f64 1/6 (/.f64 (pow.f64 a 2) r))) (*.f64 1/3 (/.f64 1 r)))
(-.f64 (fma.f64 -1/72 (/.f64 (pow.f64 a 4) r) (*.f64 1/6 (/.f64 (*.f64 a a) r))) (/.f64 1/3 r))
(fma.f64 -1/72 (/.f64 (pow.f64 a 4) r) (fma.f64 1/6 (/.f64 a (/.f64 r a)) (/.f64 -1/3 r)))
(fma.f64 1/6 (*.f64 (/.f64 a r) a) (fma.f64 -1/72 (/.f64 (pow.f64 a 4) r) (/.f64 -1/3 r)))
(-.f64 (+.f64 (*.f64 1/2160 (/.f64 (pow.f64 a 6) r)) (+.f64 (*.f64 -1/72 (/.f64 (pow.f64 a 4) r)) (*.f64 1/6 (/.f64 (pow.f64 a 2) r)))) (*.f64 1/3 (/.f64 1 r)))
(-.f64 (fma.f64 1/2160 (/.f64 (pow.f64 a 6) r) (fma.f64 -1/72 (/.f64 (pow.f64 a 4) r) (*.f64 1/6 (/.f64 (*.f64 a a) r)))) (/.f64 1/3 r))
(fma.f64 1/2160 (/.f64 (pow.f64 a 6) r) (fma.f64 -1/72 (/.f64 (pow.f64 a 4) r) (fma.f64 1/6 (/.f64 a (/.f64 r a)) (/.f64 -1/3 r))))
(fma.f64 1/2160 (/.f64 (pow.f64 a 6) r) (fma.f64 1/6 (*.f64 (/.f64 a r) a) (fma.f64 -1/72 (/.f64 (pow.f64 a 4) r) (/.f64 -1/3 r))))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 -1/3 r) (cos.f64 a))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 -1/3 r) (cos.f64 a))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 -1/3 r) (cos.f64 a))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 -1/3 r) (cos.f64 a))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 -1/3 r) (cos.f64 a))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 -1/3 r) (cos.f64 a))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 -1/3 r) (cos.f64 a))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 -1/3 r) (cos.f64 a))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 -1/3 r) (cos.f64 a))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 -1/3 r) (cos.f64 a))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 -1/3 r) (cos.f64 a))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 -1/3 r) (cos.f64 a))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 -1/3 r) (cos.f64 a))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 -1/3 r) (cos.f64 a))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 -1/3 r) (cos.f64 a))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 -1/3 r) (cos.f64 a))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 -1/3 r) (cos.f64 a))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 -1/3 r) (cos.f64 a))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 -1/3 r) (cos.f64 a))
(*.f64 -1/3 (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 -1/3 r) (cos.f64 a))
(*.f64 -3 r)
(*.f64 r -3)
(*.f64 -3 r)
(*.f64 r -3)
(*.f64 -3 r)
(*.f64 r -3)
(*.f64 -3 r)
(*.f64 r -3)
(*.f64 -3 r)
(*.f64 r -3)
(*.f64 -3 r)
(*.f64 r -3)
(*.f64 -3 r)
(*.f64 r -3)
(*.f64 -3 r)
(*.f64 r -3)
(*.f64 -3 r)
(*.f64 r -3)
(*.f64 -3 r)
(*.f64 r -3)
(*.f64 -3 r)
(*.f64 r -3)
(*.f64 -3 r)
(*.f64 r -3)

eval214.0ms (1.5%)

Compiler

Compiled 15778 to 6573 computations (58.3% saved)

prune171.0ms (1.2%)

Pruning

69 alts after pruning (63 fresh and 6 done)

PrunedKeptTotal
New60724631
Fresh173956
Picked101
Done167
Total62669695
Error
0.0b
Counts
695 → 69
Alt Table
Click to see full alt table
StatusErrorProgram
0.8b
(/.f64 1 (/.f64 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (sin.f64 b) r)))
25.0b
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
40.1b
(*.f64 r b)
29.2b
(/.f64 r (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
27.3b
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 (sin.f64 b) r)))
53.6b
(*.f64 r (neg.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))
48.9b
(/.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 b) r) 3) 1/3) (cos.f64 b))
14.4b
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
41.8b
(*.f64 r (sqrt.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 2)))
25.0b
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
5.8b
(/.f64 1 (-.f64 (/.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) r)) (/.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (sin.f64 b) r))))
25.5b
(/.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 3) (cos.f64 b))
33.4b
(expm1.f64 (log1p.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
30.2b
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r b)))
41.8b
(*.f64 r (sqrt.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2))))
0.4b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (expm1.f64 (log1p.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) (*.f64 (sin.f64 b) (sin.f64 a)))))
40.2b
(/.f64 (*.f64 r b) (cos.f64 b))
27.6b
(/.f64 1 (-.f64 (/.f64 (cos.f64 a) (*.f64 b r)) (/.f64 (sin.f64 a) r)))
0.5b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) 3)) (*.f64 (sin.f64 b) (sin.f64 a)))))
14.5b
(*.f64 r (/.f64 (sin.f64 b) (expm1.f64 (log1p.f64 (cos.f64 (+.f64 b a))))))
27.7b
(*.f64 r (/.f64 (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)))))))
28.3b
(/.f64 1 (/.f64 (+.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 (sin.f64 b) r)))
14.6b
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (-.f64 b a))))
0.5b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (+.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))))))))
26.2b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))
33.7b
(*.f64 r (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 2) 3/2))
62.2b
(*.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b))
14.8b
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)))
0.3b
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
15.2b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)) 3)
62.2b
(*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b)))
25.1b
(*.f64 (sin.f64 b) (/.f64 1 (/.f64 (cos.f64 b) r)))
0.3b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))))
14.5b
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
15.0b
(/.f64 1 (*.f64 (/.f64 (/.f64 1 r) (sin.f64 b)) (cos.f64 (+.f64 b a))))
43.1b
(*.f64 r (sqrt.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 a)) 2)))
29.8b
(*.f64 (/.f64 r (cos.f64 a)) b)
0.4b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3)))))
0.3b
(*.f64 r (/.f64 (sin.f64 b) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a)))))
30.0b
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (+.f64 0 (*.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) b))))
40.4b
(+.f64 (/.f64 a (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))) (/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))
39.6b
(pow.f64 (sqrt.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))) 2)
37.3b
(exp.f64 (log.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))))
27.5b
(/.f64 1 (-.f64 (/.f64 (cos.f64 b) (*.f64 r (sin.f64 b))) (/.f64 a r)))
53.6b
(*.f64 r (*.f64 (sin.f64 b) (/.f64 1 (neg.f64 (cos.f64 (+.f64 b a))))))
27.0b
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
29.9b
(*.f64 r (/.f64 b (cos.f64 a)))
25.3b
(/.f64 1 (/.f64 (cos.f64 b) (*.f64 (sin.f64 b) r)))
25.6b
(pow.f64 (cbrt.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))) 3)
0.4b
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
39.8b
(/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))))
48.7b
(pow.f64 (pow.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)) 3) 1/3)
14.5b
(+.f64 0 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
0.6b
(*.f64 r (/.f64 (sin.f64 b) (log.f64 (/.f64 (exp.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))))
44.2b
(*.f64 b (+.f64 r (*.f64 (*.f64 a r) (+.f64 b (*.f64 a 1/2)))))
33.6b
(/.f64 (expm1.f64 (log1p.f64 (*.f64 (sin.f64 b) r))) (cos.f64 b))
14.5b
(*.f64 (*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (sin.f64 b)) r)
25.1b
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
53.2b
(*.f64 r (log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))))
0.9b
(/.f64 1 (/.f64 (+.f64 (fma.f64 1 (*.f64 (cos.f64 b) (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)))) (*.f64 (sin.f64 b) r)))
0.3b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))))
25.0b
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
29.9b
(/.f64 r (/.f64 (cos.f64 a) b))
53.9b
(*.f64 r (-.f64 (+.f64 1 (/.f64 b (cos.f64 a))) 1))
14.6b
(*.f64 r (/.f64 (sin.f64 b) (log.f64 (exp.f64 (cos.f64 (+.f64 b a))))))
23.9b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (cos.f64 b) (*.f64 (sin.f64 b) (sin.f64 a)))))
15.0b
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (/.f64 1 (/.f64 (/.f64 1 r) (sin.f64 b))))
53.6b
(/.f64 (*.f64 (sin.f64 b) r) (neg.f64 (cos.f64 (+.f64 b a))))
39.3b
(*.f64 r (exp.f64 (log.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))
Compiler

Compiled 2267 to 1487 computations (34.4% saved)

localize24.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 84 to 14 computations (83.3% saved)

series6.0ms (0%)

Counts
2 → 60
Calls

15 calls:

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

rewrite73.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
818×log-prod_binary64
465×fma-def_binary64
284×expm1-udef_binary64
284×log1p-udef_binary64
269×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01549
130325
2429025
Stop Event
node limit
Counts
2 → 65
Calls
Call 1
Inputs
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))))
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 (pow.f64 (cbrt.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 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) (pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.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 (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 (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 (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 (pow.f64 (cbrt.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 (pow.f64 (cbrt.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 (pow.f64 (cbrt.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 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 (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 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))))))

simplify61.0ms (0.4%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
01462104
14882029
218391955
Stop Event
node limit
Counts
125 → 99
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 (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 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 (*.f64 (sin.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)))))) (cos.f64 a)))))) (/.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 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 (sin.f64 a) (neg.f64 (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) (fma.f64 (sin.f64 a) (neg.f64 (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) (fma.f64 (sin.f64 a) (neg.f64 (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) (fma.f64 (sin.f64 a) (neg.f64 (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) (fma.f64 (sin.f64 a) (neg.f64 (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) (fma.f64 (sin.f64 a) (neg.f64 (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) (fma.f64 (sin.f64 a) (neg.f64 (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) (fma.f64 (sin.f64 a) (neg.f64 (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 (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)) (fma.f64 (pow.f64 a 3) (neg.f64 (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 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 (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 a) (neg.f64 (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) (fma.f64 (sin.f64 a) (neg.f64 (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) (fma.f64 (sin.f64 a) (neg.f64 (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) (fma.f64 (sin.f64 a) (neg.f64 (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) (fma.f64 (sin.f64 a) (neg.f64 (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) (fma.f64 (sin.f64 a) (neg.f64 (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) (fma.f64 (sin.f64 a) (neg.f64 (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) (fma.f64 (sin.f64 a) (neg.f64 (sin.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 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.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 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.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 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.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 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.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 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.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 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.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 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.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 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.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 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.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 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.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 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.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 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.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 (*.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 b (*.f64 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 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) (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 (/.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) r) (pow.f64 (cos.f64 a) 3))) (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b (*.f64 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 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 (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 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2)) -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 (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 (*.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))))))))
(-.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) r) (pow.f64 (cos.f64 a) 3))) (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b (*.f64 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 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))))
(/.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 a) (sin.f64 b))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.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 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.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 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.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 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.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 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.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 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.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 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.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 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(*.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 (*.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 (*.f64 (sin.f64 b) r) (cos.f64 b))))) (/.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 (pow.f64 (cos.f64 b) 2) (*.f64 a r))) (*.f64 (*.f64 a a) (-.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) r)))))
(fma.f64 (-.f64 (*.f64 (/.f64 -1/2 (cos.f64 b)) (*.f64 (sin.f64 b) r)) (*.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3) r)) (*.f64 a (neg.f64 a)) (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 (*.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 -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))) (-.f64 (-.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)) (*.f64 (*.f64 a a) (-.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))) (*.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 (*.f64 (sin.f64 b) r) (cos.f64 b))) (*.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 a (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (-.f64 (*.f64 (/.f64 -1/2 (cos.f64 b)) (*.f64 (sin.f64 b) r)) (*.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3) r)) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) -1/3)) r))) (-.f64 (*.f64 (/.f64 -1/2 (cos.f64 b)) (*.f64 (sin.f64 b) r)) (*.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 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.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 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.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 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.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 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.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 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.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 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.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 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.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 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))

localize18.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 r (*.f64 (*.f64 a r) (+.f64 b (*.f64 a 1/2))))
2.3b
(*.f64 (*.f64 a r) (+.f64 b (*.f64 a 1/2)))
2.9b
(*.f64 b (+.f64 r (*.f64 (*.f64 a r) (+.f64 b (*.f64 a 1/2)))))
Compiler

Compiled 51 to 25 computations (51% saved)

series68.0ms (0.5%)

Counts
3 → 108
Calls

27 calls:

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

rewrite88.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
716×log-prod_binary64
661×fma-def_binary64
347×pow2_binary64
266×fma-neg_binary64
244×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01148
125338
2395438
Stop Event
node limit
Counts
3 → 218
Calls
Call 1
Inputs
(*.f64 b (+.f64 r (*.f64 (*.f64 a r) (+.f64 b (*.f64 a 1/2)))))
(*.f64 (*.f64 a r) (+.f64 b (*.f64 a 1/2)))
(+.f64 r (*.f64 (*.f64 a r) (+.f64 b (*.f64 a 1/2))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b r) (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))) (*.f64 b r))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 b (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 b r) 1) (*.f64 (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 b) (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 b) (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 b) (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 b) (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 b (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 b r) 3) (pow.f64 (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))) 3)) (+.f64 (pow.f64 (*.f64 b r) 2) (-.f64 (pow.f64 (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))) 2) (*.f64 (*.f64 b r) (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 b r) 2) (pow.f64 (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))) 2)) (-.f64 (*.f64 b r) (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 r 3) (pow.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) 3)) b) (fma.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) (neg.f64 r)) (*.f64 r r)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 r r) (pow.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) 2)) b) (-.f64 r (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b (+.f64 (pow.f64 r 3) (pow.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) 3))) (fma.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) (neg.f64 r)) (*.f64 r r)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b (-.f64 (*.f64 r r) (pow.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) 2))) (-.f64 r (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 b (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 b (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 b (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 b (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 b 3) (pow.f64 (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r) 3) (pow.f64 b 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 b (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 b) (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 b (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b))))) (exp.f64 (*.f64 b r))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 b (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 b 3) (pow.f64 (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r) 3) (pow.f64 b 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 b (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 b (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 b (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 b (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b r (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) (*.f64 b r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 r b (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (*.f64 (*.f64 r (fma.f64 a 1/2 b)) b) (*.f64 b r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 r a) (*.f64 (fma.f64 a 1/2 b) b) (*.f64 b r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 a 1/2 b) (*.f64 b (*.f64 r a)) (*.f64 b r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) b (*.f64 b r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 b r) (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))) (*.f64 b r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))) (*.f64 b r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) r) (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) 2)) (*.f64 (cbrt.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))) b) (*.f64 b r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 r) 2) (*.f64 (cbrt.f64 r) b) (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))) (*.f64 b r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) r) (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))) (*.f64 (sqrt.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))) b) (*.f64 b r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 r) (*.f64 (sqrt.f64 r) b) (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (*.f64 r a)) (fma.f64 a 1/2 b) (*.f64 b r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b r) 1 (*.f64 (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b))))) 2) (cbrt.f64 (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b))))) (*.f64 b r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 b r)) 2) (cbrt.f64 (*.f64 b r)) (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b))))) (sqrt.f64 (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b))))) (*.f64 b r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 b r)) (sqrt.f64 (*.f64 b r)) (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 b) (sqrt.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))))) (*.f64 (sqrt.f64 b) (sqrt.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))))) (*.f64 b r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))) (sqrt.f64 b)) (*.f64 (sqrt.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))) (sqrt.f64 b)) (*.f64 b r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 b) (sqrt.f64 r)) (*.f64 (sqrt.f64 b) (sqrt.f64 r)) (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 r) (sqrt.f64 b)) (*.f64 (sqrt.f64 r) (sqrt.f64 b)) (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (fma.f64 a 1/2 b)) (*.f64 r a) (*.f64 b r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b a) (*.f64 r (fma.f64 a 1/2 b)) (*.f64 b r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (cbrt.f64 (pow.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) 2))) (cbrt.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))) (*.f64 b r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (sqrt.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))))) (sqrt.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))) (*.f64 b r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) (*.f64 b r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) (sqrt.f64 b)) (sqrt.f64 b) (*.f64 b r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (pow.f64 (cbrt.f64 r) 2)) (cbrt.f64 r) (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (sqrt.f64 r)) (sqrt.f64 r) (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 r (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 r (sqrt.f64 b)) (sqrt.f64 b) (*.f64 b (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b (*.f64 r a)) (*.f64 a (*.f64 1/2 (*.f64 r a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (*.f64 1/2 (*.f64 r a))) (*.f64 b (*.f64 r a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 b (*.f64 r a)) 1) (*.f64 (*.f64 a (*.f64 1/2 (*.f64 r a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 r) a) (fma.f64 a 1/2 b))) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 r) a) (fma.f64 a 1/2 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 r) a) (fma.f64 a 1/2 b)))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 r) a) (fma.f64 a 1/2 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 b (*.f64 r a)) 3) (pow.f64 (*.f64 a (*.f64 1/2 (*.f64 r a))) 3)) (+.f64 (pow.f64 (*.f64 b (*.f64 r a)) 2) (-.f64 (pow.f64 (*.f64 a (*.f64 1/2 (*.f64 r a))) 2) (*.f64 (*.f64 b (*.f64 r a)) (*.f64 a (*.f64 1/2 (*.f64 r a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 b (*.f64 r a)) 2) (pow.f64 (*.f64 a (*.f64 1/2 (*.f64 r a))) 2)) (-.f64 (*.f64 b (*.f64 r a)) (*.f64 a (*.f64 1/2 (*.f64 r a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 1/8 (pow.f64 a 3) (pow.f64 b 3)) (*.f64 r a)) (fma.f64 (*.f64 a 1/2) (-.f64 (*.f64 a 1/2) b) (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 1/4 (*.f64 a a))) (*.f64 r a)) (+.f64 b (*.f64 -1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 r a) (fma.f64 1/8 (pow.f64 a 3) (pow.f64 b 3))) (fma.f64 (*.f64 a 1/2) (-.f64 (*.f64 a 1/2) b) (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 r a) (-.f64 (*.f64 b b) (*.f64 1/4 (*.f64 a a)))) (+.f64 b (*.f64 -1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 r) a) (fma.f64 a 1/2 b)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 a (*.f64 1/2 (*.f64 r a)))) (exp.f64 (*.f64 b (*.f64 r a)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b (*.f64 r a) (*.f64 a (*.f64 1/2 (*.f64 r a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 r (*.f64 a (*.f64 a 1/2)) (*.f64 b (*.f64 r a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 r (*.f64 a b) (*.f64 a (*.f64 1/2 (*.f64 r a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (*.f64 b r) (*.f64 a (*.f64 1/2 (*.f64 r a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (*.f64 r (*.f64 a 1/2)) (*.f64 b (*.f64 r a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (*.f64 1/2 (*.f64 r a)) (*.f64 b (*.f64 r a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 r a) b (*.f64 a (*.f64 1/2 (*.f64 r a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 r a) (*.f64 a 1/2) (*.f64 b (*.f64 r a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 (*.f64 a (*.f64 r a)) (*.f64 b (*.f64 r a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a 1/2) (*.f64 r a) (*.f64 b (*.f64 r a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 b (*.f64 r a)) (*.f64 a (*.f64 1/2 (*.f64 r a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a (*.f64 1/2 (*.f64 r a))) (*.f64 b (*.f64 r a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 r a)) 2) (*.f64 (cbrt.f64 (*.f64 r a)) (*.f64 a 1/2)) (*.f64 b (*.f64 r a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 r a)) 2) (*.f64 (cbrt.f64 (*.f64 r a)) b) (*.f64 a (*.f64 1/2 (*.f64 r a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (*.f64 r a)) (*.f64 a (*.f64 1/2 (*.f64 r a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a a))) (*.f64 (cbrt.f64 (*.f64 a 1/2)) (*.f64 r a)) (*.f64 b (*.f64 r a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 r a)) (*.f64 (sqrt.f64 (*.f64 r a)) (*.f64 a 1/2)) (*.f64 b (*.f64 r a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 r a)) (*.f64 (sqrt.f64 (*.f64 r a)) b) (*.f64 a (*.f64 1/2 (*.f64 r a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) (*.f64 r a)) (*.f64 a (*.f64 1/2 (*.f64 r a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a 1/2)) (*.f64 (sqrt.f64 (*.f64 a 1/2)) (*.f64 r a)) (*.f64 b (*.f64 r a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (*.f64 r a)) 1 (*.f64 (*.f64 a (*.f64 1/2 (*.f64 r a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b r) a (*.f64 a (*.f64 1/2 (*.f64 r a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 b (*.f64 r a))) 2) (cbrt.f64 (*.f64 b (*.f64 r a))) (*.f64 a (*.f64 1/2 (*.f64 r a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a (*.f64 1/2 (*.f64 r a)))) 2) (cbrt.f64 (*.f64 a (*.f64 1/2 (*.f64 r a)))) (*.f64 b (*.f64 r a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 b (*.f64 r a))) (sqrt.f64 (*.f64 b (*.f64 r a))) (*.f64 a (*.f64 1/2 (*.f64 r a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a (*.f64 1/2 (*.f64 r a)))) (sqrt.f64 (*.f64 a (*.f64 1/2 (*.f64 r a)))) (*.f64 b (*.f64 r a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 r a)) (sqrt.f64 (*.f64 a 1/2))) (*.f64 (sqrt.f64 (*.f64 r a)) (sqrt.f64 (*.f64 a 1/2))) (*.f64 b (*.f64 r a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 a 1/2)) (sqrt.f64 (*.f64 r a))) (*.f64 (sqrt.f64 (*.f64 a 1/2)) (sqrt.f64 (*.f64 r a))) (*.f64 b (*.f64 r a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 b) (sqrt.f64 (*.f64 r a))) (*.f64 (sqrt.f64 b) (sqrt.f64 (*.f64 r a))) (*.f64 a (*.f64 1/2 (*.f64 r a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 r a)) (sqrt.f64 b)) (*.f64 (sqrt.f64 (*.f64 r a)) (sqrt.f64 b)) (*.f64 a (*.f64 1/2 (*.f64 r a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a 1/2) r) a (*.f64 b (*.f64 r a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b a) r (*.f64 a (*.f64 1/2 (*.f64 r a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 r a) a) 1/2 (*.f64 b (*.f64 r a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 r a) 1/2) a (*.f64 b (*.f64 r a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 r a) (cbrt.f64 (*.f64 1/4 (*.f64 a a)))) (cbrt.f64 (*.f64 a 1/2)) (*.f64 b (*.f64 r a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 r a) (sqrt.f64 (*.f64 a 1/2))) (sqrt.f64 (*.f64 a 1/2)) (*.f64 b (*.f64 r a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a 1/2) a) r (*.f64 b (*.f64 r a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a 1/2) (pow.f64 (cbrt.f64 (*.f64 r a)) 2)) (cbrt.f64 (*.f64 r a)) (*.f64 b (*.f64 r a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a 1/2) (sqrt.f64 (*.f64 r a))) (sqrt.f64 (*.f64 r a)) (*.f64 b (*.f64 r a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (pow.f64 (cbrt.f64 (*.f64 r a)) 2)) (cbrt.f64 (*.f64 r a)) (*.f64 a (*.f64 1/2 (*.f64 r a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (sqrt.f64 (*.f64 r a))) (sqrt.f64 (*.f64 r a)) (*.f64 a (*.f64 1/2 (*.f64 r a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 r a) (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) (*.f64 a (*.f64 1/2 (*.f64 r a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 r a) (sqrt.f64 b)) (sqrt.f64 b) (*.f64 a (*.f64 1/2 (*.f64 r a))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 r r) (-.f64 r (*.f64 r (*.f64 a (fma.f64 a 1/2 b))))) (/.f64 (pow.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) 2) (-.f64 r (*.f64 r (*.f64 a (fma.f64 a 1/2 b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r)) (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r)) 2) (cbrt.f64 (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r)) (sqrt.f64 (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 r 3) (pow.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) 3)) (/.f64 1 (fma.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) (neg.f64 r)) (*.f64 r r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 r r) (pow.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) 2)) (/.f64 1 (-.f64 r (*.f64 r (*.f64 a (fma.f64 a 1/2 b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) (neg.f64 r)) (*.f64 r r)) (+.f64 (pow.f64 r 3) (pow.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 r (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))) (-.f64 (*.f64 r r) (pow.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 r 3) (pow.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) 3)) (fma.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) (neg.f64 r)) (*.f64 r r)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 r 3) (pow.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) 3)) (+.f64 (pow.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) 2) (-.f64 (*.f64 r r) (*.f64 r (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 r r) (pow.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) 2)) (-.f64 r (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 r 3) (pow.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) 3))) (neg.f64 (fma.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) (neg.f64 r)) (*.f64 r r))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 r r) (pow.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) 2))) (neg.f64 (-.f64 r (*.f64 r (*.f64 a (fma.f64 a 1/2 b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) 2) (*.f64 r r)) (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) (neg.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) (neg.f64 r)) (*.f64 r r)) (+.f64 (pow.f64 r 3) (pow.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 r (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))) (-.f64 (*.f64 r r) (pow.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 r)) (pow.f64 (pow.f64 (exp.f64 r) a) (fma.f64 a 1/2 b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 r) (+.f64 1 (expm1.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 r)) (+.f64 1 (expm1.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))))) (exp.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 r) a) (fma.f64 a 1/2 b)) (+.f64 1 (expm1.f64 r))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))))) (+.f64 1 (expm1.f64 r))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b (*.f64 r a) (fma.f64 a (*.f64 r (*.f64 a 1/2)) r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 r 1 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 r (*.f64 a (fma.f64 a 1/2 b)) r)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 r (*.f64 a b) (fma.f64 a (*.f64 r (*.f64 a 1/2)) r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (*.f64 b r) (fma.f64 a (*.f64 r (*.f64 a 1/2)) r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (*.f64 r (fma.f64 a 1/2 b)) r)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 r a) b (fma.f64 a (*.f64 r (*.f64 a 1/2)) r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 r a) (fma.f64 a 1/2 b) r)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 a 1/2 b) (*.f64 r a) r)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) 1 r)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 r (*.f64 r (*.f64 a (fma.f64 a 1/2 b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) r)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 b (*.f64 r a)) (fma.f64 a (*.f64 r (*.f64 a 1/2)) r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 a 1/2 b)) 2) (*.f64 (cbrt.f64 (fma.f64 a 1/2 b)) (*.f64 r a)) r)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 r a)) 2) (*.f64 (cbrt.f64 (*.f64 r a)) (fma.f64 a 1/2 b)) r)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 r a)) 2) (*.f64 (cbrt.f64 (*.f64 r a)) b) (fma.f64 a (*.f64 r (*.f64 a 1/2)) r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (*.f64 r a)) (fma.f64 a (*.f64 r (*.f64 a 1/2)) r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))) (cbrt.f64 (pow.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) 2)) r)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b))) 2)) (cbrt.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))) r)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 r) (pow.f64 (cbrt.f64 r) 2) (*.f64 r (*.f64 a (fma.f64 a 1/2 b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 r) 2) (cbrt.f64 r) (*.f64 r (*.f64 a (fma.f64 a 1/2 b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (*.f64 (cbrt.f64 a) (*.f64 r (fma.f64 a 1/2 b))) r)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 a 1/2 b)) (*.f64 (sqrt.f64 (fma.f64 a 1/2 b)) (*.f64 r a)) r)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 r a)) (*.f64 (sqrt.f64 (*.f64 r a)) (fma.f64 a 1/2 b)) r)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 r a)) (*.f64 (sqrt.f64 (*.f64 r a)) b) (fma.f64 a (*.f64 r (*.f64 a 1/2)) r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) (*.f64 r a)) (fma.f64 a (*.f64 r (*.f64 a 1/2)) r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))) (sqrt.f64 (*.f64 r (*.f64 a (fma.f64 a 1/2 b)))) r)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 r) (sqrt.f64 r) (*.f64 r (*.f64 a (fma.f64 a 1/2 b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) (*.f64 r (fma.f64 a 1/2 b))) r)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b r) a (fma.f64 a (*.f64 r (*.f64 a 1/2)) r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 r (fma.f64 a 1/2 b)) a r)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 b (*.f64 r a))) 2) (cbrt.f64 (*.f64 b (*.f64 r a))) (fma.f64 a (*.f64 r (*.f64 a 1/2)) r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 b (*.f64 r a))) (sqrt.f64 (*.f64 b (*.f64 r a))) (fma.f64 a (*.f64 r (*.f64 a 1/2)) r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 b) (sqrt.f64 (*.f64 r a))) (*.f64 (sqrt.f64 b) (sqrt.f64 (*.f64 r a))) (fma.f64 a (*.f64 r (*.f64 a 1/2)) r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 r a)) (sqrt.f64 b)) (*.f64 (sqrt.f64 (*.f64 r a)) (sqrt.f64 b)) (fma.f64 a (*.f64 r (*.f64 a 1/2)) r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b a) r (fma.f64 a (*.f64 r (*.f64 a 1/2)) r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 r a) (pow.f64 (cbrt.f64 (fma.f64 a 1/2 b)) 2)) (cbrt.f64 (fma.f64 a 1/2 b)) r)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 r a) (sqrt.f64 (fma.f64 a 1/2 b))) (sqrt.f64 (fma.f64 a 1/2 b)) r)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 a 1/2 b) a) r r)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 a 1/2 b) (pow.f64 (cbrt.f64 (*.f64 r a)) 2)) (cbrt.f64 (*.f64 r a)) r)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 a 1/2 b) (sqrt.f64 (*.f64 r a))) (sqrt.f64 (*.f64 r a)) r)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (pow.f64 (cbrt.f64 (*.f64 r a)) 2)) (cbrt.f64 (*.f64 r a)) (fma.f64 a (*.f64 r (*.f64 a 1/2)) r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (sqrt.f64 (*.f64 r a))) (sqrt.f64 (*.f64 r a)) (fma.f64 a (*.f64 r (*.f64 a 1/2)) r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 r a) (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) (fma.f64 a (*.f64 r (*.f64 a 1/2)) r))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 r a) (sqrt.f64 b)) (sqrt.f64 b) (fma.f64 a (*.f64 r (*.f64 a 1/2)) r))))))

simplify136.0ms (1%)

Algorithm
egg-herbie
Rules
618×unsub-neg_binary64
525×fma-def_binary64
394×neg-sub0_binary64
381×neg-mul-1_binary64
285×sub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0561745
11641552
23941289
311601289
427621289
546551289
663401289
777051289
Stop Event
node limit
Counts
326 → 256
Calls
Call 1
Inputs
(*.f64 b (+.f64 r (*.f64 1/2 (*.f64 (pow.f64 a 2) r))))
(+.f64 (*.f64 b (+.f64 r (*.f64 1/2 (*.f64 (pow.f64 a 2) r)))) (*.f64 a (*.f64 (pow.f64 b 2) r)))
(+.f64 (*.f64 b (+.f64 r (*.f64 1/2 (*.f64 (pow.f64 a 2) r)))) (*.f64 a (*.f64 (pow.f64 b 2) r)))
(+.f64 (*.f64 b (+.f64 r (*.f64 1/2 (*.f64 (pow.f64 a 2) r)))) (*.f64 a (*.f64 (pow.f64 b 2) r)))
(*.f64 a (*.f64 (pow.f64 b 2) r))
(+.f64 (*.f64 b (+.f64 r (*.f64 1/2 (*.f64 (pow.f64 a 2) r)))) (*.f64 a (*.f64 (pow.f64 b 2) r)))
(+.f64 (*.f64 b (+.f64 r (*.f64 1/2 (*.f64 (pow.f64 a 2) r)))) (*.f64 a (*.f64 (pow.f64 b 2) r)))
(+.f64 (*.f64 b (+.f64 r (*.f64 1/2 (*.f64 (pow.f64 a 2) r)))) (*.f64 a (*.f64 (pow.f64 b 2) r)))
(*.f64 a (*.f64 (pow.f64 b 2) r))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) r) b) (*.f64 a (*.f64 (pow.f64 b 2) r)))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) r) b) (*.f64 a (*.f64 (pow.f64 b 2) r)))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) r) b) (*.f64 a (*.f64 (pow.f64 b 2) r)))
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/2 a) b) a) 1) (*.f64 r b))
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/2 a) b) a) 1) (*.f64 r b))
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/2 a) b) a) 1) (*.f64 r b))
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/2 a) b) a) 1) (*.f64 r b))
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/2 a) b) a) 1) (*.f64 r b))
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/2 a) b) a) 1) (*.f64 r b))
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/2 a) b) a) 1) (*.f64 r b))
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/2 a) b) a) 1) (*.f64 r b))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) 1) (*.f64 b r)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) 1) (*.f64 b r)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) 1) (*.f64 b r)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) 1) (*.f64 b r)))
(*.f64 b r)
(+.f64 (*.f64 b r) (*.f64 a (*.f64 r (pow.f64 b 2))))
(+.f64 (*.f64 b r) (+.f64 (*.f64 a (*.f64 r (pow.f64 b 2))) (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 b r)))))
(+.f64 (*.f64 b r) (+.f64 (*.f64 a (*.f64 r (pow.f64 b 2))) (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 b r)))))
(*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 b r)))
(+.f64 (*.f64 a (*.f64 (pow.f64 b 2) r)) (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 b r))))
(+.f64 (*.f64 a (*.f64 (pow.f64 b 2) r)) (+.f64 (*.f64 b r) (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 b r)))))
(+.f64 (*.f64 a (*.f64 (pow.f64 b 2) r)) (+.f64 (*.f64 b r) (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 b r)))))
(*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 b r)))
(+.f64 (*.f64 a (*.f64 r (pow.f64 b 2))) (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 b r))))
(+.f64 (*.f64 b r) (+.f64 (*.f64 a (*.f64 r (pow.f64 b 2))) (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 b r)))))
(+.f64 (*.f64 b r) (+.f64 (*.f64 a (*.f64 r (pow.f64 b 2))) (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 b r)))))
(*.f64 a (*.f64 b r))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(*.f64 1/2 (*.f64 (pow.f64 a 2) r))
(+.f64 (*.f64 a (*.f64 r b)) (*.f64 1/2 (*.f64 (pow.f64 a 2) r)))
(+.f64 (*.f64 a (*.f64 r b)) (*.f64 1/2 (*.f64 (pow.f64 a 2) r)))
(+.f64 (*.f64 a (*.f64 r b)) (*.f64 1/2 (*.f64 (pow.f64 a 2) r)))
(*.f64 1/2 (*.f64 (pow.f64 a 2) r))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(*.f64 (+.f64 (*.f64 1/2 a) b) (*.f64 a r))
(*.f64 (+.f64 (*.f64 1/2 a) b) (*.f64 a r))
(*.f64 (+.f64 (*.f64 1/2 a) b) (*.f64 a r))
(*.f64 (+.f64 (*.f64 1/2 a) b) (*.f64 a r))
(*.f64 (+.f64 (*.f64 1/2 a) b) (*.f64 a r))
(*.f64 (+.f64 (*.f64 1/2 a) b) (*.f64 a r))
(*.f64 (+.f64 (*.f64 1/2 a) b) (*.f64 a r))
(*.f64 (+.f64 (*.f64 1/2 a) b) (*.f64 a r))
(*.f64 (+.f64 (*.f64 1/2 a) b) (*.f64 a r))
(*.f64 (+.f64 (*.f64 1/2 a) b) (*.f64 a r))
(*.f64 (+.f64 (*.f64 1/2 a) b) (*.f64 a r))
(*.f64 (+.f64 (*.f64 1/2 a) b) (*.f64 a r))
(*.f64 1/2 (*.f64 (pow.f64 a 2) r))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(*.f64 a (*.f64 b r))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(*.f64 a (*.f64 b r))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(*.f64 (+.f64 1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) r)
(*.f64 (+.f64 1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) r)
(*.f64 (+.f64 1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) r)
(*.f64 (+.f64 1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) r)
(*.f64 (+.f64 1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) r)
(*.f64 (+.f64 1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) r)
(*.f64 (+.f64 1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) r)
(*.f64 (+.f64 1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) r)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) 1) r))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) 1) r))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) 1) r))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) 1) r))
r
(+.f64 (*.f64 a (*.f64 r b)) r)
(+.f64 (*.f64 a (*.f64 r b)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) r))
(+.f64 (*.f64 a (*.f64 r b)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) r))
(*.f64 1/2 (*.f64 (pow.f64 a 2) r))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(+.f64 r (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r))))
(+.f64 r (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r))))
(*.f64 1/2 (*.f64 (pow.f64 a 2) r))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(+.f64 r (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r))))
(+.f64 r (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r))))
(+.f64 r (*.f64 1/2 (*.f64 (pow.f64 a 2) r)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (+.f64 r (*.f64 a (*.f64 b r))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (+.f64 r (*.f64 a (*.f64 b r))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (+.f64 r (*.f64 a (*.f64 b r))))
(*.f64 a (*.f64 b r))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (+.f64 r (*.f64 a (*.f64 b r))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (+.f64 r (*.f64 a (*.f64 b r))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (+.f64 r (*.f64 a (*.f64 b r))))
(*.f64 a (*.f64 b r))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (+.f64 r (*.f64 a (*.f64 b r))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (+.f64 r (*.f64 a (*.f64 b r))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (+.f64 r (*.f64 a (*.f64 b r))))
Outputs
(*.f64 b (+.f64 r (*.f64 1/2 (*.f64 (pow.f64 a 2) r))))
(*.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r))
(*.f64 b (*.f64 r (fma.f64 1/2 (*.f64 a a) 1)))
(+.f64 (*.f64 b (+.f64 r (*.f64 1/2 (*.f64 (pow.f64 a 2) r)))) (*.f64 a (*.f64 (pow.f64 b 2) r)))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 a (*.f64 r (*.f64 b b))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 b (fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r))
(*.f64 b (fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r))
(+.f64 (*.f64 b (+.f64 r (*.f64 1/2 (*.f64 (pow.f64 a 2) r)))) (*.f64 a (*.f64 (pow.f64 b 2) r)))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 a (*.f64 r (*.f64 b b))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 b (fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r))
(*.f64 b (fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r))
(+.f64 (*.f64 b (+.f64 r (*.f64 1/2 (*.f64 (pow.f64 a 2) r)))) (*.f64 a (*.f64 (pow.f64 b 2) r)))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 a (*.f64 r (*.f64 b b))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 b (fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r))
(*.f64 b (fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r))
(*.f64 a (*.f64 (pow.f64 b 2) r))
(*.f64 a (*.f64 r (*.f64 b b)))
(*.f64 (*.f64 b b) (*.f64 r a))
(*.f64 b (*.f64 r (*.f64 b a)))
(+.f64 (*.f64 b (+.f64 r (*.f64 1/2 (*.f64 (pow.f64 a 2) r)))) (*.f64 a (*.f64 (pow.f64 b 2) r)))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 a (*.f64 r (*.f64 b b))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 b (fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r))
(*.f64 b (fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r))
(+.f64 (*.f64 b (+.f64 r (*.f64 1/2 (*.f64 (pow.f64 a 2) r)))) (*.f64 a (*.f64 (pow.f64 b 2) r)))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 a (*.f64 r (*.f64 b b))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 b (fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r))
(*.f64 b (fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r))
(+.f64 (*.f64 b (+.f64 r (*.f64 1/2 (*.f64 (pow.f64 a 2) r)))) (*.f64 a (*.f64 (pow.f64 b 2) r)))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 a (*.f64 r (*.f64 b b))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 b (fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r))
(*.f64 b (fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r))
(*.f64 a (*.f64 (pow.f64 b 2) r))
(*.f64 a (*.f64 r (*.f64 b b)))
(*.f64 (*.f64 b b) (*.f64 r a))
(*.f64 b (*.f64 r (*.f64 b a)))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) r) b) (*.f64 a (*.f64 (pow.f64 b 2) r)))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 a (*.f64 r (*.f64 b b))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 b (fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r))
(*.f64 b (fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) r) b) (*.f64 a (*.f64 (pow.f64 b 2) r)))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 a (*.f64 r (*.f64 b b))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 b (fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r))
(*.f64 b (fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) r) b) (*.f64 a (*.f64 (pow.f64 b 2) r)))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 a (*.f64 r (*.f64 b b))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 b (fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r))
(*.f64 b (fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r))
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/2 a) b) a) 1) (*.f64 r b))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 a (*.f64 r (*.f64 b b))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 b (fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r))
(*.f64 b (fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r))
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/2 a) b) a) 1) (*.f64 r b))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 a (*.f64 r (*.f64 b b))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 b (fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r))
(*.f64 b (fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r))
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/2 a) b) a) 1) (*.f64 r b))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 a (*.f64 r (*.f64 b b))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 b (fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r))
(*.f64 b (fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r))
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/2 a) b) a) 1) (*.f64 r b))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 a (*.f64 r (*.f64 b b))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 b (fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r))
(*.f64 b (fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r))
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/2 a) b) a) 1) (*.f64 r b))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 a (*.f64 r (*.f64 b b))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 b (fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r))
(*.f64 b (fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r))
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/2 a) b) a) 1) (*.f64 r b))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 a (*.f64 r (*.f64 b b))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 b (fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r))
(*.f64 b (fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r))
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/2 a) b) a) 1) (*.f64 r b))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 a (*.f64 r (*.f64 b b))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 b (fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r))
(*.f64 b (fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r))
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/2 a) b) a) 1) (*.f64 r b))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 a (*.f64 r (*.f64 b b))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 b (fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r))
(*.f64 b (fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) 1) (*.f64 b r)))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 a (*.f64 r (*.f64 b b))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 b (fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r))
(*.f64 b (fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) 1) (*.f64 b r)))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 a (*.f64 r (*.f64 b b))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 b (fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r))
(*.f64 b (fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) 1) (*.f64 b r)))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 a (*.f64 r (*.f64 b b))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 b (fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r))
(*.f64 b (fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) 1) (*.f64 b r)))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 a (*.f64 r (*.f64 b b))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 b (fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r))
(*.f64 b (fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r))
(*.f64 b r)
(+.f64 (*.f64 b r) (*.f64 a (*.f64 r (pow.f64 b 2))))
(fma.f64 b r (*.f64 a (*.f64 r (*.f64 b b))))
(*.f64 r (+.f64 (*.f64 a (*.f64 b b)) b))
(*.f64 b (*.f64 r (fma.f64 b a 1)))
(+.f64 (*.f64 b r) (+.f64 (*.f64 a (*.f64 r (pow.f64 b 2))) (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 b r)))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 a (*.f64 r (*.f64 b b))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 b (fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r))
(*.f64 b (fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r))
(+.f64 (*.f64 b r) (+.f64 (*.f64 a (*.f64 r (pow.f64 b 2))) (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 b r)))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 a (*.f64 r (*.f64 b b))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 b (fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r))
(*.f64 b (fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r))
(*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 b r)))
(*.f64 1/2 (*.f64 (*.f64 a a) (*.f64 b r)))
(*.f64 (*.f64 b r) (*.f64 1/2 (*.f64 a a)))
(*.f64 a (*.f64 (*.f64 r (*.f64 b a)) 1/2))
(*.f64 (*.f64 a a) (*.f64 1/2 (*.f64 b r)))
(+.f64 (*.f64 a (*.f64 (pow.f64 b 2) r)) (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 b r))))
(fma.f64 a (*.f64 r (*.f64 b b)) (*.f64 1/2 (*.f64 (*.f64 a a) (*.f64 b r))))
(fma.f64 1/2 (*.f64 b (*.f64 r (*.f64 a a))) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r (*.f64 b a)))
(*.f64 a (*.f64 (fma.f64 1/2 a b) (*.f64 b r)))
(+.f64 (*.f64 a (*.f64 (pow.f64 b 2) r)) (+.f64 (*.f64 b r) (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 b r)))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 a (*.f64 r (*.f64 b b))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 b (fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r))
(*.f64 b (fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r))
(+.f64 (*.f64 a (*.f64 (pow.f64 b 2) r)) (+.f64 (*.f64 b r) (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 b r)))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 a (*.f64 r (*.f64 b b))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 b (fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r))
(*.f64 b (fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r))
(*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 b r)))
(*.f64 1/2 (*.f64 (*.f64 a a) (*.f64 b r)))
(*.f64 (*.f64 b r) (*.f64 1/2 (*.f64 a a)))
(*.f64 a (*.f64 (*.f64 r (*.f64 b a)) 1/2))
(*.f64 (*.f64 a a) (*.f64 1/2 (*.f64 b r)))
(+.f64 (*.f64 a (*.f64 r (pow.f64 b 2))) (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 b r))))
(fma.f64 a (*.f64 r (*.f64 b b)) (*.f64 1/2 (*.f64 (*.f64 a a) (*.f64 b r))))
(fma.f64 1/2 (*.f64 b (*.f64 r (*.f64 a a))) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r (*.f64 b a)))
(*.f64 a (*.f64 (fma.f64 1/2 a b) (*.f64 b r)))
(+.f64 (*.f64 b r) (+.f64 (*.f64 a (*.f64 r (pow.f64 b 2))) (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 b r)))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 a (*.f64 r (*.f64 b b))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 b (fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r))
(*.f64 b (fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r))
(+.f64 (*.f64 b r) (+.f64 (*.f64 a (*.f64 r (pow.f64 b 2))) (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 b r)))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 a (*.f64 r (*.f64 b b))))
(fma.f64 b (fma.f64 1/2 (*.f64 r (*.f64 a a)) r) (*.f64 (*.f64 b b) (*.f64 r a)))
(*.f64 b (fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r))
(*.f64 b (fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r))
(*.f64 a (*.f64 b r))
(*.f64 b (*.f64 r a))
(*.f64 r (*.f64 b a))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(*.f64 1/2 (*.f64 (pow.f64 a 2) r))
(*.f64 1/2 (*.f64 r (*.f64 a a)))
(*.f64 r (*.f64 1/2 (*.f64 a a)))
(+.f64 (*.f64 a (*.f64 r b)) (*.f64 1/2 (*.f64 (pow.f64 a 2) r)))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(+.f64 (*.f64 a (*.f64 r b)) (*.f64 1/2 (*.f64 (pow.f64 a 2) r)))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(+.f64 (*.f64 a (*.f64 r b)) (*.f64 1/2 (*.f64 (pow.f64 a 2) r)))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(*.f64 1/2 (*.f64 (pow.f64 a 2) r))
(*.f64 1/2 (*.f64 r (*.f64 a a)))
(*.f64 r (*.f64 1/2 (*.f64 a a)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(*.f64 (+.f64 (*.f64 1/2 a) b) (*.f64 a r))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(*.f64 (+.f64 (*.f64 1/2 a) b) (*.f64 a r))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(*.f64 (+.f64 (*.f64 1/2 a) b) (*.f64 a r))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(*.f64 (+.f64 (*.f64 1/2 a) b) (*.f64 a r))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(*.f64 (+.f64 (*.f64 1/2 a) b) (*.f64 a r))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(*.f64 (+.f64 (*.f64 1/2 a) b) (*.f64 a r))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(*.f64 (+.f64 (*.f64 1/2 a) b) (*.f64 a r))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(*.f64 (+.f64 (*.f64 1/2 a) b) (*.f64 a r))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(*.f64 (+.f64 (*.f64 1/2 a) b) (*.f64 a r))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(*.f64 (+.f64 (*.f64 1/2 a) b) (*.f64 a r))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(*.f64 (+.f64 (*.f64 1/2 a) b) (*.f64 a r))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(*.f64 (+.f64 (*.f64 1/2 a) b) (*.f64 a r))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(*.f64 1/2 (*.f64 (pow.f64 a 2) r))
(*.f64 1/2 (*.f64 r (*.f64 a a)))
(*.f64 r (*.f64 1/2 (*.f64 a a)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(*.f64 a (*.f64 b r))
(*.f64 b (*.f64 r a))
(*.f64 r (*.f64 b a))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(*.f64 a (*.f64 b r))
(*.f64 b (*.f64 r a))
(*.f64 r (*.f64 b a))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(*.f64 (+.f64 1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) r)
(*.f64 r (fma.f64 (fma.f64 1/2 a b) a 1))
(*.f64 r (fma.f64 a (fma.f64 1/2 a b) 1))
(fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r)
(fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r)
(*.f64 (+.f64 1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) r)
(*.f64 r (fma.f64 (fma.f64 1/2 a b) a 1))
(*.f64 r (fma.f64 a (fma.f64 1/2 a b) 1))
(fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r)
(fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r)
(*.f64 (+.f64 1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) r)
(*.f64 r (fma.f64 (fma.f64 1/2 a b) a 1))
(*.f64 r (fma.f64 a (fma.f64 1/2 a b) 1))
(fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r)
(fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r)
(*.f64 (+.f64 1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) r)
(*.f64 r (fma.f64 (fma.f64 1/2 a b) a 1))
(*.f64 r (fma.f64 a (fma.f64 1/2 a b) 1))
(fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r)
(fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r)
(*.f64 (+.f64 1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) r)
(*.f64 r (fma.f64 (fma.f64 1/2 a b) a 1))
(*.f64 r (fma.f64 a (fma.f64 1/2 a b) 1))
(fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r)
(fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r)
(*.f64 (+.f64 1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) r)
(*.f64 r (fma.f64 (fma.f64 1/2 a b) a 1))
(*.f64 r (fma.f64 a (fma.f64 1/2 a b) 1))
(fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r)
(fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r)
(*.f64 (+.f64 1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) r)
(*.f64 r (fma.f64 (fma.f64 1/2 a b) a 1))
(*.f64 r (fma.f64 a (fma.f64 1/2 a b) 1))
(fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r)
(fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r)
(*.f64 (+.f64 1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) r)
(*.f64 r (fma.f64 (fma.f64 1/2 a b) a 1))
(*.f64 r (fma.f64 a (fma.f64 1/2 a b) 1))
(fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r)
(fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) 1) r))
(*.f64 r (fma.f64 (fma.f64 1/2 a b) a 1))
(*.f64 r (fma.f64 a (fma.f64 1/2 a b) 1))
(fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r)
(fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) 1) r))
(*.f64 r (fma.f64 (fma.f64 1/2 a b) a 1))
(*.f64 r (fma.f64 a (fma.f64 1/2 a b) 1))
(fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r)
(fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) 1) r))
(*.f64 r (fma.f64 (fma.f64 1/2 a b) a 1))
(*.f64 r (fma.f64 a (fma.f64 1/2 a b) 1))
(fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r)
(fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 a) b) a)) 1) r))
(*.f64 r (fma.f64 (fma.f64 1/2 a b) a 1))
(*.f64 r (fma.f64 a (fma.f64 1/2 a b) 1))
(fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r)
(fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r)
r
(+.f64 (*.f64 a (*.f64 r b)) r)
(fma.f64 a (*.f64 b r) r)
(*.f64 r (fma.f64 b a 1))
(+.f64 (*.f64 a (*.f64 r b)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) r))
(*.f64 r (fma.f64 (fma.f64 1/2 a b) a 1))
(*.f64 r (fma.f64 a (fma.f64 1/2 a b) 1))
(fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r)
(fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r)
(+.f64 (*.f64 a (*.f64 r b)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) r))
(*.f64 r (fma.f64 (fma.f64 1/2 a b) a 1))
(*.f64 r (fma.f64 a (fma.f64 1/2 a b) 1))
(fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r)
(fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r)
(*.f64 1/2 (*.f64 (pow.f64 a 2) r))
(*.f64 1/2 (*.f64 r (*.f64 a a)))
(*.f64 r (*.f64 1/2 (*.f64 a a)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(+.f64 r (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r))))
(*.f64 r (fma.f64 (fma.f64 1/2 a b) a 1))
(*.f64 r (fma.f64 a (fma.f64 1/2 a b) 1))
(fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r)
(fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r)
(+.f64 r (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r))))
(*.f64 r (fma.f64 (fma.f64 1/2 a b) a 1))
(*.f64 r (fma.f64 a (fma.f64 1/2 a b) 1))
(fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r)
(fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r)
(*.f64 1/2 (*.f64 (pow.f64 a 2) r))
(*.f64 1/2 (*.f64 r (*.f64 a a)))
(*.f64 r (*.f64 1/2 (*.f64 a a)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r)))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (*.f64 a (*.f64 b r)))
(*.f64 r (*.f64 a (fma.f64 1/2 a b)))
(*.f64 (fma.f64 1/2 a b) (*.f64 r a))
(+.f64 r (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r))))
(*.f64 r (fma.f64 (fma.f64 1/2 a b) a 1))
(*.f64 r (fma.f64 a (fma.f64 1/2 a b) 1))
(fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r)
(fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r)
(+.f64 r (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (*.f64 a (*.f64 b r))))
(*.f64 r (fma.f64 (fma.f64 1/2 a b) a 1))
(*.f64 r (fma.f64 a (fma.f64 1/2 a b) 1))
(fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r)
(fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r)
(+.f64 r (*.f64 1/2 (*.f64 (pow.f64 a 2) 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 r (*.f64 a (*.f64 b r))))
(*.f64 r (fma.f64 (fma.f64 1/2 a b) a 1))
(*.f64 r (fma.f64 a (fma.f64 1/2 a b) 1))
(fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r)
(fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (+.f64 r (*.f64 a (*.f64 b r))))
(*.f64 r (fma.f64 (fma.f64 1/2 a b) a 1))
(*.f64 r (fma.f64 a (fma.f64 1/2 a b) 1))
(fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r)
(fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (+.f64 r (*.f64 a (*.f64 b r))))
(*.f64 r (fma.f64 (fma.f64 1/2 a b) a 1))
(*.f64 r (fma.f64 a (fma.f64 1/2 a b) 1))
(fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r)
(fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r)
(*.f64 a (*.f64 b r))
(*.f64 b (*.f64 r a))
(*.f64 r (*.f64 b a))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (+.f64 r (*.f64 a (*.f64 b r))))
(*.f64 r (fma.f64 (fma.f64 1/2 a b) a 1))
(*.f64 r (fma.f64 a (fma.f64 1/2 a b) 1))
(fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r)
(fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (+.f64 r (*.f64 a (*.f64 b r))))
(*.f64 r (fma.f64 (fma.f64 1/2 a b) a 1))
(*.f64 r (fma.f64 a (fma.f64 1/2 a b) 1))
(fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r)
(fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (+.f64 r (*.f64 a (*.f64 b r))))
(*.f64 r (fma.f64 (fma.f64 1/2 a b) a 1))
(*.f64 r (fma.f64 a (fma.f64 1/2 a b) 1))
(fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r)
(fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r)
(*.f64 a (*.f64 b r))
(*.f64 b (*.f64 r a))
(*.f64 r (*.f64 b a))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (+.f64 r (*.f64 a (*.f64 b r))))
(*.f64 r (fma.f64 (fma.f64 1/2 a b) a 1))
(*.f64 r (fma.f64 a (fma.f64 1/2 a b) 1))
(fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r)
(fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (+.f64 r (*.f64 a (*.f64 b r))))
(*.f64 r (fma.f64 (fma.f64 1/2 a b) a 1))
(*.f64 r (fma.f64 a (fma.f64 1/2 a b) 1))
(fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r)
(fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (+.f64 r (*.f64 a (*.f64 b r))))
(*.f64 r (fma.f64 (fma.f64 1/2 a b) a 1))
(*.f64 r (fma.f64 a (fma.f64 1/2 a b) 1))
(fma.f64 r (*.f64 a (fma.f64 1/2 a b)) r)
(fma.f64 (fma.f64 1/2 a b) (*.f64 r a) r)

localize13.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (cos.f64 b) r)
0.1b
(*.f64 (sin.f64 b) (/.f64 1 (/.f64 (cos.f64 b) r)))
0.4b
(/.f64 1 (/.f64 (cos.f64 b) r))
Compiler

Compiled 29 to 12 computations (58.6% saved)

series10.0ms (0.1%)

Counts
3 → 52
Calls

18 calls:

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

rewrite66.0ms (0.5%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
0926
118623
2241323
Stop Event
node limit
Counts
3 → 92
Calls
Call 1
Inputs
(/.f64 1 (/.f64 (cos.f64 b) r))
(*.f64 (sin.f64 b) (/.f64 1 (/.f64 (cos.f64 b) r)))
(/.f64 (cos.f64 b) r)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 r (cos.f64 b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 r (cos.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 r (/.f64 1 (cos.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 r (cos.f64 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 r (cos.f64 b))) (pow.f64 (cbrt.f64 (/.f64 r (cos.f64 b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 r (cos.f64 b))) 2) (cbrt.f64 (/.f64 r (cos.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 r (cos.f64 b))) (sqrt.f64 (/.f64 r (cos.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (/.f64 (neg.f64 (cos.f64 b)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cos.f64 b)) r)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cos.f64 b)) (pow.f64 (/.f64 1 r) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 b) r)) 2) -1) (pow.f64 (cbrt.f64 (/.f64 (cos.f64 b) r)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (/.f64 (cos.f64 b) r)) -1) (pow.f64 (sqrt.f64 (/.f64 (cos.f64 b) r)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 r) 2) 1) (/.f64 (cbrt.f64 r) (cos.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 r) 1) (/.f64 (sqrt.f64 r) (cos.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (cos.f64 b)) 2)) (/.f64 r (cbrt.f64 (cos.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 r) 2) (pow.f64 (cbrt.f64 (cos.f64 b)) 2)) (/.f64 (cbrt.f64 r) (cbrt.f64 (cos.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 r) (pow.f64 (cbrt.f64 (cos.f64 b)) 2)) (/.f64 (sqrt.f64 r) (cbrt.f64 (cos.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (cos.f64 b))) (/.f64 r (sqrt.f64 (cos.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 r) 2) (sqrt.f64 (cos.f64 b))) (/.f64 (cbrt.f64 r) (sqrt.f64 (cos.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 r) (sqrt.f64 (cos.f64 b))) (/.f64 (sqrt.f64 r) (sqrt.f64 (cos.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (neg.f64 (cos.f64 b))) (neg.f64 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (cos.f64 b)) 1) r)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (cos.f64 b)) (pow.f64 (cbrt.f64 r) 2)) (cbrt.f64 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (cos.f64 b)) (sqrt.f64 r)) (sqrt.f64 r))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cos.f64 b) r) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 r (cos.f64 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 r (cos.f64 b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 r (cos.f64 b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 r (cos.f64 b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (cos.f64 b) r) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 r (cos.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 r (cos.f64 b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 r 3) (pow.f64 (cos.f64 b) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 r (cos.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 r (cos.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 r (cos.f64 b))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 (cos.f64 b) r) (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (/.f64 (/.f64 (cos.f64 b) r) (cbrt.f64 (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (sin.f64 b)) (/.f64 (/.f64 (cos.f64 b) r) (sqrt.f64 (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sin.f64 b)) (/.f64 (neg.f64 (cos.f64 b)) r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 b) (sqrt.f64 (/.f64 (cos.f64 b) r))) (sqrt.f64 (/.f64 (cos.f64 b) r)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 b) 1) (/.f64 (cos.f64 b) r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (/.f64 1 r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (/.f64 (cos.f64 b) r)) 2)) (cbrt.f64 (/.f64 (cos.f64 b) r)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (sin.f64 b)) (/.f64 (neg.f64 (cos.f64 b)) r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 b) -1) (/.f64 (neg.f64 (cos.f64 b)) r))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 b)) (/.f64 r (cos.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (/.f64 (cos.f64 b) r) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 r (cos.f64 b)) 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 (/.f64 r (cos.f64 b)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (cos.f64 b) r)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (cos.f64 b) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 b) (/.f64 1 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 b) r) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (cos.f64 b) r)) (pow.f64 (cbrt.f64 (/.f64 (cos.f64 b) r)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 b) r)) 2) (cbrt.f64 (/.f64 (cos.f64 b) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 b)) 2) (*.f64 (cbrt.f64 (cos.f64 b)) (/.f64 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (cos.f64 b) r)) (sqrt.f64 (/.f64 (cos.f64 b) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 b)) (*.f64 (sqrt.f64 (cos.f64 b)) (/.f64 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cos.f64 b)) (/.f64 1 (neg.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 r) (cos.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 b)) 2) 1) (/.f64 (cbrt.f64 (cos.f64 b)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (cos.f64 b)) 1) (/.f64 (sqrt.f64 (cos.f64 b)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 r) 2)) (/.f64 (cos.f64 b) (cbrt.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 b)) 2) (pow.f64 (cbrt.f64 r) 2)) (cbrt.f64 (/.f64 (cos.f64 b) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (cos.f64 b)) (pow.f64 (cbrt.f64 r) 2)) (/.f64 (sqrt.f64 (cos.f64 b)) (cbrt.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 r)) (/.f64 (cos.f64 b) (sqrt.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 b)) 2) (sqrt.f64 r)) (/.f64 (cbrt.f64 (cos.f64 b)) (sqrt.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cos.f64 b) r) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 r (cos.f64 b)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (cos.f64 b) r) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (cos.f64 b) r)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (cos.f64 b) r)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (cos.f64 b) (neg.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (cos.f64 b) r) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (cos.f64 b) r)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (cos.f64 b) r) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (cos.f64 b) 3) (pow.f64 r 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (cos.f64 b) r)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (cos.f64 b) r)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (cos.f64 b) r)))))))

simplify53.0ms (0.4%)

Algorithm
egg-herbie
Rules
752×distribute-rgt-in_binary64
704×distribute-lft-in_binary64
513×fma-neg_binary64
410×fma-def_binary64
299×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
085641
1239607
2735570
33381563
Stop Event
node limit
Counts
144 → 116
Calls
Call 1
Inputs
r
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 b 2) r)) r)
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 r) (*.f64 1/24 r)) (pow.f64 b 4))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 b 2) r)) r))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 r) (*.f64 1/24 r)) (pow.f64 b 4))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 b 2) r)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/720 r) (+.f64 (*.f64 1/48 r) (*.f64 1/2 (+.f64 (*.f64 -1/4 r) (*.f64 1/24 r))))) (pow.f64 b 6))) r)))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(*.f64 r b)
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)) (pow.f64 b 3)) (*.f64 r b))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)) (pow.f64 b 3)) (+.f64 (*.f64 r b) (*.f64 (pow.f64 b 5) (-.f64 (*.f64 1/120 r) (+.f64 (*.f64 1/24 r) (*.f64 -1/2 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r))))))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)) (pow.f64 b 3)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 r) (+.f64 (*.f64 -1/2 (-.f64 (*.f64 1/120 r) (+.f64 (*.f64 1/24 r) (*.f64 -1/2 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)))))) (+.f64 (*.f64 -1/720 r) (*.f64 1/24 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)))))) (pow.f64 b 7)) (+.f64 (*.f64 r b) (*.f64 (pow.f64 b 5) (-.f64 (*.f64 1/120 r) (+.f64 (*.f64 1/24 r) (*.f64 -1/2 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)))))))))
(/.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 b))
(/.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 b))
(/.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 b))
(/.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 b))
(/.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 b))
(/.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 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 1 r)
(+.f64 (/.f64 1 r) (*.f64 -1/2 (/.f64 (pow.f64 b 2) r)))
(+.f64 (/.f64 1 r) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 b 2) r)) (*.f64 1/24 (/.f64 (pow.f64 b 4) r))))
(+.f64 (/.f64 1 r) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 b 2) r)) (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 b 6) r)) (*.f64 1/24 (/.f64 (pow.f64 b 4) r)))))
Outputs
r
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 b 2) r)) r)
(fma.f64 1/2 (*.f64 r (*.f64 b b)) r)
(*.f64 r (fma.f64 1/2 (*.f64 b b) 1))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 r) (*.f64 1/24 r)) (pow.f64 b 4))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 b 2) r)) r))
(fma.f64 -1 (*.f64 (*.f64 r -5/24) (pow.f64 b 4)) (fma.f64 1/2 (*.f64 r (*.f64 b b)) r))
(-.f64 (fma.f64 1/2 (*.f64 r (*.f64 b b)) r) (*.f64 (*.f64 r -5/24) (pow.f64 b 4)))
(fma.f64 r (*.f64 1/2 (*.f64 b b)) (fma.f64 (pow.f64 b 4) (*.f64 r 5/24) r))
(*.f64 r (-.f64 (fma.f64 1/2 (*.f64 b b) 1) (*.f64 (pow.f64 b 4) -5/24)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 r) (*.f64 1/24 r)) (pow.f64 b 4))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 b 2) r)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/720 r) (+.f64 (*.f64 1/48 r) (*.f64 1/2 (+.f64 (*.f64 -1/4 r) (*.f64 1/24 r))))) (pow.f64 b 6))) r)))
(fma.f64 -1 (*.f64 (*.f64 r -5/24) (pow.f64 b 4)) (fma.f64 1/2 (*.f64 r (*.f64 b b)) (fma.f64 -1 (*.f64 (fma.f64 -1/720 r (fma.f64 1/48 r (*.f64 1/2 (*.f64 r -5/24)))) (pow.f64 b 6)) r)))
(-.f64 (fma.f64 1/2 (*.f64 r (*.f64 b b)) (-.f64 r (*.f64 (+.f64 (*.f64 r -5/48) (*.f64 r 7/360)) (pow.f64 b 6)))) (*.f64 (*.f64 r -5/24) (pow.f64 b 4)))
(-.f64 (fma.f64 r (*.f64 1/2 (*.f64 b b)) (fma.f64 (pow.f64 b 4) (*.f64 r 5/24) r)) (*.f64 (*.f64 r -61/720) (pow.f64 b 6)))
(fma.f64 (pow.f64 b 4) (*.f64 r 5/24) (fma.f64 r (fma.f64 1/2 (*.f64 b b) 1) (*.f64 (pow.f64 b 6) (*.f64 r 61/720))))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(/.f64 r (cos.f64 b))
(*.f64 r b)
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)) (pow.f64 b 3)) (*.f64 r b))
(fma.f64 (*.f64 r 1/3) (pow.f64 b 3) (*.f64 r b))
(fma.f64 r b (*.f64 (*.f64 r 1/3) (pow.f64 b 3)))
(*.f64 r (+.f64 b (*.f64 (pow.f64 b 3) 1/3)))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)) (pow.f64 b 3)) (+.f64 (*.f64 r b) (*.f64 (pow.f64 b 5) (-.f64 (*.f64 1/120 r) (+.f64 (*.f64 1/24 r) (*.f64 -1/2 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r))))))))
(fma.f64 (*.f64 r 1/3) (pow.f64 b 3) (fma.f64 r b (*.f64 (pow.f64 b 5) (-.f64 (*.f64 r 1/120) (fma.f64 1/24 r (*.f64 -1/2 (*.f64 r 1/3)))))))
(fma.f64 (*.f64 r 1/3) (pow.f64 b 3) (fma.f64 r b (*.f64 (pow.f64 b 5) (-.f64 (*.f64 r -1/30) (*.f64 r -1/6)))))
(fma.f64 (pow.f64 b 5) (*.f64 r 2/15) (*.f64 r (+.f64 b (*.f64 (pow.f64 b 3) 1/3))))
(fma.f64 (*.f64 r 2/15) (pow.f64 b 5) (*.f64 r (+.f64 b (*.f64 (pow.f64 b 3) 1/3))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)) (pow.f64 b 3)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 r) (+.f64 (*.f64 -1/2 (-.f64 (*.f64 1/120 r) (+.f64 (*.f64 1/24 r) (*.f64 -1/2 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)))))) (+.f64 (*.f64 -1/720 r) (*.f64 1/24 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)))))) (pow.f64 b 7)) (+.f64 (*.f64 r b) (*.f64 (pow.f64 b 5) (-.f64 (*.f64 1/120 r) (+.f64 (*.f64 1/24 r) (*.f64 -1/2 (-.f64 (*.f64 -1/6 r) (*.f64 -1/2 r)))))))))
(fma.f64 (*.f64 r 1/3) (pow.f64 b 3) (fma.f64 (-.f64 (*.f64 r -1/5040) (fma.f64 -1/2 (-.f64 (*.f64 r 1/120) (fma.f64 1/24 r (*.f64 -1/2 (*.f64 r 1/3)))) (fma.f64 -1/720 r (*.f64 1/24 (*.f64 r 1/3))))) (pow.f64 b 7) (fma.f64 r b (*.f64 (pow.f64 b 5) (-.f64 (*.f64 r 1/120) (fma.f64 1/24 r (*.f64 -1/2 (*.f64 r 1/3))))))))
(fma.f64 (*.f64 r 1/3) (pow.f64 b 3) (fma.f64 (-.f64 (*.f64 r -1/5040) (fma.f64 -1/2 (-.f64 (*.f64 r -1/30) (*.f64 r -1/6)) (fma.f64 r -1/720 (*.f64 r 1/72)))) (pow.f64 b 7) (fma.f64 r b (*.f64 (pow.f64 b 5) (-.f64 (*.f64 r -1/30) (*.f64 r -1/6))))))
(fma.f64 (-.f64 (*.f64 r -1/5040) (fma.f64 -1/2 (*.f64 r 2/15) (*.f64 r 1/80))) (pow.f64 b 7) (fma.f64 (pow.f64 b 5) (*.f64 r 2/15) (*.f64 r (+.f64 b (*.f64 (pow.f64 b 3) 1/3)))))
(fma.f64 (+.f64 (*.f64 r -4/315) (*.f64 1/2 (*.f64 r 2/15))) (pow.f64 b 7) (fma.f64 (*.f64 r 2/15) (pow.f64 b 5) (*.f64 r (+.f64 b (*.f64 (pow.f64 b 3) 1/3)))))
(/.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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 1 r)
(+.f64 (/.f64 1 r) (*.f64 -1/2 (/.f64 (pow.f64 b 2) r)))
(+.f64 (/.f64 1 r) (*.f64 -1/2 (/.f64 (*.f64 b b) r)))
(fma.f64 -1/2 (/.f64 b (/.f64 r b)) (/.f64 1 r))
(fma.f64 -1/2 (*.f64 (/.f64 b r) b) (/.f64 1 r))
(+.f64 (/.f64 1 r) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 b 2) r)) (*.f64 1/24 (/.f64 (pow.f64 b 4) r))))
(+.f64 (/.f64 1 r) (fma.f64 -1/2 (/.f64 (*.f64 b b) r) (*.f64 1/24 (/.f64 (pow.f64 b 4) r))))
(+.f64 (/.f64 1 r) (fma.f64 1/24 (/.f64 (pow.f64 b 4) r) (*.f64 -1/2 (/.f64 b (/.f64 r b)))))
(fma.f64 1/24 (/.f64 (pow.f64 b 4) r) (fma.f64 -1/2 (*.f64 (/.f64 b r) b) (/.f64 1 r)))
(+.f64 (/.f64 1 r) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 b 2) r)) (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 b 6) r)) (*.f64 1/24 (/.f64 (pow.f64 b 4) r)))))
(+.f64 (/.f64 1 r) (fma.f64 -1/2 (/.f64 (*.f64 b b) r) (fma.f64 -1/720 (/.f64 (pow.f64 b 6) r) (*.f64 1/24 (/.f64 (pow.f64 b 4) r)))))
(+.f64 (/.f64 1 r) (fma.f64 -1/2 (/.f64 b (/.f64 r b)) (fma.f64 1/24 (/.f64 (pow.f64 b 4) r) (*.f64 -1/720 (/.f64 (pow.f64 b 6) r)))))
(+.f64 (fma.f64 -1/720 (/.f64 (pow.f64 b 6) r) (*.f64 -1/2 (*.f64 (/.f64 b r) b))) (fma.f64 1/24 (/.f64 (pow.f64 b 4) r) (/.f64 1 r)))
(fma.f64 -1/2 (*.f64 (/.f64 b r) b) (+.f64 (/.f64 1 r) (fma.f64 -1/720 (/.f64 (pow.f64 b 6) r) (*.f64 (/.f64 1/24 r) (pow.f64 b 4)))))

localize47.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 66 to 22 computations (66.7% saved)

series16.0ms (0.1%)

Counts
4 → 28
Calls

27 calls:

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

rewrite90.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
801×log-prod_binary64
691×fma-def_binary64
355×fma-neg_binary64
279×expm1-udef_binary64
279×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01344
129544
2440644
Stop Event
node limit
Counts
4 → 107
Calls
Call 1
Inputs
(*.f64 -1/3 (*.f64 (cos.f64 a) b))
(/.f64 r (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(*.f64 (cos.f64 a) b)
(/.f64 (cos.f64 a) b)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/3 (*.f64 (cos.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/3) (*.f64 (cos.f64 a) b))) (cbrt.f64 (pow.f64 (exp.f64 -1/3) (*.f64 (cos.f64 a) b))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/3) (*.f64 (cos.f64 a) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/3) (*.f64 (cos.f64 a) b)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/3) (*.f64 (cos.f64 a) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/27 (pow.f64 (*.f64 (cos.f64 a) b) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/9 (pow.f64 (*.f64 (cos.f64 a) b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 -1/3) (*.f64 (cos.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 -1/27 (pow.f64 (*.f64 (cos.f64 a) b) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a))))) (cbrt.f64 (exp.f64 (/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a))))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 r (/.f64 1 (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 r) 2) (*.f64 (cbrt.f64 r) (/.f64 1 (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)))) (pow.f64 (cbrt.f64 (/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)))) 2) (cbrt.f64 (/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 r) (*.f64 (sqrt.f64 r) (/.f64 1 (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)))) (sqrt.f64 (/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 r) (/.f64 1 (neg.f64 (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a))) r)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 r) 2) 1) (/.f64 (cbrt.f64 r) (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 r) 1) (/.f64 (sqrt.f64 r) (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a))) 2)) (/.f64 r (cbrt.f64 (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 r) 2) (pow.f64 (cbrt.f64 (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a))) 2)) (cbrt.f64 (/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 r) (pow.f64 (cbrt.f64 (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a))) 2)) (/.f64 (sqrt.f64 r) (cbrt.f64 (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)))) (/.f64 r (sqrt.f64 (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 r) 2) (sqrt.f64 (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)))) (/.f64 (cbrt.f64 r) (sqrt.f64 (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 r (-.f64 (pow.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) 3) (pow.f64 (sin.f64 a) 3))) (fma.f64 (sin.f64 a) (+.f64 (/.f64 (cos.f64 a) b) (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (sin.f64 a))) (pow.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 r (-.f64 (pow.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) 2) (pow.f64 (sin.f64 a) 2))) (+.f64 (/.f64 (cos.f64 a) b) (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)) r) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 r (neg.f64 (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 r 3) (pow.f64 (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 r (-.f64 (fma.f64 -1/3 (*.f64 (cos.f64 a) b) (/.f64 (cos.f64 a) b)) (sin.f64 a)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 b) (cos.f64 a))) (cbrt.f64 (pow.f64 (exp.f64 b) (cos.f64 a))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 b) (cos.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 b) (cos.f64 a)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 b) (cos.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 a) b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 a) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 a) b) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 a) b)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 a) b)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 a) b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 b) (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 a) b) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 a) 3) (pow.f64 b 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 (cos.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 a) b)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (cos.f64 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (cos.f64 a) b))) (cbrt.f64 (exp.f64 (/.f64 (cos.f64 a) b))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (cos.f64 a) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (cos.f64 a) b)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (cos.f64 a) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (cos.f64 a) b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 a) (/.f64 1 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 a) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (cos.f64 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (cos.f64 a) b)) (pow.f64 (cbrt.f64 (/.f64 (cos.f64 a) b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 a) b)) 2) (cbrt.f64 (/.f64 (cos.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 a)) 2) (*.f64 (cbrt.f64 (cos.f64 a)) (/.f64 1 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (cos.f64 a) b)) (sqrt.f64 (/.f64 (cos.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 a)) (*.f64 (sqrt.f64 (cos.f64 a)) (/.f64 1 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cos.f64 a)) (/.f64 1 (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b) (cos.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 a)) 2) 1) (/.f64 (cbrt.f64 (cos.f64 a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (cos.f64 a)) 1) (/.f64 (sqrt.f64 (cos.f64 a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 b) 2)) (/.f64 (cos.f64 a) (cbrt.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 a)) 2) (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 (/.f64 (cos.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (cos.f64 a)) (pow.f64 (cbrt.f64 b) 2)) (/.f64 (sqrt.f64 (cos.f64 a)) (cbrt.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 b)) (/.f64 (cos.f64 a) (sqrt.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 a)) 2) (sqrt.f64 b)) (/.f64 (cbrt.f64 (cos.f64 a)) (sqrt.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cos.f64 a) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (cos.f64 a) b)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (cos.f64 a) b)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (cos.f64 a) b) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 b (cos.f64 a)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (cos.f64 a) (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (cos.f64 a) b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (cos.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (cos.f64 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (cos.f64 a) b) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (cos.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (cos.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (cos.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (cos.f64 a) b)) 1))))))

simplify54.0ms (0.4%)

Algorithm
egg-herbie
Rules
905×fma-def_binary64
813×times-frac_binary64
717×associate-*l*_binary64
519×associate-/l*_binary64
457×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01741262
15441239
219631180
Stop Event
node limit
Counts
135 → 156
Calls
Call 1
Inputs
(*.f64 -1/3 b)
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 2) b)) (*.f64 -1/3 b))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 2) b)) (+.f64 (*.f64 -1/3 b) (*.f64 -1/72 (*.f64 (pow.f64 a 4) b))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 2) b)) (+.f64 (*.f64 -1/3 b) (+.f64 (*.f64 1/2160 (*.f64 (pow.f64 a 6) b)) (*.f64 -1/72 (*.f64 (pow.f64 a 4) b)))))
(/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b)))
(+.f64 (/.f64 (*.f64 a r) (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 2)) (/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b))))
(+.f64 (/.f64 (*.f64 a r) (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (/.f64 (*.f64 (-.f64 (*.f64 1/6 b) (*.f64 1/2 (/.f64 1 b))) r) (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 2)) (*.f64 -1 (/.f64 r (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 3)))))) (/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b)))))
(+.f64 (/.f64 (*.f64 a r) (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (*.f64 -1 (/.f64 r (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 4))) (+.f64 (*.f64 2 (/.f64 (*.f64 (-.f64 (*.f64 1/6 b) (*.f64 1/2 (/.f64 1 b))) r) (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 3))) (*.f64 1/6 (/.f64 r (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 2))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (/.f64 (*.f64 (-.f64 (*.f64 1/6 b) (*.f64 1/2 (/.f64 1 b))) r) (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 2)) (*.f64 -1 (/.f64 r (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 3)))))) (/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 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 -1 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))) (pow.f64 b 3))) (/.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 -1 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))) (pow.f64 b 3))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (/.f64 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))) (sin.f64 a)) (cos.f64 a))) (pow.f64 b 4))) (/.f64 (*.f64 r b) (cos.f64 a)))))
(*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b)))
(+.f64 (*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b))) (*.f64 9 (/.f64 (*.f64 (sin.f64 a) r) (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 b 2)))))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 9 (/.f64 r (cos.f64 a))) (*.f64 27 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))) (pow.f64 b 3))) (+.f64 (*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b))) (*.f64 9 (/.f64 (*.f64 (sin.f64 a) r) (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 b 2))))))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -27 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (*.f64 -3 (/.f64 (*.f64 (sin.f64 a) (+.f64 (*.f64 9 (/.f64 r (cos.f64 a))) (*.f64 27 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))) (cos.f64 a)))) (pow.f64 b 4))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 9 (/.f64 r (cos.f64 a))) (*.f64 27 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))) (pow.f64 b 3))) (+.f64 (*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b))) (*.f64 9 (/.f64 (*.f64 (sin.f64 a) r) (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 b 2)))))))
(*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b)))
(+.f64 (*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b))) (*.f64 9 (/.f64 (*.f64 (sin.f64 a) r) (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 b 2)))))
(+.f64 (*.f64 -9 (/.f64 r (*.f64 (cos.f64 a) (pow.f64 b 3)))) (+.f64 (*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b))) (+.f64 (*.f64 9 (/.f64 (*.f64 (sin.f64 a) r) (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 b 2)))) (*.f64 -27 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (*.f64 (pow.f64 (cos.f64 a) 3) (pow.f64 b 3)))))))
(+.f64 (*.f64 -9 (/.f64 r (*.f64 (cos.f64 a) (pow.f64 b 3)))) (+.f64 (*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b))) (+.f64 (*.f64 9 (/.f64 (*.f64 (sin.f64 a) r) (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 b 2)))) (+.f64 (*.f64 -27 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (*.f64 (pow.f64 (cos.f64 a) 3) (pow.f64 b 3)))) (*.f64 -1 (/.f64 (+.f64 (*.f64 3 (/.f64 (*.f64 (sin.f64 a) (+.f64 (*.f64 -9 (/.f64 r (cos.f64 a))) (*.f64 -27 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))) (cos.f64 a))) (*.f64 -27 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2)))) (pow.f64 b 4)))))))
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/24 (*.f64 (pow.f64 a 4) b)) b))
(+.f64 (*.f64 -1/720 (*.f64 (pow.f64 a 6) b)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) b)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 a 4) b)) b)))
(/.f64 1 b)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a 2) b)) (/.f64 1 b))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a 2) b)) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 a 4) b)) (/.f64 1 b)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a 2) b)) (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 a 6) b)) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 a 4) b)) (/.f64 1 b))))
Outputs
(*.f64 -1/3 b)
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 2) b)) (*.f64 -1/3 b))
(fma.f64 1/6 (*.f64 b (*.f64 a a)) (*.f64 -1/3 b))
(*.f64 b (+.f64 -1/3 (*.f64 1/6 (*.f64 a a))))
(*.f64 b (fma.f64 1/6 (*.f64 a a) -1/3))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 2) b)) (+.f64 (*.f64 -1/3 b) (*.f64 -1/72 (*.f64 (pow.f64 a 4) b))))
(fma.f64 1/6 (*.f64 b (*.f64 a a)) (fma.f64 -1/3 b (*.f64 -1/72 (*.f64 b (pow.f64 a 4)))))
(fma.f64 1/6 (*.f64 b (*.f64 a a)) (*.f64 b (+.f64 -1/3 (*.f64 -1/72 (pow.f64 a 4)))))
(*.f64 b (+.f64 (*.f64 1/6 (*.f64 a a)) (fma.f64 -1/72 (pow.f64 a 4) -1/3)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 2) b)) (+.f64 (*.f64 -1/3 b) (+.f64 (*.f64 1/2160 (*.f64 (pow.f64 a 6) b)) (*.f64 -1/72 (*.f64 (pow.f64 a 4) b)))))
(fma.f64 1/6 (*.f64 b (*.f64 a a)) (fma.f64 -1/3 b (fma.f64 1/2160 (*.f64 b (pow.f64 a 6)) (*.f64 -1/72 (*.f64 b (pow.f64 a 4))))))
(fma.f64 1/6 (*.f64 b (*.f64 a a)) (fma.f64 -1/3 b (*.f64 b (+.f64 (*.f64 -1/72 (pow.f64 a 4)) (*.f64 1/2160 (pow.f64 a 6))))))
(*.f64 b (+.f64 (fma.f64 1/6 (*.f64 a a) -1/3) (fma.f64 -1/72 (pow.f64 a 4) (*.f64 1/2160 (pow.f64 a 6)))))
(/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b)))
(/.f64 r (fma.f64 -1/3 b (/.f64 1 b)))
(+.f64 (/.f64 (*.f64 a r) (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 2)) (/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b))))
(+.f64 (/.f64 r (fma.f64 -1/3 b (/.f64 1 b))) (/.f64 a (/.f64 (pow.f64 (fma.f64 -1/3 b (/.f64 1 b)) 2) r)))
(+.f64 (/.f64 r (fma.f64 -1/3 b (/.f64 1 b))) (*.f64 (/.f64 a (pow.f64 (fma.f64 -1/3 b (/.f64 1 b)) 2)) r))
(*.f64 (+.f64 (/.f64 a (fma.f64 -1/3 b (/.f64 1 b))) 1) (/.f64 r (fma.f64 -1/3 b (/.f64 1 b))))
(+.f64 (/.f64 (*.f64 a r) (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (/.f64 (*.f64 (-.f64 (*.f64 1/6 b) (*.f64 1/2 (/.f64 1 b))) r) (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 2)) (*.f64 -1 (/.f64 r (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 3)))))) (/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b)))))
(+.f64 (/.f64 a (/.f64 (pow.f64 (fma.f64 -1/3 b (/.f64 1 b)) 2) r)) (fma.f64 -1 (*.f64 (*.f64 a a) (+.f64 (/.f64 (-.f64 (*.f64 b 1/6) (/.f64 1/2 b)) (/.f64 (pow.f64 (fma.f64 -1/3 b (/.f64 1 b)) 2) r)) (neg.f64 (/.f64 r (pow.f64 (fma.f64 -1/3 b (/.f64 1 b)) 3))))) (/.f64 r (fma.f64 -1/3 b (/.f64 1 b)))))
(+.f64 (/.f64 r (fma.f64 -1/3 b (/.f64 1 b))) (-.f64 (*.f64 (/.f64 a (pow.f64 (fma.f64 -1/3 b (/.f64 1 b)) 2)) r) (*.f64 (*.f64 a a) (-.f64 (*.f64 (/.f64 (fma.f64 b 1/6 (/.f64 -1/2 b)) (pow.f64 (fma.f64 -1/3 b (/.f64 1 b)) 2)) r) (/.f64 r (pow.f64 (fma.f64 -1/3 b (/.f64 1 b)) 3))))))
(fma.f64 (-.f64 (*.f64 (/.f64 r (pow.f64 (fma.f64 -1/3 b (/.f64 1 b)) 2)) (fma.f64 b 1/6 (/.f64 -1/2 b))) (/.f64 r (pow.f64 (fma.f64 -1/3 b (/.f64 1 b)) 3))) (*.f64 a (neg.f64 a)) (*.f64 (+.f64 (/.f64 a (fma.f64 -1/3 b (/.f64 1 b))) 1) (/.f64 r (fma.f64 -1/3 b (/.f64 1 b)))))
(+.f64 (/.f64 (*.f64 a r) (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (*.f64 -1 (/.f64 r (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 4))) (+.f64 (*.f64 2 (/.f64 (*.f64 (-.f64 (*.f64 1/6 b) (*.f64 1/2 (/.f64 1 b))) r) (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 3))) (*.f64 1/6 (/.f64 r (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 2))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (/.f64 (*.f64 (-.f64 (*.f64 1/6 b) (*.f64 1/2 (/.f64 1 b))) r) (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 2)) (*.f64 -1 (/.f64 r (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 3)))))) (/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b))))))
(+.f64 (/.f64 a (/.f64 (pow.f64 (fma.f64 -1/3 b (/.f64 1 b)) 2) r)) (fma.f64 -1 (*.f64 (pow.f64 a 3) (fma.f64 -1 (/.f64 r (pow.f64 (fma.f64 -1/3 b (/.f64 1 b)) 4)) (fma.f64 2 (/.f64 (-.f64 (*.f64 b 1/6) (/.f64 1/2 b)) (/.f64 (pow.f64 (fma.f64 -1/3 b (/.f64 1 b)) 3) r)) (*.f64 1/6 (/.f64 r (pow.f64 (fma.f64 -1/3 b (/.f64 1 b)) 2)))))) (fma.f64 -1 (*.f64 (*.f64 a a) (+.f64 (/.f64 (-.f64 (*.f64 b 1/6) (/.f64 1/2 b)) (/.f64 (pow.f64 (fma.f64 -1/3 b (/.f64 1 b)) 2) r)) (neg.f64 (/.f64 r (pow.f64 (fma.f64 -1/3 b (/.f64 1 b)) 3))))) (/.f64 r (fma.f64 -1/3 b (/.f64 1 b))))))
(+.f64 (*.f64 (/.f64 a (pow.f64 (fma.f64 -1/3 b (/.f64 1 b)) 2)) r) (-.f64 (-.f64 (/.f64 r (fma.f64 -1/3 b (/.f64 1 b))) (*.f64 (*.f64 a a) (-.f64 (*.f64 (/.f64 (fma.f64 b 1/6 (/.f64 -1/2 b)) (pow.f64 (fma.f64 -1/3 b (/.f64 1 b)) 2)) r) (/.f64 r (pow.f64 (fma.f64 -1/3 b (/.f64 1 b)) 3))))) (*.f64 (pow.f64 a 3) (-.f64 (fma.f64 1/6 (/.f64 r (pow.f64 (fma.f64 -1/3 b (/.f64 1 b)) 2)) (*.f64 2 (/.f64 (fma.f64 b 1/6 (/.f64 -1/2 b)) (/.f64 (pow.f64 (fma.f64 -1/3 b (/.f64 1 b)) 3) r)))) (/.f64 r (pow.f64 (fma.f64 -1/3 b (/.f64 1 b)) 4))))))
(fma.f64 -1 (*.f64 (*.f64 a a) (+.f64 (*.f64 (-.f64 (fma.f64 1/6 (/.f64 r (pow.f64 (fma.f64 -1/3 b (/.f64 1 b)) 2)) (*.f64 (/.f64 (fma.f64 b 1/6 (/.f64 -1/2 b)) (pow.f64 (fma.f64 -1/3 b (/.f64 1 b)) 3)) (*.f64 r 2))) (/.f64 r (pow.f64 (fma.f64 -1/3 b (/.f64 1 b)) 4))) a) (-.f64 (*.f64 (/.f64 r (pow.f64 (fma.f64 -1/3 b (/.f64 1 b)) 2)) (fma.f64 b 1/6 (/.f64 -1/2 b))) (/.f64 r (pow.f64 (fma.f64 -1/3 b (/.f64 1 b)) 3))))) (*.f64 (+.f64 (/.f64 a (fma.f64 -1/3 b (/.f64 1 b))) 1) (/.f64 r (fma.f64 -1/3 b (/.f64 1 b)))))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.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 r (/.f64 (cos.f64 a) b)) (/.f64 (*.f64 (sin.f64 a) (*.f64 r (*.f64 b b))) (pow.f64 (cos.f64 a) 2)))
(+.f64 (*.f64 (/.f64 b (cos.f64 a)) r) (/.f64 (*.f64 r (*.f64 b b)) (/.f64 (pow.f64 (cos.f64 a) 2) (sin.f64 a))))
(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 -1 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))) (pow.f64 b 3))) (/.f64 (*.f64 r b) (cos.f64 a))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (*.f64 b b))) (pow.f64 (cos.f64 a) 2)) (fma.f64 -1 (*.f64 (fma.f64 -1/3 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r)))) (pow.f64 b 3)) (/.f64 r (/.f64 (cos.f64 a) b))))
(+.f64 (/.f64 (*.f64 r (*.f64 b b)) (/.f64 (pow.f64 (cos.f64 a) 2) (sin.f64 a))) (-.f64 (*.f64 (/.f64 b (cos.f64 a)) r) (*.f64 (-.f64 (*.f64 -1/3 (/.f64 r (cos.f64 a))) (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) r)) (pow.f64 b 3))))
(fma.f64 (*.f64 (/.f64 r (cos.f64 a)) (-.f64 -1/3 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 2)))) (neg.f64 (pow.f64 b 3)) (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 -1 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))) (pow.f64 b 3))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (/.f64 (*.f64 (+.f64 (*.f64 -1/3 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))) (sin.f64 a)) (cos.f64 a))) (pow.f64 b 4))) (/.f64 (*.f64 r b) (cos.f64 a)))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (*.f64 b b))) (pow.f64 (cos.f64 a) 2)) (fma.f64 -1 (*.f64 (fma.f64 -1/3 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r)))) (pow.f64 b 3)) (fma.f64 -1 (*.f64 (fma.f64 -1/3 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) r)) (/.f64 (fma.f64 -1/3 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r)))) (/.f64 (cos.f64 a) (sin.f64 a)))) (pow.f64 b 4)) (/.f64 r (/.f64 (cos.f64 a) b)))))
(+.f64 (-.f64 (*.f64 (/.f64 b (cos.f64 a)) r) (*.f64 (fma.f64 -1/3 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) r)) (*.f64 (/.f64 (-.f64 (*.f64 -1/3 (/.f64 r (cos.f64 a))) (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) r)) (cos.f64 a)) (sin.f64 a))) (pow.f64 b 4))) (-.f64 (/.f64 (*.f64 r (*.f64 b b)) (/.f64 (pow.f64 (cos.f64 a) 2) (sin.f64 a))) (*.f64 (-.f64 (*.f64 -1/3 (/.f64 r (cos.f64 a))) (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) r)) (pow.f64 b 3))))
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b (*.f64 b r)) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) b) (fma.f64 (*.f64 (/.f64 r (cos.f64 a)) (-.f64 -1/3 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 2)))) (pow.f64 b 3) (*.f64 (fma.f64 (/.f64 (*.f64 (/.f64 r (cos.f64 a)) (-.f64 -1/3 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 2)))) (cos.f64 a)) (sin.f64 a) (/.f64 -1/3 (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 r (sin.f64 a))))) (pow.f64 b 4)))))
(*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b)))
(*.f64 -3 (/.f64 r (*.f64 b (cos.f64 a))))
(*.f64 -3 (/.f64 (/.f64 r b) (cos.f64 a)))
(*.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b))
(+.f64 (*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b))) (*.f64 9 (/.f64 (*.f64 (sin.f64 a) r) (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 b 2)))))
(fma.f64 -3 (/.f64 r (*.f64 b (cos.f64 a))) (*.f64 9 (/.f64 (sin.f64 a) (/.f64 (*.f64 (*.f64 b b) (pow.f64 (cos.f64 a) 2)) r))))
(fma.f64 9 (/.f64 (*.f64 (sin.f64 a) (/.f64 r (*.f64 b b))) (pow.f64 (cos.f64 a) 2)) (*.f64 -3 (/.f64 (/.f64 r b) (cos.f64 a))))
(fma.f64 (/.f64 (*.f64 9 (sin.f64 a)) (pow.f64 (cos.f64 a) 2)) (/.f64 r (*.f64 b b)) (*.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b)))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 9 (/.f64 r (cos.f64 a))) (*.f64 27 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))) (pow.f64 b 3))) (+.f64 (*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b))) (*.f64 9 (/.f64 (*.f64 (sin.f64 a) r) (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 b 2))))))
(fma.f64 -1 (/.f64 (fma.f64 9 (/.f64 r (cos.f64 a)) (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r)) 27)) (pow.f64 b 3)) (fma.f64 -3 (/.f64 r (*.f64 b (cos.f64 a))) (*.f64 9 (/.f64 (sin.f64 a) (/.f64 (*.f64 (*.f64 b b) (pow.f64 (cos.f64 a) 2)) r)))))
(-.f64 (fma.f64 9 (/.f64 (*.f64 (sin.f64 a) (/.f64 r (*.f64 b b))) (pow.f64 (cos.f64 a) 2)) (*.f64 -3 (/.f64 (/.f64 r b) (cos.f64 a)))) (/.f64 (fma.f64 (/.f64 r (cos.f64 a)) 9 (*.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) r) 27)) (pow.f64 b 3)))
(fma.f64 -3 (/.f64 r (*.f64 b (cos.f64 a))) (fma.f64 9 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (/.f64 r (*.f64 b b))) (/.f64 (fma.f64 (/.f64 r (cos.f64 a)) -9 (*.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) r) -27)) (pow.f64 b 3))))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -27 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (*.f64 -3 (/.f64 (*.f64 (sin.f64 a) (+.f64 (*.f64 9 (/.f64 r (cos.f64 a))) (*.f64 27 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))) (cos.f64 a)))) (pow.f64 b 4))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 9 (/.f64 r (cos.f64 a))) (*.f64 27 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))) (pow.f64 b 3))) (+.f64 (*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b))) (*.f64 9 (/.f64 (*.f64 (sin.f64 a) r) (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 b 2)))))))
(fma.f64 -1 (/.f64 (fma.f64 -27 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) r)) (*.f64 -3 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (fma.f64 9 (/.f64 r (cos.f64 a)) (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r)) 27)))))) (pow.f64 b 4)) (fma.f64 -1 (/.f64 (fma.f64 9 (/.f64 r (cos.f64 a)) (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r)) 27)) (pow.f64 b 3)) (fma.f64 -3 (/.f64 r (*.f64 b (cos.f64 a))) (*.f64 9 (/.f64 (sin.f64 a) (/.f64 (*.f64 (*.f64 b b) (pow.f64 (cos.f64 a) 2)) r))))))
(-.f64 (-.f64 (fma.f64 9 (/.f64 (*.f64 (sin.f64 a) (/.f64 r (*.f64 b b))) (pow.f64 (cos.f64 a) 2)) (*.f64 -3 (/.f64 (/.f64 r b) (cos.f64 a)))) (/.f64 (fma.f64 (/.f64 r (cos.f64 a)) 9 (*.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) r) 27)) (pow.f64 b 3))) (/.f64 (fma.f64 -3 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (fma.f64 (/.f64 r (cos.f64 a)) 9 (*.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) r) 27))) (*.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) r)) -27)) (pow.f64 b 4)))
(-.f64 (fma.f64 -3 (/.f64 r (*.f64 b (cos.f64 a))) (fma.f64 9 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (/.f64 r (*.f64 b b))) (/.f64 (fma.f64 (/.f64 r (cos.f64 a)) -9 (*.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) r) -27)) (pow.f64 b 3)))) (/.f64 (fma.f64 3 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (fma.f64 (/.f64 r (cos.f64 a)) -9 (*.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) r) -27))) (/.f64 (sin.f64 a) (/.f64 (/.f64 (pow.f64 (cos.f64 a) 2) r) -27))) (pow.f64 b 4)))
(*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b)))
(*.f64 -3 (/.f64 r (*.f64 b (cos.f64 a))))
(*.f64 -3 (/.f64 (/.f64 r b) (cos.f64 a)))
(*.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b))
(+.f64 (*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b))) (*.f64 9 (/.f64 (*.f64 (sin.f64 a) r) (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 b 2)))))
(fma.f64 -3 (/.f64 r (*.f64 b (cos.f64 a))) (*.f64 9 (/.f64 (sin.f64 a) (/.f64 (*.f64 (*.f64 b b) (pow.f64 (cos.f64 a) 2)) r))))
(fma.f64 9 (/.f64 (*.f64 (sin.f64 a) (/.f64 r (*.f64 b b))) (pow.f64 (cos.f64 a) 2)) (*.f64 -3 (/.f64 (/.f64 r b) (cos.f64 a))))
(fma.f64 (/.f64 (*.f64 9 (sin.f64 a)) (pow.f64 (cos.f64 a) 2)) (/.f64 r (*.f64 b b)) (*.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b)))
(+.f64 (*.f64 -9 (/.f64 r (*.f64 (cos.f64 a) (pow.f64 b 3)))) (+.f64 (*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b))) (+.f64 (*.f64 9 (/.f64 (*.f64 (sin.f64 a) r) (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 b 2)))) (*.f64 -27 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (*.f64 (pow.f64 (cos.f64 a) 3) (pow.f64 b 3)))))))
(fma.f64 -9 (/.f64 (/.f64 r (cos.f64 a)) (pow.f64 b 3)) (fma.f64 -3 (/.f64 r (*.f64 b (cos.f64 a))) (fma.f64 9 (/.f64 (sin.f64 a) (/.f64 (*.f64 (*.f64 b b) (pow.f64 (cos.f64 a) 2)) r)) (*.f64 -27 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) (/.f64 r (pow.f64 b 3)))))))
(fma.f64 -9 (/.f64 (/.f64 r (pow.f64 b 3)) (cos.f64 a)) (fma.f64 -3 (/.f64 (/.f64 r b) (cos.f64 a)) (fma.f64 9 (/.f64 (*.f64 (sin.f64 a) (/.f64 r (*.f64 b b))) (pow.f64 (cos.f64 a) 2)) (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) (*.f64 (/.f64 r (pow.f64 b 3)) -27)))))
(+.f64 (fma.f64 (/.f64 (*.f64 9 (sin.f64 a)) (pow.f64 (cos.f64 a) 2)) (/.f64 r (*.f64 b b)) (*.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b))) (*.f64 (/.f64 r (pow.f64 b 3)) (+.f64 (/.f64 (*.f64 -27 (pow.f64 (sin.f64 a) 2)) (pow.f64 (cos.f64 a) 3)) (/.f64 -9 (cos.f64 a)))))
(+.f64 (*.f64 -9 (/.f64 r (*.f64 (cos.f64 a) (pow.f64 b 3)))) (+.f64 (*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b))) (+.f64 (*.f64 9 (/.f64 (*.f64 (sin.f64 a) r) (*.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 b 2)))) (+.f64 (*.f64 -27 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (*.f64 (pow.f64 (cos.f64 a) 3) (pow.f64 b 3)))) (*.f64 -1 (/.f64 (+.f64 (*.f64 3 (/.f64 (*.f64 (sin.f64 a) (+.f64 (*.f64 -9 (/.f64 r (cos.f64 a))) (*.f64 -27 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))) (cos.f64 a))) (*.f64 -27 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2)))) (pow.f64 b 4)))))))
(fma.f64 -9 (/.f64 (/.f64 r (cos.f64 a)) (pow.f64 b 3)) (fma.f64 -3 (/.f64 r (*.f64 b (cos.f64 a))) (fma.f64 9 (/.f64 (sin.f64 a) (/.f64 (*.f64 (*.f64 b b) (pow.f64 (cos.f64 a) 2)) r)) (fma.f64 -27 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) (/.f64 r (pow.f64 b 3))) (neg.f64 (/.f64 (fma.f64 3 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (fma.f64 -9 (/.f64 r (cos.f64 a)) (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r)) -27)))) (*.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) r)) -27)) (pow.f64 b 4)))))))
(fma.f64 -9 (/.f64 (/.f64 r (pow.f64 b 3)) (cos.f64 a)) (fma.f64 -3 (/.f64 (/.f64 r b) (cos.f64 a)) (-.f64 (fma.f64 9 (/.f64 (*.f64 (sin.f64 a) (/.f64 r (*.f64 b b))) (pow.f64 (cos.f64 a) 2)) (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) (*.f64 (/.f64 r (pow.f64 b 3)) -27))) (/.f64 (fma.f64 3 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (fma.f64 (/.f64 r (cos.f64 a)) -9 (*.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) r) -27))) (*.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) r)) -27)) (pow.f64 b 4)))))
(-.f64 (+.f64 (fma.f64 (/.f64 (*.f64 9 (sin.f64 a)) (pow.f64 (cos.f64 a) 2)) (/.f64 r (*.f64 b b)) (*.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b))) (*.f64 (/.f64 r (pow.f64 b 3)) (+.f64 (/.f64 (*.f64 -27 (pow.f64 (sin.f64 a) 2)) (pow.f64 (cos.f64 a) 3)) (/.f64 -9 (cos.f64 a))))) (/.f64 (fma.f64 3 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (fma.f64 (/.f64 r (cos.f64 a)) -9 (*.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) r) -27))) (/.f64 (sin.f64 a) (/.f64 (/.f64 (pow.f64 (cos.f64 a) 2) r) -27))) (pow.f64 b 4)))
b
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) b)) b)
(fma.f64 -1/2 (*.f64 b (*.f64 a a)) b)
(fma.f64 (*.f64 b (*.f64 a a)) -1/2 b)
(*.f64 (fma.f64 (*.f64 a a) -1/2 1) b)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) b)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 a 4) b)) b))
(fma.f64 -1/2 (*.f64 b (*.f64 a a)) (fma.f64 1/24 (*.f64 b (pow.f64 a 4)) b))
(fma.f64 (*.f64 b (*.f64 a a)) -1/2 (fma.f64 (*.f64 b (pow.f64 a 4)) 1/24 b))
(fma.f64 b (fma.f64 (*.f64 a a) -1/2 (*.f64 (pow.f64 a 4) 1/24)) b)
(+.f64 (*.f64 -1/720 (*.f64 (pow.f64 a 6) b)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) b)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 a 4) b)) b)))
(fma.f64 -1/720 (*.f64 b (pow.f64 a 6)) (fma.f64 -1/2 (*.f64 b (*.f64 a a)) (fma.f64 1/24 (*.f64 b (pow.f64 a 4)) b)))
(fma.f64 (*.f64 b (pow.f64 a 6)) -1/720 (fma.f64 (*.f64 b (*.f64 a a)) -1/2 (fma.f64 (*.f64 b (pow.f64 a 4)) 1/24 b)))
(fma.f64 b (*.f64 (pow.f64 a 6) -1/720) (fma.f64 b (fma.f64 (*.f64 a a) -1/2 (*.f64 (pow.f64 a 4) 1/24)) b))
(/.f64 1 b)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a 2) b)) (/.f64 1 b))
(fma.f64 -1/2 (/.f64 (*.f64 a a) b) (/.f64 1 b))
(fma.f64 -1/2 (/.f64 a (/.f64 b a)) (/.f64 1 b))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a 2) b)) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 a 4) b)) (/.f64 1 b)))
(fma.f64 -1/2 (/.f64 (*.f64 a a) b) (fma.f64 1/24 (/.f64 (pow.f64 a 4) b) (/.f64 1 b)))
(fma.f64 -1/2 (/.f64 a (/.f64 b a)) (fma.f64 1/24 (/.f64 (pow.f64 a 4) b) (/.f64 1 b)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a 2) b)) (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 a 6) b)) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 a 4) b)) (/.f64 1 b))))
(fma.f64 -1/2 (/.f64 (*.f64 a a) b) (fma.f64 -1/720 (/.f64 (pow.f64 a 6) b) (fma.f64 1/24 (/.f64 (pow.f64 a 4) b) (/.f64 1 b))))
(fma.f64 -1/2 (/.f64 a (/.f64 b a)) (fma.f64 -1/720 (/.f64 (pow.f64 a 6) b) (fma.f64 1/24 (/.f64 (pow.f64 a 4) b) (/.f64 1 b))))

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 49 to 10 computations (79.6% saved)

series13.0ms (0.1%)

Counts
3 → 84
Calls

21 calls:

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

rewrite99.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
917×prod-diff_binary64
670×log-prod_binary64
316×fma-def_binary64
235×expm1-udef_binary64
235×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01152
124352
2354752
Stop Event
node limit
Counts
3 → 208
Calls
Call 1
Inputs
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))) (cbrt.f64 (exp.f64 (/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 r (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 r (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 r (sin.f64 b))) (neg.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 r (sin.f64 b)) 1) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 r (sin.f64 b)) (cbrt.f64 (pow.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) 2))) (cbrt.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 r (sin.f64 b)) (sqrt.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))) (sqrt.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sin.f64 b)) r) (neg.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 r (neg.f64 (sin.f64 b))) (neg.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 r 3) (pow.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) 3) (pow.f64 r 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))) (cbrt.f64 (exp.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 b) (/.f64 1 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))) (pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))) 2) (cbrt.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (*.f64 (cbrt.f64 (sin.f64 b)) (/.f64 1 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))) (sqrt.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (sqrt.f64 (sin.f64 b)) (/.f64 1 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 b)) (/.f64 1 (neg.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) (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)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 b)) 1) (/.f64 (sqrt.f64 (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (pow.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) 2))) (/.f64 (sin.f64 b) (cbrt.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (cbrt.f64 (pow.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) 2))) (cbrt.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 b)) (cbrt.f64 (pow.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) 2))) (/.f64 (sqrt.f64 (sin.f64 b)) (cbrt.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))) (/.f64 (sin.f64 b) (sqrt.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (sqrt.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))) (/.f64 (cbrt.f64 (sin.f64 b)) (sqrt.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) (-.f64 (pow.f64 (cos.f64 a) 3) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3))) (fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (fma.f64 (sin.f64 b) (sin.f64 a) (cos.f64 a)) (pow.f64 (cos.f64 a) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) (-.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 2))) (fma.f64 (sin.f64 b) (sin.f64 a) (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) (sin.f64 b)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sin.f64 b) (neg.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 a) (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 a) (*.f64 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) (fma.f64 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))) 1 (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) (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 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 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 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) (fma.f64 -1 (*.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 a) (*.f64 (sin.f64 b) (sin.f64 a))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2)) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))) (cos.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 a) 1 (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b)) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b))) (pow.f64 (cbrt.f64 (sin.f64 a)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b)) (pow.f64 (cbrt.f64 (sin.f64 a)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (cos.f64 a) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b)) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b))) (pow.f64 (cbrt.f64 (sin.f64 a)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b)) (pow.f64 (cbrt.f64 (sin.f64 a)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (cos.f64 a)) (cbrt.f64 (pow.f64 (cos.f64 a) 2)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b)) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b))) (pow.f64 (cbrt.f64 (sin.f64 a)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b)) (pow.f64 (cbrt.f64 (sin.f64 a)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (pow.f64 (cos.f64 a) 2)) (cbrt.f64 (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b)) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b))) (pow.f64 (cbrt.f64 (sin.f64 a)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (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)) (sqrt.f64 (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b)) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b))) (pow.f64 (cbrt.f64 (sin.f64 a)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (sin.f64 b)) (pow.f64 (cbrt.f64 (sin.f64 a)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 a) 1 (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (pow.f64 (cbrt.f64 (sin.f64 b)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (cos.f64 a) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (pow.f64 (cbrt.f64 (sin.f64 b)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (cos.f64 a)) (cbrt.f64 (pow.f64 (cos.f64 a) 2)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (pow.f64 (cbrt.f64 (sin.f64 b)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (pow.f64 (cos.f64 a) 2)) (cbrt.f64 (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (pow.f64 (cbrt.f64 (sin.f64 b)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 a)) (sqrt.f64 (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (pow.f64 (cbrt.f64 (sin.f64 b)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 a) 1 (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b)) (sqrt.f64 (sin.f64 a))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b))) (sqrt.f64 (sin.f64 a)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b)) (sqrt.f64 (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (cos.f64 a) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b)) (sqrt.f64 (sin.f64 a))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b))) (sqrt.f64 (sin.f64 a)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b)) (sqrt.f64 (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (cos.f64 a)) (cbrt.f64 (pow.f64 (cos.f64 a) 2)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b)) (sqrt.f64 (sin.f64 a))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b))) (sqrt.f64 (sin.f64 a)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b)) (sqrt.f64 (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (pow.f64 (cos.f64 a) 2)) (cbrt.f64 (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b)) (sqrt.f64 (sin.f64 a))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b))) (sqrt.f64 (sin.f64 a)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b)) (sqrt.f64 (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 a)) (sqrt.f64 (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b)) (sqrt.f64 (sin.f64 a))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b))) (sqrt.f64 (sin.f64 a)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (sin.f64 b)) (sqrt.f64 (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 a) 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 (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 (cos.f64 a)) (cbrt.f64 (pow.f64 (cos.f64 a) 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 (cbrt.f64 (pow.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 (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) 1 (neg.f64 (*.f64 1/2 (-.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 b a)))))) (fma.f64 -1/2 (-.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 b a))) (*.f64 1/2 (-.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (cos.f64 a) (neg.f64 (*.f64 1/2 (-.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 b a)))))) (fma.f64 -1/2 (-.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 b a))) (*.f64 1/2 (-.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (cos.f64 a)) (cbrt.f64 (pow.f64 (cos.f64 a) 2)) (neg.f64 (*.f64 1/2 (-.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 b a)))))) (fma.f64 -1/2 (-.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 b a))) (*.f64 1/2 (-.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (pow.f64 (cos.f64 a) 2)) (cbrt.f64 (cos.f64 a)) (neg.f64 (*.f64 1/2 (-.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 b a)))))) (fma.f64 -1/2 (-.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 b a))) (*.f64 1/2 (-.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 a)) (sqrt.f64 (cos.f64 a)) (neg.f64 (*.f64 1/2 (-.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 b a)))))) (fma.f64 -1/2 (-.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 b a))) (*.f64 1/2 (-.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 a) 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 (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 (cos.f64 a)) (cbrt.f64 (pow.f64 (cos.f64 a) 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 (cbrt.f64 (pow.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 (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) 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 (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 (cos.f64 a)) (cbrt.f64 (pow.f64 (cos.f64 a) 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 (cbrt.f64 (pow.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 (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) 1 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (pow.f64 (cbrt.f64 (sin.f64 b)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)) (*.f64 (cbrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (cos.f64 a) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (pow.f64 (cbrt.f64 (sin.f64 b)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)) (*.f64 (cbrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (cos.f64 a)) (cbrt.f64 (pow.f64 (cos.f64 a) 2)) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (pow.f64 (cbrt.f64 (sin.f64 b)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)) (*.f64 (cbrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (pow.f64 (cos.f64 a) 2)) (cbrt.f64 (cos.f64 a)) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (pow.f64 (cbrt.f64 (sin.f64 b)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)) (*.f64 (cbrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 a)) (sqrt.f64 (cos.f64 a)) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (pow.f64 (cbrt.f64 (sin.f64 b)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)) (*.f64 (cbrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 a) 1 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b))) (*.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (cos.f64 a) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b))) (*.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (cos.f64 a)) (cbrt.f64 (pow.f64 (cos.f64 a) 2)) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b))) (*.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (pow.f64 (cos.f64 a) 2)) (cbrt.f64 (cos.f64 a)) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b))) (*.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 a)) (sqrt.f64 (cos.f64 a)) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b))) (*.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (sqrt.f64 (sin.f64 b))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))) (cbrt.f64 (exp.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))) (log.f64 (cbrt.f64 (exp.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) (cbrt.f64 (pow.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) 2)) (cbrt.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) (sqrt.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (cos.f64 a) 3) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3)) (/.f64 1 (fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (fma.f64 (sin.f64 b) (sin.f64 a) (cos.f64 a)) (pow.f64 (cos.f64 a) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 2)) (/.f64 1 (fma.f64 (sin.f64 b) (sin.f64 a) (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (cos.f64 a)) (sqrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (-.f64 (sqrt.f64 (cos.f64 a)) (sqrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (fma.f64 (sin.f64 b) (sin.f64 a) (cos.f64 a)) (pow.f64 (cos.f64 a) 2)) (-.f64 (pow.f64 (cos.f64 a) 3) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (sin.f64 b) (sin.f64 a) (cos.f64 a)) (-.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 a) 3) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3)) (fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (fma.f64 (sin.f64 b) (sin.f64 a) (cos.f64 a)) (pow.f64 (cos.f64 a) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 2)) (fma.f64 (sin.f64 b) (sin.f64 a) (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 a) 3) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3))) (neg.f64 (fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (fma.f64 (sin.f64 b) (sin.f64 a) (cos.f64 a)) (pow.f64 (cos.f64 a) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 2))) (neg.f64 (fma.f64 (sin.f64 b) (sin.f64 a) (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (cos.f64 a) 3) (pow.f64 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))) 3)) (+.f64 (pow.f64 (cos.f64 a) 2) (-.f64 (*.f64 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a)))) (*.f64 (cos.f64 a) (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 a) 2) (*.f64 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))))) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (cos.f64 a))) (pow.f64 (exp.f64 (sin.f64 a)) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (cos.f64 a)) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (cos.f64 a))) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 a))) (exp.f64 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (cos.f64 a)) (/.f64 1 (pow.f64 (exp.f64 (sin.f64 a)) (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 a))) (/.f64 1 (pow.f64 (exp.f64 (sin.f64 a)) (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a)))) (exp.f64 (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (pow.f64 (exp.f64 (sin.f64 a)) (sin.f64 b))) (exp.f64 (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a)))) (+.f64 1 (expm1.f64 (cos.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (pow.f64 (exp.f64 (sin.f64 a)) (sin.f64 b))) (+.f64 1 (expm1.f64 (cos.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (cos.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 a) 1 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 a) 1 (*.f64 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 a) (neg.f64 (sin.f64 b)) (cos.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) 1 (fma.f64 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))) 1 (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) 1 (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 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) 1 (fma.f64 (neg.f64 (sin.f64 b)) (sin.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 a) (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 a) (*.f64 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) (fma.f64 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))) 1 (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) (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 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 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 fma.f64 1 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))) (cos.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2) (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (cos.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) (cbrt.f64 (pow.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) 2)) (fma.f64 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))) 1 (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) (cbrt.f64 (pow.f64 (-.f64 (cos.f64 a) (*.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 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) (cbrt.f64 (pow.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) 2)) (fma.f64 (neg.f64 (sin.f64 b)) (sin.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) 2)) (cbrt.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) (fma.f64 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))) 1 (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) 2)) (cbrt.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) (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 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) 2)) (cbrt.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 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 fma.f64 (cbrt.f64 (cos.f64 a)) (cbrt.f64 (pow.f64 (cos.f64 a) 2)) (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 a)) (cbrt.f64 (pow.f64 (cos.f64 a) 2)) (*.f64 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (cos.f64 a) 2)) (cbrt.f64 (cos.f64 a)) (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (cos.f64 a) 2)) (cbrt.f64 (cos.f64 a)) (*.f64 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (neg.f64 (sqrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (cos.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) (sqrt.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) (fma.f64 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))) 1 (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) (sqrt.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) (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 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) (sqrt.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 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 fma.f64 (sqrt.f64 (cos.f64 a)) (sqrt.f64 (cos.f64 a)) (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 a)) (sqrt.f64 (cos.f64 a)) (*.f64 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sin.f64 b)) (sin.f64 a) (cos.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 a) 3) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3)) (/.f64 1 (fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (fma.f64 (sin.f64 b) (sin.f64 a) (cos.f64 a)) (pow.f64 (cos.f64 a) 2))) (fma.f64 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))) 1 (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 a) 3) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3)) (/.f64 1 (fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (fma.f64 (sin.f64 b) (sin.f64 a) (cos.f64 a)) (pow.f64 (cos.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 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 a) 3) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3)) (/.f64 1 (fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (fma.f64 (sin.f64 b) (sin.f64 a) (cos.f64 a)) (pow.f64 (cos.f64 a) 2))) (fma.f64 (neg.f64 (sin.f64 b)) (sin.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 2)) (/.f64 1 (fma.f64 (sin.f64 b) (sin.f64 a) (cos.f64 a))) (fma.f64 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))) 1 (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 2)) (/.f64 1 (fma.f64 (sin.f64 b) (sin.f64 a) (cos.f64 a))) (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 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 a) 2) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 2)) (/.f64 1 (fma.f64 (sin.f64 b) (sin.f64 a) (cos.f64 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 fma.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a)))) (cbrt.f64 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))))) (cbrt.f64 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a)))) (cos.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a)))) (sqrt.f64 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a)))) (cos.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sin.f64 a)) (sin.f64 b) (cos.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (sqrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cos.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 (sin.f64 b) (sin.f64 a)) (cos.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 (sin.f64 b)) 1) (sin.f64 a) (cos.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 a)) (sqrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (-.f64 (sqrt.f64 (cos.f64 a)) (sqrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (fma.f64 (*.f64 (sin.f64 b) (neg.f64 (sin.f64 a))) 1 (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 a)) (sqrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (-.f64 (sqrt.f64 (cos.f64 a)) (sqrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (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 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 a)) (sqrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (-.f64 (sqrt.f64 (cos.f64 a)) (sqrt.f64 (*.f64 (sin.f64 b) (sin.f64 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 fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2)) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cos.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 (sin.f64 b)) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)) (cbrt.f64 (sin.f64 a)) (cos.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 (sin.f64 b)) (sqrt.f64 (sin.f64 a))) (sqrt.f64 (sin.f64 a)) (cos.f64 a))))))

simplify87.0ms (0.6%)

Algorithm
egg-herbie
Rules
339×unsub-neg_binary64
311×*-commutative_binary64
286×sub-neg_binary64
273×distribute-neg-in_binary64
267×associate-+l+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01481986
14861904
218101871
362141862
Stop Event
node limit
Counts
292 → 257
Calls
Call 1
Inputs
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.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 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))) (pow.f64 b 3)) (/.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 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))) (pow.f64 b 3)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (*.f64 -1 (*.f64 (pow.f64 b 4) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.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 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(*.f64 (sin.f64 b) r)
(+.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (*.f64 (sin.f64 b) r))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (sin.f64 b) 3) r)) (*.f64 -1/2 (*.f64 (sin.f64 b) r))))) (+.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (*.f64 (sin.f64 b) r)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (sin.f64 b) 3) r)) (*.f64 -1/2 (*.f64 (sin.f64 b) r))))) (+.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (+.f64 (*.f64 (sin.f64 b) r) (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (sin.f64 b) 2) r)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (sin.f64 b) 2) r)) (*.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (sin.f64 b) 3) r)) (*.f64 -1/2 (*.f64 (sin.f64 b) r)))))))))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.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 -1 (*.f64 (+.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 -1 (*.f64 (+.f64 (*.f64 1/6 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))) (/.f64 (*.f64 (sin.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))) (pow.f64 b 4))) (+.f64 (*.f64 -1 (*.f64 (+.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 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(sin.f64 b)
(+.f64 (sin.f64 b) (*.f64 (pow.f64 (sin.f64 b) 2) a))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1/2 (sin.f64 b)) (*.f64 -1 (pow.f64 (sin.f64 b) 3))))) (+.f64 (sin.f64 b) (*.f64 (pow.f64 (sin.f64 b) 2) a)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1/2 (sin.f64 b)) (*.f64 -1 (pow.f64 (sin.f64 b) 3))))) (+.f64 (sin.f64 b) (+.f64 (*.f64 (pow.f64 (sin.f64 b) 2) a) (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (*.f64 1/6 (pow.f64 (sin.f64 b) 2)) (+.f64 (*.f64 -1/2 (pow.f64 (sin.f64 b) 2)) (*.f64 (sin.f64 b) (+.f64 (*.f64 -1/2 (sin.f64 b)) (*.f64 -1 (pow.f64 (sin.f64 b) 3)))))))))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
1
(+.f64 (*.f64 -1 (*.f64 (sin.f64 b) a)) 1)
(+.f64 (*.f64 -1 (*.f64 (sin.f64 b) a)) (+.f64 1 (*.f64 -1/2 (pow.f64 a 2))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 b) a)) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 b) (pow.f64 a 3))) (+.f64 1 (*.f64 -1/2 (pow.f64 a 2)))))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.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/6 (*.f64 (sin.f64 a) (pow.f64 b 3)))))
(+.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/120 (*.f64 (sin.f64 a) (pow.f64 b 5))))))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
Outputs
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.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 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 b (/.f64 (cos.f64 a) r)) (/.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 (sin.f64 a) (/.f64 (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 b b)) r)))
(+.f64 (*.f64 b (/.f64 r (cos.f64 a))) (/.f64 (*.f64 r (*.f64 b (*.f64 b (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 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))) (pow.f64 b 3)) (/.f64 (*.f64 r b) (cos.f64 a))))
(+.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 r (*.f64 b b)))) (fma.f64 (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r)))) (pow.f64 b 3) (/.f64 b (/.f64 (cos.f64 a) r))))
(+.f64 (/.f64 (sin.f64 a) (/.f64 (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 b b)) r)) (fma.f64 (fma.f64 -1/6 (/.f64 r (cos.f64 a)) (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) r)) (pow.f64 b 3) (*.f64 (/.f64 r (cos.f64 a)) b)))
(+.f64 (/.f64 (*.f64 r (*.f64 b (*.f64 b (sin.f64 a)))) (pow.f64 (cos.f64 a) 2)) (fma.f64 (*.f64 (/.f64 r (cos.f64 a)) (+.f64 -1/6 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 2)))) (pow.f64 b 3) (*.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 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))) (pow.f64 b 3)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (*.f64 -1 (*.f64 (pow.f64 b 4) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.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 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 r (*.f64 b b)))) (+.f64 (fma.f64 (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r)))) (pow.f64 b 3) (/.f64 b (/.f64 (cos.f64 a) r))) (neg.f64 (*.f64 (pow.f64 b 4) (fma.f64 1/6 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) r)) (neg.f64 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.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 (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 b b)) r)) (-.f64 (fma.f64 (fma.f64 -1/6 (/.f64 r (cos.f64 a)) (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) r)) (pow.f64 b 3) (*.f64 (/.f64 r (cos.f64 a)) b)) (*.f64 (pow.f64 b 4) (-.f64 (*.f64 1/6 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) r)) (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (fma.f64 -1/6 (/.f64 r (cos.f64 a)) (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) r)))))))
(-.f64 (fma.f64 (*.f64 (/.f64 r (cos.f64 a)) (+.f64 -1/6 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 2)))) (pow.f64 b 3) (*.f64 b (/.f64 r (cos.f64 a)))) (-.f64 (*.f64 (pow.f64 b 4) (-.f64 (*.f64 (/.f64 (*.f64 (sin.f64 a) 1/6) (pow.f64 (cos.f64 a) 2)) r) (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (+.f64 -1/6 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 2)))) (/.f64 (sin.f64 a) (cos.f64 a))))) (/.f64 (*.f64 r (*.f64 b (*.f64 b (sin.f64 a)))) (pow.f64 (cos.f64 a) 2))))
(+.f64 (/.f64 (*.f64 r (*.f64 b (*.f64 b (sin.f64 a)))) (pow.f64 (cos.f64 a) 2)) (fma.f64 (*.f64 (/.f64 r (cos.f64 a)) (+.f64 -1/6 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 2)))) (pow.f64 b 3) (fma.f64 (/.f64 r (cos.f64 a)) b (*.f64 (pow.f64 b 4) (+.f64 (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (+.f64 -1/6 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 2)))) (/.f64 (sin.f64 a) (cos.f64 a))) (/.f64 -1/6 (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 r (sin.f64 a)))))))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(*.f64 (sin.f64 b) r)
(+.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (*.f64 (sin.f64 b) r))
(fma.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r a) (*.f64 (sin.f64 b) r))
(*.f64 r (fma.f64 a (pow.f64 (sin.f64 b) 2) (sin.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (sin.f64 b) 3) r)) (*.f64 -1/2 (*.f64 (sin.f64 b) r))))) (+.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (*.f64 (sin.f64 b) r)))
(fma.f64 -1 (*.f64 (*.f64 a a) (fma.f64 -1 (*.f64 r (pow.f64 (sin.f64 b) 3)) (*.f64 (*.f64 (sin.f64 b) r) -1/2))) (fma.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r a) (*.f64 (sin.f64 b) r)))
(-.f64 (*.f64 r (fma.f64 a (pow.f64 (sin.f64 b) 2) (sin.f64 b))) (*.f64 a (*.f64 a (*.f64 r (-.f64 (*.f64 (sin.f64 b) -1/2) (pow.f64 (sin.f64 b) 3))))))
(-.f64 (*.f64 r (fma.f64 a (pow.f64 (sin.f64 b) 2) (sin.f64 b))) (*.f64 a (*.f64 a (*.f64 (*.f64 (sin.f64 b) r) (-.f64 -1/2 (pow.f64 (sin.f64 b) 2))))))
(fma.f64 r (fma.f64 a (pow.f64 (sin.f64 b) 2) (sin.f64 b)) (*.f64 (*.f64 a a) (*.f64 r (-.f64 (pow.f64 (sin.f64 b) 3) (*.f64 (sin.f64 b) -1/2)))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (sin.f64 b) 3) r)) (*.f64 -1/2 (*.f64 (sin.f64 b) r))))) (+.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (+.f64 (*.f64 (sin.f64 b) r) (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (sin.f64 b) 2) r)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (sin.f64 b) 2) r)) (*.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (sin.f64 b) 3) r)) (*.f64 -1/2 (*.f64 (sin.f64 b) r)))))))))))
(fma.f64 -1 (*.f64 (*.f64 a a) (fma.f64 -1 (*.f64 r (pow.f64 (sin.f64 b) 3)) (*.f64 (*.f64 (sin.f64 b) r) -1/2))) (fma.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r a) (fma.f64 (sin.f64 b) r (neg.f64 (*.f64 (pow.f64 a 3) (fma.f64 -1/2 (*.f64 r (pow.f64 (sin.f64 b) 2)) (fma.f64 1/6 (*.f64 r (pow.f64 (sin.f64 b) 2)) (*.f64 (sin.f64 b) (fma.f64 -1 (*.f64 r (pow.f64 (sin.f64 b) 3)) (*.f64 (*.f64 (sin.f64 b) r) -1/2))))))))))
(-.f64 (-.f64 (*.f64 r (fma.f64 a (pow.f64 (sin.f64 b) 2) (sin.f64 b))) (*.f64 (pow.f64 a 3) (+.f64 (*.f64 (sin.f64 b) (*.f64 r (-.f64 (*.f64 (sin.f64 b) -1/2) (pow.f64 (sin.f64 b) 3)))) (*.f64 r (*.f64 (pow.f64 (sin.f64 b) 2) -1/3))))) (*.f64 a (*.f64 a (*.f64 r (-.f64 (*.f64 (sin.f64 b) -1/2) (pow.f64 (sin.f64 b) 3))))))
(-.f64 (-.f64 (*.f64 r (fma.f64 a (pow.f64 (sin.f64 b) 2) (sin.f64 b))) (*.f64 a (*.f64 a (*.f64 (*.f64 (sin.f64 b) r) (-.f64 -1/2 (pow.f64 (sin.f64 b) 2)))))) (*.f64 (pow.f64 a 3) (+.f64 (*.f64 r (-.f64 (*.f64 (pow.f64 (sin.f64 b) 2) -1/2) (pow.f64 (sin.f64 b) 4))) (*.f64 r (*.f64 (pow.f64 (sin.f64 b) 2) -1/3)))))
(-.f64 (fma.f64 r (fma.f64 a (pow.f64 (sin.f64 b) 2) (sin.f64 b)) (*.f64 (*.f64 a a) (*.f64 r (-.f64 (pow.f64 (sin.f64 b) 3) (*.f64 (sin.f64 b) -1/2))))) (*.f64 (pow.f64 a 3) (+.f64 (*.f64 r (-.f64 (*.f64 (pow.f64 (sin.f64 b) 2) -1/2) (pow.f64 (sin.f64 b) 4))) (*.f64 r (*.f64 (pow.f64 (sin.f64 b) 2) -1/3)))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.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))))
(+.f64 (/.f64 b (cos.f64 a)) (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b)))
(+.f64 (/.f64 b (cos.f64 a)) (*.f64 (*.f64 b b) (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))))
(+.f64 (/.f64 b (cos.f64 a)) (+.f64 (*.f64 -1 (*.f64 (+.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 -1 (*.f64 (pow.f64 b 3) (+.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)) (-.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b)) (*.f64 (pow.f64 b 3) (-.f64 (/.f64 1/6 (cos.f64 a)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))))
(+.f64 (/.f64 b (cos.f64 a)) (*.f64 (*.f64 b b) (-.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b (-.f64 (/.f64 1/6 (cos.f64 a)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)))))))
(+.f64 (/.f64 b (cos.f64 a)) (*.f64 (*.f64 b b) (+.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b (+.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) (/.f64 -1/6 (cos.f64 a)))))))
(+.f64 (/.f64 b (cos.f64 a)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))) (/.f64 (*.f64 (sin.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))) (pow.f64 b 4))) (+.f64 (*.f64 -1 (*.f64 (+.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 -1 (*.f64 (pow.f64 b 4) (fma.f64 1/6 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (/.f64 (*.f64 (sin.f64 a) (+.f64 (/.f64 1/6 (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))) (cos.f64 a)))) (fma.f64 -1 (*.f64 (pow.f64 b 3) (+.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)) (-.f64 (-.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b)) (*.f64 (pow.f64 b 3) (-.f64 (/.f64 1/6 (cos.f64 a)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))) (*.f64 (pow.f64 b 4) (fma.f64 1/6 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (-.f64 (/.f64 1/6 (cos.f64 a)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))))))
(+.f64 (/.f64 b (cos.f64 a)) (-.f64 (*.f64 (*.f64 b b) (-.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b (-.f64 (/.f64 1/6 (cos.f64 a)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)))))) (*.f64 (pow.f64 b 4) (fma.f64 1/6 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 (-.f64 (/.f64 1/6 (cos.f64 a)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) (/.f64 (sin.f64 a) (cos.f64 a)))))))
(+.f64 (/.f64 b (cos.f64 a)) (-.f64 (*.f64 (*.f64 b b) (+.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b (+.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) (/.f64 -1/6 (cos.f64 a)))))) (*.f64 (pow.f64 b 4) (fma.f64 1/6 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 (-.f64 (/.f64 1/6 (cos.f64 a)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) (/.f64 (sin.f64 a) (cos.f64 a)))))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
(sin.f64 b)
(+.f64 (sin.f64 b) (*.f64 (pow.f64 (sin.f64 b) 2) a))
(+.f64 (sin.f64 b) (*.f64 a (pow.f64 (sin.f64 b) 2)))
(fma.f64 a (pow.f64 (sin.f64 b) 2) (sin.f64 b))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1/2 (sin.f64 b)) (*.f64 -1 (pow.f64 (sin.f64 b) 3))))) (+.f64 (sin.f64 b) (*.f64 (pow.f64 (sin.f64 b) 2) a)))
(fma.f64 -1 (*.f64 (*.f64 a a) (fma.f64 -1/2 (sin.f64 b) (neg.f64 (pow.f64 (sin.f64 b) 3)))) (+.f64 (sin.f64 b) (*.f64 a (pow.f64 (sin.f64 b) 2))))
(-.f64 (fma.f64 a (pow.f64 (sin.f64 b) 2) (sin.f64 b)) (*.f64 a (*.f64 a (-.f64 (*.f64 (sin.f64 b) -1/2) (pow.f64 (sin.f64 b) 3)))))
(+.f64 (fma.f64 a (pow.f64 (sin.f64 b) 2) (sin.f64 b)) (*.f64 (*.f64 a a) (-.f64 (pow.f64 (sin.f64 b) 3) (*.f64 (sin.f64 b) -1/2))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1/2 (sin.f64 b)) (*.f64 -1 (pow.f64 (sin.f64 b) 3))))) (+.f64 (sin.f64 b) (+.f64 (*.f64 (pow.f64 (sin.f64 b) 2) a) (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (*.f64 1/6 (pow.f64 (sin.f64 b) 2)) (+.f64 (*.f64 -1/2 (pow.f64 (sin.f64 b) 2)) (*.f64 (sin.f64 b) (+.f64 (*.f64 -1/2 (sin.f64 b)) (*.f64 -1 (pow.f64 (sin.f64 b) 3)))))))))))
(fma.f64 -1 (*.f64 (*.f64 a a) (fma.f64 -1/2 (sin.f64 b) (neg.f64 (pow.f64 (sin.f64 b) 3)))) (+.f64 (sin.f64 b) (fma.f64 (pow.f64 (sin.f64 b) 2) a (neg.f64 (*.f64 (pow.f64 a 3) (fma.f64 1/6 (pow.f64 (sin.f64 b) 2) (fma.f64 -1/2 (pow.f64 (sin.f64 b) 2) (*.f64 (sin.f64 b) (fma.f64 -1/2 (sin.f64 b) (neg.f64 (pow.f64 (sin.f64 b) 3)))))))))))
(-.f64 (-.f64 (fma.f64 a (pow.f64 (sin.f64 b) 2) (sin.f64 b)) (*.f64 (pow.f64 a 3) (+.f64 (*.f64 (sin.f64 b) (-.f64 (*.f64 (sin.f64 b) -1/2) (pow.f64 (sin.f64 b) 3))) (*.f64 (pow.f64 (sin.f64 b) 2) -1/3)))) (*.f64 a (*.f64 a (-.f64 (*.f64 (sin.f64 b) -1/2) (pow.f64 (sin.f64 b) 3)))))
(-.f64 (-.f64 (fma.f64 a (pow.f64 (sin.f64 b) 2) (sin.f64 b)) (*.f64 a (*.f64 a (-.f64 (*.f64 (sin.f64 b) -1/2) (pow.f64 (sin.f64 b) 3))))) (*.f64 (pow.f64 a 3) (-.f64 (*.f64 (pow.f64 (sin.f64 b) 2) -5/6) (pow.f64 (sin.f64 b) 4))))
(+.f64 (fma.f64 a (pow.f64 (sin.f64 b) 2) (sin.f64 b)) (-.f64 (*.f64 (*.f64 a a) (-.f64 (pow.f64 (sin.f64 b) 3) (*.f64 (sin.f64 b) -1/2))) (*.f64 (pow.f64 a 3) (-.f64 (*.f64 (pow.f64 (sin.f64 b) 2) -5/6) (pow.f64 (sin.f64 b) 4)))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
1
(+.f64 (*.f64 -1 (*.f64 (sin.f64 b) a)) 1)
(fma.f64 -1 (*.f64 (sin.f64 b) a) 1)
(-.f64 1 (*.f64 (sin.f64 b) a))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 b) a)) (+.f64 1 (*.f64 -1/2 (pow.f64 a 2))))
(+.f64 (fma.f64 -1 (*.f64 (sin.f64 b) a) 1) (*.f64 (*.f64 a a) -1/2))
(-.f64 (fma.f64 (*.f64 a a) -1/2 1) (*.f64 (sin.f64 b) a))
(+.f64 1 (*.f64 a (-.f64 (*.f64 a -1/2) (sin.f64 b))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 b) a)) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 b) (pow.f64 a 3))) (+.f64 1 (*.f64 -1/2 (pow.f64 a 2)))))
(fma.f64 -1 (*.f64 (sin.f64 b) a) (fma.f64 1/6 (*.f64 (sin.f64 b) (pow.f64 a 3)) (+.f64 1 (*.f64 (*.f64 a a) -1/2))))
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 b) (pow.f64 a 3)) (fma.f64 (*.f64 a a) -1/2 1)) (*.f64 (sin.f64 b) a))
(+.f64 (fma.f64 (*.f64 a a) -1/2 1) (*.f64 (sin.f64 b) (+.f64 (neg.f64 a) (*.f64 1/6 (pow.f64 a 3)))))
(+.f64 (fma.f64 (*.f64 a a) -1/2 1) (*.f64 (sin.f64 b) (-.f64 (*.f64 1/6 (pow.f64 a 3)) a)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))
(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)))
(+.f64 (cos.f64 a) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) b)) (*.f64 1/6 (*.f64 (sin.f64 a) (pow.f64 b 3)))))
(+.f64 (cos.f64 a) (fma.f64 -1 (*.f64 b (sin.f64 a)) (*.f64 1/6 (*.f64 (sin.f64 a) (pow.f64 b 3)))))
(+.f64 (-.f64 (cos.f64 a) (*.f64 b (sin.f64 a))) (*.f64 (pow.f64 b 3) (*.f64 (sin.f64 a) 1/6)))
(+.f64 (cos.f64 a) (*.f64 (sin.f64 a) (-.f64 (*.f64 (pow.f64 b 3) 1/6) b)))
(+.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/120 (*.f64 (sin.f64 a) (pow.f64 b 5))))))
(+.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/120 (*.f64 (sin.f64 a) (pow.f64 b 5))))))
(+.f64 (-.f64 (cos.f64 a) (*.f64 b (sin.f64 a))) (fma.f64 -1/120 (*.f64 (sin.f64 a) (pow.f64 b 5)) (*.f64 (pow.f64 b 3) (*.f64 (sin.f64 a) 1/6))))
(+.f64 (cos.f64 a) (+.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 (pow.f64 b 3) 1/6) b)) (*.f64 (pow.f64 b 5) (*.f64 (sin.f64 a) -1/120))))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))

eval394.0ms (2.8%)

Compiler

Compiled 22833 to 8927 computations (60.9% saved)

prune571.0ms (4%)

Pruning

78 alts after pruning (71 fresh and 7 done)

PrunedKeptTotal
New96723990
Fresh104858
Picked101
Done3710
Total981781059
Error
0.0b
Counts
1059 → 78
Alt Table
Click to see full alt table
StatusErrorProgram
44.2b
(*.f64 b (+.f64 r (*.f64 r (*.f64 1/2 (*.f64 a a)))))
0.8b
(/.f64 1 (/.f64 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (sin.f64 b) r)))
25.0b
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
40.1b
(*.f64 r b)
29.2b
(/.f64 r (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
27.3b
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 (sin.f64 b) r)))
53.6b
(*.f64 r (neg.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))
48.9b
(/.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 b) r) 3) 1/3) (cos.f64 b))
14.4b
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
41.8b
(*.f64 r (sqrt.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 2)))
25.0b
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
5.8b
(/.f64 1 (-.f64 (/.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) r)) (/.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (sin.f64 b) r))))
25.5b
(/.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 3) (cos.f64 b))
26.2b
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
37.3b
(*.f64 (sin.f64 b) (/.f64 1 (/.f64 1 r)))
41.8b
(*.f64 r (sqrt.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2))))
25.4b
(/.f64 1 (/.f64 (/.f64 (cos.f64 b) r) (sin.f64 b)))
30.2b
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r b)))
0.4b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (expm1.f64 (log1p.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) (*.f64 (sin.f64 b) (sin.f64 a)))))
55.2b
(*.f64 b (*.f64 r (*.f64 b a)))
40.2b
(/.f64 (*.f64 r b) (cos.f64 b))
27.6b
(/.f64 1 (-.f64 (/.f64 (cos.f64 a) (*.f64 b r)) (/.f64 (sin.f64 a) r)))
0.5b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) 3)) (*.f64 (sin.f64 b) (sin.f64 a)))))
14.5b
(*.f64 r (/.f64 (sin.f64 b) (expm1.f64 (log1p.f64 (cos.f64 (+.f64 b a))))))
40.8b
(+.f64 (/.f64 (*.f64 a r) (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 2)) (/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b))))
27.7b
(*.f64 r (/.f64 (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)))))))
48.9b
(*.f64 (sin.f64 b) (exp.f64 (log.f64 (/.f64 r (cos.f64 b)))))
41.1b
(*.f64 b (+.f64 (*.f64 a (*.f64 r b)) r))
28.3b
(/.f64 1 (/.f64 (+.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 (sin.f64 b) r)))
14.6b
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (-.f64 b a))))
0.5b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (+.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))))))))
62.2b
(*.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b))
33.7b
(*.f64 r (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 2) 3/2))
14.8b
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)))
39.5b
(/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b)))
0.3b
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
62.2b
(*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b)))
15.2b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)) 3)
15.0b
(/.f64 1 (*.f64 (/.f64 (/.f64 1 r) (sin.f64 b)) (cos.f64 (+.f64 b a))))
14.5b
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
27.0b
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
0.3b
(*.f64 r (/.f64 (sin.f64 b) (fma.f64 (sin.f64 a) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b)))))
37.3b
(*.f64 (sin.f64 b) r)
43.1b
(*.f64 r (sqrt.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 a)) 2)))
0.4b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3)))))
0.3b
(*.f64 r (/.f64 (sin.f64 b) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a)))))
30.0b
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (+.f64 0 (*.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) b))))
37.3b
(exp.f64 (log.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))))
27.5b
(/.f64 1 (-.f64 (/.f64 (cos.f64 b) (*.f64 r (sin.f64 b))) (/.f64 a r)))
40.4b
(+.f64 (/.f64 a (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))) (/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))
53.6b
(*.f64 r (*.f64 (sin.f64 b) (/.f64 1 (neg.f64 (cos.f64 (+.f64 b a))))))
29.9b
(*.f64 r (/.f64 b (cos.f64 a)))
25.3b
(/.f64 1 (/.f64 (cos.f64 b) (*.f64 (sin.f64 b) r)))
56.3b
(*.f64 (*.f64 a a) (*.f64 1/2 (*.f64 b r)))
0.4b
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) r))
14.5b
(+.f64 0 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
39.8b
(/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))))
0.6b
(*.f64 r (/.f64 (sin.f64 b) (log.f64 (/.f64 (exp.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))))
25.1b
(/.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (/.f64 1 r))
33.6b
(/.f64 (expm1.f64 (log1p.f64 (*.f64 (sin.f64 b) r))) (cos.f64 b))
14.5b
(*.f64 (*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (sin.f64 b)) r)
25.1b
(*.f64 (sin.f64 b) (/.f64 1 (*.f64 (/.f64 1 r) (cos.f64 b))))
26.5b
(/.f64 1 (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 r (sin.f64 b))))
25.1b
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
53.2b
(*.f64 r (log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))))
0.9b
(/.f64 1 (/.f64 (+.f64 (fma.f64 1 (*.f64 (cos.f64 b) (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)))) (*.f64 (sin.f64 b) r)))
0.3b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))))
25.0b
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
51.1b
(*.f64 (sin.f64 b) (pow.f64 (pow.f64 (/.f64 r (cos.f64 b)) 3) 1/3))
29.8b
(*.f64 (/.f64 r (cos.f64 a)) b)
0.3b
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
29.9b
(/.f64 r (/.f64 (cos.f64 a) b))
53.9b
(*.f64 r (-.f64 (+.f64 1 (/.f64 b (cos.f64 a))) 1))
23.9b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (cos.f64 b) (*.f64 (sin.f64 b) (sin.f64 a)))))
15.0b
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (/.f64 1 (/.f64 (/.f64 1 r) (sin.f64 b))))
53.6b
(/.f64 (*.f64 (sin.f64 b) r) (neg.f64 (cos.f64 (+.f64 b a))))
26.2b
(*.f64 r (/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (cos.f64 a))))
39.3b
(*.f64 r (exp.f64 (log.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))
Compiler

Compiled 1297 to 853 computations (34.2% saved)

regimes563.0ms (4%)

Counts
142 → 1
Calls
Call 1
Inputs
(*.f64 r b)
(*.f64 b (*.f64 r (*.f64 b a)))
(*.f64 b (+.f64 (*.f64 a (*.f64 r b)) r))
(/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b)))
(*.f64 (*.f64 a a) (*.f64 1/2 (*.f64 b r)))
(*.f64 b (+.f64 r (*.f64 r (*.f64 1/2 (*.f64 a a)))))
(/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))))
(*.f64 r (+.f64 b (*.f64 a (*.f64 b (+.f64 b (*.f64 a 1/2))))))
(*.f64 b (+.f64 r (*.f64 (*.f64 a r) (+.f64 b (*.f64 a 1/2)))))
(+.f64 (/.f64 a (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))) (/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))
(*.f64 (sin.f64 b) r)
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 r b) (cos.f64 b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(*.f64 (sin.f64 b) (/.f64 1 (/.f64 1 r)))
(*.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b))
(*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b)))
(*.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b))
(*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b)))
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (fma.f64 b (*.f64 b a) b) r)
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r b)))
(*.f64 r (-.f64 (+.f64 1 (/.f64 b (cos.f64 a))) 1))
(-.f64 (+.f64 1 (*.f64 (/.f64 b (cos.f64 a)) r)) 1)
(+.f64 (/.f64 (*.f64 a r) (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 2)) (/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b))))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 b)))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 1 (/.f64 (/.f64 (cos.f64 b) r) (sin.f64 b)))
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
(/.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (/.f64 1 r))
(*.f64 (sin.f64 b) (/.f64 1 (/.f64 (cos.f64 b) r)))
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 (sin.f64 b) r)))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (-.f64 b a))))
(/.f64 1 (/.f64 (cos.f64 b) (*.f64 (sin.f64 b) r)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
(*.f64 r (neg.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))
(/.f64 (*.f64 (sin.f64 b) r) (neg.f64 (cos.f64 (+.f64 b a))))
(*.f64 (sin.f64 b) (/.f64 1 (*.f64 (/.f64 1 r) (cos.f64 b))))
(+.f64 0 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(*.f64 (*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (sin.f64 b)) r)
(*.f64 r (*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (sin.f64 b)))
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)))
(*.f64 r (*.f64 (sin.f64 b) (/.f64 1 (neg.f64 (cos.f64 (+.f64 b a))))))
(/.f64 1 (-.f64 (/.f64 (cos.f64 a) (*.f64 b r)) (/.f64 (sin.f64 a) r)))
(/.f64 1 (*.f64 (/.f64 (/.f64 1 r) (sin.f64 b)) (cos.f64 (+.f64 b a))))
(/.f64 1 (-.f64 (/.f64 (cos.f64 b) (*.f64 r (sin.f64 b))) (/.f64 a r)))
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (/.f64 1 (/.f64 (/.f64 1 r) (sin.f64 b))))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (+.f64 0 (*.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) b))))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b))))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (cos.f64 b) (*.f64 a (sin.f64 b)))))
(/.f64 r (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a)) b)))
(*.f64 (sin.f64 b) (exp.f64 (log.f64 (/.f64 r (cos.f64 b)))))
(expm1.f64 (log1p.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(/.f64 (expm1.f64 (log1p.f64 (*.f64 (sin.f64 b) r))) (cos.f64 b))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 3) (cos.f64 b))
(pow.f64 (sqrt.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))) 2)
(pow.f64 (cbrt.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))) 3)
(*.f64 r (sqrt.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 2)))
(*.f64 r (sqrt.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 a)) 2)))
(*.f64 (sin.f64 b) (pow.f64 (pow.f64 (/.f64 r (cos.f64 b)) 3) 1/3))
(/.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 b) r) 3) 1/3) (cos.f64 b))
(pow.f64 (pow.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)) 3) 1/3)
(*.f64 r (exp.f64 (log.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))
(*.f64 r (/.f64 (sin.f64 b) (expm1.f64 (log1p.f64 (cos.f64 (+.f64 b a))))))
(exp.f64 (log.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))))
(*.f64 r (/.f64 (sin.f64 b) (log.f64 (exp.f64 (cos.f64 (+.f64 b a))))))
(exp.f64 (log.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)))
(*.f64 r (log.f64 (exp.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))
(expm1.f64 (log1p.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)))
(*.f64 r (/.f64 (sin.f64 b) (expm1.f64 (log1p.f64 (cos.f64 (+.f64 b a))))))
(*.f64 r (/.f64 (sin.f64 b) (log.f64 (exp.f64 (cos.f64 (+.f64 b a))))))
(*.f64 r (exp.f64 (log.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))
(pow.f64 (sqrt.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))) 2)
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)) 3)
(*.f64 r (sqrt.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 2)))
(sqrt.f64 (pow.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r) 2))
(*.f64 r (/.f64 (sin.f64 b) (sqrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) 2))))
(*.f64 r (pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 3))
(pow.f64 (sqrt.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)) 2)
(*.f64 r (/.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 3)))
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)) 3)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (cos.f64 b) (*.f64 (sin.f64 b) (sin.f64 a)))))
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (exp.f64 (log.f64 (*.f64 (sin.f64 b) r)))))
(/.f64 1 (/.f64 (log.f64 (exp.f64 (cos.f64 (+.f64 b a)))) (*.f64 (sin.f64 b) r)))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (exp.f64 (log1p.f64 (cos.f64 (+.f64 b a)))) 1)))
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 3)))
(/.f64 1 (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 r (sin.f64 b))))
(*.f64 r (log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))))
(*.f64 r (/.f64 (sin.f64 b) (+.f64 (cos.f64 a) (*.f64 b (-.f64 (*.f64 (*.f64 (cos.f64 a) -1/2) b) (sin.f64 a))))))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (fma.f64 -1/2 (*.f64 a a) 1) (cos.f64 b)) (*.f64 a (sin.f64 b)))))
(/.f64 1 (-.f64 (fma.f64 b (/.f64 (cos.f64 a) (/.f64 r -1/3)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(*.f64 r (sqrt.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2))))
(*.f64 r (/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (cos.f64 a))))
(*.f64 r (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 2) 3/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 a) (sin.f64 b))) r))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))))
(*.f64 r (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))))
(/.f64 1 (/.f64 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (sin.f64 b) 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 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2)) (/.f64 (*.f64 r b) (cos.f64 a)))
(*.f64 r (/.f64 (sin.f64 b) (fma.f64 (sin.f64 a) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b)))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(*.f64 r (/.f64 (sin.f64 b) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a)))))
(/.f64 1 (-.f64 (/.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) r)) (/.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (sin.f64 b) r))))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (expm1.f64 (log1p.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) (*.f64 (sin.f64 b) (sin.f64 a)))))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) 3)) (*.f64 (sin.f64 b) (sin.f64 a)))))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3)))))
(*.f64 r (/.f64 (sin.f64 b) (log.f64 (/.f64 (exp.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))))
(*.f64 r (/.f64 (sin.f64 b) (log.f64 (/.f64 (exp.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (pow.f64 (exp.f64 (sin.f64 a)) (sin.f64 b))))))
(*.f64 r (/.f64 (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 r (/.f64 (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 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (+.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))))))))
(*.f64 r (/.f64 (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 r (/.f64 (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 r (/.f64 (sin.f64 b) (+.f64 (fma.f64 (cos.f64 b) (cos.f64 a) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (pow.f64 (cbrt.f64 (sin.f64 b)) 2))))))
(/.f64 1 (/.f64 (+.f64 (fma.f64 1 (*.f64 (cos.f64 b) (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (pow.f64 (cbrt.f64 (sin.f64 b)) 2)))) (*.f64 (sin.f64 b) r)))
(*.f64 r (/.f64 (sin.f64 b) (+.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)))))))
(/.f64 1 (/.f64 (+.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 (sin.f64 b) r)))
(*.f64 r (/.f64 (sin.f64 b) (+.f64 (fma.f64 (*.f64 (cos.f64 b) (sqrt.f64 (cos.f64 a))) (sqrt.f64 (cos.f64 a)) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 b))) (*.f64 (sin.f64 a) (cbrt.f64 (pow.f64 (sin.f64 b) 2))) (*.f64 (cbrt.f64 (sin.f64 b)) (*.f64 (sin.f64 a) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))))))
(*.f64 r (/.f64 (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))))))
Outputs
(*.f64 r (/.f64 (sin.f64 b) (fma.f64 (sin.f64 a) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b)))))
Calls

5 calls:

114.0ms
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
112.0ms
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
104.0ms
b
99.0ms
a
84.0ms
r
Results
ErrorSegmentsBranch
0.3b1r
0.3b1a
0.3b1b
0.3b1(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
0.3b1(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
Compiler

Compiled 2067 to 641 computations (69% saved)

regimes951.0ms (6.7%)

Counts
121 → 1
Calls
Call 1
Inputs
(*.f64 r b)
(*.f64 b (*.f64 r (*.f64 b a)))
(*.f64 b (+.f64 (*.f64 a (*.f64 r b)) r))
(/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b)))
(*.f64 (*.f64 a a) (*.f64 1/2 (*.f64 b r)))
(*.f64 b (+.f64 r (*.f64 r (*.f64 1/2 (*.f64 a a)))))
(/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))))
(*.f64 r (+.f64 b (*.f64 a (*.f64 b (+.f64 b (*.f64 a 1/2))))))
(*.f64 b (+.f64 r (*.f64 (*.f64 a r) (+.f64 b (*.f64 a 1/2)))))
(+.f64 (/.f64 a (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))) (/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))
(*.f64 (sin.f64 b) r)
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 r b) (cos.f64 b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(*.f64 (sin.f64 b) (/.f64 1 (/.f64 1 r)))
(*.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b))
(*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b)))
(*.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b))
(*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b)))
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (fma.f64 b (*.f64 b a) b) r)
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r b)))
(*.f64 r (-.f64 (+.f64 1 (/.f64 b (cos.f64 a))) 1))
(-.f64 (+.f64 1 (*.f64 (/.f64 b (cos.f64 a)) r)) 1)
(+.f64 (/.f64 (*.f64 a r) (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 2)) (/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b))))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 b)))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 1 (/.f64 (/.f64 (cos.f64 b) r) (sin.f64 b)))
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
(/.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (/.f64 1 r))
(*.f64 (sin.f64 b) (/.f64 1 (/.f64 (cos.f64 b) r)))
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 (sin.f64 b) r)))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (-.f64 b a))))
(/.f64 1 (/.f64 (cos.f64 b) (*.f64 (sin.f64 b) r)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
(*.f64 r (neg.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))
(/.f64 (*.f64 (sin.f64 b) r) (neg.f64 (cos.f64 (+.f64 b a))))
(*.f64 (sin.f64 b) (/.f64 1 (*.f64 (/.f64 1 r) (cos.f64 b))))
(+.f64 0 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(*.f64 (*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (sin.f64 b)) r)
(*.f64 r (*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (sin.f64 b)))
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)))
(*.f64 r (*.f64 (sin.f64 b) (/.f64 1 (neg.f64 (cos.f64 (+.f64 b a))))))
(/.f64 1 (-.f64 (/.f64 (cos.f64 a) (*.f64 b r)) (/.f64 (sin.f64 a) r)))
(/.f64 1 (*.f64 (/.f64 (/.f64 1 r) (sin.f64 b)) (cos.f64 (+.f64 b a))))
(/.f64 1 (-.f64 (/.f64 (cos.f64 b) (*.f64 r (sin.f64 b))) (/.f64 a r)))
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (/.f64 1 (/.f64 (/.f64 1 r) (sin.f64 b))))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (+.f64 0 (*.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) b))))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b))))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (cos.f64 b) (*.f64 a (sin.f64 b)))))
(/.f64 r (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a)) b)))
(*.f64 (sin.f64 b) (exp.f64 (log.f64 (/.f64 r (cos.f64 b)))))
(expm1.f64 (log1p.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(/.f64 (expm1.f64 (log1p.f64 (*.f64 (sin.f64 b) r))) (cos.f64 b))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 3) (cos.f64 b))
(pow.f64 (sqrt.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))) 2)
(pow.f64 (cbrt.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))) 3)
(*.f64 r (sqrt.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 2)))
(*.f64 r (sqrt.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 a)) 2)))
(*.f64 (sin.f64 b) (pow.f64 (pow.f64 (/.f64 r (cos.f64 b)) 3) 1/3))
(/.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 b) r) 3) 1/3) (cos.f64 b))
(pow.f64 (pow.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)) 3) 1/3)
(*.f64 r (exp.f64 (log.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))
(*.f64 r (/.f64 (sin.f64 b) (expm1.f64 (log1p.f64 (cos.f64 (+.f64 b a))))))
(exp.f64 (log.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))))
(*.f64 r (/.f64 (sin.f64 b) (log.f64 (exp.f64 (cos.f64 (+.f64 b a))))))
(exp.f64 (log.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)))
(*.f64 r (log.f64 (exp.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))
(expm1.f64 (log1p.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)))
(*.f64 r (/.f64 (sin.f64 b) (expm1.f64 (log1p.f64 (cos.f64 (+.f64 b a))))))
(*.f64 r (/.f64 (sin.f64 b) (log.f64 (exp.f64 (cos.f64 (+.f64 b a))))))
(*.f64 r (exp.f64 (log.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))
(pow.f64 (sqrt.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))) 2)
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)) 3)
(*.f64 r (sqrt.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 2)))
(sqrt.f64 (pow.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r) 2))
(*.f64 r (/.f64 (sin.f64 b) (sqrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) 2))))
(*.f64 r (pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 3))
(pow.f64 (sqrt.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)) 2)
(*.f64 r (/.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 3)))
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)) 3)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (cos.f64 b) (*.f64 (sin.f64 b) (sin.f64 a)))))
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (exp.f64 (log.f64 (*.f64 (sin.f64 b) r)))))
(/.f64 1 (/.f64 (log.f64 (exp.f64 (cos.f64 (+.f64 b a)))) (*.f64 (sin.f64 b) r)))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (exp.f64 (log1p.f64 (cos.f64 (+.f64 b a)))) 1)))
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 3)))
(/.f64 1 (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 r (sin.f64 b))))
(*.f64 r (log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))))
(*.f64 r (/.f64 (sin.f64 b) (+.f64 (cos.f64 a) (*.f64 b (-.f64 (*.f64 (*.f64 (cos.f64 a) -1/2) b) (sin.f64 a))))))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (fma.f64 -1/2 (*.f64 a a) 1) (cos.f64 b)) (*.f64 a (sin.f64 b)))))
(/.f64 1 (-.f64 (fma.f64 b (/.f64 (cos.f64 a) (/.f64 r -1/3)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(*.f64 r (sqrt.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2))))
(*.f64 r (/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (cos.f64 a))))
(*.f64 r (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 2) 3/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 a) (sin.f64 b))) r))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))))
(*.f64 r (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))))
(/.f64 1 (/.f64 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (sin.f64 b) 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 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2)) (/.f64 (*.f64 r b) (cos.f64 a)))
Outputs
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))))
Calls

5 calls:

286.0ms
b
205.0ms
r
157.0ms
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
137.0ms
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
126.0ms
a
Results
ErrorSegmentsBranch
0.3b1r
0.3b1a
0.3b1b
0.3b1(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
0.3b1(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
Compiler

Compiled 1396 to 477 computations (65.8% saved)

regimes704.0ms (4.9%)

Counts
115 → 1
Calls
Call 1
Inputs
(*.f64 r b)
(*.f64 b (*.f64 r (*.f64 b a)))
(*.f64 b (+.f64 (*.f64 a (*.f64 r b)) r))
(/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b)))
(*.f64 (*.f64 a a) (*.f64 1/2 (*.f64 b r)))
(*.f64 b (+.f64 r (*.f64 r (*.f64 1/2 (*.f64 a a)))))
(/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))))
(*.f64 r (+.f64 b (*.f64 a (*.f64 b (+.f64 b (*.f64 a 1/2))))))
(*.f64 b (+.f64 r (*.f64 (*.f64 a r) (+.f64 b (*.f64 a 1/2)))))
(+.f64 (/.f64 a (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))) (/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))
(*.f64 (sin.f64 b) r)
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 r b) (cos.f64 b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(*.f64 (sin.f64 b) (/.f64 1 (/.f64 1 r)))
(*.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b))
(*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b)))
(*.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b))
(*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b)))
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (fma.f64 b (*.f64 b a) b) r)
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r b)))
(*.f64 r (-.f64 (+.f64 1 (/.f64 b (cos.f64 a))) 1))
(-.f64 (+.f64 1 (*.f64 (/.f64 b (cos.f64 a)) r)) 1)
(+.f64 (/.f64 (*.f64 a r) (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 2)) (/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b))))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 b)))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 1 (/.f64 (/.f64 (cos.f64 b) r) (sin.f64 b)))
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
(/.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (/.f64 1 r))
(*.f64 (sin.f64 b) (/.f64 1 (/.f64 (cos.f64 b) r)))
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 (sin.f64 b) r)))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (-.f64 b a))))
(/.f64 1 (/.f64 (cos.f64 b) (*.f64 (sin.f64 b) r)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
(*.f64 r (neg.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))
(/.f64 (*.f64 (sin.f64 b) r) (neg.f64 (cos.f64 (+.f64 b a))))
(*.f64 (sin.f64 b) (/.f64 1 (*.f64 (/.f64 1 r) (cos.f64 b))))
(+.f64 0 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(*.f64 (*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (sin.f64 b)) r)
(*.f64 r (*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (sin.f64 b)))
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)))
(*.f64 r (*.f64 (sin.f64 b) (/.f64 1 (neg.f64 (cos.f64 (+.f64 b a))))))
(/.f64 1 (-.f64 (/.f64 (cos.f64 a) (*.f64 b r)) (/.f64 (sin.f64 a) r)))
(/.f64 1 (*.f64 (/.f64 (/.f64 1 r) (sin.f64 b)) (cos.f64 (+.f64 b a))))
(/.f64 1 (-.f64 (/.f64 (cos.f64 b) (*.f64 r (sin.f64 b))) (/.f64 a r)))
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (/.f64 1 (/.f64 (/.f64 1 r) (sin.f64 b))))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (+.f64 0 (*.f64 (*.f64 (/.f64 r 1) (tan.f64 a)) b))))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b))))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (cos.f64 b) (*.f64 a (sin.f64 b)))))
(/.f64 r (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 a) b)) (/.f64 (cos.f64 a) b)) (sin.f64 a)))
(*.f64 (/.f64 b (cos.f64 a)) (+.f64 r (*.f64 (*.f64 (/.f64 r (cos.f64 a)) (sin.f64 a)) b)))
(*.f64 (sin.f64 b) (exp.f64 (log.f64 (/.f64 r (cos.f64 b)))))
(expm1.f64 (log1p.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(/.f64 (expm1.f64 (log1p.f64 (*.f64 (sin.f64 b) r))) (cos.f64 b))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 3) (cos.f64 b))
(pow.f64 (sqrt.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))) 2)
(pow.f64 (cbrt.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))) 3)
(*.f64 r (sqrt.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 2)))
(*.f64 r (sqrt.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 a)) 2)))
(*.f64 (sin.f64 b) (pow.f64 (pow.f64 (/.f64 r (cos.f64 b)) 3) 1/3))
(/.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 b) r) 3) 1/3) (cos.f64 b))
(pow.f64 (pow.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)) 3) 1/3)
(*.f64 r (exp.f64 (log.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))
(*.f64 r (/.f64 (sin.f64 b) (expm1.f64 (log1p.f64 (cos.f64 (+.f64 b a))))))
(exp.f64 (log.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))))
(*.f64 r (/.f64 (sin.f64 b) (log.f64 (exp.f64 (cos.f64 (+.f64 b a))))))
(exp.f64 (log.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)))
(*.f64 r (log.f64 (exp.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))
(expm1.f64 (log1p.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)))
(*.f64 r (/.f64 (sin.f64 b) (expm1.f64 (log1p.f64 (cos.f64 (+.f64 b a))))))
(*.f64 r (/.f64 (sin.f64 b) (log.f64 (exp.f64 (cos.f64 (+.f64 b a))))))
(*.f64 r (exp.f64 (log.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))
(pow.f64 (sqrt.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))) 2)
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)) 3)
(*.f64 r (sqrt.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 2)))
(sqrt.f64 (pow.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r) 2))
(*.f64 r (/.f64 (sin.f64 b) (sqrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) 2))))
(*.f64 r (pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 3))
(pow.f64 (sqrt.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)) 2)
(*.f64 r (/.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 3)))
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)) 3)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (cos.f64 b) (*.f64 (sin.f64 b) (sin.f64 a)))))
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (exp.f64 (log.f64 (*.f64 (sin.f64 b) r)))))
(/.f64 1 (/.f64 (log.f64 (exp.f64 (cos.f64 (+.f64 b a)))) (*.f64 (sin.f64 b) r)))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (exp.f64 (log1p.f64 (cos.f64 (+.f64 b a)))) 1)))
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 3)))
(/.f64 1 (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 r (sin.f64 b))))
(*.f64 r (log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))))
(*.f64 r (/.f64 (sin.f64 b) (+.f64 (cos.f64 a) (*.f64 b (-.f64 (*.f64 (*.f64 (cos.f64 a) -1/2) b) (sin.f64 a))))))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (fma.f64 -1/2 (*.f64 a a) 1) (cos.f64 b)) (*.f64 a (sin.f64 b)))))
(/.f64 1 (-.f64 (fma.f64 b (/.f64 (cos.f64 a) (/.f64 r -1/3)) (/.f64 (cos.f64 a) (*.f64 b r))) (/.f64 (sin.f64 a) r)))
(*.f64 r (sqrt.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2))))
(*.f64 r (/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (cos.f64 a))))
(*.f64 r (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 2) 3/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 a) (sin.f64 b))) r))
Outputs
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
Calls

5 calls:

178.0ms
b
165.0ms
a
143.0ms
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
83.0ms
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
82.0ms
r
Results
ErrorSegmentsBranch
0.3b1r
0.3b1a
0.3b1b
0.3b1(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
0.3b1(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
Compiler

Compiled 1291 to 452 computations (65% saved)

regimes468.0ms (3.3%)

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

5 calls:

102.0ms
a
86.0ms
r
83.0ms
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
81.0ms
b
68.0ms
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
Results
ErrorSegmentsBranch
14.4b1r
14.4b1a
14.4b1b
14.4b1(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
14.4b1(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
Compiler

Compiled 1259 to 447 computations (64.5% saved)

regimes310.0ms (2.2%)

Counts
44 → 1
Calls
Call 1
Inputs
(*.f64 r b)
(*.f64 b (*.f64 r (*.f64 b a)))
(*.f64 b (+.f64 (*.f64 a (*.f64 r b)) r))
(/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b)))
(*.f64 (*.f64 a a) (*.f64 1/2 (*.f64 b r)))
(*.f64 b (+.f64 r (*.f64 r (*.f64 1/2 (*.f64 a a)))))
(/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))))
(*.f64 r (+.f64 b (*.f64 a (*.f64 b (+.f64 b (*.f64 a 1/2))))))
(*.f64 b (+.f64 r (*.f64 (*.f64 a r) (+.f64 b (*.f64 a 1/2)))))
(+.f64 (/.f64 a (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))) (/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))
(*.f64 (sin.f64 b) r)
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 r b) (cos.f64 b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(*.f64 (sin.f64 b) (/.f64 1 (/.f64 1 r)))
(*.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b))
(*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b)))
(*.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b))
(*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b)))
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (fma.f64 b (*.f64 b a) b) r)
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r b)))
(*.f64 r (-.f64 (+.f64 1 (/.f64 b (cos.f64 a))) 1))
(-.f64 (+.f64 1 (*.f64 (/.f64 b (cos.f64 a)) r)) 1)
(+.f64 (/.f64 (*.f64 a r) (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 2)) (/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b))))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 b)))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 1 (/.f64 (/.f64 (cos.f64 b) r) (sin.f64 b)))
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
(/.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (/.f64 1 r))
(*.f64 (sin.f64 b) (/.f64 1 (/.f64 (cos.f64 b) r)))
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 (sin.f64 b) r)))
Outputs
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
Calls

3 calls:

163.0ms
r
74.0ms
b
60.0ms
a
Results
ErrorSegmentsBranch
14.5b1r
14.5b1a
14.5b1b
Compiler

Compiled 412 to 167 computations (59.5% saved)

regimes491.0ms (3.5%)

Counts
40 → 3
Calls
Call 1
Inputs
(*.f64 r b)
(*.f64 b (*.f64 r (*.f64 b a)))
(*.f64 b (+.f64 (*.f64 a (*.f64 r b)) r))
(/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b)))
(*.f64 (*.f64 a a) (*.f64 1/2 (*.f64 b r)))
(*.f64 b (+.f64 r (*.f64 r (*.f64 1/2 (*.f64 a a)))))
(/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))))
(*.f64 r (+.f64 b (*.f64 a (*.f64 b (+.f64 b (*.f64 a 1/2))))))
(*.f64 b (+.f64 r (*.f64 (*.f64 a r) (+.f64 b (*.f64 a 1/2)))))
(+.f64 (/.f64 a (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))) (/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))
(*.f64 (sin.f64 b) r)
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 r b) (cos.f64 b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(*.f64 (sin.f64 b) (/.f64 1 (/.f64 1 r)))
(*.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b))
(*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b)))
(*.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b))
(*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b)))
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (fma.f64 b (*.f64 b a) b) r)
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r b)))
(*.f64 r (-.f64 (+.f64 1 (/.f64 b (cos.f64 a))) 1))
(-.f64 (+.f64 1 (*.f64 (/.f64 b (cos.f64 a)) r)) 1)
(+.f64 (/.f64 (*.f64 a r) (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 2)) (/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b))))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 b)))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 1 (/.f64 (/.f64 (cos.f64 b) r) (sin.f64 b)))
Outputs
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
Calls

3 calls:

298.0ms
r
91.0ms
a
87.0ms
b
Results
ErrorSegmentsBranch
21.8b4r
14.3b3a
14.8b3b
Compiler

Compiled 376 to 156 computations (58.5% saved)

bsearch232.0ms (1.6%)

Algorithm
binary-search
Steps
TimeLeftRight
74.0ms
1.234609204574017e-7
0.07895814111213967
158.0ms
-1.4401327662638936e-8
-5.376758281815575e-9
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes334.0ms (2.4%)

Counts
34 → 3
Calls
Call 1
Inputs
(*.f64 r b)
(*.f64 b (*.f64 r (*.f64 b a)))
(*.f64 b (+.f64 (*.f64 a (*.f64 r b)) r))
(/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b)))
(*.f64 (*.f64 a a) (*.f64 1/2 (*.f64 b r)))
(*.f64 b (+.f64 r (*.f64 r (*.f64 1/2 (*.f64 a a)))))
(/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))))
(*.f64 r (+.f64 b (*.f64 a (*.f64 b (+.f64 b (*.f64 a 1/2))))))
(*.f64 b (+.f64 r (*.f64 (*.f64 a r) (+.f64 b (*.f64 a 1/2)))))
(+.f64 (/.f64 a (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))) (/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))
(*.f64 (sin.f64 b) r)
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 r b) (cos.f64 b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(*.f64 (sin.f64 b) (/.f64 1 (/.f64 1 r)))
(*.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b))
(*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b)))
(*.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b))
(*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b)))
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (fma.f64 b (*.f64 b a) b) r)
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r b)))
(*.f64 r (-.f64 (+.f64 1 (/.f64 b (cos.f64 a))) 1))
(-.f64 (+.f64 1 (*.f64 (/.f64 b (cos.f64 a)) r)) 1)
(+.f64 (/.f64 (*.f64 a r) (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 2)) (/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b))))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
Outputs
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
Calls

3 calls:

126.0ms
r
113.0ms
b
76.0ms
a
Results
ErrorSegmentsBranch
21.9b4r
14.4b3a
14.8b3b
Compiler

Compiled 332 to 148 computations (55.4% saved)

bsearch177.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
65.0ms
1.234609204574017e-7
0.07895814111213967
112.0ms
-1.4401327662638936e-8
-5.376758281815575e-9
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes99.0ms (0.7%)

Counts
31 → 1
Calls
Call 1
Inputs
(*.f64 r b)
(*.f64 b (*.f64 r (*.f64 b a)))
(*.f64 b (+.f64 (*.f64 a (*.f64 r b)) r))
(/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b)))
(*.f64 (*.f64 a a) (*.f64 1/2 (*.f64 b r)))
(*.f64 b (+.f64 r (*.f64 r (*.f64 1/2 (*.f64 a a)))))
(/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))))
(*.f64 r (+.f64 b (*.f64 a (*.f64 b (+.f64 b (*.f64 a 1/2))))))
(*.f64 b (+.f64 r (*.f64 (*.f64 a r) (+.f64 b (*.f64 a 1/2)))))
(+.f64 (/.f64 a (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))) (/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))
(*.f64 (sin.f64 b) r)
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 r b) (cos.f64 b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(*.f64 (sin.f64 b) (/.f64 1 (/.f64 1 r)))
(*.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b))
(*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b)))
(*.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b))
(*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b)))
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (fma.f64 b (*.f64 b a) b) r)
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r b)))
(*.f64 r (-.f64 (+.f64 1 (/.f64 b (cos.f64 a))) 1))
(-.f64 (+.f64 1 (*.f64 (/.f64 b (cos.f64 a)) r)) 1)
(+.f64 (/.f64 (*.f64 a r) (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 2)) (/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b))))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
Outputs
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
Calls

3 calls:

31.0ms
b
30.0ms
r
28.0ms
a
Results
ErrorSegmentsBranch
27.0b1r
27.0b1a
27.0b1b
Compiler

Compiled 311 to 145 computations (53.4% saved)

regimes160.0ms (1.1%)

Counts
30 → 3
Calls
Call 1
Inputs
(*.f64 r b)
(*.f64 b (*.f64 r (*.f64 b a)))
(*.f64 b (+.f64 (*.f64 a (*.f64 r b)) r))
(/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b)))
(*.f64 (*.f64 a a) (*.f64 1/2 (*.f64 b r)))
(*.f64 b (+.f64 r (*.f64 r (*.f64 1/2 (*.f64 a a)))))
(/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))))
(*.f64 r (+.f64 b (*.f64 a (*.f64 b (+.f64 b (*.f64 a 1/2))))))
(*.f64 b (+.f64 r (*.f64 (*.f64 a r) (+.f64 b (*.f64 a 1/2)))))
(+.f64 (/.f64 a (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))) (/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))
(*.f64 (sin.f64 b) r)
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 r b) (cos.f64 b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 b (cos.f64 a)))
(*.f64 (sin.f64 b) (/.f64 1 (/.f64 1 r)))
(*.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b))
(*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b)))
(*.f64 (/.f64 r (cos.f64 a)) (/.f64 -3 b))
(*.f64 -3 (/.f64 r (*.f64 (cos.f64 a) b)))
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 b r)))
(*.f64 (fma.f64 b (*.f64 b a) b) r)
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r b)))
(*.f64 r (-.f64 (+.f64 1 (/.f64 b (cos.f64 a))) 1))
(-.f64 (+.f64 1 (*.f64 (/.f64 b (cos.f64 a)) r)) 1)
(+.f64 (/.f64 (*.f64 a r) (pow.f64 (+.f64 (*.f64 -1/3 b) (/.f64 1 b)) 2)) (/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b))))
Outputs
(*.f64 (sin.f64 b) r)
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 (sin.f64 b) r)
Calls

3 calls:

84.0ms
b
46.0ms
a
22.0ms
r
Results
ErrorSegmentsBranch
29.8b1r
28.4b3a
27.0b3b
Compiler

Compiled 304 to 143 computations (53% saved)

bsearch147.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
66.0ms
844069690.1636496
17051399600816.951
81.0ms
-7.594559937069208e+35
-9.441071185590526e+22
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes27.0ms (0.2%)

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

3 calls:

8.0ms
a
7.0ms
b
7.0ms
r
Results
ErrorSegmentsBranch
37.3b1r
37.3b1a
37.3b1b
Compiler

Compiled 147 to 80 computations (45.6% saved)

regimes29.0ms (0.2%)

Counts
10 → 1
Calls
Call 1
Inputs
(*.f64 r b)
(*.f64 b (*.f64 r (*.f64 b a)))
(*.f64 b (+.f64 (*.f64 a (*.f64 r b)) r))
(/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b)))
(*.f64 (*.f64 a a) (*.f64 1/2 (*.f64 b r)))
(*.f64 b (+.f64 r (*.f64 r (*.f64 1/2 (*.f64 a a)))))
(/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r))))
(*.f64 r (+.f64 b (*.f64 a (*.f64 b (+.f64 b (*.f64 a 1/2))))))
(*.f64 b (+.f64 r (*.f64 (*.f64 a r) (+.f64 b (*.f64 a 1/2)))))
(+.f64 (/.f64 a (*.f64 (+.f64 (*.f64 -1/3 (/.f64 b r)) (/.f64 1 (*.f64 r b))) (*.f64 r (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))) (/.f64 1 (+.f64 (/.f64 1 (*.f64 b r)) (*.f64 -1/3 (/.f64 b r)))))
Outputs
(/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b)))
Calls

3 calls:

8.0ms
a
6.0ms
r
6.0ms
b
Results
ErrorSegmentsBranch
39.5b1r
39.5b1a
39.5b1b
Compiler

Compiled 143 to 78 computations (45.5% saved)

regimes15.0ms (0.1%)

Accuracy

Total -15.3b remaining (-38.1%)

Threshold costs -15.3b (-38.1%)

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

3 calls:

7.0ms
a
4.0ms
r
4.0ms
b
Results
ErrorSegmentsBranch
40.1b1r
40.1b1a
40.1b1b
Compiler

Compiled 34 to 19 computations (44.1% saved)

simplify16.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
058263
186263
295263
3100263
4102263
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 r (/.f64 (sin.f64 b) (fma.f64 (sin.f64 a) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b)))))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
(if (<=.f64 a -1088133553005913/75557863725914323419136) (*.f64 r (/.f64 (sin.f64 b) (cos.f64 a))) (if (<=.f64 a 4664221701698153/37778931862957161709568) (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)) (*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))))
(if (<=.f64 a -1088133553005913/75557863725914323419136) (*.f64 r (/.f64 (sin.f64 b) (cos.f64 a))) (if (<=.f64 a 4664221701698153/37778931862957161709568) (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
(if (<=.f64 b -759455993706920804454682257046634496) (*.f64 (sin.f64 b) r) (if (<=.f64 b 3625251714797727744/4294967296) (*.f64 (/.f64 r (cos.f64 a)) b) (*.f64 (sin.f64 b) r)))
(*.f64 (sin.f64 b) r)
(/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b)))
(*.f64 r b)
Outputs
(*.f64 r (/.f64 (sin.f64 b) (fma.f64 (sin.f64 a) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b)))))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))))
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 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 a -1088133553005913/75557863725914323419136) (*.f64 r (/.f64 (sin.f64 b) (cos.f64 a))) (if (<=.f64 a 4664221701698153/37778931862957161709568) (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)) (*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))))
(if (<=.f64 a -1088133553005913/75557863725914323419136) (*.f64 r (/.f64 (sin.f64 b) (cos.f64 a))) (if (<=.f64 a 4664221701698153/37778931862957161709568) (*.f64 (sin.f64 b) (/.f64 r (cos.f64 b))) (*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))))
(if (<=.f64 a -1088133553005913/75557863725914323419136) (*.f64 r (/.f64 (sin.f64 b) (cos.f64 a))) (if (<=.f64 a 4664221701698153/37778931862957161709568) (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))))
(if (<=.f64 a -1088133553005913/75557863725914323419136) (*.f64 r (/.f64 (sin.f64 b) (cos.f64 a))) (if (<=.f64 a 4664221701698153/37778931862957161709568) (*.f64 r (/.f64 (sin.f64 b) (cos.f64 b))) (*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
(if (<=.f64 b -759455993706920804454682257046634496) (*.f64 (sin.f64 b) r) (if (<=.f64 b 3625251714797727744/4294967296) (*.f64 (/.f64 r (cos.f64 a)) b) (*.f64 (sin.f64 b) r)))
(if (<=.f64 b -759455993706920804454682257046634496) (*.f64 r (sin.f64 b)) (if (<=.f64 b 885071219433039/1048576) (*.f64 b (/.f64 r (cos.f64 a))) (*.f64 r (sin.f64 b))))
(*.f64 (sin.f64 b) r)
(*.f64 r (sin.f64 b))
(/.f64 r (+.f64 (*.f64 -1/3 b) (/.f64 1 b)))
(/.f64 r (+.f64 (*.f64 b -1/3) (/.f64 1 b)))
(*.f64 r b)
Compiler

Compiled 205 to 123 computations (40% saved)

soundness70.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0914
11314
21714
32114
42214
01462104
14882029
218391955
Stop Event
node limit
saturated
Compiler

Compiled 130 to 86 computations (33.8% saved)

end85.0ms (0.6%)

Compiler

Compiled 172 to 57 computations (66.9% saved)

Profiling

Loading profile data...