Details

Time bar (total: 9.3s)

analyze364.0ms (3.9%)

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
25%74.9%0.1%7
37.4%62.4%0.1%8
37.4%62.4%0.1%9
56.2%43.7%0.1%10
65.5%34.3%0.1%11
65.5%34.3%0.1%12
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample3.3s (35.4%)

Results
1.4s2123×body1024valid
1.2s5074×body256valid
596.0ms1052×body512valid
7.0msbody2048valid

preprocess38.0ms (0.4%)

Algorithm
egg-herbie
Rules
516×fma-def_binary64
380×fma-neg_binary64
130×cancel-sign-sub-inv_binary64
69×sub-neg_binary64
64×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02256
15356
210456
316756
426356
543556
674356
7113456
8166356
9190456
10193056
033
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 y (cos.f64 x)) (*.f64 z (sin.f64 x)))
(-.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y)))
(-.f64 (*.f64 x (cos.f64 z)) (*.f64 y (sin.f64 z)))
Outputs
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 y (cos.f64 x)) (*.f64 z (sin.f64 x)))
(-.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) z) (*.f64 x (sin.f64 y)))
(-.f64 (*.f64 x (cos.f64 z)) (*.f64 y (sin.f64 z)))
(fma.f64 x (cos.f64 z) (*.f64 (sin.f64 z) (neg.f64 y)))
Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify15.0ms (0.2%)

Algorithm
egg-herbie
Rules
171×fma-def_binary64
87×fma-neg_binary64
37×cancel-sign-sub-inv_binary64
23×distribute-rgt-neg-in_binary64
20×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0914
11714
23214
34914
47614
512414
620514
730614
840814
952414
1058214
1158814
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
Outputs
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))

eval0.0ms (0%)

Compiler

Compiled 12 to 8 computations (33.3% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.1b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
Compiler

Compiled 12 to 8 computations (33.3% saved)

localize11.0ms (0.1%)

Local error

Found 6 expressions with local error:

NewErrorProgram
0.1b
(*.f64 x (cos.f64 y))
0.1b
(*.f64 z (sin.f64 y))
0.0b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
0.0b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
0.1b
(*.f64 z (sin.f64 y))
0.1b
(*.f64 x (cos.f64 y))
Compiler

Compiled 27 to 8 computations (70.4% saved)

series11.0ms (0.1%)

Counts
3 → 64
Calls

21 calls:

TimeVariablePointExpression
2.0ms
z
@-inf
(*.f64 z (sin.f64 y))
1.0ms
x
@0
(*.f64 x (cos.f64 y))
1.0ms
z
@0
(*.f64 z (sin.f64 y))
1.0ms
y
@0
(*.f64 x (cos.f64 y))
1.0ms
y
@0
(*.f64 z (sin.f64 y))

rewrite71.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
518×log-prod_binary64
391×fma-def_binary64
382×exp-prod_binary64
337×pow-prod-down_binary64
268×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify77.0ms (0.8%)

Algorithm
egg-herbie
Rules
472×*-commutative_binary64
434×distribute-rgt-neg-in_binary64
403×distribute-lft-out_binary64
372×sub-neg_binary64
335×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
060721
1170715
2472698
31513693
42746693
55559693
67480693
Stop Event
node limit
Counts
292 → 254
Calls
Call 1
Inputs
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
x
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x)
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x))
(+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) x)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x)))
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 y z)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (*.f64 1/120 (*.f64 (pow.f64 y 5) z))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 7) z)) (*.f64 1/120 (*.f64 (pow.f64 y 5) z)))))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(*.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(*.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(*.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
Outputs
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
x
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x)
(fma.f64 -1/2 (*.f64 x (*.f64 y y)) x)
(fma.f64 -1/2 (*.f64 y (*.f64 y x)) x)
(fma.f64 x (*.f64 -1/2 (*.f64 y y)) x)
(*.f64 x (fma.f64 -1/2 (*.f64 y y) 1))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x))
(fma.f64 1/24 (*.f64 x (pow.f64 y 4)) (fma.f64 -1/2 (*.f64 x (*.f64 y y)) x))
(fma.f64 1/24 (*.f64 x (pow.f64 y 4)) (fma.f64 -1/2 (*.f64 y (*.f64 y x)) x))
(fma.f64 x (fma.f64 1/24 (pow.f64 y 4) (*.f64 -1/2 (*.f64 y y))) x)
(fma.f64 x (fma.f64 1/24 (pow.f64 y 4) (*.f64 y (*.f64 y -1/2))) x)
(+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) x)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x)))
(fma.f64 -1/720 (*.f64 x (pow.f64 y 6)) (fma.f64 1/24 (*.f64 x (pow.f64 y 4)) (fma.f64 -1/2 (*.f64 x (*.f64 y y)) x)))
(fma.f64 -1/720 (*.f64 x (pow.f64 y 6)) (fma.f64 1/24 (*.f64 x (pow.f64 y 4)) (fma.f64 -1/2 (*.f64 y (*.f64 y x)) x)))
(fma.f64 x (fma.f64 -1/720 (pow.f64 y 6) (*.f64 1/24 (pow.f64 y 4))) (fma.f64 x (*.f64 -1/2 (*.f64 y y)) x))
(*.f64 x (+.f64 (fma.f64 -1/720 (pow.f64 y 6) (*.f64 1/24 (pow.f64 y 4))) (fma.f64 -1/2 (*.f64 y y) 1)))
(*.f64 x (+.f64 (fma.f64 -1/2 (*.f64 y y) 1) (fma.f64 -1/720 (pow.f64 y 6) (*.f64 1/24 (pow.f64 y 4)))))
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 y z)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z))
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z))
(*.f64 z (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (*.f64 1/120 (*.f64 (pow.f64 y 5) z))))
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (fma.f64 y z (*.f64 1/120 (*.f64 z (pow.f64 y 5)))))
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 z (+.f64 y (*.f64 1/120 (pow.f64 y 5)))))
(*.f64 z (+.f64 (*.f64 1/120 (pow.f64 y 5)) (fma.f64 -1/6 (pow.f64 y 3) y)))
(*.f64 z (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (fma.f64 1/120 (pow.f64 y 5) y)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 7) z)) (*.f64 1/120 (*.f64 (pow.f64 y 5) z)))))
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (fma.f64 y z (fma.f64 -1/5040 (*.f64 z (pow.f64 y 7)) (*.f64 1/120 (*.f64 z (pow.f64 y 5))))))
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (fma.f64 y z (*.f64 z (+.f64 (*.f64 1/120 (pow.f64 y 5)) (*.f64 -1/5040 (pow.f64 y 7))))))
(*.f64 z (+.f64 (fma.f64 1/120 (pow.f64 y 5) (*.f64 -1/5040 (pow.f64 y 7))) (fma.f64 -1/6 (pow.f64 y 3) y)))
(*.f64 z (+.f64 (fma.f64 -1/5040 (pow.f64 y 7) (*.f64 1/120 (pow.f64 y 5))) (fma.f64 -1/6 (pow.f64 y 3) y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 (cos.f64 y) x))
(*.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 (cos.f64 y) x))
(*.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 (cos.f64 y) x))
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(-.f64 x (*.f64 y z))
(fma.f64 z (neg.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x))
(fma.f64 -1 (*.f64 y z) (fma.f64 -1/2 (*.f64 x (*.f64 y y)) x))
(-.f64 (fma.f64 -1/2 (*.f64 y (*.f64 y x)) x) (*.f64 y z))
(-.f64 (fma.f64 x (*.f64 -1/2 (*.f64 y y)) x) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))
(+.f64 x (*.f64 y (-.f64 (*.f64 x (*.f64 y -1/2)) z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x)))
(fma.f64 -1 (*.f64 y z) (fma.f64 -1/2 (*.f64 x (*.f64 y y)) (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) x)))
(-.f64 (fma.f64 -1/2 (*.f64 y (*.f64 y x)) (fma.f64 (*.f64 z (pow.f64 y 3)) 1/6 x)) (*.f64 y z))
(-.f64 (fma.f64 x (*.f64 -1/2 (*.f64 y y)) (fma.f64 z (*.f64 (pow.f64 y 3) 1/6) x)) (*.f64 y z))
(-.f64 (*.f64 x (fma.f64 -1/2 (*.f64 y y) 1)) (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))
(fma.f64 x (fma.f64 -1/2 (*.f64 y y) 1) (*.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y))))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 (cos.f64 y) x))
(*.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 (cos.f64 y) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 (cos.f64 y) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 (cos.f64 y) x))

eval49.0ms (0.5%)

Compiler

Compiled 5144 to 1134 computations (78% saved)

prune47.0ms (0.5%)

Pruning

17 alts after pruning (16 fresh and 1 done)

PrunedKeptTotal
New23816254
Fresh000
Picked011
Done000
Total23817255
Error
0.0b
Counts
255 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
35.3b
(-.f64 (exp.f64 (log.f64 (*.f64 x (cos.f64 y)))) (*.f64 z (sin.f64 y)))
35.0b
(fma.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))
0.1b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
30.7b
(fma.f64 z (neg.f64 y) x)
0.9b
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
35.0b
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2)
37.7b
(*.f64 z (neg.f64 (sin.f64 y)))
14.4b
(fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))
0.2b
(+.f64 (*.f64 x (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))
33.7b
(fma.f64 (*.f64 (neg.f64 z) (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) (*.f64 x (cos.f64 y)))
0.3b
(fma.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) (*.f64 (cbrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))
0.6b
(-.f64 (*.f64 x (cos.f64 y)) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3))
22.9b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 y z))
33.2b
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
32.0b
(+.f64 x (*.f64 y (-.f64 (*.f64 x (*.f64 y -1/2)) z)))
30.7b
(+.f64 (*.f64 -1 (*.f64 y z)) x)
13.4b
(-.f64 x (*.f64 z (sin.f64 y)))
Compiler

Compiled 504 to 308 computations (38.9% saved)

localize19.0ms (0.2%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.1b
(*.f64 x (cos.f64 y))
0.1b
(fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))
0.1b
(*.f64 z (sin.f64 y))
0.0b
(+.f64 (*.f64 x (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))
0.1b
(*.f64 z (sin.f64 y))
0.1b
(fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))
0.1b
(*.f64 x (cos.f64 y))
53.0b
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))
Compiler

Compiled 63 to 11 computations (82.5% saved)

series7.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
y
@-inf
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))
1.0ms
z
@-inf
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))
1.0ms
z
@0
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))
1.0ms
z
@inf
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))
1.0ms
y
@0
(fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))

rewrite42.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
689×pow1_binary64
630×add-log-exp_binary64
629×log1p-expm1-u_binary64
629×expm1-log1p-u_binary64
616×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0836
116128
2201328
Stop Event
node limit
Counts
2 → 40
Calls
Call 1
Inputs
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (sin.f64 y)) (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))) 2) (cbrt.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))) (sqrt.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (+.f64 (pow.f64 (*.f64 z (sin.f64 y)) 2) (-.f64 (pow.f64 (*.f64 z (sin.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z (sin.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (-.f64 (*.f64 z (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (sin.f64 y)) (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))) (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 z (sin.f64 y) (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 z (sin.f64 y) (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 z (sin.f64 y) (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 z (sin.f64 y) (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))))) (pow.f64 (cbrt.f64 (fma.f64 z (sin.f64 y) (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 z (sin.f64 y) (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))))) 2) (cbrt.f64 (fma.f64 z (sin.f64 y) (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 z (sin.f64 y) (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))))) (sqrt.f64 (fma.f64 z (sin.f64 y) (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3) (pow.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))) 3)) (+.f64 (pow.f64 (*.f64 z (sin.f64 y)) 2) (-.f64 (pow.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))) 2) (*.f64 (*.f64 z (sin.f64 y)) (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z (sin.f64 y)) 2) (pow.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))) 2)) (-.f64 (*.f64 z (sin.f64 y)) (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 z (sin.f64 y) (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (sin.f64 y) (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 z (sin.f64 y) (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 z (sin.f64 y) (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 z (sin.f64 y) (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 z (sin.f64 y) (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 z (sin.f64 y) (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 z (sin.f64 y) (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 z (sin.f64 y) (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 z (sin.f64 y) (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))))))))))

simplify41.0ms (0.4%)

Algorithm
egg-herbie
Rules
751×fma-def_binary64
541×distribute-rgt-in_binary64
468×distribute-lft-in_binary64
464×distribute-rgt-out_binary64
349×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
076460
1232268
2714265
33733256
46827256
Stop Event
node limit
Counts
88 → 60
Calls
Call 1
Inputs
(*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (sin.f64 y)) z))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (sin.f64 y)) z))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (sin.f64 y)) z))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (sin.f64 y)) z))
(*.f64 (+.f64 (*.f64 -1 z) z) y)
(+.f64 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/6 z) (*.f64 1/6 z))) (*.f64 (+.f64 (*.f64 -1 z) z) y))
(+.f64 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/6 z) (*.f64 1/6 z))) (+.f64 (*.f64 (+.f64 (*.f64 1/120 z) (*.f64 -1/120 z)) (pow.f64 y 5)) (*.f64 (+.f64 (*.f64 -1 z) z) y)))
(+.f64 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/6 z) (*.f64 1/6 z))) (+.f64 (*.f64 (+.f64 (*.f64 -1/5040 z) (*.f64 1/5040 z)) (pow.f64 y 7)) (+.f64 (*.f64 (+.f64 (*.f64 1/120 z) (*.f64 -1/120 z)) (pow.f64 y 5)) (*.f64 (+.f64 (*.f64 -1 z) z) y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(*.f64 (+.f64 (*.f64 -2 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (+.f64 (*.f64 -2 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (+.f64 (*.f64 -2 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (+.f64 (*.f64 -2 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (+.f64 (*.f64 -2 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (+.f64 (*.f64 -2 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (+.f64 (*.f64 -2 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (+.f64 (*.f64 -2 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (*.f64 2 (sin.f64 y))) z))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (*.f64 2 (sin.f64 y))) z))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (*.f64 2 (sin.f64 y))) z))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (*.f64 2 (sin.f64 y))) z))
(*.f64 (+.f64 (*.f64 -2 z) z) y)
(+.f64 (*.f64 (+.f64 (*.f64 -2 z) z) y) (*.f64 (+.f64 (*.f64 -1/6 z) (*.f64 1/3 z)) (pow.f64 y 3)))
(+.f64 (*.f64 (+.f64 (*.f64 -2 z) z) y) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 z) (*.f64 1/3 z)) (pow.f64 y 3)) (*.f64 (+.f64 (*.f64 1/120 z) (*.f64 -1/60 z)) (pow.f64 y 5))))
(+.f64 (*.f64 (+.f64 (*.f64 -2 z) z) y) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 z) (*.f64 1/3 z)) (pow.f64 y 3)) (+.f64 (*.f64 (pow.f64 y 7) (+.f64 (*.f64 1/2520 z) (*.f64 -1/5040 z))) (*.f64 (+.f64 (*.f64 1/120 z) (*.f64 -1/60 z)) (pow.f64 y 5)))))
(+.f64 (*.f64 -2 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -2 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -2 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -2 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -2 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -2 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -2 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -2 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
Outputs
(*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (*.f64 0 (sin.f64 y)) z)
0
(*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (*.f64 0 (sin.f64 y)) z)
0
(*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (*.f64 0 (sin.f64 y)) z)
0
(*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (*.f64 0 (sin.f64 y)) z)
0
(*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (*.f64 0 (sin.f64 y)) z)
0
(*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (*.f64 0 (sin.f64 y)) z)
0
(*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (*.f64 0 (sin.f64 y)) z)
0
(*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (*.f64 0 (sin.f64 y)) z)
0
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (sin.f64 y)) z))
(*.f64 (*.f64 0 (sin.f64 y)) z)
0
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (sin.f64 y)) z))
(*.f64 (*.f64 0 (sin.f64 y)) z)
0
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (sin.f64 y)) z))
(*.f64 (*.f64 0 (sin.f64 y)) z)
0
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (sin.f64 y)) z))
(*.f64 (*.f64 0 (sin.f64 y)) z)
0
(*.f64 (+.f64 (*.f64 -1 z) z) y)
(*.f64 (*.f64 0 (sin.f64 y)) z)
0
(+.f64 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/6 z) (*.f64 1/6 z))) (*.f64 (+.f64 (*.f64 -1 z) z) y))
(*.f64 (*.f64 0 (sin.f64 y)) z)
0
(+.f64 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/6 z) (*.f64 1/6 z))) (+.f64 (*.f64 (+.f64 (*.f64 1/120 z) (*.f64 -1/120 z)) (pow.f64 y 5)) (*.f64 (+.f64 (*.f64 -1 z) z) y)))
(*.f64 (*.f64 0 (sin.f64 y)) z)
0
(+.f64 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/6 z) (*.f64 1/6 z))) (+.f64 (*.f64 (+.f64 (*.f64 -1/5040 z) (*.f64 1/5040 z)) (pow.f64 y 7)) (+.f64 (*.f64 (+.f64 (*.f64 1/120 z) (*.f64 -1/120 z)) (pow.f64 y 5)) (*.f64 (+.f64 (*.f64 -1 z) z) y))))
(*.f64 (*.f64 0 (sin.f64 y)) z)
0
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(*.f64 (*.f64 0 (sin.f64 y)) z)
0
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(*.f64 (*.f64 0 (sin.f64 y)) z)
0
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(*.f64 (*.f64 0 (sin.f64 y)) z)
0
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(*.f64 (*.f64 0 (sin.f64 y)) z)
0
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(*.f64 (*.f64 0 (sin.f64 y)) z)
0
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(*.f64 (*.f64 0 (sin.f64 y)) z)
0
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(*.f64 (*.f64 0 (sin.f64 y)) z)
0
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(*.f64 (*.f64 0 (sin.f64 y)) z)
0
(*.f64 (+.f64 (*.f64 -2 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (neg.f64 (sin.f64 y)) z)
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 (+.f64 (*.f64 -2 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (neg.f64 (sin.f64 y)) z)
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 (+.f64 (*.f64 -2 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (neg.f64 (sin.f64 y)) z)
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 (+.f64 (*.f64 -2 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (neg.f64 (sin.f64 y)) z)
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 (+.f64 (*.f64 -2 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (neg.f64 (sin.f64 y)) z)
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 (+.f64 (*.f64 -2 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (neg.f64 (sin.f64 y)) z)
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 (+.f64 (*.f64 -2 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (neg.f64 (sin.f64 y)) z)
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 (+.f64 (*.f64 -2 (sin.f64 y)) (sin.f64 y)) z)
(*.f64 (neg.f64 (sin.f64 y)) z)
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (*.f64 2 (sin.f64 y))) z))
(*.f64 (neg.f64 (sin.f64 y)) z)
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (*.f64 2 (sin.f64 y))) z))
(*.f64 (neg.f64 (sin.f64 y)) z)
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (*.f64 2 (sin.f64 y))) z))
(*.f64 (neg.f64 (sin.f64 y)) z)
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (sin.f64 y)) (*.f64 2 (sin.f64 y))) z))
(*.f64 (neg.f64 (sin.f64 y)) z)
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 (+.f64 (*.f64 -2 z) z) y)
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 (+.f64 (*.f64 -2 z) z) y) (*.f64 (+.f64 (*.f64 -1/6 z) (*.f64 1/3 z)) (pow.f64 y 3)))
(fma.f64 (neg.f64 z) y (*.f64 (pow.f64 y 3) (*.f64 z 1/6)))
(fma.f64 y (neg.f64 z) (*.f64 (pow.f64 y 3) (*.f64 z 1/6)))
(*.f64 z (+.f64 (neg.f64 y) (*.f64 (pow.f64 y 3) 1/6)))
(*.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y))
(+.f64 (*.f64 (+.f64 (*.f64 -2 z) z) y) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 z) (*.f64 1/3 z)) (pow.f64 y 3)) (*.f64 (+.f64 (*.f64 1/120 z) (*.f64 -1/60 z)) (pow.f64 y 5))))
(fma.f64 (neg.f64 z) y (fma.f64 (*.f64 z 1/6) (pow.f64 y 3) (*.f64 (pow.f64 y 5) (*.f64 z -1/120))))
(fma.f64 y (neg.f64 z) (fma.f64 (pow.f64 y 3) (*.f64 z 1/6) (*.f64 z (*.f64 -1/120 (pow.f64 y 5)))))
(-.f64 (*.f64 z (+.f64 (*.f64 (pow.f64 y 3) 1/6) (*.f64 -1/120 (pow.f64 y 5)))) (*.f64 y z))
(*.f64 z (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 y 5)) (*.f64 (pow.f64 y 3) 1/6)) y))
(+.f64 (*.f64 (+.f64 (*.f64 -2 z) z) y) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 z) (*.f64 1/3 z)) (pow.f64 y 3)) (+.f64 (*.f64 (pow.f64 y 7) (+.f64 (*.f64 1/2520 z) (*.f64 -1/5040 z))) (*.f64 (+.f64 (*.f64 1/120 z) (*.f64 -1/60 z)) (pow.f64 y 5)))))
(fma.f64 (neg.f64 z) y (fma.f64 (*.f64 z 1/6) (pow.f64 y 3) (fma.f64 (pow.f64 y 7) (*.f64 z 1/5040) (*.f64 (pow.f64 y 5) (*.f64 z -1/120)))))
(fma.f64 y (neg.f64 z) (fma.f64 (pow.f64 y 3) (*.f64 z 1/6) (fma.f64 (pow.f64 y 5) (*.f64 z -1/120) (*.f64 z (*.f64 1/5040 (pow.f64 y 7))))))
(-.f64 (fma.f64 z (*.f64 1/5040 (pow.f64 y 7)) (*.f64 z (+.f64 (*.f64 (pow.f64 y 3) 1/6) (*.f64 -1/120 (pow.f64 y 5))))) (*.f64 y z))
(*.f64 z (+.f64 (+.f64 (*.f64 1/5040 (pow.f64 y 7)) (*.f64 -1/120 (pow.f64 y 5))) (-.f64 (*.f64 (pow.f64 y 3) 1/6) y)))
(+.f64 (*.f64 -2 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(*.f64 (neg.f64 (sin.f64 y)) z)
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 -2 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(*.f64 (neg.f64 (sin.f64 y)) z)
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 -2 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(*.f64 (neg.f64 (sin.f64 y)) z)
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 -2 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(*.f64 (neg.f64 (sin.f64 y)) z)
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 -2 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(*.f64 (neg.f64 (sin.f64 y)) z)
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 -2 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(*.f64 (neg.f64 (sin.f64 y)) z)
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 -2 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(*.f64 (neg.f64 (sin.f64 y)) z)
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 -2 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y)))
(*.f64 (neg.f64 (sin.f64 y)) z)
(*.f64 (sin.f64 y) (neg.f64 z))

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 -1 (*.f64 y z)) x)
0.0b
(+.f64 (*.f64 -1 (*.f64 y z)) x)
Compiler

Compiled 22 to 10 computations (54.5% saved)

series3.0ms (0%)

Counts
1 → 9
Calls

9 calls:

TimeVariablePointExpression
1.0ms
y
@0
(+.f64 (*.f64 -1 (*.f64 y z)) x)
0.0ms
y
@inf
(+.f64 (*.f64 -1 (*.f64 y z)) x)
0.0ms
z
@inf
(+.f64 (*.f64 -1 (*.f64 y z)) x)
0.0ms
z
@0
(+.f64 (*.f64 -1 (*.f64 y z)) x)
0.0ms
x
@0
(+.f64 (*.f64 -1 (*.f64 y z)) x)

rewrite45.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
782×pow1_binary64
723×add-log-exp_binary64
723×log1p-expm1-u_binary64
723×expm1-log1p-u_binary64
708×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
088
11677
222727
Stop Event
node limit
Counts
1 → 37
Calls
Call 1
Inputs
(+.f64 (*.f64 -1 (*.f64 y z)) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 x (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 (*.f64 y z) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 y z) 2) (-.f64 (*.f64 y z) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y z) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (*.f64 y z) x)) (pow.f64 (cbrt.f64 (+.f64 (*.f64 y z) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (*.f64 y z) x)) 2) (cbrt.f64 (+.f64 (*.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (*.f64 y z) x)) (sqrt.f64 (+.f64 (*.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 x 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 x (+.f64 (*.f64 y z) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 x x)) (/.f64 1 (-.f64 (*.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 x (+.f64 (*.f64 y z) x))) (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 y z) x) (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 x (+.f64 (*.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 x 3)) (+.f64 (*.f64 x x) (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 (*.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 x x)) (-.f64 (*.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 x 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 x (+.f64 (*.f64 y z) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y z) 2)) (+.f64 (*.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 y z) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (*.f64 y z) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (*.f64 y z) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (*.f64 y z) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (*.f64 y z) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (*.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (*.f64 y z) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (*.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (*.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (*.f64 y z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 y z) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y z) -1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y z) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y z)) 2) (cbrt.f64 (*.f64 y z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y z)) (sqrt.f64 (*.f64 y z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 y) z x)))))

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
38×fma-def_binary64
sub-neg_binary64
+-commutative_binary64
*-commutative_binary64
distribute-lft-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0734
11234
22534
32934
43334
55134
67334
78434
89634
912134
Stop Event
saturated
Counts
46 → 40
Calls
Call 1
Inputs
x
(*.f64 -1 (*.f64 y z))
(*.f64 -1 (*.f64 y z))
x
(*.f64 -1 (*.f64 y z))
(*.f64 -1 (*.f64 y z))
(*.f64 -1 (*.f64 y z))
x
x
Outputs
x
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
x
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
x
x

localize7.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 z (sin.f64 y))
0.0b
(-.f64 x (*.f64 z (sin.f64 y)))
0.0b
(-.f64 x (*.f64 z (sin.f64 y)))
0.1b
(*.f64 z (sin.f64 y))
Compiler

Compiled 18 to 6 computations (66.7% saved)

series2.0ms (0%)

Counts
1 → 28
Calls

9 calls:

TimeVariablePointExpression
0.0ms
x
@0
(-.f64 x (*.f64 z (sin.f64 y)))
0.0ms
y
@0
(-.f64 x (*.f64 z (sin.f64 y)))
0.0ms
y
@inf
(-.f64 x (*.f64 z (sin.f64 y)))
0.0ms
x
@-inf
(-.f64 x (*.f64 z (sin.f64 y)))
0.0ms
z
@-inf
(-.f64 x (*.f64 z (sin.f64 y)))

rewrite40.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
833×pow1_binary64
770×add-log-exp_binary64
770×log1p-expm1-u_binary64
770×expm1-log1p-u_binary64
753×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
079
11519
220819
Stop Event
node limit
Counts
1 → 37
Calls
Call 1
Inputs
(-.f64 x (*.f64 z (sin.f64 y)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z (sin.f64 y))) (fma.f64 (neg.f64 (sin.f64 y)) z (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z (sin.f64 y))) (fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z (sin.f64 y))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z (sin.f64 y))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z (sin.f64 y))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z (sin.f64 y)))) (sqrt.f64 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) (neg.f64 z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (*.f64 z (sin.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 2) (cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 z (sin.f64 y)) (+.f64 x (*.f64 z (sin.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (+.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 z (sin.f64 y)))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 z (sin.f64 y)) (+.f64 x (*.f64 z (sin.f64 y))))) (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (sin.f64 y)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 x (*.f64 z (sin.f64 y))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (sin.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (fma.f64 x x (*.f64 (*.f64 z (sin.f64 y)) (+.f64 x (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (+.f64 x (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (sin.f64 y)) 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 z (sin.f64 y)) (+.f64 x (*.f64 z (sin.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (sin.f64 y)) 2))) (neg.f64 (+.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 3)) (+.f64 (*.f64 x x) (-.f64 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) (*.f64 (sin.f64 y) (neg.f64 z))) (*.f64 x (*.f64 (sin.f64 y) (neg.f64 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) (*.f64 (sin.f64 y) (neg.f64 z)))) (-.f64 x (*.f64 (sin.f64 y) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))))))

simplify51.0ms (0.5%)

Algorithm
egg-herbie
Rules
825×distribute-rgt-neg-in_binary64
812×fma-def_binary64
703×distribute-lft-neg-in_binary64
596×unswap-sqr_binary64
544×associate-*l*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
026262
174241
2196236
3506233
41504232
54249232
66525232
Stop Event
node limit
Counts
65 → 48
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
x
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
x
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
x
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x)))
Outputs
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
x
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
x
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
x
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 z y) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(fma.f64 y (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x))
(fma.f64 -1 (*.f64 z y) (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) x))
(-.f64 (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) x) (*.f64 z y))
(fma.f64 z (fma.f64 -1 y (*.f64 1/6 (pow.f64 y 3))) x)
(fma.f64 z (-.f64 (*.f64 1/6 (pow.f64 y 3)) y) x)
(fma.f64 z (fma.f64 1/6 (pow.f64 y 3) (neg.f64 y)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x)))
(fma.f64 -1 (*.f64 z y) (fma.f64 -1/120 (*.f64 z (pow.f64 y 5)) (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) x)))
(-.f64 (fma.f64 -1/120 (*.f64 z (pow.f64 y 5)) (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) x)) (*.f64 z y))
(-.f64 (fma.f64 z (fma.f64 -1/120 (pow.f64 y 5) (*.f64 1/6 (pow.f64 y 3))) x) (*.f64 z y))
(fma.f64 z (fma.f64 -1 y (fma.f64 1/6 (pow.f64 y 3) (*.f64 -1/120 (pow.f64 y 5)))) x)
(fma.f64 z (fma.f64 1/6 (pow.f64 y 3) (fma.f64 -1/120 (pow.f64 y 5) (neg.f64 y))) x)
(fma.f64 z (-.f64 (fma.f64 1/6 (pow.f64 y 3) (*.f64 -1/120 (pow.f64 y 5))) y) x)

localize17.0ms (0.2%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.1b
(*.f64 x (cos.f64 y))
0.1b
(*.f64 z (sin.f64 y))
0.0b
(sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))
0.0b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
0.0b
(sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))
0.1b
(*.f64 z (sin.f64 y))
0.1b
(*.f64 x (cos.f64 y))
0.2b
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2)
Compiler

Compiled 50 to 12 computations (76% saved)

series53.0ms (0.6%)

Counts
2 → 40
Calls

18 calls:

TimeVariablePointExpression
35.0ms
x
@inf
(sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))
3.0ms
x
@inf
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2)
2.0ms
y
@0
(sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))
2.0ms
x
@0
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2)
1.0ms
z
@inf
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2)

rewrite101.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
576×log-prod_binary64
422×fma-def_binary64
374×pow-prod-down_binary64
306×pow2_binary64
212×expm1-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01230
126330
2309330
Stop Event
node limit
Counts
2 → 229
Calls
Call 1
Inputs
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2)
(sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) (neg.f64 z)) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (cos.f64 y)) (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))) (/.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3) (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) (/.f64 (pow.f64 (*.f64 z (sin.f64 y)) 2) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (-.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 5/6) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2)) (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3))) (neg.f64 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2))) (neg.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 3)) (+.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (-.f64 (pow.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 2) (*.f64 (*.f64 x (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3) (pow.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 3)) (+.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2) (-.f64 (pow.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 2) (*.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 2)) (-.f64 (*.f64 x (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2) (pow.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 2)) (-.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 x (cos.f64 y)))) (pow.f64 (exp.f64 z) (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 x) (cos.f64 y)) (+.f64 1 (expm1.f64 (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 x (cos.f64 y)))) (+.f64 1 (expm1.f64 (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (cos.f64 y)))) (exp.f64 (*.f64 (sin.f64 y) (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (cos.f64 y)))) (pow.f64 (exp.f64 z) (neg.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) (exp.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))) (exp.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))) (+.f64 1 (expm1.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 y) (neg.f64 z))) (pow.f64 (exp.f64 x) (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 y) (neg.f64 z))) (+.f64 1 (expm1.f64 (*.f64 x (cos.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 z) (neg.f64 (sin.f64 y))) (+.f64 1 (expm1.f64 (*.f64 x (cos.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (cos.f64 y) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (cos.f64 y) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 y) x (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 y) x (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 y) x (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cos.f64 y)) 1 (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cos.f64 y)) 1 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cos.f64 y)) 1 (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cos.f64 y)) 1 (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1 (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1 (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1 (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (cos.f64 y)) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (sin.f64 y) (neg.f64 z)) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (cbrt.f64 (*.f64 x (cos.f64 y))) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (cbrt.f64 (*.f64 x (cos.f64 y))) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (cbrt.f64 (*.f64 x (cos.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (cbrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) (neg.f64 (sqrt.f64 (*.f64 z (sin.f64 y)))) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (cos.f64 y)) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/4) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/4) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/4) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/4) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/4) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) x) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) x) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) x) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sin.f64 y)) z (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))) 2) (cbrt.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))) (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) (neg.f64 z))) 2) (cbrt.f64 (*.f64 (sin.f64 y) (neg.f64 z))) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))) (sqrt.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))) (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sin.f64 y) (neg.f64 z))) (sqrt.f64 (*.f64 (sin.f64 y) (neg.f64 z))) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (*.f64 z (sin.f64 y)))) (sqrt.f64 (*.f64 z (sin.f64 y))) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (-.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (-.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (-.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (-.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (-.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2)) (cbrt.f64 (*.f64 z (sin.f64 y))) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 z) 1) (sin.f64 y) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 z) (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 z) (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 5/6) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 5/6) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 5/6) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 5/6) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 5/6) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2))) (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3))) (hypot.f64 (*.f64 x (cos.f64 y)) (sqrt.f64 (*.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (sqrt.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 (sin.f64 y) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (*.f64 (sin.f64 y) (neg.f64 z))) (sqrt.f64 (*.f64 x (cos.f64 y))))))))

simplify44.0ms (0.5%)

Algorithm
egg-herbie
Rules
976×fma-def_binary64
570×associate-/r*_binary64
519×associate-/l*_binary64
462×*-commutative_binary64
342×associate-*l/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01641254
15251144
220751072
Stop Event
node limit
Counts
269 → 269
Calls
Call 1
Inputs
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y))))) (*.f64 1/4 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)))))) (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y))))) (*.f64 1/4 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)))))) (pow.f64 x 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 (pow.f64 (sqrt.f64 -1) 4) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))) (*.f64 -1/8 (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 (pow.f64 (sqrt.f64 -1) 4) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))))) (pow.f64 x 3)) (+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))))
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 (-.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 z 2) x)) (*.f64 -1/2 x)) (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 x)))) 2)) (pow.f64 y 2)) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1 (+.f64 (*.f64 -1/6 z) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/2 x) (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 x)))) 2)) z) x)))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/2 x) (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 x)))) 2)) z) x)))) (+.f64 (*.f64 (-.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 z 2) x)) (*.f64 -1/2 x)) (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 x)))) 2)) (pow.f64 y 2)) x)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(*.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (*.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (cos.f64 y) x))) (*.f64 -1/4 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (cos.f64 y) x)))) (pow.f64 z 2)) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (*.f64 1/8 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))) (pow.f64 z 3)) (+.f64 (*.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (cos.f64 y) x))) (*.f64 -1/4 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (cos.f64 y) x)))) (pow.f64 z 2)) (*.f64 (cos.f64 y) x))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (cos.f64 y) x) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y)))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (cos.f64 y) x) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (cos.f64 y) x) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 5) (pow.f64 (sin.f64 y) 5)))))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y)))))))
(sqrt.f64 x)
(+.f64 (sqrt.f64 x) (*.f64 -1/2 (*.f64 (*.f64 y z) (sqrt.f64 (/.f64 1 x)))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 x) (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 x)))) 2)) (pow.f64 y 2)) (sqrt.f64 (/.f64 1 x)))) (+.f64 (sqrt.f64 x) (*.f64 -1/2 (*.f64 (*.f64 y z) (sqrt.f64 (/.f64 1 x))))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 x) (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 x)))) 2)) (pow.f64 y 2)) (sqrt.f64 (/.f64 1 x)))) (+.f64 (sqrt.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/6 z) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/2 x) (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 x)))) 2)) z) x)))) (sqrt.f64 (/.f64 1 x)))) (*.f64 -1/2 (*.f64 (*.f64 y z) (sqrt.f64 (/.f64 1 x)))))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (*.f64 (cos.f64 y) x))
(+.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (*.f64 -1/2 (*.f64 (*.f64 z (sin.f64 y)) (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x))))))
(+.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))))) (*.f64 -1/2 (*.f64 (*.f64 z (sin.f64 y)) (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x)))))))
(+.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 z (sin.f64 y)) (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x))))) (*.f64 -1/16 (*.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 5) (pow.f64 x 5)))))))))
Outputs
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y))))) (*.f64 1/4 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)))))) (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x)))
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y))))) (*.f64 1/4 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)))))) (pow.f64 x 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 (pow.f64 (sqrt.f64 -1) 4) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))) (*.f64 -1/8 (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 (pow.f64 (sqrt.f64 -1) 4) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))))) (pow.f64 x 3)) (+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))))
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 z y) x)
(-.f64 x (*.f64 z y))
(fma.f64 y (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 (-.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 z 2) x)) (*.f64 -1/2 x)) (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 x)))) 2)) (pow.f64 y 2)) x))
(fma.f64 -1 (*.f64 z y) (fma.f64 (-.f64 (fma.f64 1/4 (/.f64 (*.f64 z z) x) (*.f64 x -1/2)) (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 x)))) 2)) (*.f64 y y) x))
(-.f64 (fma.f64 (-.f64 (fma.f64 1/4 (/.f64 z (/.f64 x z)) (*.f64 x -1/2)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 x)) (*.f64 z -1/2)) 2)) (*.f64 y y) x) (*.f64 z y))
(fma.f64 y (*.f64 y (fma.f64 x -1/2 (*.f64 1/4 (-.f64 (/.f64 z (/.f64 x z)) (*.f64 (*.f64 z z) (/.f64 1 x)))))) (fma.f64 y (neg.f64 z) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1 (+.f64 (*.f64 -1/6 z) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/2 x) (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 x)))) 2)) z) x)))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/2 x) (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 x)))) 2)) z) x)))) (+.f64 (*.f64 (-.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 z 2) x)) (*.f64 -1/2 x)) (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 x)))) 2)) (pow.f64 y 2)) x)))
(fma.f64 -1 (*.f64 z y) (fma.f64 (pow.f64 y 3) (fma.f64 -1 (fma.f64 -1/6 z (*.f64 -1/2 (/.f64 (-.f64 (*.f64 x -1/2) (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 x)))) 2)) (/.f64 x z)))) (*.f64 -1/2 (/.f64 (-.f64 (*.f64 x -1/2) (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 x)))) 2)) (/.f64 x z)))) (fma.f64 (-.f64 (fma.f64 1/4 (/.f64 (*.f64 z z) x) (*.f64 x -1/2)) (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 x)))) 2)) (*.f64 y y) x)))
(-.f64 (fma.f64 (pow.f64 y 3) (-.f64 (*.f64 -1/2 (*.f64 (/.f64 (-.f64 (*.f64 x -1/2) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 x)) (*.f64 z -1/2)) 2)) x) z)) (fma.f64 -1/2 (*.f64 (/.f64 (-.f64 (*.f64 x -1/2) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 x)) (*.f64 z -1/2)) 2)) x) z) (*.f64 z -1/6))) (fma.f64 (-.f64 (fma.f64 1/4 (/.f64 z (/.f64 x z)) (*.f64 x -1/2)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 x)) (*.f64 z -1/2)) 2)) (*.f64 y y) x)) (*.f64 z y))
(-.f64 (fma.f64 y (*.f64 y (fma.f64 x -1/2 (*.f64 1/4 (-.f64 (/.f64 z (/.f64 x z)) (*.f64 (*.f64 z z) (/.f64 1 x)))))) (fma.f64 (pow.f64 y 3) (fma.f64 z 1/6 (*.f64 (*.f64 z (/.f64 (fma.f64 x -1/2 (*.f64 -1/4 (*.f64 (*.f64 z z) (/.f64 1 x)))) x)) 0)) x)) (*.f64 z y))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(*.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (*.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (cos.f64 y) x))) (*.f64 -1/4 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (cos.f64 y) x)))) (pow.f64 z 2)) (*.f64 (cos.f64 y) x)))
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (*.f64 1/8 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))) (pow.f64 z 3)) (+.f64 (*.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (cos.f64 y) x))) (*.f64 -1/4 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (cos.f64 y) x)))) (pow.f64 z 2)) (*.f64 (cos.f64 y) x))))
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (cos.f64 y) x) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y)))))
(fma.f64 1/2 (/.f64 (*.f64 (*.f64 (cos.f64 y) x) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y))))) (sqrt.f64 -1)) (*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y)))))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (*.f64 (/.f64 (cos.f64 y) (sqrt.f64 -1)) x) (*.f64 (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))) 1/2)))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (sqrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y))) (/.f64 (*.f64 x 1/2) (/.f64 (sqrt.f64 -1) (cos.f64 y)))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (cos.f64 y) x) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))))))
(fma.f64 1/2 (/.f64 (*.f64 (*.f64 (cos.f64 y) x) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y))))) (sqrt.f64 -1)) (fma.f64 -1/8 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (/.f64 (pow.f64 (sqrt.f64 -1) 3) (*.f64 x x))) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 z 3))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))))))
(fma.f64 1/2 (*.f64 (*.f64 (/.f64 (cos.f64 y) (sqrt.f64 -1)) x) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y))))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 -1 (sqrt.f64 -1))) (*.f64 x x)) (*.f64 (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 z 3)) (pow.f64 (sin.f64 y) 3))) -1/8))))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))) (fma.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (/.f64 (neg.f64 (sqrt.f64 -1)) (*.f64 x x))) (*.f64 -1/8 (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 z 3)) (pow.f64 (sin.f64 y) 3)))) (*.f64 (sqrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y))) (/.f64 (*.f64 x 1/2) (/.f64 (sqrt.f64 -1) (cos.f64 y))))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (cos.f64 y) x) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 5) (pow.f64 (sin.f64 y) 5)))))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y)))))))
(fma.f64 1/2 (/.f64 (*.f64 (*.f64 (cos.f64 y) x) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y))))) (sqrt.f64 -1)) (fma.f64 1/16 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (/.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 x 3))) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 5) (pow.f64 (sin.f64 y) 5))))) (fma.f64 -1/8 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (/.f64 (pow.f64 (sqrt.f64 -1) 3) (*.f64 x x))) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 z 3))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y)))))))
(fma.f64 1/2 (*.f64 (*.f64 (/.f64 (cos.f64 y) (sqrt.f64 -1)) x) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y))))) (fma.f64 1/16 (*.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (sqrt.f64 -1) 5)) (pow.f64 x 3)) (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 z 5)) (pow.f64 (sin.f64 y) 5)))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 -1 (sqrt.f64 -1))) (*.f64 x x)) (*.f64 (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 z 3)) (pow.f64 (sin.f64 y) 3))) -1/8)))))
(fma.f64 1/2 (*.f64 (*.f64 x (/.f64 (cos.f64 y) (sqrt.f64 -1))) (sqrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y)))) (fma.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (/.f64 (neg.f64 (sqrt.f64 -1)) (*.f64 x x))) (*.f64 -1/8 (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 z 3)) (pow.f64 (sin.f64 y) 3)))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (*.f64 (pow.f64 x 3) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (sqrt.f64 -1) 5))) (*.f64 1/16 (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 z 5)) (pow.f64 (sin.f64 y) 5))))))))
(sqrt.f64 x)
(+.f64 (sqrt.f64 x) (*.f64 -1/2 (*.f64 (*.f64 y z) (sqrt.f64 (/.f64 1 x)))))
(+.f64 (sqrt.f64 x) (*.f64 -1/2 (*.f64 y (*.f64 z (sqrt.f64 (/.f64 1 x))))))
(fma.f64 -1/2 (*.f64 (*.f64 z y) (sqrt.f64 (/.f64 1 x))) (sqrt.f64 x))
(fma.f64 y (*.f64 z (*.f64 -1/2 (sqrt.f64 (/.f64 1 x)))) (sqrt.f64 x))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 x) (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 x)))) 2)) (pow.f64 y 2)) (sqrt.f64 (/.f64 1 x)))) (+.f64 (sqrt.f64 x) (*.f64 -1/2 (*.f64 (*.f64 y z) (sqrt.f64 (/.f64 1 x))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 x)) (*.f64 (*.f64 y y) (-.f64 (*.f64 x -1/2) (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 x)))) 2)))) (+.f64 (sqrt.f64 x) (*.f64 -1/2 (*.f64 y (*.f64 z (sqrt.f64 (/.f64 1 x)))))))
(fma.f64 1/2 (*.f64 (-.f64 (*.f64 x -1/2) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 x)) (*.f64 z -1/2)) 2)) (*.f64 (sqrt.f64 (/.f64 1 x)) (*.f64 y y))) (fma.f64 -1/2 (*.f64 (*.f64 z y) (sqrt.f64 (/.f64 1 x))) (sqrt.f64 x)))
(+.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 (/.f64 1 x)) (+.f64 (*.f64 (*.f64 y y) (*.f64 (fma.f64 x -1/2 (*.f64 -1/4 (*.f64 (*.f64 z z) (/.f64 1 x)))) 1/2)) (*.f64 y (*.f64 z -1/2)))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 x) (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 x)))) 2)) (pow.f64 y 2)) (sqrt.f64 (/.f64 1 x)))) (+.f64 (sqrt.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/6 z) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/2 x) (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 x)))) 2)) z) x)))) (sqrt.f64 (/.f64 1 x)))) (*.f64 -1/2 (*.f64 (*.f64 y z) (sqrt.f64 (/.f64 1 x)))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 x)) (*.f64 (*.f64 y y) (-.f64 (*.f64 x -1/2) (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 x)))) 2)))) (+.f64 (sqrt.f64 x) (*.f64 -1/2 (+.f64 (*.f64 (sqrt.f64 (/.f64 1 x)) (*.f64 (pow.f64 y 3) (fma.f64 -1/6 z (*.f64 -1/2 (/.f64 (-.f64 (*.f64 x -1/2) (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 x)))) 2)) (/.f64 x z)))))) (*.f64 y (*.f64 z (sqrt.f64 (/.f64 1 x))))))))
(fma.f64 1/2 (*.f64 (-.f64 (*.f64 x -1/2) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 x)) (*.f64 z -1/2)) 2)) (*.f64 (sqrt.f64 (/.f64 1 x)) (*.f64 y y))) (fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 x)) (+.f64 (*.f64 (pow.f64 y 3) (fma.f64 -1/2 (*.f64 (/.f64 (-.f64 (*.f64 x -1/2) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 x)) (*.f64 z -1/2)) 2)) x) z) (*.f64 z -1/6))) (*.f64 z y))) (sqrt.f64 x)))
(+.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 (/.f64 1 x)) (+.f64 (*.f64 (*.f64 y y) (*.f64 (fma.f64 x -1/2 (*.f64 -1/4 (*.f64 (*.f64 z z) (/.f64 1 x)))) 1/2)) (*.f64 -1/2 (fma.f64 (pow.f64 y 3) (fma.f64 -1/2 (*.f64 z (/.f64 (fma.f64 x -1/2 (*.f64 -1/4 (*.f64 (*.f64 z z) (/.f64 1 x)))) x)) (*.f64 z -1/6)) (*.f64 z y))))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (*.f64 (cos.f64 y) x))
(+.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (*.f64 -1/2 (*.f64 (*.f64 z (sin.f64 y)) (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x))))))
(fma.f64 (*.f64 (*.f64 z -1/2) (sin.f64 y)) (sqrt.f64 (/.f64 (/.f64 1 x) (cos.f64 y))) (sqrt.f64 (*.f64 (cos.f64 y) x)))
(fma.f64 z (*.f64 -1/2 (*.f64 (sin.f64 y) (sqrt.f64 (/.f64 (/.f64 1 x) (cos.f64 y))))) (sqrt.f64 (*.f64 (cos.f64 y) x)))
(+.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))))) (*.f64 -1/2 (*.f64 (*.f64 z (sin.f64 y)) (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x)))))))
(+.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (fma.f64 -1/8 (*.f64 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))))) (*.f64 -1/2 (*.f64 (*.f64 z (sin.f64 y)) (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x)))))))
(+.f64 (*.f64 (*.f64 -1/8 (*.f64 z z)) (*.f64 (pow.f64 (sin.f64 y) 2) (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 x 3)) (pow.f64 (cos.f64 y) 3))))) (fma.f64 (*.f64 (*.f64 z -1/2) (sin.f64 y)) (sqrt.f64 (/.f64 (/.f64 1 x) (cos.f64 y))) (sqrt.f64 (*.f64 (cos.f64 y) x))))
(fma.f64 z (*.f64 -1/2 (*.f64 (sin.f64 y) (sqrt.f64 (/.f64 (/.f64 1 x) (cos.f64 y))))) (fma.f64 (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 x 3)) (pow.f64 (cos.f64 y) 3))) (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (*.f64 z z) -1/8)) (sqrt.f64 (*.f64 (cos.f64 y) x))))
(+.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 z (sin.f64 y)) (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x))))) (*.f64 -1/16 (*.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 5) (pow.f64 x 5)))))))))
(+.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (fma.f64 -1/8 (*.f64 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))))) (fma.f64 -1/2 (*.f64 (*.f64 z (sin.f64 y)) (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x)))) (*.f64 -1/16 (*.f64 (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 z 3)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 5) (pow.f64 x 5)))))))))
(+.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (fma.f64 -1/8 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (sin.f64 y) 2) (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 x 3)) (pow.f64 (cos.f64 y) 3))))) (fma.f64 -1/2 (*.f64 z (*.f64 (sin.f64 y) (sqrt.f64 (/.f64 (/.f64 1 x) (cos.f64 y))))) (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 5) (pow.f64 x 5)))) (*.f64 (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 z 3)) -1/16)))))
(+.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (fma.f64 (pow.f64 z 3) (*.f64 -1/16 (*.f64 (pow.f64 (sin.f64 y) 3) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 5) (pow.f64 x 5)))))) (fma.f64 z (*.f64 -1/2 (*.f64 (sin.f64 y) (sqrt.f64 (/.f64 (/.f64 1 x) (cos.f64 y))))) (*.f64 (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 x 3)) (pow.f64 (cos.f64 y) 3))) (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (*.f64 z z) -1/8))))))

localize18.0ms (0.2%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.5b
(pow.f64 (cbrt.f64 x) 2)
0.2b
(*.f64 (cbrt.f64 x) (cos.f64 y))
0.2b
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
0.1b
(*.f64 (sin.f64 y) (neg.f64 z))
0.2b
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
0.2b
(*.f64 (cbrt.f64 x) (cos.f64 y))
0.5b
(pow.f64 (cbrt.f64 x) 2)
0.6b
(cbrt.f64 x)
Compiler

Compiled 44 to 15 computations (65.9% saved)

series20.0ms (0.2%)

Counts
4 → 39
Calls

21 calls:

TimeVariablePointExpression
4.0ms
x
@0
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
2.0ms
y
@inf
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
2.0ms
y
@inf
(*.f64 (cbrt.f64 x) (cos.f64 y))
2.0ms
z
@0
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
1.0ms
x
@-inf
(pow.f64 (cbrt.f64 x) 2)

rewrite128.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
552×log-prod_binary64
357×pow-prod-down_binary64
294×pow2_binary64
267×prod-diff_binary64
218×pow-unpow_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01341
126331
2309629
Stop Event
node limit
Counts
4 → 248
Calls
Call 1
Inputs
(cbrt.f64 x)
(pow.f64 (cbrt.f64 x) 2)
(*.f64 (cbrt.f64 x) (cos.f64 y))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 x))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 x)))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x 1/6) (pow.f64 x 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 x 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x x) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x 3) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 x) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 x) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2/3 (log.f64 x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/6 (log.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 x) 1) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 x) 1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 x)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2/3 (log.f64 x)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (cbrt.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (cbrt.f64 x) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (cbrt.f64 x) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (cbrt.f64 x) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (cbrt.f64 x) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (cbrt.f64 x) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (cbrt.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (pow.f64 x 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x 1/6) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 5) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 x (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cbrt.f64 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (cbrt.f64 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2/3 (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2/3 (log.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 x) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 x)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/3 (*.f64 2/3 (log.f64 x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 x) 1) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 x) 1/3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 x)) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2/3 (log.f64 x)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 x) 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cbrt.f64 x) (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cbrt.f64 x)) (cos.f64 y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cbrt.f64 x)) (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 x)) (cos.f64 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 x)) (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (pow.f64 (cos.f64 y) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cbrt.f64 x)) (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 x (pow.f64 (cos.f64 y) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x (pow.f64 (cos.f64 y) 3))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) z) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y))) (fma.f64 z (sin.f64 y) (*.f64 (sin.f64 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y))) (fma.f64 (neg.f64 (sin.f64 y)) z (*.f64 (sin.f64 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y))) (fma.f64 -1 (*.f64 (sin.f64 y) z) (*.f64 (sin.f64 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y))) (fma.f64 (*.f64 (sin.f64 y) z) 1 (*.f64 (sin.f64 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) z)) 2)) (cbrt.f64 (*.f64 (sin.f64 y) z)) (*.f64 (sin.f64 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 y) z))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) z)) 2) (*.f64 (sin.f64 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (sin.f64 y) z))) (sqrt.f64 (*.f64 (sin.f64 y) z)) (*.f64 (sin.f64 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (cos.f64 y)) (*.f64 (sin.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x (cos.f64 y)) 1) (*.f64 (sin.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x (cos.f64 y) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z) (pow.f64 (cbrt.f64 (sin.f64 y)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z)) (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z) (pow.f64 (cbrt.f64 (sin.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z) (pow.f64 (cbrt.f64 (sin.f64 y)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z)) (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z) (pow.f64 (cbrt.f64 (sin.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z) (pow.f64 (cbrt.f64 (sin.f64 y)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z)) (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z) (pow.f64 (cbrt.f64 (sin.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)) (pow.f64 (cbrt.f64 x) 2) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z) (pow.f64 (cbrt.f64 (sin.f64 y)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z)) (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z) (pow.f64 (cbrt.f64 (sin.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 x (cos.f64 y)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z) (pow.f64 (cbrt.f64 (sin.f64 y)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z)) (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z) (pow.f64 (cbrt.f64 (sin.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z) (pow.f64 (cbrt.f64 (sin.f64 y)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z)) (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z) (pow.f64 (cbrt.f64 (sin.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (cbrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z) (pow.f64 (cbrt.f64 (sin.f64 y)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z)) (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z) (pow.f64 (cbrt.f64 (sin.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z) (pow.f64 (cbrt.f64 (sin.f64 y)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z)) (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z) (pow.f64 (cbrt.f64 (sin.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (cos.f64 y)) (cbrt.f64 x) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z) (pow.f64 (cbrt.f64 (sin.f64 y)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z)) (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z) (pow.f64 (cbrt.f64 (sin.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)))) 2) (cbrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z) (pow.f64 (cbrt.f64 (sin.f64 y)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z)) (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z) (pow.f64 (cbrt.f64 (sin.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)))) (sqrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z) (pow.f64 (cbrt.f64 (sin.f64 y)) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z)) (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (*.f64 (cbrt.f64 (sin.f64 y)) z) (pow.f64 (cbrt.f64 (sin.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x (cos.f64 y) (neg.f64 (*.f64 (*.f64 (cbrt.f64 z) (sin.f64 y)) (pow.f64 (cbrt.f64 z) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 z) (sin.f64 y))) (pow.f64 (cbrt.f64 z) 2) (*.f64 (*.f64 (cbrt.f64 z) (sin.f64 y)) (pow.f64 (cbrt.f64 z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (cbrt.f64 z) (sin.f64 y)) (pow.f64 (cbrt.f64 z) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 z) (sin.f64 y))) (pow.f64 (cbrt.f64 z) 2) (*.f64 (*.f64 (cbrt.f64 z) (sin.f64 y)) (pow.f64 (cbrt.f64 z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 z) (sin.f64 y)) (pow.f64 (cbrt.f64 z) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 z) (sin.f64 y))) (pow.f64 (cbrt.f64 z) 2) (*.f64 (*.f64 (cbrt.f64 z) (sin.f64 y)) (pow.f64 (cbrt.f64 z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)) (pow.f64 (cbrt.f64 x) 2) (neg.f64 (*.f64 (*.f64 (cbrt.f64 z) (sin.f64 y)) (pow.f64 (cbrt.f64 z) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 z) (sin.f64 y))) (pow.f64 (cbrt.f64 z) 2) (*.f64 (*.f64 (cbrt.f64 z) (sin.f64 y)) (pow.f64 (cbrt.f64 z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 x (cos.f64 y)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 z) (sin.f64 y)) (pow.f64 (cbrt.f64 z) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 z) (sin.f64 y))) (pow.f64 (cbrt.f64 z) 2) (*.f64 (*.f64 (cbrt.f64 z) (sin.f64 y)) (pow.f64 (cbrt.f64 z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (cbrt.f64 z) (sin.f64 y)) (pow.f64 (cbrt.f64 z) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 z) (sin.f64 y))) (pow.f64 (cbrt.f64 z) 2) (*.f64 (*.f64 (cbrt.f64 z) (sin.f64 y)) (pow.f64 (cbrt.f64 z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (cbrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (cbrt.f64 z) (sin.f64 y)) (pow.f64 (cbrt.f64 z) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 z) (sin.f64 y))) (pow.f64 (cbrt.f64 z) 2) (*.f64 (*.f64 (cbrt.f64 z) (sin.f64 y)) (pow.f64 (cbrt.f64 z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (cbrt.f64 z) (sin.f64 y)) (pow.f64 (cbrt.f64 z) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 z) (sin.f64 y))) (pow.f64 (cbrt.f64 z) 2) (*.f64 (*.f64 (cbrt.f64 z) (sin.f64 y)) (pow.f64 (cbrt.f64 z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (cos.f64 y)) (cbrt.f64 x) (neg.f64 (*.f64 (*.f64 (cbrt.f64 z) (sin.f64 y)) (pow.f64 (cbrt.f64 z) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 z) (sin.f64 y))) (pow.f64 (cbrt.f64 z) 2) (*.f64 (*.f64 (cbrt.f64 z) (sin.f64 y)) (pow.f64 (cbrt.f64 z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)))) 2) (cbrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (cbrt.f64 z) (sin.f64 y)) (pow.f64 (cbrt.f64 z) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 z) (sin.f64 y))) (pow.f64 (cbrt.f64 z) 2) (*.f64 (*.f64 (cbrt.f64 z) (sin.f64 y)) (pow.f64 (cbrt.f64 z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)))) (sqrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (cbrt.f64 z) (sin.f64 y)) (pow.f64 (cbrt.f64 z) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 z) (sin.f64 y))) (pow.f64 (cbrt.f64 z) 2) (*.f64 (*.f64 (cbrt.f64 z) (sin.f64 y)) (pow.f64 (cbrt.f64 z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x (cos.f64 y) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z) (sqrt.f64 (sin.f64 y))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z)) (sqrt.f64 (sin.f64 y)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z) (sqrt.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z) (sqrt.f64 (sin.f64 y))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z)) (sqrt.f64 (sin.f64 y)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z) (sqrt.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z) (sqrt.f64 (sin.f64 y))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z)) (sqrt.f64 (sin.f64 y)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z) (sqrt.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)) (pow.f64 (cbrt.f64 x) 2) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z) (sqrt.f64 (sin.f64 y))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z)) (sqrt.f64 (sin.f64 y)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z) (sqrt.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 x (cos.f64 y)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z) (sqrt.f64 (sin.f64 y))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z)) (sqrt.f64 (sin.f64 y)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z) (sqrt.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z) (sqrt.f64 (sin.f64 y))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z)) (sqrt.f64 (sin.f64 y)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z) (sqrt.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (cbrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z) (sqrt.f64 (sin.f64 y))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z)) (sqrt.f64 (sin.f64 y)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z) (sqrt.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z) (sqrt.f64 (sin.f64 y))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z)) (sqrt.f64 (sin.f64 y)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z) (sqrt.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (cos.f64 y)) (cbrt.f64 x) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z) (sqrt.f64 (sin.f64 y))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z)) (sqrt.f64 (sin.f64 y)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z) (sqrt.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)))) 2) (cbrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z) (sqrt.f64 (sin.f64 y))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z)) (sqrt.f64 (sin.f64 y)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z) (sqrt.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)))) (sqrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z) (sqrt.f64 (sin.f64 y))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z)) (sqrt.f64 (sin.f64 y)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 y)) z) (sqrt.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x (cos.f64 y) (neg.f64 (*.f64 (*.f64 (sqrt.f64 z) (sin.f64 y)) (sqrt.f64 z)))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 z) (sin.f64 y))) (sqrt.f64 z) (*.f64 (*.f64 (sqrt.f64 z) (sin.f64 y)) (sqrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 z) (sin.f64 y)) (sqrt.f64 z)))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 z) (sin.f64 y))) (sqrt.f64 z) (*.f64 (*.f64 (sqrt.f64 z) (sin.f64 y)) (sqrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 z) (sin.f64 y)) (sqrt.f64 z)))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 z) (sin.f64 y))) (sqrt.f64 z) (*.f64 (*.f64 (sqrt.f64 z) (sin.f64 y)) (sqrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)) (pow.f64 (cbrt.f64 x) 2) (neg.f64 (*.f64 (*.f64 (sqrt.f64 z) (sin.f64 y)) (sqrt.f64 z)))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 z) (sin.f64 y))) (sqrt.f64 z) (*.f64 (*.f64 (sqrt.f64 z) (sin.f64 y)) (sqrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 x (cos.f64 y)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 z) (sin.f64 y)) (sqrt.f64 z)))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 z) (sin.f64 y))) (sqrt.f64 z) (*.f64 (*.f64 (sqrt.f64 z) (sin.f64 y)) (sqrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 z) (sin.f64 y)) (sqrt.f64 z)))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 z) (sin.f64 y))) (sqrt.f64 z) (*.f64 (*.f64 (sqrt.f64 z) (sin.f64 y)) (sqrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (cbrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 z) (sin.f64 y)) (sqrt.f64 z)))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 z) (sin.f64 y))) (sqrt.f64 z) (*.f64 (*.f64 (sqrt.f64 z) (sin.f64 y)) (sqrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 z) (sin.f64 y)) (sqrt.f64 z)))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 z) (sin.f64 y))) (sqrt.f64 z) (*.f64 (*.f64 (sqrt.f64 z) (sin.f64 y)) (sqrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (cos.f64 y)) (cbrt.f64 x) (neg.f64 (*.f64 (*.f64 (sqrt.f64 z) (sin.f64 y)) (sqrt.f64 z)))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 z) (sin.f64 y))) (sqrt.f64 z) (*.f64 (*.f64 (sqrt.f64 z) (sin.f64 y)) (sqrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)))) 2) (cbrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 z) (sin.f64 y)) (sqrt.f64 z)))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 z) (sin.f64 y))) (sqrt.f64 z) (*.f64 (*.f64 (sqrt.f64 z) (sin.f64 y)) (sqrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)))) (sqrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 z) (sin.f64 y)) (sqrt.f64 z)))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 z) (sin.f64 y))) (sqrt.f64 z) (*.f64 (*.f64 (sqrt.f64 z) (sin.f64 y)) (sqrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x (cos.f64 y) (neg.f64 (*.f64 (*.f64 (sin.f64 y) z) -1))) (fma.f64 (*.f64 (sin.f64 y) z) -1 (*.f64 (*.f64 (sin.f64 y) z) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (sin.f64 y) z) -1))) (fma.f64 (*.f64 (sin.f64 y) z) -1 (*.f64 (*.f64 (sin.f64 y) z) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (neg.f64 (*.f64 (*.f64 (sin.f64 y) z) -1))) (fma.f64 (*.f64 (sin.f64 y) z) -1 (*.f64 (*.f64 (sin.f64 y) z) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)) (pow.f64 (cbrt.f64 x) 2) (neg.f64 (*.f64 (*.f64 (sin.f64 y) z) -1))) (fma.f64 (*.f64 (sin.f64 y) z) -1 (*.f64 (*.f64 (sin.f64 y) z) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 x (cos.f64 y)) (neg.f64 (*.f64 (*.f64 (sin.f64 y) z) -1))) (fma.f64 (*.f64 (sin.f64 y) z) -1 (*.f64 (*.f64 (sin.f64 y) z) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (sin.f64 y) z) -1))) (fma.f64 (*.f64 (sin.f64 y) z) -1 (*.f64 (*.f64 (sin.f64 y) z) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (cbrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (sin.f64 y) z) -1))) (fma.f64 (*.f64 (sin.f64 y) z) -1 (*.f64 (*.f64 (sin.f64 y) z) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (sin.f64 y) z) -1))) (fma.f64 (*.f64 (sin.f64 y) z) -1 (*.f64 (*.f64 (sin.f64 y) z) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (cos.f64 y)) (cbrt.f64 x) (neg.f64 (*.f64 (*.f64 (sin.f64 y) z) -1))) (fma.f64 (*.f64 (sin.f64 y) z) -1 (*.f64 (*.f64 (sin.f64 y) z) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)))) 2) (cbrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (sin.f64 y) z) -1))) (fma.f64 (*.f64 (sin.f64 y) z) -1 (*.f64 (*.f64 (sin.f64 y) z) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)))) (sqrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (*.f64 (sin.f64 y) z) -1))) (fma.f64 (*.f64 (sin.f64 y) z) -1 (*.f64 (*.f64 (sin.f64 y) z) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x (cos.f64 y) (neg.f64 (*.f64 z (neg.f64 (sin.f64 y))))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (neg.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 z (neg.f64 (sin.f64 y))))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (neg.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (neg.f64 (*.f64 z (neg.f64 (sin.f64 y))))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (neg.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)) (pow.f64 (cbrt.f64 x) 2) (neg.f64 (*.f64 z (neg.f64 (sin.f64 y))))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (neg.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 x (cos.f64 y)) (neg.f64 (*.f64 z (neg.f64 (sin.f64 y))))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (neg.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 z (neg.f64 (sin.f64 y))))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (neg.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (cbrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (*.f64 z (neg.f64 (sin.f64 y))))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (neg.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (*.f64 z (neg.f64 (sin.f64 y))))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (neg.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (cos.f64 y)) (cbrt.f64 x) (neg.f64 (*.f64 z (neg.f64 (sin.f64 y))))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (neg.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)))) 2) (cbrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 z (neg.f64 (sin.f64 y))))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (neg.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)))) (sqrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 z (neg.f64 (sin.f64 y))))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (neg.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x (cos.f64 y) (neg.f64 (*.f64 z (*.f64 (sin.f64 y) -1)))) (fma.f64 z (*.f64 (sin.f64 y) -1) (*.f64 z (*.f64 (sin.f64 y) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 z (*.f64 (sin.f64 y) -1)))) (fma.f64 z (*.f64 (sin.f64 y) -1) (*.f64 z (*.f64 (sin.f64 y) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (neg.f64 (*.f64 z (*.f64 (sin.f64 y) -1)))) (fma.f64 z (*.f64 (sin.f64 y) -1) (*.f64 z (*.f64 (sin.f64 y) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)) (pow.f64 (cbrt.f64 x) 2) (neg.f64 (*.f64 z (*.f64 (sin.f64 y) -1)))) (fma.f64 z (*.f64 (sin.f64 y) -1) (*.f64 z (*.f64 (sin.f64 y) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 x (cos.f64 y)) (neg.f64 (*.f64 z (*.f64 (sin.f64 y) -1)))) (fma.f64 z (*.f64 (sin.f64 y) -1) (*.f64 z (*.f64 (sin.f64 y) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 z (*.f64 (sin.f64 y) -1)))) (fma.f64 z (*.f64 (sin.f64 y) -1) (*.f64 z (*.f64 (sin.f64 y) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (cbrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (*.f64 z (*.f64 (sin.f64 y) -1)))) (fma.f64 z (*.f64 (sin.f64 y) -1) (*.f64 z (*.f64 (sin.f64 y) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (*.f64 z (*.f64 (sin.f64 y) -1)))) (fma.f64 z (*.f64 (sin.f64 y) -1) (*.f64 z (*.f64 (sin.f64 y) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (cos.f64 y)) (cbrt.f64 x) (neg.f64 (*.f64 z (*.f64 (sin.f64 y) -1)))) (fma.f64 z (*.f64 (sin.f64 y) -1) (*.f64 z (*.f64 (sin.f64 y) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)))) 2) (cbrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 z (*.f64 (sin.f64 y) -1)))) (fma.f64 z (*.f64 (sin.f64 y) -1) (*.f64 z (*.f64 (sin.f64 y) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)))) (sqrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 z (*.f64 (sin.f64 y) -1)))) (fma.f64 z (*.f64 (sin.f64 y) -1) (*.f64 z (*.f64 (sin.f64 y) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x (cos.f64 y) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 y)) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 y))) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (*.f64 (cbrt.f64 (sin.f64 y)) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 y)) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 y))) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (*.f64 (cbrt.f64 (sin.f64 y)) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 y)) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 y))) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (*.f64 (cbrt.f64 (sin.f64 y)) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)) (pow.f64 (cbrt.f64 x) 2) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 y)) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 y))) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (*.f64 (cbrt.f64 (sin.f64 y)) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 x (cos.f64 y)) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 y)) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 y))) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (*.f64 (cbrt.f64 (sin.f64 y)) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 y)) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 y))) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (*.f64 (cbrt.f64 (sin.f64 y)) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (cbrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 y)) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 y))) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (*.f64 (cbrt.f64 (sin.f64 y)) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 y)) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 y))) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (*.f64 (cbrt.f64 (sin.f64 y)) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (cos.f64 y)) (cbrt.f64 x) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 y)) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 y))) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (*.f64 (cbrt.f64 (sin.f64 y)) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)))) 2) (cbrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 y)) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 y))) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (*.f64 (cbrt.f64 (sin.f64 y)) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)))) (sqrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 y)) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 y))) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (*.f64 (cbrt.f64 (sin.f64 y)) (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x (cos.f64 y) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 z (sqrt.f64 (sin.f64 y)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 y))) (*.f64 z (sqrt.f64 (sin.f64 y))) (*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 z (sqrt.f64 (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 z (sqrt.f64 (sin.f64 y)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 y))) (*.f64 z (sqrt.f64 (sin.f64 y))) (*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 z (sqrt.f64 (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 z (sqrt.f64 (sin.f64 y)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 y))) (*.f64 z (sqrt.f64 (sin.f64 y))) (*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 z (sqrt.f64 (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)) (pow.f64 (cbrt.f64 x) 2) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 z (sqrt.f64 (sin.f64 y)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 y))) (*.f64 z (sqrt.f64 (sin.f64 y))) (*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 z (sqrt.f64 (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 x (cos.f64 y)) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 z (sqrt.f64 (sin.f64 y)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 y))) (*.f64 z (sqrt.f64 (sin.f64 y))) (*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 z (sqrt.f64 (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 z (sqrt.f64 (sin.f64 y)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 y))) (*.f64 z (sqrt.f64 (sin.f64 y))) (*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 z (sqrt.f64 (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (cbrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 z (sqrt.f64 (sin.f64 y)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 y))) (*.f64 z (sqrt.f64 (sin.f64 y))) (*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 z (sqrt.f64 (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 z (sqrt.f64 (sin.f64 y)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 y))) (*.f64 z (sqrt.f64 (sin.f64 y))) (*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 z (sqrt.f64 (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (cos.f64 y)) (cbrt.f64 x) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 z (sqrt.f64 (sin.f64 y)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 y))) (*.f64 z (sqrt.f64 (sin.f64 y))) (*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 z (sqrt.f64 (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)))) 2) (cbrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 z (sqrt.f64 (sin.f64 y)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 y))) (*.f64 z (sqrt.f64 (sin.f64 y))) (*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 z (sqrt.f64 (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)))) (sqrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 z (sqrt.f64 (sin.f64 y)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 y))) (*.f64 z (sqrt.f64 (sin.f64 y))) (*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 z (sqrt.f64 (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x (cos.f64 y) (neg.f64 (*.f64 (cbrt.f64 z) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2))))) (fma.f64 (neg.f64 (cbrt.f64 z)) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2)) (*.f64 (cbrt.f64 z) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (cbrt.f64 z) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2))))) (fma.f64 (neg.f64 (cbrt.f64 z)) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2)) (*.f64 (cbrt.f64 z) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (neg.f64 (*.f64 (cbrt.f64 z) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2))))) (fma.f64 (neg.f64 (cbrt.f64 z)) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2)) (*.f64 (cbrt.f64 z) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)) (pow.f64 (cbrt.f64 x) 2) (neg.f64 (*.f64 (cbrt.f64 z) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2))))) (fma.f64 (neg.f64 (cbrt.f64 z)) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2)) (*.f64 (cbrt.f64 z) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 x (cos.f64 y)) (neg.f64 (*.f64 (cbrt.f64 z) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2))))) (fma.f64 (neg.f64 (cbrt.f64 z)) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2)) (*.f64 (cbrt.f64 z) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (cbrt.f64 z) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2))))) (fma.f64 (neg.f64 (cbrt.f64 z)) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2)) (*.f64 (cbrt.f64 z) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (cbrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (*.f64 (cbrt.f64 z) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2))))) (fma.f64 (neg.f64 (cbrt.f64 z)) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2)) (*.f64 (cbrt.f64 z) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (*.f64 (cbrt.f64 z) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2))))) (fma.f64 (neg.f64 (cbrt.f64 z)) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2)) (*.f64 (cbrt.f64 z) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (cos.f64 y)) (cbrt.f64 x) (neg.f64 (*.f64 (cbrt.f64 z) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2))))) (fma.f64 (neg.f64 (cbrt.f64 z)) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2)) (*.f64 (cbrt.f64 z) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)))) 2) (cbrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (cbrt.f64 z) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2))))) (fma.f64 (neg.f64 (cbrt.f64 z)) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2)) (*.f64 (cbrt.f64 z) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)))) (sqrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (cbrt.f64 z) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2))))) (fma.f64 (neg.f64 (cbrt.f64 z)) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2)) (*.f64 (cbrt.f64 z) (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x (cos.f64 y) (neg.f64 (*.f64 (sqrt.f64 z) (*.f64 (sin.f64 y) (sqrt.f64 z))))) (fma.f64 (neg.f64 (sqrt.f64 z)) (*.f64 (sin.f64 y) (sqrt.f64 z)) (*.f64 (sqrt.f64 z) (*.f64 (sin.f64 y) (sqrt.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (sqrt.f64 z) (*.f64 (sin.f64 y) (sqrt.f64 z))))) (fma.f64 (neg.f64 (sqrt.f64 z)) (*.f64 (sin.f64 y) (sqrt.f64 z)) (*.f64 (sqrt.f64 z) (*.f64 (sin.f64 y) (sqrt.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (neg.f64 (*.f64 (sqrt.f64 z) (*.f64 (sin.f64 y) (sqrt.f64 z))))) (fma.f64 (neg.f64 (sqrt.f64 z)) (*.f64 (sin.f64 y) (sqrt.f64 z)) (*.f64 (sqrt.f64 z) (*.f64 (sin.f64 y) (sqrt.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)) (pow.f64 (cbrt.f64 x) 2) (neg.f64 (*.f64 (sqrt.f64 z) (*.f64 (sin.f64 y) (sqrt.f64 z))))) (fma.f64 (neg.f64 (sqrt.f64 z)) (*.f64 (sin.f64 y) (sqrt.f64 z)) (*.f64 (sqrt.f64 z) (*.f64 (sin.f64 y) (sqrt.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 x (cos.f64 y)) (neg.f64 (*.f64 (sqrt.f64 z) (*.f64 (sin.f64 y) (sqrt.f64 z))))) (fma.f64 (neg.f64 (sqrt.f64 z)) (*.f64 (sin.f64 y) (sqrt.f64 z)) (*.f64 (sqrt.f64 z) (*.f64 (sin.f64 y) (sqrt.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (sqrt.f64 z) (*.f64 (sin.f64 y) (sqrt.f64 z))))) (fma.f64 (neg.f64 (sqrt.f64 z)) (*.f64 (sin.f64 y) (sqrt.f64 z)) (*.f64 (sqrt.f64 z) (*.f64 (sin.f64 y) (sqrt.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (cbrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (*.f64 (sqrt.f64 z) (*.f64 (sin.f64 y) (sqrt.f64 z))))) (fma.f64 (neg.f64 (sqrt.f64 z)) (*.f64 (sin.f64 y) (sqrt.f64 z)) (*.f64 (sqrt.f64 z) (*.f64 (sin.f64 y) (sqrt.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (*.f64 (sqrt.f64 z) (*.f64 (sin.f64 y) (sqrt.f64 z))))) (fma.f64 (neg.f64 (sqrt.f64 z)) (*.f64 (sin.f64 y) (sqrt.f64 z)) (*.f64 (sqrt.f64 z) (*.f64 (sin.f64 y) (sqrt.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (cos.f64 y)) (cbrt.f64 x) (neg.f64 (*.f64 (sqrt.f64 z) (*.f64 (sin.f64 y) (sqrt.f64 z))))) (fma.f64 (neg.f64 (sqrt.f64 z)) (*.f64 (sin.f64 y) (sqrt.f64 z)) (*.f64 (sqrt.f64 z) (*.f64 (sin.f64 y) (sqrt.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)))) 2) (cbrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (sqrt.f64 z) (*.f64 (sin.f64 y) (sqrt.f64 z))))) (fma.f64 (neg.f64 (sqrt.f64 z)) (*.f64 (sin.f64 y) (sqrt.f64 z)) (*.f64 (sqrt.f64 z) (*.f64 (sin.f64 y) (sqrt.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y)))) (sqrt.f64 (*.f64 (cbrt.f64 x) (cos.f64 y))) (neg.f64 (*.f64 (sqrt.f64 z) (*.f64 (sin.f64 y) (sqrt.f64 z))))) (fma.f64 (neg.f64 (sqrt.f64 z)) (*.f64 (sin.f64 y) (sqrt.f64 z)) (*.f64 (sqrt.f64 z) (*.f64 (sin.f64 y) (sqrt.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (cos.f64 y)) (*.f64 (sin.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y)))) 2) (cbrt.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y)))) (sqrt.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 (sin.f64 y) z) 3)) (+.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (-.f64 (pow.f64 (*.f64 (sin.f64 y) z) 2) (*.f64 (*.f64 x (cos.f64 y)) (*.f64 (sin.f64 y) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 (sin.f64 y) z) 2)) (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (*.f64 x (cos.f64 y))) (pow.f64 (exp.f64 z) (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (*.f64 x (cos.f64 y))) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 y) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 z) (sin.f64 y)) (exp.f64 (*.f64 x (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 y) z))) (exp.f64 (*.f64 x (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 x (cos.f64 y))) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 y) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (sin.f64 y) z (*.f64 x (cos.f64 y)))))))))

simplify73.0ms (0.8%)

Algorithm
egg-herbie
Rules
875×fma-neg_binary64
571×distribute-rgt-neg-in_binary64
353×distribute-lft-neg-in_binary64
349×*-commutative_binary64
301×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
056572
1157489
2427479
31530473
43282471
54741467
66854467
Stop Event
node limit
Counts
287 → 271
Calls
Call 1
Inputs
(pow.f64 x 1/3)
(+.f64 (pow.f64 x 1/3) (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 2))))
(+.f64 (pow.f64 x 1/3) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 2))) (*.f64 1/24 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 4)))))
(+.f64 (pow.f64 x 1/3) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 6))) (*.f64 1/24 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 4))))))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (cos.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (cos.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (cos.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (cos.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (cos.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (cos.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (cos.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (cos.f64 y))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) x)
(+.f64 (*.f64 (pow.f64 1 1/3) x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 y 2) x))) (+.f64 (*.f64 (pow.f64 1 1/3) x) (*.f64 -1 (*.f64 y z))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 y 2) x))) (+.f64 (*.f64 (pow.f64 1 1/3) x) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
Outputs
(pow.f64 x 1/3)
(cbrt.f64 x)
(+.f64 (pow.f64 x 1/3) (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 2))))
(+.f64 (cbrt.f64 x) (*.f64 -1/2 (*.f64 (cbrt.f64 x) (*.f64 y y))))
(fma.f64 (*.f64 -1/2 (cbrt.f64 x)) (*.f64 y y) (cbrt.f64 x))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 y y)) 1) (cbrt.f64 x))
(fma.f64 -1/2 (*.f64 (cbrt.f64 x) (*.f64 y y)) (cbrt.f64 x))
(+.f64 (pow.f64 x 1/3) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 2))) (*.f64 1/24 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 4)))))
(+.f64 (cbrt.f64 x) (fma.f64 -1/2 (*.f64 (cbrt.f64 x) (*.f64 y y)) (*.f64 1/24 (*.f64 (cbrt.f64 x) (pow.f64 y 4)))))
(+.f64 (cbrt.f64 x) (fma.f64 -1/2 (*.f64 (cbrt.f64 x) (*.f64 y y)) (*.f64 (*.f64 1/24 (pow.f64 y 4)) (cbrt.f64 x))))
(+.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 x) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/2 (*.f64 y y)))))
(*.f64 (cbrt.f64 x) (+.f64 (*.f64 -1/2 (*.f64 y y)) (+.f64 1 (*.f64 1/24 (pow.f64 y 4)))))
(*.f64 (cbrt.f64 x) (+.f64 1 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 (*.f64 y y) 1/24)))))
(+.f64 (pow.f64 x 1/3) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 6))) (*.f64 1/24 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 4))))))
(+.f64 (cbrt.f64 x) (fma.f64 -1/2 (*.f64 (cbrt.f64 x) (*.f64 y y)) (fma.f64 -1/720 (*.f64 (cbrt.f64 x) (pow.f64 y 6)) (*.f64 1/24 (*.f64 (cbrt.f64 x) (pow.f64 y 4))))))
(+.f64 (fma.f64 1/24 (*.f64 (cbrt.f64 x) (pow.f64 y 4)) (*.f64 (pow.f64 y 6) (*.f64 (cbrt.f64 x) -1/720))) (fma.f64 (*.f64 -1/2 (cbrt.f64 x)) (*.f64 y y) (cbrt.f64 x)))
(+.f64 (cbrt.f64 x) (fma.f64 (cbrt.f64 x) (*.f64 -1/720 (pow.f64 y 6)) (*.f64 (cbrt.f64 x) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/2 (*.f64 y y))))))
(+.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 x) (+.f64 (*.f64 -1/2 (*.f64 y y)) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) (*.f64 1/24 (pow.f64 y 4))))))
(*.f64 (cbrt.f64 x) (+.f64 (+.f64 1 (*.f64 -1/720 (pow.f64 y 6))) (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 (*.f64 y y) 1/24)))))
(*.f64 (cbrt.f64 x) (+.f64 1 (+.f64 (*.f64 -1/720 (pow.f64 y 6)) (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 (*.f64 y y) 1/24))))))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (cos.f64 y))
(*.f64 (cbrt.f64 x) (cos.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (cos.f64 y))
(*.f64 (cbrt.f64 x) (cos.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (cos.f64 y))
(*.f64 (cbrt.f64 x) (cos.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (cos.f64 y))
(*.f64 (cbrt.f64 x) (cos.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (cos.f64 y))
(*.f64 (cbrt.f64 x) (cos.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (cos.f64 y))
(*.f64 (cbrt.f64 x) (cos.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (cos.f64 y))
(*.f64 (cbrt.f64 x) (cos.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (cos.f64 y))
(*.f64 (cbrt.f64 x) (cos.f64 y))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) x)
x
(+.f64 (*.f64 (pow.f64 1 1/3) x) (*.f64 -1 (*.f64 y z)))
(+.f64 x (neg.f64 (*.f64 y z)))
(-.f64 x (*.f64 y z))
(fma.f64 z (neg.f64 y) x)
(fma.f64 y (neg.f64 z) x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 y 2) x))) (+.f64 (*.f64 (pow.f64 1 1/3) x) (*.f64 -1 (*.f64 y z))))
(+.f64 (+.f64 x (neg.f64 (*.f64 y z))) (*.f64 -1/2 (*.f64 x (*.f64 y y))))
(-.f64 (fma.f64 -1/2 (*.f64 x (*.f64 y y)) x) (*.f64 y z))
(fma.f64 -1/2 (*.f64 x (*.f64 y y)) (fma.f64 z (neg.f64 y) x))
(-.f64 x (*.f64 y (-.f64 z (*.f64 -1/2 (*.f64 x y)))))
(+.f64 x (*.f64 y (fma.f64 y (*.f64 x -1/2) (neg.f64 z))))
(fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 x y)) z) x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 y 2) x))) (+.f64 (*.f64 (pow.f64 1 1/3) x) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))))
(+.f64 (*.f64 -1/2 (*.f64 x (*.f64 y y))) (+.f64 x (fma.f64 -1 (*.f64 y z) (*.f64 1/6 (*.f64 z (pow.f64 y 3))))))
(+.f64 (*.f64 z (+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3)))) (fma.f64 -1/2 (*.f64 x (*.f64 y y)) x))
(fma.f64 -1/2 (*.f64 x (*.f64 y y)) (fma.f64 z (fma.f64 1/6 (pow.f64 y 3) (neg.f64 y)) x))
(fma.f64 (*.f64 y y) (*.f64 x -1/2) (fma.f64 z (-.f64 (*.f64 1/6 (pow.f64 y 3)) y) x))
(fma.f64 -1/2 (*.f64 x (*.f64 y y)) (fma.f64 z (-.f64 (*.f64 1/6 (pow.f64 y 3)) y) x))
(fma.f64 y (fma.f64 -1/2 (*.f64 x y) (*.f64 z (fma.f64 y (*.f64 y 1/6) -1))) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x))
(*.f64 1 (*.f64 x (cos.f64 y)))
(*.f64 x (cos.f64 y))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))

eval288.0ms (3.1%)

Compiler

Compiled 20425 to 5983 computations (70.7% saved)

prune148.0ms (1.6%)

Pruning

26 alts after pruning (25 fresh and 1 done)

PrunedKeptTotal
New86024884
Fresh10111
Picked101
Done415
Total87526901
Error
0.0b
Counts
901 → 26
Alt Table
Click to see full alt table
StatusErrorProgram
35.2b
(pow.f64 (sqrt.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 3) (*.f64 z (sin.f64 y)))) 2)
30.7b
(-.f64 x (*.f64 y z))
30.7b
(fma.f64 (neg.f64 y) z x)
0.4b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))
37.3b
(exp.f64 (log.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))
34.9b
(*.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/4))
33.2b
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))
39.1b
(*.f64 (+.f64 (*.f64 y z) x) 1)
41.4b
(pow.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 2)
35.1b
(pow.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) 2) 2)
34.2b
(/.f64 1 (/.f64 (+.f64 x (*.f64 z (sin.f64 y))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (sin.f64 y)) 2))))
46.0b
(-.f64 (+.f64 1 (+.f64 (*.f64 y z) x)) 1)
54.2b
(*.f64 y (neg.f64 z))
0.6b
(+.f64 (*.f64 x (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3))))
32.0b
(+.f64 x (*.f64 y (-.f64 (*.f64 x (*.f64 y -1/2)) z)))
1.4b
(fma.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 3) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
27.2b
(+.f64 (*.f64 x (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))))
0.1b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
24.8b
(*.f64 x (cos.f64 y))
14.4b
(fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))
37.7b
(*.f64 z (neg.f64 (sin.f64 y)))
45.6b
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) 2)
37.8b
x
13.5b
(+.f64 x (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))
13.9b
(-.f64 x (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3))
43.5b
(pow.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/2)) 2)
Compiler

Compiled 746 to 487 computations (34.7% saved)

localize29.0ms (0.3%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.2b
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
0.1b
(*.f64 (cbrt.f64 (cos.f64 y)) x)
0.1b
(*.f64 (sin.f64 y) (neg.f64 z))
0.1b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))
0.1b
(*.f64 (sin.f64 y) (neg.f64 z))
0.1b
(*.f64 (cbrt.f64 (cos.f64 y)) x)
0.2b
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
0.4b
(cbrt.f64 (cos.f64 y))
Compiler

Compiled 47 to 15 computations (68.1% saved)

series15.0ms (0.2%)

Counts
4 → 72
Calls

18 calls:

TimeVariablePointExpression
3.0ms
y
@inf
(cbrt.f64 (cos.f64 y))
2.0ms
x
@0
(*.f64 (cbrt.f64 (cos.f64 y)) x)
2.0ms
y
@inf
(*.f64 (cbrt.f64 (cos.f64 y)) x)
2.0ms
y
@-inf
(*.f64 (cbrt.f64 (cos.f64 y)) x)
1.0ms
y
@-inf
(cbrt.f64 (cos.f64 y))

rewrite57.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
970×pow1_binary64
890×add-log-exp_binary64
889×log1p-expm1-u_binary64
889×expm1-log1p-u_binary64
119×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01229
124227
2281727
Stop Event
node limit
Counts
4 → 68
Calls
Call 1
Inputs
(cbrt.f64 (cos.f64 y))
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(*.f64 (cbrt.f64 (cos.f64 y)) x)
(*.f64 (sin.f64 y) (neg.f64 z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2) (cbrt.f64 (cbrt.f64 (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 y) 1/6) (pow.f64 (cos.f64 y) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cos.f64 y)) 1/3) (pow.f64 (sqrt.f64 (cos.f64 y)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 y) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 y) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (cos.f64 y))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (cbrt.f64 (cos.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) (cbrt.f64 (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 y)) (pow.f64 (cos.f64 y) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 y) 1/6) (*.f64 (pow.f64 (cos.f64 y) 1/6) (cbrt.f64 (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (cos.f64 y)) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cbrt.f64 (cos.f64 y)) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 (cos.f64 y)) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cbrt.f64 (cos.f64 y)) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 (cos.f64 y)) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cbrt.f64 (cos.f64 y)) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 (cos.f64 y)) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (cbrt.f64 (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cbrt.f64 (cos.f64 y)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 (cos.f64 y)) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (cos.f64 y) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 3) (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cbrt.f64 (cos.f64 y)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cbrt.f64 (cos.f64 y)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 (cos.f64 y)) x)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (sin.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 y) z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 y) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 y) z) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 y) z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (sin.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 y) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 z) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 y) z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 y) z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 y) z)))))))

simplify61.0ms (0.7%)

Algorithm
egg-herbie
Rules
913×fma-neg_binary64
604×distribute-rgt-neg-in_binary64
500×distribute-lft-neg-in_binary64
395×unswap-sqr_binary64
376×distribute-lft-out_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
077679
1202665
2540642
31778639
43251637
55892637
Stop Event
node limit
Counts
140 → 102
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1/6 (pow.f64 y 2)))
(+.f64 (*.f64 -1/72 (pow.f64 y 4)) (+.f64 1 (*.f64 -1/6 (pow.f64 y 2))))
(+.f64 (*.f64 -23/6480 (pow.f64 y 6)) (+.f64 (*.f64 -1/72 (pow.f64 y 4)) (+.f64 1 (*.f64 -1/6 (pow.f64 y 2)))))
(pow.f64 (cos.f64 y) 1/3)
(pow.f64 (cos.f64 y) 1/3)
(pow.f64 (cos.f64 y) 1/3)
(pow.f64 (cos.f64 y) 1/3)
(pow.f64 (cos.f64 y) 1/3)
(pow.f64 (cos.f64 y) 1/3)
(pow.f64 (cos.f64 y) 1/3)
(pow.f64 (cos.f64 y) 1/3)
1
(+.f64 1 (*.f64 -1/3 (pow.f64 y 2)))
(+.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 y 2)) (*.f64 -1/405 (pow.f64 y 6))))
(+.f64 1 (+.f64 (*.f64 -1/1701 (pow.f64 y 8)) (+.f64 (*.f64 -1/3 (pow.f64 y 2)) (*.f64 -1/405 (pow.f64 y 6)))))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
x
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) x)
(+.f64 (*.f64 -1/72 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) x))
(+.f64 (*.f64 -1/72 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 -23/6480 (*.f64 (pow.f64 y 6) x)) x)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z))))
(+.f64 (*.f64 1/5040 (*.f64 (pow.f64 y 7) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
Outputs
1
(+.f64 1 (*.f64 -1/6 (pow.f64 y 2)))
(+.f64 1 (*.f64 -1/6 (*.f64 y y)))
(fma.f64 -1/6 (*.f64 y y) 1)
(+.f64 (*.f64 -1/72 (pow.f64 y 4)) (+.f64 1 (*.f64 -1/6 (pow.f64 y 2))))
(fma.f64 -1/72 (pow.f64 y 4) (+.f64 1 (*.f64 -1/6 (*.f64 y y))))
(fma.f64 -1/72 (pow.f64 y 4) (fma.f64 -1/6 (*.f64 y y) 1))
(fma.f64 -1/6 (*.f64 y y) (fma.f64 -1/72 (pow.f64 y 4) 1))
(+.f64 (*.f64 -23/6480 (pow.f64 y 6)) (+.f64 (*.f64 -1/72 (pow.f64 y 4)) (+.f64 1 (*.f64 -1/6 (pow.f64 y 2)))))
(fma.f64 -23/6480 (pow.f64 y 6) (fma.f64 -1/72 (pow.f64 y 4) (+.f64 1 (*.f64 -1/6 (*.f64 y y)))))
(fma.f64 -23/6480 (pow.f64 y 6) (fma.f64 -1/72 (pow.f64 y 4) (fma.f64 -1/6 (*.f64 y y) 1)))
(fma.f64 -23/6480 (pow.f64 y 6) (fma.f64 -1/6 (*.f64 y y) (fma.f64 -1/72 (pow.f64 y 4) 1)))
(pow.f64 (cos.f64 y) 1/3)
(cbrt.f64 (cos.f64 y))
(pow.f64 (cos.f64 y) 1/3)
(cbrt.f64 (cos.f64 y))
(pow.f64 (cos.f64 y) 1/3)
(cbrt.f64 (cos.f64 y))
(pow.f64 (cos.f64 y) 1/3)
(cbrt.f64 (cos.f64 y))
(pow.f64 (cos.f64 y) 1/3)
(cbrt.f64 (cos.f64 y))
(pow.f64 (cos.f64 y) 1/3)
(cbrt.f64 (cos.f64 y))
(pow.f64 (cos.f64 y) 1/3)
(cbrt.f64 (cos.f64 y))
(pow.f64 (cos.f64 y) 1/3)
(cbrt.f64 (cos.f64 y))
1
(+.f64 1 (*.f64 -1/3 (pow.f64 y 2)))
(+.f64 1 (*.f64 (*.f64 y y) -1/3))
(fma.f64 (*.f64 y y) -1/3 1)
(fma.f64 y (*.f64 y -1/3) 1)
(+.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 y 2)) (*.f64 -1/405 (pow.f64 y 6))))
(+.f64 1 (fma.f64 -1/3 (*.f64 y y) (*.f64 (pow.f64 y 6) -1/405)))
(+.f64 1 (fma.f64 (pow.f64 y 6) -1/405 (*.f64 y (*.f64 y -1/3))))
(fma.f64 y (*.f64 y -1/3) (fma.f64 (pow.f64 y 6) -1/405 1))
(fma.f64 (pow.f64 y 6) -1/405 (fma.f64 y (*.f64 y -1/3) 1))
(+.f64 1 (+.f64 (*.f64 -1/1701 (pow.f64 y 8)) (+.f64 (*.f64 -1/3 (pow.f64 y 2)) (*.f64 -1/405 (pow.f64 y 6)))))
(+.f64 1 (fma.f64 -1/1701 (pow.f64 y 8) (fma.f64 -1/3 (*.f64 y y) (*.f64 (pow.f64 y 6) -1/405))))
(+.f64 1 (fma.f64 -1/1701 (pow.f64 y 8) (fma.f64 (pow.f64 y 6) -1/405 (*.f64 y (*.f64 y -1/3)))))
(fma.f64 -1/1701 (pow.f64 y 8) (fma.f64 y (*.f64 y -1/3) (fma.f64 (pow.f64 y 6) -1/405 1)))
(fma.f64 -1/1701 (pow.f64 y 8) (fma.f64 (pow.f64 y 6) -1/405 (fma.f64 y (*.f64 y -1/3) 1)))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
x
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) x)
(fma.f64 -1/6 (*.f64 (*.f64 y y) x) x)
(*.f64 (fma.f64 -1/6 (*.f64 y y) 1) x)
(+.f64 (*.f64 -1/72 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) x))
(fma.f64 -1/72 (*.f64 (pow.f64 y 4) x) (fma.f64 -1/6 (*.f64 (*.f64 y y) x) x))
(fma.f64 -1/72 (*.f64 (pow.f64 y 4) x) (*.f64 (fma.f64 -1/6 (*.f64 y y) 1) x))
(*.f64 x (fma.f64 -1/72 (pow.f64 y 4) (fma.f64 -1/6 (*.f64 y y) 1)))
(*.f64 (fma.f64 -1/6 (*.f64 y y) (fma.f64 -1/72 (pow.f64 y 4) 1)) x)
(+.f64 (*.f64 -1/72 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 -23/6480 (*.f64 (pow.f64 y 6) x)) x)))
(fma.f64 -1/72 (*.f64 (pow.f64 y 4) x) (fma.f64 -1/6 (*.f64 (*.f64 y y) x) (fma.f64 -23/6480 (*.f64 (pow.f64 y 6) x) x)))
(fma.f64 -1/72 (*.f64 (pow.f64 y 4) x) (*.f64 x (fma.f64 -23/6480 (pow.f64 y 6) (fma.f64 -1/6 (*.f64 y y) 1))))
(*.f64 x (fma.f64 -23/6480 (pow.f64 y 6) (fma.f64 -1/6 (*.f64 y y) (fma.f64 -1/72 (pow.f64 y 4) 1))))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 x (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 x (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 x (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 x (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 x (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 x (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 x (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 x (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 x (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 x (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 x (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 x (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 x (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 x (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 x (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 x (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 x (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 x (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 x (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) x)
(*.f64 x (cbrt.f64 (cos.f64 y)))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))
(fma.f64 -1 (*.f64 y z) (*.f64 1/6 (*.f64 z (pow.f64 y 3))))
(*.f64 z (+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3))))
(*.f64 z (fma.f64 1/6 (pow.f64 y 3) (neg.f64 y)))
(*.f64 z (-.f64 (*.f64 1/6 (pow.f64 y 3)) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z))))
(fma.f64 -1 (*.f64 y z) (fma.f64 -1/120 (*.f64 z (pow.f64 y 5)) (*.f64 1/6 (*.f64 z (pow.f64 y 3)))))
(-.f64 (*.f64 z (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1/120 (pow.f64 y 5)))) (*.f64 y z))
(*.f64 z (-.f64 (fma.f64 1/6 (pow.f64 y 3) (*.f64 -1/120 (pow.f64 y 5))) y))
(+.f64 (*.f64 1/5040 (*.f64 (pow.f64 y 7) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))))
(fma.f64 1/5040 (*.f64 z (pow.f64 y 7)) (fma.f64 -1 (*.f64 y z) (fma.f64 -1/120 (*.f64 z (pow.f64 y 5)) (*.f64 1/6 (*.f64 z (pow.f64 y 3))))))
(fma.f64 1/5040 (*.f64 z (pow.f64 y 7)) (-.f64 (*.f64 z (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1/120 (pow.f64 y 5)))) (*.f64 y z)))
(*.f64 z (+.f64 (fma.f64 1/6 (pow.f64 y 3) (*.f64 -1/120 (pow.f64 y 5))) (-.f64 (*.f64 1/5040 (pow.f64 y 7)) y)))
(*.f64 z (fma.f64 1/5040 (pow.f64 y 7) (-.f64 (fma.f64 1/6 (pow.f64 y 3) (*.f64 -1/120 (pow.f64 y 5))) y)))
(*.f64 z (fma.f64 -1/120 (pow.f64 y 5) (fma.f64 1/6 (pow.f64 y 3) (-.f64 (*.f64 1/5040 (pow.f64 y 7)) y))))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))

localize10.0ms (0.1%)

Compiler

Compiled 11 to 5 computations (54.5% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 z (neg.f64 (sin.f64 y)))
0.1b
(*.f64 z (neg.f64 (sin.f64 y)))
Compiler

Compiled 15 to 6 computations (60% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
z
@0
(*.f64 z (neg.f64 (sin.f64 y)))
0.0ms
y
@0
(*.f64 z (neg.f64 (sin.f64 y)))
0.0ms
z
@-inf
(*.f64 z (neg.f64 (sin.f64 y)))
0.0ms
z
@inf
(*.f64 z (neg.f64 (sin.f64 y)))
0.0ms
y
@-inf
(*.f64 z (neg.f64 (sin.f64 y)))

rewrite30.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
495×pow1_binary64
474×add-sqr-sqrt_binary64
454×add-log-exp_binary64
453×log1p-expm1-u_binary64
453×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
068
11226
215436
Stop Event
node limit
Counts
1 → 13
Calls
Call 1
Inputs
(*.f64 z (neg.f64 (sin.f64 y)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 z (sin.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 z) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 z (sin.f64 y))))))))

simplify66.0ms (0.7%)

Algorithm
egg-herbie
Rules
694×distribute-rgt-neg-in_binary64
572×distribute-lft-neg-in_binary64
552×fma-def_binary64
478×fma-neg_binary64
437×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
028247
178241
2218228
3636226
42086226
54305226
66269226
77804226
Stop Event
node limit
Counts
37 → 23
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z))))
(+.f64 (*.f64 1/5040 (*.f64 (pow.f64 y 7) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
Outputs
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 z y))
(*.f64 z (neg.f64 y))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))
(fma.f64 -1 (*.f64 z y) (*.f64 1/6 (*.f64 z (pow.f64 y 3))))
(*.f64 z (+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3))))
(*.f64 z (-.f64 (*.f64 1/6 (pow.f64 y 3)) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z))))
(fma.f64 -1 (*.f64 z y) (fma.f64 -1/120 (*.f64 z (pow.f64 y 5)) (*.f64 1/6 (*.f64 z (pow.f64 y 3)))))
(-.f64 (*.f64 z (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1/120 (pow.f64 y 5)))) (*.f64 z y))
(*.f64 z (-.f64 (fma.f64 1/6 (pow.f64 y 3) (*.f64 -1/120 (pow.f64 y 5))) y))
(*.f64 z (fma.f64 1/6 (pow.f64 y 3) (fma.f64 -1/120 (pow.f64 y 5) (neg.f64 y))))
(+.f64 (*.f64 1/5040 (*.f64 (pow.f64 y 7) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))))
(fma.f64 1/5040 (*.f64 z (pow.f64 y 7)) (fma.f64 -1 (*.f64 z y) (fma.f64 -1/120 (*.f64 z (pow.f64 y 5)) (*.f64 1/6 (*.f64 z (pow.f64 y 3))))))
(fma.f64 1/5040 (*.f64 z (pow.f64 y 7)) (-.f64 (*.f64 z (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1/120 (pow.f64 y 5)))) (*.f64 z y)))
(*.f64 z (+.f64 (-.f64 (*.f64 1/5040 (pow.f64 y 7)) y) (fma.f64 1/6 (pow.f64 y 3) (*.f64 -1/120 (pow.f64 y 5)))))
(*.f64 z (-.f64 (fma.f64 1/5040 (pow.f64 y 7) (fma.f64 1/6 (pow.f64 y 3) (*.f64 -1/120 (pow.f64 y 5)))) y))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))

localize16.0ms (0.2%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.1b
(*.f64 x (cos.f64 y))
0.1b
(*.f64 z (sin.f64 y))
0.0b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
0.0b
(log.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))
0.0b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
0.1b
(*.f64 z (sin.f64 y))
0.1b
(*.f64 x (cos.f64 y))
2.6b
(exp.f64 (log.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))
Compiler

Compiled 48 to 10 computations (79.2% saved)

series3.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
x
@0
(exp.f64 (log.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))
0.0ms
x
@-inf
(exp.f64 (log.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))
0.0ms
z
@inf
(exp.f64 (log.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))
0.0ms
y
@inf
(exp.f64 (log.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))
0.0ms
x
@inf
(exp.f64 (log.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))

rewrite70.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
556×log-prod_binary64
412×exp-prod_binary64
396×fma-def_binary64
356×pow-prod-down_binary64
288×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01114
122214
2284614
Stop Event
node limit
Counts
1 → 196
Calls
Call 1
Inputs
(exp.f64 (log.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) (neg.f64 z)) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (cos.f64 y)) (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))) (/.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3) (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) (/.f64 (pow.f64 (*.f64 z (sin.f64 y)) 2) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) (pow.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) 2) (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (-.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1) (*.f64 2 (log.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))))))) (pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))) (pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2)) (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3))) (neg.f64 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2))) (neg.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 3)) (+.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (-.f64 (pow.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 2) (*.f64 (*.f64 x (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))) 3) (pow.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 3)) (+.f64 (pow.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))) 2) (-.f64 (pow.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 2) (*.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 2)) (-.f64 (*.f64 x (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))) 2) (pow.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 2)) (-.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1) (exp.f64 (log1p.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))))))) (pow.f64 (exp.f64 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1) (log.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)))) (pow.f64 (exp.f64 1) (log.f64 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1) (log.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)))) (pow.f64 (exp.f64 1) (log.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (cbrt.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))) (cbrt.f64 (pow.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))) (sqrt.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))) (*.f64 (sqrt.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) 2))) (cbrt.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) 2))) (*.f64 (cbrt.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 1 (-.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2)) (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) 1) (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))) 1) (sqrt.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))) (cbrt.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))) (cbrt.f64 (sqrt.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))) (sqrt.f64 (sqrt.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))))))) (sqrt.f64 (sqrt.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))) (sqrt.f64 (cbrt.f64 (pow.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) 2)))) (sqrt.f64 (cbrt.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) 2))) 1) (cbrt.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) 2))) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))) 2)) (cbrt.f64 (cbrt.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) 2))) (cbrt.f64 (sqrt.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))))))) (cbrt.f64 (sqrt.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) 2))) (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) 2)))) (cbrt.f64 (cbrt.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) 2))) (sqrt.f64 (cbrt.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))))))) (sqrt.f64 (cbrt.f64 (log.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 x (cos.f64 y)))) (pow.f64 (exp.f64 z) (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 x) (cos.f64 y)) (+.f64 1 (expm1.f64 (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 x (cos.f64 y)))) (+.f64 1 (expm1.f64 (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (cos.f64 y)))) (pow.f64 (exp.f64 z) (neg.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))))) (exp.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))) (+.f64 1 (expm1.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 z) (neg.f64 (sin.f64 y))) (+.f64 1 (expm1.f64 (*.f64 x (cos.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (cos.f64 y) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (cos.f64 y) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 y) x (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 y) x (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 y) x (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cos.f64 y)) 1 (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cos.f64 y)) 1 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cos.f64 y)) 1 (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cos.f64 y)) 1 (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))) 1 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))) 1 (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))) 1 (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))) 1 (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (cos.f64 y)) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (sin.f64 y) (neg.f64 z)) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) (pow.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) 2) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) (pow.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) 2) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) (pow.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) (pow.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) 2) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) (pow.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) 2) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) 2) (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) 2) (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) 2) (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) 2) (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) 2) (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (cbrt.f64 (*.f64 x (cos.f64 y))) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (cbrt.f64 (*.f64 x (cos.f64 y))) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (cbrt.f64 (*.f64 x (cos.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (cbrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) (neg.f64 (sqrt.f64 (*.f64 z (sin.f64 y)))) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (cos.f64 y)) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) x) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) x) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) x) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sin.f64 y)) z (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))) 2) (cbrt.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))) (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) (neg.f64 z))) 2) (cbrt.f64 (*.f64 (sin.f64 y) (neg.f64 z))) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))) (sqrt.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))) (fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sin.f64 y) (neg.f64 z))) (sqrt.f64 (*.f64 (sin.f64 y) (neg.f64 z))) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (*.f64 z (sin.f64 y)))) (sqrt.f64 (*.f64 z (sin.f64 y))) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (-.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (-.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (-.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (-.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (-.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2)) (cbrt.f64 (*.f64 z (sin.f64 y))) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 z) 1) (sin.f64 y) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 z) (cbrt.f64 (pow.f64 (sin.f64 y) 2))) (cbrt.f64 (sin.f64 y)) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 z) (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))))

simplify43.0ms (0.5%)

Algorithm
egg-herbie
Rules
829×distribute-rgt-neg-in_binary64
716×distribute-lft-neg-in_binary64
469×distribute-lft-out--_binary64
446×cancel-sign-sub-inv_binary64
341×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
030461
185458
2205458
3516454
41786454
54396454
Stop Event
node limit
Counts
232 → 209
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(*.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(*.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(*.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
Outputs
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
(*.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
(*.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 z y) x)
(-.f64 x (*.f64 z y))
(fma.f64 z (neg.f64 y) x)
(fma.f64 y (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x))
(fma.f64 -1 (*.f64 z y) (fma.f64 -1/2 (*.f64 x (*.f64 y y)) x))
(-.f64 (fma.f64 (*.f64 (*.f64 -1/2 y) y) x x) (*.f64 z y))
(-.f64 (*.f64 x (fma.f64 (*.f64 y -1/2) y 1)) (*.f64 z y))
(+.f64 x (*.f64 y (-.f64 (*.f64 y (*.f64 x -1/2)) z)))
(+.f64 x (*.f64 y (fma.f64 y (*.f64 x -1/2) (neg.f64 z))))
(+.f64 x (*.f64 y (fma.f64 x (*.f64 y -1/2) (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x)))
(fma.f64 -1 (*.f64 z y) (fma.f64 -1/2 (*.f64 x (*.f64 y y)) (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) x)))
(-.f64 (fma.f64 (*.f64 (*.f64 -1/2 y) y) x (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) x)) (*.f64 z y))
(-.f64 (fma.f64 (pow.f64 y 3) (*.f64 z 1/6) (*.f64 x (fma.f64 (*.f64 y -1/2) y 1))) (*.f64 z y))
(fma.f64 x (fma.f64 y (*.f64 y -1/2) 1) (*.f64 z (-.f64 (*.f64 1/6 (pow.f64 y 3)) y)))
(fma.f64 x (fma.f64 y (*.f64 y -1/2) 1) (*.f64 z (fma.f64 1/6 (pow.f64 y 3) (neg.f64 y))))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
(*.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))

localize30.0ms (0.3%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.1b
(*.f64 x (cos.f64 y))
0.1b
(*.f64 z (sin.f64 y))
0.0b
(sqrt.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 3) (*.f64 z (sin.f64 y))))
0.0b
(-.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 3) (*.f64 z (sin.f64 y)))
0.1b
(*.f64 x (cos.f64 y))
0.2b
(pow.f64 (sqrt.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 3) (*.f64 z (sin.f64 y)))) 2)
0.7b
(cbrt.f64 (*.f64 x (cos.f64 y)))
0.7b
(pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 3)
Compiler

Compiled 72 to 25 computations (65.3% saved)

series30.0ms (0.3%)

Counts
3 → 43
Calls

21 calls:

TimeVariablePointExpression
7.0ms
y
@inf
(pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 3)
3.0ms
z
@0
(pow.f64 (sqrt.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 3) (*.f64 z (sin.f64 y)))) 2)
3.0ms
y
@0
(pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 3)
2.0ms
y
@inf
(pow.f64 (sqrt.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 3) (*.f64 z (sin.f64 y)))) 2)
2.0ms
y
@-inf
(pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 3)

rewrite72.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
639×log-prod_binary64
429×pow-prod-down_binary64
359×fma-def_binary64
337×pow2_binary64
234×expm1-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01528
132328
2351828
Stop Event
node limit
Counts
3 → 203
Calls
Call 1
Inputs
(pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 3)
(cbrt.f64 (*.f64 x (cos.f64 y)))
(pow.f64 (sqrt.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 3) (*.f64 z (sin.f64 y)))) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (cos.f64 y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (cos.f64 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x (cos.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (cos.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 y) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (cos.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (cbrt.f64 (*.f64 x (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2)) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (cos.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (cos.f64 y)) (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 x (cos.f64 y)) 1/6) (*.f64 (pow.f64 (*.f64 x (cos.f64 y)) 1/6) (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) 1) (cbrt.f64 (*.f64 x (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) (cbrt.f64 (cbrt.f64 (*.f64 x (cos.f64 y))))) 2) (cbrt.f64 (cbrt.f64 (*.f64 x (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (cbrt.f64 x)) (cbrt.f64 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (pow.f64 (*.f64 x (cos.f64 y)) 1/6)) (pow.f64 (*.f64 x (cos.f64 y)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x (cos.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (cos.f64 y))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (*.f64 x (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 x (cos.f64 y))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 x (cos.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 x (cos.f64 y)))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 x (cos.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 x (cos.f64 y))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 x (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (cos.f64 y)))) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 x (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (cbrt.f64 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 x (cos.f64 y)) 1/6) (pow.f64 (*.f64 x (cos.f64 y)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 x (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (cos.f64 y)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (cos.f64 y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (cos.f64 y)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 x (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 x (cos.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 x (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 x (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x (cos.f64 y))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (cos.f64 y)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 x (cos.f64 y)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) (neg.f64 z)) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))) (/.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3) (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) (/.f64 (pow.f64 (*.f64 z (sin.f64 y)) 2) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (cbrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2)) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (sqrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/2)) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (-.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2)) (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3))) (neg.f64 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2))) (neg.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 3)) (+.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (-.f64 (pow.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 2) (*.f64 (*.f64 x (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 2)) (-.f64 (*.f64 x (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 x (cos.f64 y)))) (pow.f64 (exp.f64 z) (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 x) (cos.f64 y)) (+.f64 1 (expm1.f64 (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 x (cos.f64 y)))) (+.f64 1 (expm1.f64 (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (cos.f64 y)))) (exp.f64 (*.f64 (sin.f64 y) (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (cos.f64 y)))) (pow.f64 (exp.f64 z) (neg.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 y) (neg.f64 z))) (pow.f64 (exp.f64 x) (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 y) (neg.f64 z))) (+.f64 1 (expm1.f64 (*.f64 x (cos.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 z) (neg.f64 (sin.f64 y))) (+.f64 1 (expm1.f64 (*.f64 x (cos.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (cos.f64 y) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 y) x (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cos.f64 y)) 1 (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cos.f64 y)) 1 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1 (fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1 (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (sin.f64 y) (neg.f64 z)) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (cbrt.f64 (*.f64 x (cos.f64 y))) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (cbrt.f64 (*.f64 x (cos.f64 y))) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (cbrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2)) (fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (cbrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2)) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (cbrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2)) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2)) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2)) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2)) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (cos.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2)) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (cos.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (cos.f64 y)) (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (cos.f64 y)) (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 x (cos.f64 y)) 1/6) (*.f64 (pow.f64 (*.f64 x (cos.f64 y)) 1/6) (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 x (cos.f64 y)) 1/6) (*.f64 (pow.f64 (*.f64 x (cos.f64 y)) 1/6) (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) (neg.f64 (sqrt.f64 (*.f64 z (sin.f64 y)))) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (sqrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/2)) (fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (sqrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/2)) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (sqrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/2)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) x) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))) (fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) (fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/2)) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/2)) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/2)) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) (neg.f64 z))) 2) (cbrt.f64 (*.f64 (sin.f64 y) (neg.f64 z))) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sin.f64 y) (neg.f64 z))) (sqrt.f64 (*.f64 (sin.f64 y) (neg.f64 z))) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sin.f64 y)) z (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (*.f64 z (sin.f64 y)))) (sqrt.f64 (*.f64 z (sin.f64 y))) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (-.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (-.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (-.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2)) (cbrt.f64 (*.f64 z (sin.f64 y))) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) 1) (cbrt.f64 (*.f64 x (cos.f64 y))) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) 1) (cbrt.f64 (*.f64 x (cos.f64 y))) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) (cbrt.f64 (cbrt.f64 (*.f64 x (cos.f64 y))))) 2) (cbrt.f64 (cbrt.f64 (*.f64 x (cos.f64 y)))) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) (cbrt.f64 (cbrt.f64 (*.f64 x (cos.f64 y))))) 2) (cbrt.f64 (cbrt.f64 (*.f64 x (cos.f64 y)))) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (cbrt.f64 x)) (cbrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (cbrt.f64 x)) (cbrt.f64 (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (pow.f64 (*.f64 x (cos.f64 y)) 1/6)) (pow.f64 (*.f64 x (cos.f64 y)) 1/6) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (pow.f64 (*.f64 x (cos.f64 y)) 1/6)) (pow.f64 (*.f64 x (cos.f64 y)) 1/6) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6) (fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 z) 1) (sin.f64 y) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 z) (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 z) (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) (*.f64 x (cos.f64 y)))))))

simplify58.0ms (0.6%)

Algorithm
egg-herbie
Rules
529×times-frac_binary64
410×*-commutative_binary64
399×associate-+l+_binary64
358×associate-+r+_binary64
335×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0165959
1562835
22021800
37453763
Stop Event
node limit
Counts
246 → 234
Calls
Call 1
Inputs
(*.f64 (pow.f64 1 1/3) x)
(+.f64 (*.f64 (pow.f64 1 1/3) x) (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) x)) (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) x))) (pow.f64 y 2)))
(+.f64 (*.f64 (pow.f64 1 1/3) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) x)) (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) x))) (pow.f64 y 2)) (*.f64 (pow.f64 y 4) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 x) (*.f64 1/12 x)))) (+.f64 (*.f64 1/18 (*.f64 (pow.f64 1 1/3) x)) (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (-.f64 (*.f64 1/24 x) (*.f64 1/12 x)))) (*.f64 1/36 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3))) (pow.f64 (*.f64 1 x) 1/3)))))))
(+.f64 (*.f64 (pow.f64 1 1/3) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (-.f64 (*.f64 1/24 x) (*.f64 1/12 x)))) (*.f64 1/36 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3))) (pow.f64 (*.f64 1 x) 1/3))) (+.f64 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (-.f64 (*.f64 -1/720 x) (+.f64 (*.f64 -1/3 (-.f64 (*.f64 1/24 x) (*.f64 1/12 x))) (*.f64 -1/216 x))))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (-.f64 (*.f64 1/24 x) (*.f64 1/12 x)))))) (+.f64 (*.f64 1/3 (*.f64 (-.f64 (*.f64 -1/720 x) (+.f64 (*.f64 -1/3 (-.f64 (*.f64 1/24 x) (*.f64 1/12 x))) (*.f64 -1/216 x))) (pow.f64 1 1/3))) (*.f64 -1/9 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 x) (*.f64 1/12 x))))))) (pow.f64 y 6)) (+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) x)) (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) x))) (pow.f64 y 2)) (*.f64 (pow.f64 y 4) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 x) (*.f64 1/12 x)))) (+.f64 (*.f64 1/18 (*.f64 (pow.f64 1 1/3) x)) (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (-.f64 (*.f64 1/24 x) (*.f64 1/12 x)))) (*.f64 1/36 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3))) (pow.f64 (*.f64 1 x) 1/3))))))))
(*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x))
(*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x))
(*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x))
(*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x))
(*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x))
(*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x))
(*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x))
(*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x))
(pow.f64 x 1/3)
(+.f64 (pow.f64 x 1/3) (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 2))))
(+.f64 (pow.f64 x 1/3) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (*.f64 (pow.f64 y 4) (-.f64 (*.f64 1/24 x) (*.f64 1/12 x))))) (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 2)))))
(+.f64 (pow.f64 x 1/3) (+.f64 (*.f64 1/3 (*.f64 (*.f64 (-.f64 (*.f64 -1/720 x) (+.f64 (*.f64 -1/3 (-.f64 (*.f64 1/24 x) (*.f64 1/12 x))) (*.f64 -1/216 x))) (pow.f64 y 6)) (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (*.f64 (pow.f64 y 4) (-.f64 (*.f64 1/24 x) (*.f64 1/12 x))))) (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 2))))))
(pow.f64 (*.f64 (cos.f64 y) x) 1/3)
(pow.f64 (*.f64 (cos.f64 y) x) 1/3)
(pow.f64 (*.f64 (cos.f64 y) x) 1/3)
(pow.f64 (*.f64 (cos.f64 y) x) 1/3)
(pow.f64 (*.f64 (cos.f64 y) x) 1/3)
(pow.f64 (*.f64 (cos.f64 y) x) 1/3)
(pow.f64 (*.f64 (cos.f64 y) x) 1/3)
(pow.f64 (*.f64 (cos.f64 y) x) 1/3)
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) x)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 y z))) (*.f64 (pow.f64 1 1/3) x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 y z))) (+.f64 (*.f64 (pow.f64 1 1/3) x) (*.f64 (pow.f64 y 2) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 1 1/3) (/.f64 (pow.f64 z 2) x))) (*.f64 (pow.f64 1 1/3) (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) x)) (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) x))) (pow.f64 (*.f64 -1/2 (*.f64 (pow.f64 1 1/6) (*.f64 z (sqrt.f64 (/.f64 1 x))))) 2)))))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 y z))) (+.f64 (*.f64 (pow.f64 1 1/3) x) (+.f64 (*.f64 (pow.f64 y 2) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 1 1/3) (/.f64 (pow.f64 z 2) x))) (*.f64 (pow.f64 1 1/3) (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) x)) (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) x))) (pow.f64 (*.f64 -1/2 (*.f64 (pow.f64 1 1/6) (*.f64 z (sqrt.f64 (/.f64 1 x))))) 2))))) (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 1 1/3) (/.f64 (*.f64 z (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) x)) (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) x))) (pow.f64 (*.f64 -1/2 (*.f64 (pow.f64 1 1/6) (*.f64 z (sqrt.f64 (/.f64 1 x))))) 2))) x))) (*.f64 -1 (*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1/6 z) (*.f64 -1/2 (*.f64 (pow.f64 1 1/3) (/.f64 (*.f64 z (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) x)) (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) x))) (pow.f64 (*.f64 -1/2 (*.f64 (pow.f64 1 1/6) (*.f64 z (sqrt.f64 (/.f64 1 x))))) 2))) x)))))))))))
(-.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))) (+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)) (*.f64 (pow.f64 z 2) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 1 1/3) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (cos.f64 y) x)))) (*.f64 -1/4 (*.f64 (pow.f64 1 1/3) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (cos.f64 y) x))))))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))) (+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 (pow.f64 z 2) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 1 1/3) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (cos.f64 y) x)))) (*.f64 -1/4 (*.f64 (pow.f64 1 1/3) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (cos.f64 y) x)))))) (*.f64 (pow.f64 z 3) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 1 1/3) (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))) (*.f64 1/8 (*.f64 (pow.f64 1 1/3) (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))))))))
Outputs
(*.f64 (pow.f64 1 1/3) x)
x
(+.f64 (*.f64 (pow.f64 1 1/3) x) (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) x)) (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) x))) (pow.f64 y 2)))
(+.f64 x (*.f64 (*.f64 x -1/2) (*.f64 y y)))
(fma.f64 (*.f64 x -1/2) (*.f64 y y) x)
(+.f64 (*.f64 (pow.f64 1 1/3) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) x)) (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) x))) (pow.f64 y 2)) (*.f64 (pow.f64 y 4) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 x) (*.f64 1/12 x)))) (+.f64 (*.f64 1/18 (*.f64 (pow.f64 1 1/3) x)) (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (-.f64 (*.f64 1/24 x) (*.f64 1/12 x)))) (*.f64 1/36 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3))) (pow.f64 (*.f64 1 x) 1/3)))))))
(+.f64 x (fma.f64 (*.f64 x -1/2) (*.f64 y y) (*.f64 (pow.f64 y 4) (+.f64 (*.f64 1/3 (*.f64 x -1/24)) (fma.f64 1/18 x (*.f64 (fma.f64 2/3 (*.f64 (*.f64 x -1/24) (cbrt.f64 (/.f64 1 x))) (*.f64 1/36 (cbrt.f64 (*.f64 x x)))) (cbrt.f64 x)))))))
(+.f64 x (fma.f64 (pow.f64 y 4) (fma.f64 1/3 (*.f64 x -1/24) (fma.f64 (fma.f64 2/3 (*.f64 x (*.f64 -1/24 (cbrt.f64 (/.f64 1 x)))) (*.f64 1/36 (cbrt.f64 (*.f64 x x)))) (cbrt.f64 x) (*.f64 x 1/18))) (*.f64 x (*.f64 -1/2 (*.f64 y y)))))
(+.f64 x (fma.f64 (pow.f64 y 4) (+.f64 (*.f64 x -1/72) (fma.f64 (fma.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 x))) (*.f64 x -1/24) (*.f64 1/36 (cbrt.f64 (*.f64 x x)))) (cbrt.f64 x) (*.f64 x 1/18))) (*.f64 x (*.f64 (*.f64 y y) -1/2))))
(+.f64 (*.f64 (pow.f64 1 1/3) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (-.f64 (*.f64 1/24 x) (*.f64 1/12 x)))) (*.f64 1/36 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3))) (pow.f64 (*.f64 1 x) 1/3))) (+.f64 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (-.f64 (*.f64 -1/720 x) (+.f64 (*.f64 -1/3 (-.f64 (*.f64 1/24 x) (*.f64 1/12 x))) (*.f64 -1/216 x))))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (-.f64 (*.f64 1/24 x) (*.f64 1/12 x)))))) (+.f64 (*.f64 1/3 (*.f64 (-.f64 (*.f64 -1/720 x) (+.f64 (*.f64 -1/3 (-.f64 (*.f64 1/24 x) (*.f64 1/12 x))) (*.f64 -1/216 x))) (pow.f64 1 1/3))) (*.f64 -1/9 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 x) (*.f64 1/12 x))))))) (pow.f64 y 6)) (+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) x)) (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) x))) (pow.f64 y 2)) (*.f64 (pow.f64 y 4) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 x) (*.f64 1/12 x)))) (+.f64 (*.f64 1/18 (*.f64 (pow.f64 1 1/3) x)) (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (-.f64 (*.f64 1/24 x) (*.f64 1/12 x)))) (*.f64 1/36 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3))) (pow.f64 (*.f64 1 x) 1/3))))))))
(+.f64 x (fma.f64 (fma.f64 -1/6 (*.f64 (fma.f64 2/3 (*.f64 (*.f64 x -1/24) (cbrt.f64 (/.f64 1 x))) (*.f64 1/36 (cbrt.f64 (*.f64 x x)))) (cbrt.f64 x)) (fma.f64 (cbrt.f64 x) (fma.f64 2/3 (*.f64 (cbrt.f64 (/.f64 1 x)) (-.f64 (*.f64 x -1/720) (fma.f64 -1/3 (*.f64 x -1/24) (*.f64 x -1/216)))) (*.f64 (*.f64 (*.f64 x -1/24) (cbrt.f64 (/.f64 1 x))) -1/9)) (fma.f64 1/3 (*.f64 1 (-.f64 (*.f64 x -1/720) (fma.f64 -1/3 (*.f64 x -1/24) (*.f64 x -1/216)))) (*.f64 -1/9 (*.f64 x -1/24))))) (pow.f64 y 6) (fma.f64 (*.f64 x -1/2) (*.f64 y y) (*.f64 (pow.f64 y 4) (+.f64 (*.f64 1/3 (*.f64 x -1/24)) (fma.f64 1/18 x (*.f64 (fma.f64 2/3 (*.f64 (*.f64 x -1/24) (cbrt.f64 (/.f64 1 x))) (*.f64 1/36 (cbrt.f64 (*.f64 x x)))) (cbrt.f64 x))))))))
(+.f64 x (fma.f64 (+.f64 (fma.f64 1/3 (-.f64 (*.f64 x -1/720) (fma.f64 x -1/216 (*.f64 x 1/72))) (*.f64 (*.f64 -1/9 x) -1/24)) (*.f64 (cbrt.f64 x) (+.f64 (*.f64 -1/6 (fma.f64 2/3 (*.f64 x (*.f64 -1/24 (cbrt.f64 (/.f64 1 x)))) (*.f64 1/36 (cbrt.f64 (*.f64 x x))))) (fma.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 x))) (-.f64 (*.f64 x -1/720) (fma.f64 x -1/216 (*.f64 x 1/72))) (*.f64 (cbrt.f64 (/.f64 1 x)) (*.f64 (*.f64 -1/9 x) -1/24)))))) (pow.f64 y 6) (fma.f64 (pow.f64 y 4) (fma.f64 1/3 (*.f64 x -1/24) (fma.f64 (fma.f64 2/3 (*.f64 x (*.f64 -1/24 (cbrt.f64 (/.f64 1 x)))) (*.f64 1/36 (cbrt.f64 (*.f64 x x)))) (cbrt.f64 x) (*.f64 x 1/18))) (*.f64 x (*.f64 -1/2 (*.f64 y y))))))
(+.f64 x (fma.f64 (+.f64 (fma.f64 1/3 (+.f64 (*.f64 x -11/720) (*.f64 x 1/216)) (*.f64 -1/24 (*.f64 x -1/9))) (*.f64 (cbrt.f64 x) (+.f64 (*.f64 (cbrt.f64 (/.f64 1 x)) (+.f64 (*.f64 2/3 (+.f64 (*.f64 x -11/720) (*.f64 x 1/216))) (*.f64 -1/24 (*.f64 x -1/9)))) (*.f64 -1/6 (fma.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 x))) (*.f64 x -1/24) (*.f64 1/36 (cbrt.f64 (*.f64 x x)))))))) (pow.f64 y 6) (fma.f64 (pow.f64 y 4) (+.f64 (*.f64 x -1/72) (fma.f64 (fma.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 x))) (*.f64 x -1/24) (*.f64 1/36 (cbrt.f64 (*.f64 x x)))) (cbrt.f64 x) (*.f64 x 1/18))) (*.f64 x (*.f64 (*.f64 y y) -1/2)))))
(+.f64 x (fma.f64 (+.f64 (fma.f64 1/3 (fma.f64 x 7/2160 (*.f64 x -1/72)) (*.f64 -1/24 (*.f64 x -1/9))) (*.f64 (cbrt.f64 x) (+.f64 (*.f64 (cbrt.f64 (/.f64 1 x)) (+.f64 (*.f64 2/3 (fma.f64 x 7/2160 (*.f64 x -1/72))) (*.f64 -1/24 (*.f64 x -1/9)))) (*.f64 -1/6 (fma.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 x))) (*.f64 x -1/24) (*.f64 1/36 (cbrt.f64 (*.f64 x x)))))))) (pow.f64 y 6) (fma.f64 (pow.f64 y 4) (+.f64 (*.f64 x -1/72) (fma.f64 (fma.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 x))) (*.f64 x -1/24) (*.f64 1/36 (cbrt.f64 (*.f64 x x)))) (cbrt.f64 x) (*.f64 x 1/18))) (*.f64 x (*.f64 (*.f64 y y) -1/2)))))
(*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x))
(*.f64 1 (*.f64 x (cos.f64 y)))
(*.f64 x (cos.f64 y))
(*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x))
(*.f64 1 (*.f64 x (cos.f64 y)))
(*.f64 x (cos.f64 y))
(*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x))
(*.f64 1 (*.f64 x (cos.f64 y)))
(*.f64 x (cos.f64 y))
(*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x))
(*.f64 1 (*.f64 x (cos.f64 y)))
(*.f64 x (cos.f64 y))
(*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x))
(*.f64 1 (*.f64 x (cos.f64 y)))
(*.f64 x (cos.f64 y))
(*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x))
(*.f64 1 (*.f64 x (cos.f64 y)))
(*.f64 x (cos.f64 y))
(*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x))
(*.f64 1 (*.f64 x (cos.f64 y)))
(*.f64 x (cos.f64 y))
(*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x))
(*.f64 1 (*.f64 x (cos.f64 y)))
(*.f64 x (cos.f64 y))
(pow.f64 x 1/3)
(cbrt.f64 x)
(+.f64 (pow.f64 x 1/3) (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 2))))
(+.f64 (cbrt.f64 x) (*.f64 -1/6 (*.f64 (*.f64 y y) (cbrt.f64 x))))
(fma.f64 -1/6 (*.f64 (*.f64 y y) (cbrt.f64 x)) (cbrt.f64 x))
(*.f64 (+.f64 (*.f64 -1/6 (*.f64 y y)) 1) (cbrt.f64 x))
(+.f64 (pow.f64 x 1/3) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (*.f64 (pow.f64 y 4) (-.f64 (*.f64 1/24 x) (*.f64 1/12 x))))) (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 2)))))
(+.f64 (cbrt.f64 x) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (*.f64 (pow.f64 y 4) (*.f64 x -1/24))) (*.f64 -1/6 (*.f64 (*.f64 y y) (cbrt.f64 x)))))
(+.f64 (cbrt.f64 x) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (*.f64 x (*.f64 -1/24 (pow.f64 y 4)))) (*.f64 -1/6 (*.f64 (*.f64 y y) (cbrt.f64 x)))))
(+.f64 (*.f64 (*.f64 x -1/72) (*.f64 (pow.f64 y 4) (cbrt.f64 (/.f64 1 (*.f64 x x))))) (*.f64 (+.f64 (*.f64 -1/6 (*.f64 y y)) 1) (cbrt.f64 x)))
(+.f64 (pow.f64 x 1/3) (+.f64 (*.f64 1/3 (*.f64 (*.f64 (-.f64 (*.f64 -1/720 x) (+.f64 (*.f64 -1/3 (-.f64 (*.f64 1/24 x) (*.f64 1/12 x))) (*.f64 -1/216 x))) (pow.f64 y 6)) (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (*.f64 (pow.f64 y 4) (-.f64 (*.f64 1/24 x) (*.f64 1/12 x))))) (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 2))))))
(+.f64 (cbrt.f64 x) (fma.f64 1/3 (*.f64 (-.f64 (*.f64 x -1/720) (fma.f64 -1/3 (*.f64 x -1/24) (*.f64 x -1/216))) (*.f64 (pow.f64 y 6) (cbrt.f64 (/.f64 1 (*.f64 x x))))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (*.f64 (pow.f64 y 4) (*.f64 x -1/24))) (*.f64 -1/6 (*.f64 (*.f64 y y) (cbrt.f64 x))))))
(+.f64 (*.f64 1/3 (+.f64 (*.f64 (-.f64 (*.f64 x -1/720) (fma.f64 x -1/216 (*.f64 x 1/72))) (*.f64 (pow.f64 y 6) (cbrt.f64 (/.f64 1 (*.f64 x x))))) (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (*.f64 x (*.f64 -1/24 (pow.f64 y 4)))))) (fma.f64 -1/6 (*.f64 (*.f64 y y) (cbrt.f64 x)) (cbrt.f64 x)))
(+.f64 (*.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (+.f64 (*.f64 (+.f64 (*.f64 x -11/720) (*.f64 x 1/216)) (pow.f64 y 6)) (*.f64 x (*.f64 (pow.f64 y 4) -1/24))))) (*.f64 (+.f64 (*.f64 -1/6 (*.f64 y y)) 1) (cbrt.f64 x)))
(+.f64 (*.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (+.f64 (*.f64 (fma.f64 x 7/2160 (*.f64 x -1/72)) (pow.f64 y 6)) (*.f64 x (*.f64 (pow.f64 y 4) -1/24))))) (*.f64 (+.f64 (*.f64 -1/6 (*.f64 y y)) 1) (cbrt.f64 x)))
(pow.f64 (*.f64 (cos.f64 y) x) 1/3)
(cbrt.f64 (*.f64 x (cos.f64 y)))
(pow.f64 (*.f64 (cos.f64 y) x) 1/3)
(cbrt.f64 (*.f64 x (cos.f64 y)))
(pow.f64 (*.f64 (cos.f64 y) x) 1/3)
(cbrt.f64 (*.f64 x (cos.f64 y)))
(pow.f64 (*.f64 (cos.f64 y) x) 1/3)
(cbrt.f64 (*.f64 x (cos.f64 y)))
(pow.f64 (*.f64 (cos.f64 y) x) 1/3)
(cbrt.f64 (*.f64 x (cos.f64 y)))
(pow.f64 (*.f64 (cos.f64 y) x) 1/3)
(cbrt.f64 (*.f64 x (cos.f64 y)))
(pow.f64 (*.f64 (cos.f64 y) x) 1/3)
(cbrt.f64 (*.f64 x (cos.f64 y)))
(pow.f64 (*.f64 (cos.f64 y) x) 1/3)
(cbrt.f64 (*.f64 x (cos.f64 y)))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 (pow.f64 1 1/3) x)
x
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 y z))) (*.f64 (pow.f64 1 1/3) x))
(+.f64 x (*.f64 -1 (*.f64 y z)))
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 y z))) (+.f64 (*.f64 (pow.f64 1 1/3) x) (*.f64 (pow.f64 y 2) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 1 1/3) (/.f64 (pow.f64 z 2) x))) (*.f64 (pow.f64 1 1/3) (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) x)) (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) x))) (pow.f64 (*.f64 -1/2 (*.f64 (pow.f64 1 1/6) (*.f64 z (sqrt.f64 (/.f64 1 x))))) 2)))))))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 x (*.f64 (*.f64 y y) (+.f64 (*.f64 1/4 (/.f64 (*.f64 z z) x)) (*.f64 1 (-.f64 (*.f64 x -1/2) (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 x)))) 2)))))))
(-.f64 (fma.f64 (*.f64 y y) (fma.f64 1/4 (/.f64 z (/.f64 x z)) (-.f64 (*.f64 x -1/2) (pow.f64 (*.f64 z (*.f64 (sqrt.f64 (/.f64 1 x)) -1/2)) 2))) x) (*.f64 y z))
(-.f64 (fma.f64 (*.f64 y y) (fma.f64 1/4 (*.f64 z (/.f64 z x)) (-.f64 (*.f64 x -1/2) (pow.f64 (*.f64 z (*.f64 -1/2 (sqrt.f64 (/.f64 1 x)))) 2))) x) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 y (fma.f64 1/4 (*.f64 z (/.f64 z x)) (fma.f64 x -1/2 (*.f64 (*.f64 z (/.f64 z x)) -1/4)))) z)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 y z))) (+.f64 (*.f64 (pow.f64 1 1/3) x) (+.f64 (*.f64 (pow.f64 y 2) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 1 1/3) (/.f64 (pow.f64 z 2) x))) (*.f64 (pow.f64 1 1/3) (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) x)) (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) x))) (pow.f64 (*.f64 -1/2 (*.f64 (pow.f64 1 1/6) (*.f64 z (sqrt.f64 (/.f64 1 x))))) 2))))) (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 1 1/3) (/.f64 (*.f64 z (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) x)) (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) x))) (pow.f64 (*.f64 -1/2 (*.f64 (pow.f64 1 1/6) (*.f64 z (sqrt.f64 (/.f64 1 x))))) 2))) x))) (*.f64 -1 (*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1/6 z) (*.f64 -1/2 (*.f64 (pow.f64 1 1/3) (/.f64 (*.f64 z (-.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) x)) (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) x))) (pow.f64 (*.f64 -1/2 (*.f64 (pow.f64 1 1/6) (*.f64 z (sqrt.f64 (/.f64 1 x))))) 2))) x)))))))))))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 x (fma.f64 (*.f64 y y) (+.f64 (*.f64 1/4 (/.f64 (*.f64 z z) x)) (*.f64 1 (-.f64 (*.f64 x -1/2) (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 x)))) 2)))) (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/2 (/.f64 z (/.f64 x (-.f64 (*.f64 x -1/2) (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 x)))) 2))))) (*.f64 -1 (fma.f64 -1/6 z (*.f64 -1/2 (/.f64 z (/.f64 x (-.f64 (*.f64 x -1/2) (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 x)))) 2))))))))))))
(+.f64 (fma.f64 (pow.f64 y 3) (-.f64 (/.f64 (*.f64 -1/2 z) (/.f64 x (-.f64 (*.f64 x -1/2) (pow.f64 (*.f64 z (*.f64 (sqrt.f64 (/.f64 1 x)) -1/2)) 2)))) (fma.f64 -1/6 z (/.f64 (*.f64 -1/2 z) (/.f64 x (-.f64 (*.f64 x -1/2) (pow.f64 (*.f64 z (*.f64 (sqrt.f64 (/.f64 1 x)) -1/2)) 2)))))) (*.f64 y (*.f64 y (fma.f64 1/4 (/.f64 z (/.f64 x z)) (-.f64 (*.f64 x -1/2) (pow.f64 (*.f64 z (*.f64 (sqrt.f64 (/.f64 1 x)) -1/2)) 2)))))) (-.f64 x (*.f64 y z)))
(+.f64 (*.f64 (*.f64 y y) (+.f64 (fma.f64 1/4 (*.f64 z (/.f64 z x)) (-.f64 (*.f64 x -1/2) (pow.f64 (*.f64 z (*.f64 -1/2 (sqrt.f64 (/.f64 1 x)))) 2))) (*.f64 y (-.f64 (*.f64 (/.f64 (*.f64 z -1/2) x) (-.f64 (*.f64 x -1/2) (pow.f64 (*.f64 z (*.f64 -1/2 (sqrt.f64 (/.f64 1 x)))) 2))) (fma.f64 -1/6 z (*.f64 (/.f64 (*.f64 z -1/2) x) (-.f64 (*.f64 x -1/2) (pow.f64 (*.f64 z (*.f64 -1/2 (sqrt.f64 (/.f64 1 x)))) 2)))))))) (-.f64 x (*.f64 y z)))
(+.f64 x (+.f64 (*.f64 (pow.f64 y 3) (fma.f64 -1/2 (*.f64 z (/.f64 (fma.f64 x -1/2 (*.f64 (*.f64 z (/.f64 z x)) -1/4)) x)) (fma.f64 (*.f64 z (/.f64 (fma.f64 x -1/2 (*.f64 (*.f64 z (/.f64 z x)) -1/4)) x)) 1/2 (*.f64 z 1/6)))) (*.f64 y (-.f64 (*.f64 y (fma.f64 1/4 (*.f64 z (/.f64 z x)) (fma.f64 x -1/2 (*.f64 (*.f64 z (/.f64 z x)) -1/4)))) z))))
(-.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(fma.f64 1 (*.f64 x (cos.f64 y)) (neg.f64 (*.f64 z (sin.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(-.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(fma.f64 1 (*.f64 x (cos.f64 y)) (neg.f64 (*.f64 z (sin.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(-.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(fma.f64 1 (*.f64 x (cos.f64 y)) (neg.f64 (*.f64 z (sin.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(-.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(fma.f64 1 (*.f64 x (cos.f64 y)) (neg.f64 (*.f64 z (sin.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(-.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(fma.f64 1 (*.f64 x (cos.f64 y)) (neg.f64 (*.f64 z (sin.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(-.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(fma.f64 1 (*.f64 x (cos.f64 y)) (neg.f64 (*.f64 z (sin.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(-.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(fma.f64 1 (*.f64 x (cos.f64 y)) (neg.f64 (*.f64 z (sin.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(-.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(fma.f64 1 (*.f64 x (cos.f64 y)) (neg.f64 (*.f64 z (sin.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x))
(*.f64 1 (*.f64 x (cos.f64 y)))
(*.f64 x (cos.f64 y))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 1 (*.f64 x (cos.f64 y)) (neg.f64 (*.f64 z (sin.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))) (+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)) (*.f64 (pow.f64 z 2) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 1 1/3) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (cos.f64 y) x)))) (*.f64 -1/4 (*.f64 (pow.f64 1 1/3) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (cos.f64 y) x))))))))
(fma.f64 1 (*.f64 x (cos.f64 y)) (neg.f64 (*.f64 z (sin.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))) (+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 (pow.f64 z 2) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 1 1/3) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (cos.f64 y) x)))) (*.f64 -1/4 (*.f64 (pow.f64 1 1/3) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (cos.f64 y) x)))))) (*.f64 (pow.f64 z 3) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 1 1/3) (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))) (*.f64 1/8 (*.f64 (pow.f64 1 1/3) (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))))))))
(fma.f64 1 (*.f64 x (cos.f64 y)) (neg.f64 (*.f64 z (sin.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))

eval230.0ms (2.5%)

Compiler

Compiled 19757 to 5934 computations (70% saved)

prune487.0ms (5.2%)

Pruning

26 alts after pruning (20 fresh and 6 done)

PrunedKeptTotal
New8795884
Fresh51520
Picked011
Done055
Total88426910
Error
0.0b
Counts
910 → 26
Alt Table
Click to see full alt table
StatusErrorProgram
35.2b
(pow.f64 (sqrt.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 3) (*.f64 z (sin.f64 y)))) 2)
0.4b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))
37.3b
(exp.f64 (log.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))
34.9b
(*.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/4))
33.2b
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))
46.0b
(-.f64 (+.f64 1 (+.f64 (*.f64 y z) x)) 1)
41.4b
(pow.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 2)
35.1b
(pow.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) 2) 2)
34.2b
(/.f64 1 (/.f64 (+.f64 x (*.f64 z (sin.f64 y))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (sin.f64 y)) 2))))
54.2b
(*.f64 y (neg.f64 z))
0.6b
(+.f64 (*.f64 x (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3))))
32.0b
(+.f64 x (*.f64 y (-.f64 (*.f64 x (*.f64 y -1/2)) z)))
1.4b
(fma.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 3) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
27.2b
(+.f64 (*.f64 x (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))))
0.1b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
24.8b
(*.f64 x (cos.f64 y))
45.6b
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) 2)
37.8b
x
37.7b
(*.f64 z (neg.f64 (sin.f64 y)))
14.4b
(fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))
39.1b
(*.f64 (+.f64 (*.f64 y z) x) 1)
30.7b
(-.f64 x (*.f64 y z))
13.5b
(+.f64 x (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))
30.7b
(fma.f64 y (neg.f64 z) x)
13.9b
(-.f64 x (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3))
43.5b
(pow.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/2)) 2)
Compiler

Compiled 680 to 440 computations (35.3% saved)

localize28.0ms (0.3%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.1b
(*.f64 x (cos.f64 y))
0.1b
(*.f64 z (sin.f64 y))
0.1b
(fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3)))
0.0b
(+.f64 (*.f64 x (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3))))
0.1b
(*.f64 x (cos.f64 y))
0.6b
(pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3)
7.1b
(cbrt.f64 (*.f64 z (sin.f64 y)))
52.3b
(fma.f64 z (neg.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3))
Compiler

Compiled 85 to 24 computations (71.8% saved)

series31.0ms (0.3%)

Counts
3 → 30
Calls

18 calls:

TimeVariablePointExpression
20.0ms
y
@inf
(fma.f64 z (neg.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3))
2.0ms
y
@-inf
(fma.f64 z (neg.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3))
1.0ms
y
@0
(pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3)
1.0ms
z
@0
(fma.f64 z (neg.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3))
1.0ms
z
@-inf
(fma.f64 z (neg.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3))

rewrite83.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
765×pow1_binary64
713×add-log-exp_binary64
712×log1p-expm1-u_binary64
712×expm1-log1p-u_binary64
696×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01028
121225
2228625
Stop Event
node limit
Counts
3 → 76
Calls
Call 1
Inputs
(fma.f64 z (neg.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3))
(cbrt.f64 (*.f64 z (sin.f64 y)))
(pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (sin.f64 y)) (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))) (cbrt.f64 (pow.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))) 2)) (cbrt.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))) (sqrt.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (+.f64 (pow.f64 (*.f64 z (sin.f64 y)) 2) (-.f64 (pow.f64 (*.f64 z (sin.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z (sin.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (-.f64 (*.f64 z (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (*.f64 z (sin.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 z) (cbrt.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 y)) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 z (sin.f64 y)) 1/6) (pow.f64 (*.f64 z (sin.f64 y)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 1/3) (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (sin.f64 y)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (sin.f64 y)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 z (sin.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 y) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (cbrt.f64 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 z) (*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2)) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 z (sin.f64 y)) 1/6) (*.f64 (pow.f64 (*.f64 z (sin.f64 y)) 1/6) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2)) 3) (cbrt.f64 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 z (sin.f64 y)) 1/6) 3) (pow.f64 (pow.f64 (*.f64 z (sin.f64 y)) 1/6) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z -1) (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) (sqrt.f64 z)) (sqrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) 1) (cbrt.f64 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (cbrt.f64 z)) (cbrt.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2))) (cbrt.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (pow.f64 (*.f64 z (sin.f64 y)) 1/6)) (pow.f64 (*.f64 z (sin.f64 y)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 z) (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 z (sin.f64 y))))))))

simplify84.0ms (0.9%)

Algorithm
egg-herbie
Rules
624×fma-def_binary64
565×distribute-rgt-neg-in_binary64
496×fma-neg_binary64
475×cancel-sign-sub-inv_binary64
428×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
028282
183190
2218183
3580183
41554183
53239183
64984183
76462183
87016183
97584183
Stop Event
node limit
Counts
106 → 88
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y))))
(pow.f64 (*.f64 z (sin.f64 y)) 1/3)
(pow.f64 (*.f64 z (sin.f64 y)) 1/3)
(pow.f64 (*.f64 z (sin.f64 y)) 1/3)
(pow.f64 (*.f64 z (sin.f64 y)) 1/3)
(pow.f64 (*.f64 z (sin.f64 y)) 1/3)
(pow.f64 (*.f64 z (sin.f64 y)) 1/3)
(pow.f64 (*.f64 z (sin.f64 y)) 1/3)
(pow.f64 (*.f64 z (sin.f64 y)) 1/3)
(*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))
Outputs
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 z y))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))
(fma.f64 -1 (*.f64 z y) (*.f64 1/6 (*.f64 z (pow.f64 y 3))))
(*.f64 z (+.f64 (*.f64 1/6 (pow.f64 y 3)) (neg.f64 y)))
(*.f64 z (fma.f64 1/6 (pow.f64 y 3) (neg.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z))))
(fma.f64 -1 (*.f64 z y) (fma.f64 -1/120 (*.f64 z (pow.f64 y 5)) (*.f64 1/6 (*.f64 z (pow.f64 y 3)))))
(-.f64 (*.f64 z (+.f64 (*.f64 -1/120 (pow.f64 y 5)) (*.f64 1/6 (pow.f64 y 3)))) (*.f64 z y))
(*.f64 z (-.f64 (fma.f64 1/6 (pow.f64 y 3) (*.f64 -1/120 (pow.f64 y 5))) y))
(*.f64 z (-.f64 (fma.f64 -1/120 (pow.f64 y 5) (*.f64 1/6 (pow.f64 y 3))) y))
(*.f64 z (fma.f64 1/6 (pow.f64 y 3) (fma.f64 -1/120 (pow.f64 y 5) (neg.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y))))
(*.f64 (*.f64 z (sin.f64 y)) 0)
0
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y))))
(*.f64 (*.f64 z (sin.f64 y)) 0)
0
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y))))
(*.f64 (*.f64 z (sin.f64 y)) 0)
0
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y))))
(*.f64 (*.f64 z (sin.f64 y)) 0)
0
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y))))
(*.f64 (*.f64 z (sin.f64 y)) 0)
0
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y))))
(*.f64 (*.f64 z (sin.f64 y)) 0)
0
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y))))
(*.f64 (*.f64 z (sin.f64 y)) 0)
0
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y))))
(*.f64 (*.f64 z (sin.f64 y)) 0)
0
(pow.f64 (*.f64 z (sin.f64 y)) 1/3)
(cbrt.f64 (*.f64 z (sin.f64 y)))
(pow.f64 (*.f64 z (sin.f64 y)) 1/3)
(cbrt.f64 (*.f64 z (sin.f64 y)))
(pow.f64 (*.f64 z (sin.f64 y)) 1/3)
(cbrt.f64 (*.f64 z (sin.f64 y)))
(pow.f64 (*.f64 z (sin.f64 y)) 1/3)
(cbrt.f64 (*.f64 z (sin.f64 y)))
(pow.f64 (*.f64 z (sin.f64 y)) 1/3)
(cbrt.f64 (*.f64 z (sin.f64 y)))
(pow.f64 (*.f64 z (sin.f64 y)) 1/3)
(cbrt.f64 (*.f64 z (sin.f64 y)))
(pow.f64 (*.f64 z (sin.f64 y)) 1/3)
(cbrt.f64 (*.f64 z (sin.f64 y)))
(pow.f64 (*.f64 z (sin.f64 y)) 1/3)
(cbrt.f64 (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))
(*.f64 (*.f64 z (sin.f64 y)) 1)
(*.f64 z (sin.f64 y))
(*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))
(*.f64 (*.f64 z (sin.f64 y)) 1)
(*.f64 z (sin.f64 y))
(*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))
(*.f64 (*.f64 z (sin.f64 y)) 1)
(*.f64 z (sin.f64 y))
(*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))
(*.f64 (*.f64 z (sin.f64 y)) 1)
(*.f64 z (sin.f64 y))
(*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))
(*.f64 (*.f64 z (sin.f64 y)) 1)
(*.f64 z (sin.f64 y))
(*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))
(*.f64 (*.f64 z (sin.f64 y)) 1)
(*.f64 z (sin.f64 y))
(*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))
(*.f64 (*.f64 z (sin.f64 y)) 1)
(*.f64 z (sin.f64 y))
(*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))
(*.f64 (*.f64 z (sin.f64 y)) 1)
(*.f64 z (sin.f64 y))

localize19.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 x (*.f64 y z))
0.0b
(-.f64 x (*.f64 y z))
Compiler

Compiled 14 to 5 computations (64.3% saved)

series2.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
x
@0
(-.f64 x (*.f64 y z))
0.0ms
z
@-inf
(-.f64 x (*.f64 y z))
0.0ms
x
@inf
(-.f64 x (*.f64 y z))
0.0ms
y
@-inf
(-.f64 x (*.f64 y z))
0.0ms
z
@0
(-.f64 x (*.f64 y z))

rewrite36.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
738×pow1_binary64
684×add-log-exp_binary64
684×log1p-expm1-u_binary64
684×expm1-log1p-u_binary64
669×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11327
218577
Stop Event
node limit
Counts
1 → 37
Calls
Call 1
Inputs
(-.f64 x (*.f64 y z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 y (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 (*.f64 y (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 y z)) (fma.f64 (neg.f64 z) y (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 y z)) (fma.f64 (neg.f64 y) z (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 y z)) (fma.f64 (*.f64 y (neg.f64 z)) 1 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 y z)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 y z))) (pow.f64 (cbrt.f64 (*.f64 y z)) 2) (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 y z)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 y z))) (sqrt.f64 (*.f64 y z)) (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (neg.f64 z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (*.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 x (*.f64 y z))) (pow.f64 (cbrt.f64 (-.f64 x (*.f64 y z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 x (*.f64 y z))) 2) (cbrt.f64 (-.f64 x (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 x (*.f64 y z))) (sqrt.f64 (-.f64 x (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 y z) 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 y z) (+.f64 x (*.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y z) 2)) (/.f64 1 (+.f64 x (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 y z))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 y z) (+.f64 x (*.f64 y z)))) (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 y z) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 x (*.f64 y z)) (-.f64 (*.f64 x x) (pow.f64 (*.f64 y z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 y z) 3)) (fma.f64 x x (*.f64 (*.f64 y z) (+.f64 x (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y z) 2)) (+.f64 x (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 y z) 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 y z) (+.f64 x (*.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y z) 2))) (neg.f64 (+.f64 x (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 y (neg.f64 z)) 3)) (+.f64 (*.f64 x x) (-.f64 (*.f64 (*.f64 y (neg.f64 z)) (*.f64 y (neg.f64 z))) (*.f64 x (*.f64 y (neg.f64 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y (neg.f64 z)) (*.f64 y (neg.f64 z)))) (-.f64 x (*.f64 y (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (*.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (*.f64 y z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (*.f64 y z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 x (*.f64 y z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 x (*.f64 y z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 x (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 x (*.f64 y z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 x (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 x (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 x (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 y (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 y (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 y (neg.f64 z)))))))

simplify21.0ms (0.2%)

Algorithm
egg-herbie
Rules
101×fma-def_binary64
56×fma-neg_binary64
27×cancel-sign-sub-inv_binary64
17×sub-neg_binary64
13×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
08250
115223
231223
344223
456223
587223
6147223
7195223
8252223
9339223
10389223
11395223
Stop Event
saturated
Counts
73 → 42
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
Outputs
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 y z))

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 x (cos.f64 y))
0.1b
(*.f64 x (cos.f64 y))
Compiler

Compiled 11 to 5 computations (54.5% saved)

rewrite0.0ms (0%)

Counts
0 → 0

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
0 → 0
Calls
Call 1
Inputs
Outputs

localize26.0ms (0.3%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.2b
(pow.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 2)
0.1b
(*.f64 z (sin.f64 y))
0.0b
(sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y))))
0.0b
(-.f64 x (*.f64 z (sin.f64 y)))
0.0b
(-.f64 x (*.f64 z (sin.f64 y)))
0.0b
(sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y))))
0.1b
(*.f64 z (sin.f64 y))
0.2b
(pow.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 2)
Compiler

Compiled 35 to 10 computations (71.4% saved)

series14.0ms (0.2%)

Counts
2 → 32
Calls

18 calls:

TimeVariablePointExpression
2.0ms
x
@0
(pow.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 2)
1.0ms
x
@-inf
(pow.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 2)
1.0ms
z
@inf
(pow.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 2)
1.0ms
x
@inf
(pow.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 2)
1.0ms
z
@-inf
(pow.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 2)

rewrite171.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
979×pow1_binary64
908×add-log-exp_binary64
907×log1p-expm1-u_binary64
907×expm1-log1p-u_binary64
101×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01020
121620
2251320
Stop Event
node limit
Counts
2 → 65
Calls
Call 1
Inputs
(pow.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 2)
(sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 z (neg.f64 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 (*.f64 z (neg.f64 (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z (sin.f64 y))) (fma.f64 (neg.f64 (sin.f64 y)) z (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z (sin.f64 y))) (fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z (sin.f64 y))) (fma.f64 (*.f64 z (neg.f64 (sin.f64 y))) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z (sin.f64 y))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z (sin.f64 y))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z (sin.f64 y)))) (sqrt.f64 (*.f64 z (sin.f64 y))) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (neg.f64 (sin.f64 y))) x)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 x (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 x (*.f64 z (sin.f64 y))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 x 3) (fma.f64 x x (*.f64 (*.f64 z (sin.f64 y)) (+.f64 x (*.f64 z (sin.f64 y)))))) (/.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3) (fma.f64 x x (*.f64 (*.f64 z (sin.f64 y)) (+.f64 x (*.f64 z (sin.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x x) (+.f64 x (*.f64 z (sin.f64 y)))) (/.f64 (pow.f64 (*.f64 z (sin.f64 y)) 2) (+.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (*.f64 z (sin.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) (cbrt.f64 (pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y))))) (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 2)) (cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 1/4) (*.f64 (pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 1/4) (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 z (sin.f64 y)) (+.f64 x (*.f64 z (sin.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (+.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) (pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 1/4)) (pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 z (sin.f64 y)))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) (cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y))))) (cbrt.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 z (sin.f64 y)) (+.f64 x (*.f64 z (sin.f64 y))))) (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (sin.f64 y)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 x (*.f64 z (sin.f64 y))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (sin.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (fma.f64 x x (*.f64 (*.f64 z (sin.f64 y)) (+.f64 x (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (+.f64 x (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (sin.f64 y)) 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 z (sin.f64 y)) (+.f64 x (*.f64 z (sin.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (sin.f64 y)) 2))) (neg.f64 (+.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (neg.f64 (sin.f64 y))) 3)) (+.f64 (*.f64 x x) (-.f64 (*.f64 (*.f64 z (neg.f64 (sin.f64 y))) (*.f64 z (neg.f64 (sin.f64 y)))) (*.f64 x (*.f64 z (neg.f64 (sin.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 z (neg.f64 (sin.f64 y))) (*.f64 z (neg.f64 (sin.f64 y))))) (-.f64 x (*.f64 z (neg.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 x (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 z (neg.f64 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 z (neg.f64 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 z (neg.f64 (sin.f64 y))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y))))) (cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) (cbrt.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 1/4) (pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 2))) (sqrt.f64 (cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 2)) 1/2) (pow.f64 (cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (sin.f64 y)) 3))) (sqrt.f64 (fma.f64 x x (*.f64 (*.f64 z (sin.f64 y)) (+.f64 x (*.f64 z (sin.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (sin.f64 y)) 2))) (sqrt.f64 (+.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y))))))))))

simplify132.0ms (1.4%)

Algorithm
egg-herbie
Rules
791×associate-*l*_binary64
790×associate-*r*_binary64
761×fma-def_binary64
353×associate-/r*_binary64
308×*-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01481046
1457850
21546769
37853769
Stop Event
node limit
Counts
97 → 100
Calls
Call 1
Inputs
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y))) x)
(+.f64 (*.f64 (+.f64 (*.f64 1/64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 6) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))) (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 6) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))) (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 6) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))) (pow.f64 (*.f64 -1/8 (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))))) 2))))) (pow.f64 x 4)) (+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y))) x))
(+.f64 (*.f64 (+.f64 (*.f64 1/64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 6) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))) (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 6) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))) (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 6) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))) (pow.f64 (*.f64 -1/8 (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))))) 2))))) (pow.f64 x 4)) (+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y))) x))
x
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (sin.f64 y) 2) x)) (*.f64 1/4 (/.f64 (pow.f64 (sin.f64 y) 2) x))) (pow.f64 z 2)) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 x 2))) (*.f64 -1/8 (/.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 x 2)))) (pow.f64 z 3)) (+.f64 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (sin.f64 y) 2) x)) (*.f64 1/4 (/.f64 (pow.f64 (sin.f64 y) 2) x))) (pow.f64 z 2)) x)))
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 z 2) x)) (*.f64 -1/4 (/.f64 (pow.f64 z 2) x))) (pow.f64 y 2)) (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 (*.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 z 2) x)) (*.f64 -1/4 (/.f64 (pow.f64 z 2) x))) (pow.f64 y 2)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 (pow.f64 z 3) (pow.f64 x 2))) (*.f64 -1 (+.f64 (*.f64 -1/6 z) (*.f64 1/8 (/.f64 (pow.f64 z 3) (pow.f64 x 2)))))) (pow.f64 y 3)) x)))
(-.f64 x (*.f64 z (sin.f64 y)))
(-.f64 x (*.f64 z (sin.f64 y)))
(-.f64 x (*.f64 z (sin.f64 y)))
(-.f64 x (*.f64 z (sin.f64 y)))
(-.f64 x (*.f64 z (sin.f64 y)))
(-.f64 x (*.f64 z (sin.f64 y)))
(-.f64 x (*.f64 z (sin.f64 y)))
(-.f64 x (*.f64 z (sin.f64 y)))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 x (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y)))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 x (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y)))) (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 x 2) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 x (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 5) (pow.f64 (sin.f64 y) 5)))))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y)))) (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 x 2) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))))))))
(sqrt.f64 x)
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 z (sin.f64 y)) (sqrt.f64 (/.f64 1 x)))) (sqrt.f64 x))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 z (sin.f64 y)) (sqrt.f64 (/.f64 1 x)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (sqrt.f64 (/.f64 1 (pow.f64 x 3))))) (sqrt.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 z (sin.f64 y)) (sqrt.f64 (/.f64 1 x)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (sqrt.f64 (/.f64 1 (pow.f64 x 3))))) (+.f64 (sqrt.f64 x) (*.f64 -1/16 (*.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (sqrt.f64 (/.f64 1 (pow.f64 x 5))))))))
(sqrt.f64 x)
(+.f64 (sqrt.f64 x) (*.f64 -1/2 (*.f64 (*.f64 y z) (sqrt.f64 (/.f64 1 x)))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 y 2) (pow.f64 z 2)) (sqrt.f64 (/.f64 1 (pow.f64 x 3))))) (+.f64 (sqrt.f64 x) (*.f64 -1/2 (*.f64 (*.f64 y z) (sqrt.f64 (/.f64 1 x))))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 y 2) (pow.f64 z 2)) (sqrt.f64 (/.f64 1 (pow.f64 x 3))))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 -1/6 z) (*.f64 1/8 (/.f64 (pow.f64 z 3) (pow.f64 x 2)))) (pow.f64 y 3)) (sqrt.f64 (/.f64 1 x)))) (+.f64 (sqrt.f64 x) (*.f64 -1/2 (*.f64 (*.f64 y z) (sqrt.f64 (/.f64 1 x)))))))
Outputs
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y))) x)
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 (+.f64 (*.f64 1/64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 6) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))) (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 6) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))) (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 6) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))) (pow.f64 (*.f64 -1/8 (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))))) 2))))) (pow.f64 x 4)) (+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y))) x))
(fma.f64 (+.f64 (/.f64 1/64 (*.f64 (pow.f64 (sqrt.f64 -1) 6) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))) (+.f64 (/.f64 1/16 (*.f64 (pow.f64 (sqrt.f64 -1) 6) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))) (neg.f64 (+.f64 (/.f64 1/16 (*.f64 (pow.f64 (sqrt.f64 -1) 6) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))) (pow.f64 (*.f64 -1/8 (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))))) 2))))) (pow.f64 x 4) (fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) x))
(fma.f64 (-.f64 (*.f64 (/.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) 5/64) (+.f64 (/.f64 -1/16 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 z 3)) (pow.f64 (sin.f64 y) 3))) (*.f64 -1/8 (/.f64 -1 (sqrt.f64 -1)))) 2))) (pow.f64 x 4) (-.f64 x (*.f64 z (sin.f64 y))))
(fma.f64 (-.f64 (/.f64 (/.f64 -1/64 (pow.f64 z 3)) (pow.f64 (sin.f64 y) 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 z 3)) (pow.f64 (sin.f64 y) 3))) (/.f64 1/8 (sqrt.f64 -1))) 2)) (pow.f64 x 4) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 (+.f64 (*.f64 1/64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 6) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))) (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 6) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))) (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 6) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))) (pow.f64 (*.f64 -1/8 (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))))) 2))))) (pow.f64 x 4)) (+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y))) x))
(fma.f64 (+.f64 (/.f64 1/64 (*.f64 (pow.f64 (sqrt.f64 -1) 6) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))) (+.f64 (/.f64 1/16 (*.f64 (pow.f64 (sqrt.f64 -1) 6) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))) (neg.f64 (+.f64 (/.f64 1/16 (*.f64 (pow.f64 (sqrt.f64 -1) 6) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))) (pow.f64 (*.f64 -1/8 (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))))) 2))))) (pow.f64 x 4) (fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) x))
(fma.f64 (-.f64 (*.f64 (/.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) 5/64) (+.f64 (/.f64 -1/16 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 z 3)) (pow.f64 (sin.f64 y) 3))) (*.f64 -1/8 (/.f64 -1 (sqrt.f64 -1)))) 2))) (pow.f64 x 4) (-.f64 x (*.f64 z (sin.f64 y))))
(fma.f64 (-.f64 (/.f64 (/.f64 -1/64 (pow.f64 z 3)) (pow.f64 (sin.f64 y) 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 z 3)) (pow.f64 (sin.f64 y) 3))) (/.f64 1/8 (sqrt.f64 -1))) 2)) (pow.f64 x 4) (-.f64 x (*.f64 z (sin.f64 y))))
x
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (sin.f64 y) 2) x)) (*.f64 1/4 (/.f64 (pow.f64 (sin.f64 y) 2) x))) (pow.f64 z 2)) x))
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 x 2))) (*.f64 -1/8 (/.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 x 2)))) (pow.f64 z 3)) (+.f64 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (sin.f64 y) 2) x)) (*.f64 1/4 (/.f64 (pow.f64 (sin.f64 y) 2) x))) (pow.f64 z 2)) x)))
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 z y) x)
(-.f64 x (*.f64 z y))
(fma.f64 y (neg.f64 z) x)
(+.f64 (*.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 z 2) x)) (*.f64 -1/4 (/.f64 (pow.f64 z 2) x))) (pow.f64 y 2)) (+.f64 (*.f64 -1 (*.f64 y z)) x))
(fma.f64 -1 (*.f64 z y) x)
(-.f64 x (*.f64 z y))
(fma.f64 y (neg.f64 z) x)
(+.f64 (*.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 z 2) x)) (*.f64 -1/4 (/.f64 (pow.f64 z 2) x))) (pow.f64 y 2)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 (pow.f64 z 3) (pow.f64 x 2))) (*.f64 -1 (+.f64 (*.f64 -1/6 z) (*.f64 1/8 (/.f64 (pow.f64 z 3) (pow.f64 x 2)))))) (pow.f64 y 3)) x)))
(fma.f64 (*.f64 (/.f64 (*.f64 z z) x) 0) (*.f64 y y) (fma.f64 -1 (*.f64 z y) (fma.f64 (fma.f64 1/8 (/.f64 (pow.f64 z 3) (*.f64 x x)) (neg.f64 (fma.f64 -1/6 z (*.f64 1/8 (/.f64 (pow.f64 z 3) (*.f64 x x)))))) (pow.f64 y 3) x)))
(fma.f64 (*.f64 y y) 0 (-.f64 (fma.f64 (-.f64 (*.f64 1/8 (/.f64 (pow.f64 z 3) (*.f64 x x))) (fma.f64 1/8 (/.f64 (pow.f64 z 3) (*.f64 x x)) (*.f64 z -1/6))) (pow.f64 y 3) x) (*.f64 z y)))
(fma.f64 (fma.f64 z 1/6 (*.f64 (/.f64 (pow.f64 z 3) (*.f64 x x)) 0)) (pow.f64 y 3) (fma.f64 y (neg.f64 z) x))
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) x)
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 x (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y)))))
(fma.f64 1/2 (*.f64 (/.f64 x (sqrt.f64 -1)) (sqrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y)))) (*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y)))))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (sqrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y))) (*.f64 1/2 (/.f64 x (sqrt.f64 -1)))))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))) (*.f64 1/2 (/.f64 x (sqrt.f64 -1)))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 x (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y)))) (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 x 2) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))))))
(fma.f64 1/2 (*.f64 (/.f64 x (sqrt.f64 -1)) (sqrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y)))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))) (/.f64 (*.f64 x x) (pow.f64 (sqrt.f64 -1) 3))))))
(fma.f64 1/2 (*.f64 (/.f64 x (sqrt.f64 -1)) (sqrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y)))) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 z 3)) (pow.f64 (sin.f64 y) 3))) (/.f64 (/.f64 (*.f64 x x) -1) (sqrt.f64 -1))) (*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))))))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))) (fma.f64 (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 z 3)) (pow.f64 (sin.f64 y) 3))) (*.f64 1/8 (/.f64 x (/.f64 (sqrt.f64 -1) x))) (*.f64 (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))) (*.f64 1/2 (/.f64 x (sqrt.f64 -1))))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 x (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 5) (pow.f64 (sin.f64 y) 5)))))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y)))) (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 x 2) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))))))))
(fma.f64 1/2 (*.f64 (/.f64 x (sqrt.f64 -1)) (sqrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y)))) (fma.f64 1/16 (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 5) (pow.f64 (sin.f64 y) 5))))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))) (/.f64 (*.f64 x x) (pow.f64 (sqrt.f64 -1) 3)))))))
(fma.f64 1/2 (*.f64 (/.f64 x (sqrt.f64 -1)) (sqrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y)))) (fma.f64 1/16 (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 z 5)) (pow.f64 (sin.f64 y) 5)))) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 z 3)) (pow.f64 (sin.f64 y) 3))) (/.f64 (/.f64 (*.f64 x x) -1) (sqrt.f64 -1))) (*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y)))))))
(fma.f64 1/16 (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 z 5)) (pow.f64 (sin.f64 y) 5)))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))) (fma.f64 (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 z 3)) (pow.f64 (sin.f64 y) 3))) (*.f64 1/8 (/.f64 x (/.f64 (sqrt.f64 -1) x))) (*.f64 (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))) (*.f64 1/2 (/.f64 x (sqrt.f64 -1)))))))
(sqrt.f64 x)
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 z (sin.f64 y)) (sqrt.f64 (/.f64 1 x)))) (sqrt.f64 x))
(fma.f64 -1/2 (*.f64 z (*.f64 (sin.f64 y) (sqrt.f64 (/.f64 1 x)))) (sqrt.f64 x))
(fma.f64 (*.f64 z -1/2) (*.f64 (sin.f64 y) (sqrt.f64 (/.f64 1 x))) (sqrt.f64 x))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 z (sin.f64 y)) (sqrt.f64 (/.f64 1 x)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (sqrt.f64 (/.f64 1 (pow.f64 x 3))))) (sqrt.f64 x)))
(fma.f64 -1/2 (*.f64 z (*.f64 (sin.f64 y) (sqrt.f64 (/.f64 1 x)))) (fma.f64 -1/8 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (sin.f64 y) 2) (sqrt.f64 (/.f64 1 (pow.f64 x 3))))) (sqrt.f64 x)))
(fma.f64 -1/2 (*.f64 z (*.f64 (sin.f64 y) (sqrt.f64 (/.f64 1 x)))) (fma.f64 -1/8 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 z (*.f64 z (sqrt.f64 (/.f64 1 (pow.f64 x 3)))))) (sqrt.f64 x)))
(fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 x 3))) (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 -1/8 (*.f64 z z))) (fma.f64 (*.f64 z -1/2) (*.f64 (sin.f64 y) (sqrt.f64 (/.f64 1 x))) (sqrt.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 z (sin.f64 y)) (sqrt.f64 (/.f64 1 x)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (sqrt.f64 (/.f64 1 (pow.f64 x 3))))) (+.f64 (sqrt.f64 x) (*.f64 -1/16 (*.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (sqrt.f64 (/.f64 1 (pow.f64 x 5))))))))
(fma.f64 -1/2 (*.f64 z (*.f64 (sin.f64 y) (sqrt.f64 (/.f64 1 x)))) (fma.f64 -1/8 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (sin.f64 y) 2) (sqrt.f64 (/.f64 1 (pow.f64 x 3))))) (+.f64 (sqrt.f64 x) (*.f64 -1/16 (*.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (sqrt.f64 (/.f64 1 (pow.f64 x 5))))))))
(fma.f64 -1/2 (*.f64 z (*.f64 (sin.f64 y) (sqrt.f64 (/.f64 1 x)))) (fma.f64 -1/8 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 z (*.f64 z (sqrt.f64 (/.f64 1 (pow.f64 x 3)))))) (fma.f64 -1/16 (*.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (pow.f64 z 3) (sqrt.f64 (/.f64 1 (pow.f64 x 5))))) (sqrt.f64 x))))
(fma.f64 z (*.f64 (sin.f64 y) (*.f64 -1/2 (sqrt.f64 (/.f64 1 x)))) (fma.f64 (pow.f64 z 3) (*.f64 (pow.f64 (sin.f64 y) 3) (*.f64 -1/16 (sqrt.f64 (/.f64 1 (pow.f64 x 5))))) (fma.f64 -1/8 (*.f64 z (*.f64 (*.f64 z (sqrt.f64 (/.f64 1 (pow.f64 x 3)))) (pow.f64 (sin.f64 y) 2))) (sqrt.f64 x))))
(sqrt.f64 x)
(+.f64 (sqrt.f64 x) (*.f64 -1/2 (*.f64 (*.f64 y z) (sqrt.f64 (/.f64 1 x)))))
(+.f64 (sqrt.f64 x) (*.f64 (*.f64 -1/2 (*.f64 z y)) (sqrt.f64 (/.f64 1 x))))
(fma.f64 (*.f64 (*.f64 -1/2 z) y) (sqrt.f64 (/.f64 1 x)) (sqrt.f64 x))
(fma.f64 -1/2 (*.f64 (*.f64 z y) (sqrt.f64 (/.f64 1 x))) (sqrt.f64 x))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 y 2) (pow.f64 z 2)) (sqrt.f64 (/.f64 1 (pow.f64 x 3))))) (+.f64 (sqrt.f64 x) (*.f64 -1/2 (*.f64 (*.f64 y z) (sqrt.f64 (/.f64 1 x))))))
(fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 x 3))) (*.f64 (*.f64 z z) (*.f64 y y))) (+.f64 (sqrt.f64 x) (*.f64 (*.f64 -1/2 (*.f64 z y)) (sqrt.f64 (/.f64 1 x)))))
(fma.f64 (*.f64 (*.f64 -1/8 (*.f64 y y)) (*.f64 z z)) (sqrt.f64 (/.f64 1 (pow.f64 x 3))) (fma.f64 (*.f64 (*.f64 -1/2 z) y) (sqrt.f64 (/.f64 1 x)) (sqrt.f64 x)))
(fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 x 3))) (*.f64 z (*.f64 (*.f64 z (*.f64 y y)) -1/8)) (fma.f64 -1/2 (*.f64 (*.f64 z y) (sqrt.f64 (/.f64 1 x))) (sqrt.f64 x)))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 y 2) (pow.f64 z 2)) (sqrt.f64 (/.f64 1 (pow.f64 x 3))))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 -1/6 z) (*.f64 1/8 (/.f64 (pow.f64 z 3) (pow.f64 x 2)))) (pow.f64 y 3)) (sqrt.f64 (/.f64 1 x)))) (+.f64 (sqrt.f64 x) (*.f64 -1/2 (*.f64 (*.f64 y z) (sqrt.f64 (/.f64 1 x)))))))
(fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 x 3))) (*.f64 (*.f64 z z) (*.f64 y y))) (fma.f64 -1/2 (*.f64 (fma.f64 -1/6 z (*.f64 1/8 (/.f64 (pow.f64 z 3) (*.f64 x x)))) (*.f64 (pow.f64 y 3) (sqrt.f64 (/.f64 1 x)))) (+.f64 (sqrt.f64 x) (*.f64 (*.f64 -1/2 (*.f64 z y)) (sqrt.f64 (/.f64 1 x))))))
(fma.f64 -1/8 (*.f64 (*.f64 z z) (*.f64 (*.f64 y y) (sqrt.f64 (/.f64 1 (pow.f64 x 3))))) (fma.f64 -1/2 (*.f64 (fma.f64 1/8 (/.f64 (pow.f64 z 3) (*.f64 x x)) (*.f64 z -1/6)) (*.f64 (pow.f64 y 3) (sqrt.f64 (/.f64 1 x)))) (fma.f64 (*.f64 (*.f64 -1/2 z) y) (sqrt.f64 (/.f64 1 x)) (sqrt.f64 x))))
(+.f64 (fma.f64 (*.f64 y y) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 x 3))) (*.f64 -1/8 (*.f64 z z))) (sqrt.f64 x)) (*.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 x))) (+.f64 (*.f64 (fma.f64 (/.f64 1/8 x) (/.f64 (pow.f64 z 3) x) (*.f64 z -1/6)) (pow.f64 y 3)) (*.f64 z y))))

localize25.0ms (0.3%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.1b
(*.f64 x (cos.f64 y))
0.1b
(*.f64 z (sin.f64 y))
0.0b
(pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4)
0.0b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
0.1b
(*.f64 z (sin.f64 y))
0.1b
(*.f64 x (cos.f64 y))
0.2b
(pow.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) 2)
0.2b
(pow.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) 2) 2)
Compiler

Compiled 68 to 22 computations (67.6% saved)

series164.0ms (1.8%)

Counts
2 → 72
Calls

18 calls:

TimeVariablePointExpression
67.0ms
y
@inf
(pow.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) 2) 2)
38.0ms
y
@-inf
(pow.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) 2) 2)
20.0ms
x
@inf
(pow.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) 2) 2)
9.0ms
z
@inf
(pow.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) 2) 2)
5.0ms
z
@-inf
(pow.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) 2) 2)

rewrite99.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
646×log-prod_binary64
447×fma-def_binary64
350×pow2_binary64
240×expm1-udef_binary64
240×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01437
131430
2377230
Stop Event
node limit
Counts
2 → 228
Calls
Call 1
Inputs
(pow.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) 2) 2)
(pow.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) (neg.f64 z)) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (cos.f64 y)) (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))) (/.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3) (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) (/.f64 (pow.f64 (*.f64 z (sin.f64 y)) 2) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (*.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (-.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2)) (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3))) (neg.f64 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2))) (neg.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 3)) (+.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (-.f64 (pow.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 2) (*.f64 (*.f64 x (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3) (pow.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 3)) (+.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2) (-.f64 (pow.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 2) (*.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 2)) (-.f64 (*.f64 x (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2) (pow.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 2)) (-.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 x (cos.f64 y)))) (pow.f64 (exp.f64 z) (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 x) (cos.f64 y)) (+.f64 1 (expm1.f64 (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 x (cos.f64 y)))) (+.f64 1 (expm1.f64 (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (cos.f64 y)))) (exp.f64 (*.f64 (sin.f64 y) (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (cos.f64 y)))) (pow.f64 (exp.f64 (sin.f64 y)) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) (exp.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))) (exp.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))) (+.f64 1 (expm1.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 y) (neg.f64 z))) (pow.f64 (exp.f64 x) (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 y) (neg.f64 z))) (+.f64 1 (expm1.f64 (*.f64 x (cos.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (sin.f64 y)) (neg.f64 z)) (+.f64 1 (expm1.f64 (*.f64 x (cos.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (cos.f64 y) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (cos.f64 y) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 y) x (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 y) x (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 y) x (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cos.f64 y)) 1 (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cos.f64 y)) 1 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cos.f64 y)) 1 (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cos.f64 y)) 1 (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1 (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1 (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1 (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/4) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/4) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/4) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/4) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/4) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (cos.f64 y)) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (sin.f64 y) (neg.f64 z)) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) (cbrt.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) (cbrt.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) (cbrt.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) (cbrt.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2)) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2)) (cbrt.f64 (*.f64 x (cos.f64 y))) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2)) (cbrt.f64 (*.f64 x (cos.f64 y))) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2)) (cbrt.f64 (*.f64 x (cos.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2)) (cbrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) (cos.f64 y)) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (*.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (*.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (*.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (*.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (*.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) (neg.f64 (sqrt.f64 (*.f64 z (sin.f64 y)))) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (cos.f64 y)) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) x) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) x) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) x) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sin.f64 y)) z (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))) 2) (cbrt.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))) (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) (neg.f64 z))) 2) (cbrt.f64 (*.f64 (sin.f64 y) (neg.f64 z))) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))) (sqrt.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))) (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sin.f64 y) (neg.f64 z))) (sqrt.f64 (*.f64 (sin.f64 y) (neg.f64 z))) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (*.f64 z (sin.f64 y)))) (sqrt.f64 (*.f64 z (sin.f64 y))) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (-.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (-.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (-.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (-.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (-.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2)) (cbrt.f64 (*.f64 z (sin.f64 y))) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6) (fma.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 y) (cbrt.f64 (*.f64 x x))) (cbrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 y) (cbrt.f64 (*.f64 x x))) (cbrt.f64 x) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 y) (cbrt.f64 (*.f64 x x))) (cbrt.f64 x) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 y) (cbrt.f64 (*.f64 x x))) (cbrt.f64 x) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 z) 1) (sin.f64 y) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 z) (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 z) (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) (*.f64 x (cos.f64 y)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6) (*.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/12) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/8) (*.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/8) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/8) 3) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6)) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2))) (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3))) (hypot.f64 (*.f64 x (cos.f64 y)) (sqrt.f64 (*.f64 (*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (sqrt.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 (sin.f64 y) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (*.f64 (sin.f64 y) (neg.f64 z))) (sqrt.f64 (*.f64 x (cos.f64 y))))))))

simplify245.0ms (2.6%)

Algorithm
egg-herbie
Rules
743×associate-*r*_binary64
617×fma-def_binary64
582×times-frac_binary64
523×associate-*l*_binary64
434×associate-/l*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
05739256
120908251
Stop Event
node limit
Counts
300 → 338
Calls
Call 1
Inputs
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (cos.f64 y) x))) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (cos.f64 y) x))) (+.f64 (*.f64 (+.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 (cos.f64 y) 2)) (*.f64 z (sin.f64 y)))) (*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1) (+.f64 (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 -1) (pow.f64 (cos.f64 y) 2)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))))) (*.f64 2 (*.f64 (*.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (*.f64 -1/8 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))) (sqrt.f64 -1)) (sqrt.f64 (*.f64 z (sin.f64 y))))))) (sqrt.f64 (*.f64 z (sin.f64 y)))))) (pow.f64 x 2)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (cos.f64 y) x))) (+.f64 (*.f64 (+.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 (cos.f64 y) 2)) (*.f64 z (sin.f64 y)))) (*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1) (+.f64 (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 -1) (pow.f64 (cos.f64 y) 2)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))))) (*.f64 2 (*.f64 (*.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (*.f64 -1/8 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))) (sqrt.f64 -1)) (sqrt.f64 (*.f64 z (sin.f64 y))))))) (sqrt.f64 (*.f64 z (sin.f64 y)))))) (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 x 3) (+.f64 (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) (*.f64 (+.f64 (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 -1) (pow.f64 (cos.f64 y) 2)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))))) (*.f64 2 (*.f64 (*.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (*.f64 -1/8 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))) (sqrt.f64 -1)) (sqrt.f64 (*.f64 z (sin.f64 y)))))) (cos.f64 y))) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))))) (*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) (*.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (*.f64 -1/8 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))) (cos.f64 y))) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))))) (*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1) (+.f64 (*.f64 -1/12 (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))) (+.f64 (*.f64 -1/384 (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))) (*.f64 1/32 (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))))) (sqrt.f64 (*.f64 z (sin.f64 y))))))) (sqrt.f64 (*.f64 z (sin.f64 y))))))))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 4)
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 4) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 4) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))))
(+.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 4) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 4) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 4) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))) (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (pow.f64 (cos.f64 y) 2))) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (+.f64 (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2)) (pow.f64 x 2))))))
(+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (+.f64 (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (pow.f64 (cos.f64 y) 3))) (+.f64 (*.f64 -1/12 (/.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (pow.f64 (cos.f64 y) 3))) (*.f64 -1/384 (/.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (pow.f64 (cos.f64 y) 3))))))) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (*.f64 z (*.f64 (+.f64 (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2)))) (sin.f64 y)))) (cos.f64 y)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2)) (pow.f64 x 3))) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 4) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 4) (+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (pow.f64 (cos.f64 y) 2))) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (+.f64 (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))))))) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (*.f64 z (sin.f64 y)))) (*.f64 (cos.f64 y) (pow.f64 x 3)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 4) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))) (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (pow.f64 (cos.f64 y) 2))) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (+.f64 (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2)) (pow.f64 x 2))))))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 4)
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 4) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 4))
(+.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 4) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (pow.f64 (cos.f64 y) 2))) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (+.f64 (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2)) (pow.f64 x 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 4) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 4))))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (pow.f64 (cos.f64 y) 2))) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (+.f64 (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))))))) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (*.f64 z (sin.f64 y)))) (cos.f64 y)) (*.f64 2 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/384 (/.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (pow.f64 (cos.f64 y) 3))) (+.f64 (*.f64 1/12 (/.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (pow.f64 (cos.f64 y) 3))) (*.f64 -1/32 (/.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (pow.f64 (cos.f64 y) 3))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (*.f64 z (*.f64 (+.f64 (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2)))) (sin.f64 y)))) (cos.f64 y)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2)))) (pow.f64 x 3))) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 4) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (pow.f64 (cos.f64 y) 2))) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (+.f64 (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2)) (pow.f64 x 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 4) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 4)))))
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 (pow.f64 y 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 z 2) x)) (+.f64 (*.f64 (sqrt.f64 x) (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) (*.f64 1/8 (-.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) 1))) (sqrt.f64 x))) (*.f64 1/16 (*.f64 (pow.f64 z 2) (sqrt.f64 (/.f64 1 (pow.f64 x 3))))))) (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) (*.f64 1/8 (-.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) 1))) (sqrt.f64 x))) (*.f64 1/16 (*.f64 (pow.f64 z 2) (sqrt.f64 (/.f64 1 (pow.f64 x 3)))))) (sqrt.f64 x))))) (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 (*.f64 (pow.f64 y 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 z 2) x)) (+.f64 (*.f64 (sqrt.f64 x) (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) (*.f64 1/8 (-.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) 1))) (sqrt.f64 x))) (*.f64 1/16 (*.f64 (pow.f64 z 2) (sqrt.f64 (/.f64 1 (pow.f64 x 3))))))) (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) (*.f64 1/8 (-.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) 1))) (sqrt.f64 x))) (*.f64 1/16 (*.f64 (pow.f64 z 2) (sqrt.f64 (/.f64 1 (pow.f64 x 3)))))) (sqrt.f64 x))))) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1 (*.f64 (*.f64 z (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) (*.f64 1/8 (-.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) 1))) (sqrt.f64 x))) (*.f64 1/16 (*.f64 (pow.f64 z 2) (sqrt.f64 (/.f64 1 (pow.f64 x 3))))))) (sqrt.f64 (/.f64 1 x)))) (*.f64 2 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/384 (/.f64 (pow.f64 z 3) (pow.f64 x 3))) (+.f64 (*.f64 1/24 (+.f64 (*.f64 -3 (/.f64 z x)) (+.f64 (/.f64 z x) (*.f64 -2 (/.f64 (pow.f64 z 3) (pow.f64 x 3)))))) (*.f64 -1/32 (/.f64 (*.f64 (-.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) 1) z) x)))) (sqrt.f64 x))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) (*.f64 1/8 (-.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) 1))) z) (sqrt.f64 (/.f64 1 x)))) (*.f64 -1/4 (*.f64 (*.f64 z (+.f64 (*.f64 1/32 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) (*.f64 1/8 (-.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) 1)))) (sqrt.f64 (/.f64 1 x)))))) (sqrt.f64 x))))) x)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(*.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (*.f64 (pow.f64 z 2) (+.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (*.f64 -1/8 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))) (pow.f64 (sin.f64 y) 2))))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (cos.f64 y) x))) (*.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (*.f64 -1/8 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))) (pow.f64 (sin.f64 y) 2)))) (sqrt.f64 (*.f64 (cos.f64 y) x)))))) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (*.f64 (pow.f64 z 2) (+.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (*.f64 -1/8 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))) (pow.f64 (sin.f64 y) 2))))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (cos.f64 y) x))) (*.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (*.f64 -1/8 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))) (pow.f64 (sin.f64 y) 2)))) (sqrt.f64 (*.f64 (cos.f64 y) x)))))) (+.f64 (*.f64 (pow.f64 z 3) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (*.f64 -1/8 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))) (pow.f64 (sin.f64 y) 2)))) (sin.f64 y)) (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x))))) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 -1/384 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))) (*.f64 -1/12 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))))))) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x))) (*.f64 (sin.f64 y) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (*.f64 -1/8 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))))))))) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x))) (*.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (*.f64 -1/8 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))) (pow.f64 (sin.f64 y) 2)))) (sin.f64 y))))))) (*.f64 (cos.f64 y) x))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 4)
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 4) (*.f64 -1 (/.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 4) x)) (*.f64 z (sin.f64 y)))))
(+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2))) (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 x 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2))) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2)) (pow.f64 z 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 4) (+.f64 (*.f64 -1 (/.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 4) x)) (*.f64 z (sin.f64 y)))) (*.f64 1/4 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 4) (pow.f64 x 2))) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))))))
(+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2))) (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 x 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2))) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2)) (pow.f64 z 2))) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/12 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (pow.f64 (sin.f64 y) 3))) (+.f64 (*.f64 -1/384 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (pow.f64 (sin.f64 y) 3))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (pow.f64 (sin.f64 y) 3))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2))) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2)))) (*.f64 (cos.f64 y) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2) x))) (sin.f64 y)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2)) (pow.f64 z 3))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (cos.f64 y) (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2))) (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 x 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2))) (pow.f64 (sin.f64 y) 2)))) (*.f64 x (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2)))) (*.f64 (pow.f64 z 3) (sin.f64 y)))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 4) (+.f64 (*.f64 -1 (/.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 4) x)) (*.f64 z (sin.f64 y)))) (*.f64 1/4 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 4) (pow.f64 x 2))) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))))))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 4)
(+.f64 (*.f64 -1 (/.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 4) x)) (*.f64 z (sin.f64 y)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 4))
(+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2) (pow.f64 x 2))) (pow.f64 (sin.f64 y) 2))) (*.f64 2 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2)) (pow.f64 z 2))) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 4) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 4) x)) (*.f64 z (sin.f64 y)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 4))))
(+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2) (pow.f64 x 2))) (pow.f64 (sin.f64 y) 2))) (*.f64 2 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2)) (pow.f64 z 2))) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 4) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2) (pow.f64 x 2))) (pow.f64 (sin.f64 y) 2))) (*.f64 2 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2)))) (*.f64 (cos.f64 y) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2) x))) (sin.f64 y)) (*.f64 2 (*.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2)))) (*.f64 (cos.f64 y) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2) x))) (sin.f64 y))) (*.f64 2 (*.f64 (+.f64 (*.f64 -1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (pow.f64 (sin.f64 y) 3))) (+.f64 (*.f64 1/12 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (pow.f64 (sin.f64 y) 3))) (*.f64 1/384 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (pow.f64 (sin.f64 y) 3))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2)))) (pow.f64 z 3))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 4) x)) (*.f64 z (sin.f64 y)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 4)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) (*.f64 (cos.f64 y) x)) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y)))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) (*.f64 (cos.f64 y) x)) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y)))) (*.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (*.f64 1/32 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))))) (sqrt.f64 (*.f64 z (sin.f64 y))))) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 -1) (pow.f64 (cos.f64 y) 2)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))))) (pow.f64 x 2))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) (*.f64 (cos.f64 y) x)) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y)))) (+.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1) (+.f64 (*.f64 -1/12 (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))) (+.f64 (*.f64 -1/384 (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))) (*.f64 1/32 (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))))) (sqrt.f64 (*.f64 z (sin.f64 y))))) (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (*.f64 1/32 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))) (*.f64 (sqrt.f64 -1) (cos.f64 y))) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y))))))) (pow.f64 x 3)) (*.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (*.f64 1/32 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))))) (sqrt.f64 (*.f64 z (sin.f64 y))))) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 -1) (pow.f64 (cos.f64 y) 2)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))))) (pow.f64 x 2)))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2)) (pow.f64 x 2))))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2)))) (*.f64 z (sin.f64 y)))) (*.f64 (cos.f64 y) (pow.f64 x 3)))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (pow.f64 (cos.f64 y) 3))) (+.f64 (*.f64 -1/12 (/.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (pow.f64 (cos.f64 y) 3))) (*.f64 -1/384 (/.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (pow.f64 (cos.f64 y) 3))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2)) (pow.f64 x 3))) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2)) (pow.f64 x 2))) (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))))))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2)
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))))
(+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2)) (pow.f64 x 2))) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))))))
(+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2)) (pow.f64 x 2))) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))) (*.f64 -1 (/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/384 (/.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (pow.f64 (cos.f64 y) 3))) (+.f64 (*.f64 1/12 (/.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (pow.f64 (cos.f64 y) 3))) (*.f64 -1/32 (/.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (pow.f64 (cos.f64 y) 3))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2))) (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2)))) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (*.f64 z (sin.f64 y)))) (cos.f64 y)))) (pow.f64 x 3)))))))
(sqrt.f64 x)
(+.f64 (sqrt.f64 x) (*.f64 -1/2 (*.f64 (*.f64 y z) (sqrt.f64 (/.f64 1 x)))))
(+.f64 (*.f64 (pow.f64 y 2) (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) (*.f64 1/8 (-.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) 1))) (sqrt.f64 x))) (*.f64 1/16 (*.f64 (pow.f64 z 2) (sqrt.f64 (/.f64 1 (pow.f64 x 3))))))) (+.f64 (sqrt.f64 x) (*.f64 -1/2 (*.f64 (*.f64 y z) (sqrt.f64 (/.f64 1 x))))))
(+.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/384 (/.f64 (pow.f64 z 3) (pow.f64 x 3))) (+.f64 (*.f64 1/24 (+.f64 (*.f64 -3 (/.f64 z x)) (+.f64 (/.f64 z x) (*.f64 -2 (/.f64 (pow.f64 z 3) (pow.f64 x 3)))))) (*.f64 -1/32 (/.f64 (*.f64 (-.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) 1) z) x)))) (sqrt.f64 x))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 z (+.f64 (*.f64 1/32 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) (*.f64 1/8 (-.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) 1)))) (sqrt.f64 (/.f64 1 x)))) (*.f64 -1/4 (*.f64 (*.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) (*.f64 1/8 (-.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) 1))) z) (sqrt.f64 (/.f64 1 x)))))) (pow.f64 y 3)) (+.f64 (*.f64 (pow.f64 y 2) (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) (*.f64 1/8 (-.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) 1))) (sqrt.f64 x))) (*.f64 1/16 (*.f64 (pow.f64 z 2) (sqrt.f64 (/.f64 1 (pow.f64 x 3))))))) (+.f64 (sqrt.f64 x) (*.f64 -1/2 (*.f64 (*.f64 y z) (sqrt.f64 (/.f64 1 x)))))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (*.f64 (cos.f64 y) x))
(+.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (*.f64 -1/2 (*.f64 (*.f64 z (sin.f64 y)) (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x))))))
(+.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (*.f64 1/32 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))) (sqrt.f64 (*.f64 (cos.f64 y) x)))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))) (pow.f64 (sin.f64 y) 2)))) (pow.f64 z 2)) (*.f64 -1/2 (*.f64 (*.f64 z (sin.f64 y)) (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x)))))))
(+.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (*.f64 1/32 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))) (sqrt.f64 (*.f64 (cos.f64 y) x)))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))) (pow.f64 (sin.f64 y) 2)))) (pow.f64 z 2)) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 z (sin.f64 y)) (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x))))) (*.f64 (pow.f64 z 3) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 -1/384 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))) (*.f64 -1/12 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))))))) (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (*.f64 1/32 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))) (sin.f64 y)) (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x))))))))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2)
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2) (*.f64 -1/2 (/.f64 (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2))) (*.f64 z (sin.f64 y)))))
(+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2) (pow.f64 x 2))) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2))) (*.f64 z (sin.f64 y)))) (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2)) (pow.f64 z 2))))))
(+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2) (pow.f64 x 2))) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2))) (*.f64 z (sin.f64 y)))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2)))) (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2)))) (*.f64 (pow.f64 z 3) (sin.f64 y)))) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/12 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (pow.f64 (sin.f64 y) 3))) (+.f64 (*.f64 -1/384 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (pow.f64 (sin.f64 y) 3))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (pow.f64 (sin.f64 y) 3))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2)) (pow.f64 z 3))) (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2)) (pow.f64 z 2))))))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2) (*.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2) (*.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2)) (pow.f64 z 2))) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2) (*.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2)) (pow.f64 z 2))) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2) (*.f64 -1 (/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (pow.f64 (sin.f64 y) 3))) (+.f64 (*.f64 -1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (pow.f64 (sin.f64 y) 3))) (*.f64 1/384 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (pow.f64 (sin.f64 y) 3))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2))) (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2)))) (*.f64 (cos.f64 y) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2) x))) (sin.f64 y)))) (pow.f64 z 3)))))))
Outputs
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (cos.f64 y) x))) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y))))
(fma.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (cos.f64 y) x)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y))))
(fma.f64 1 (*.f64 (cos.f64 y) x) (*.f64 z (neg.f64 (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (cos.f64 y) x))) (+.f64 (*.f64 (+.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 (cos.f64 y) 2)) (*.f64 z (sin.f64 y)))) (*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1) (+.f64 (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 -1) (pow.f64 (cos.f64 y) 2)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))))) (*.f64 2 (*.f64 (*.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (*.f64 -1/8 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))) (sqrt.f64 -1)) (sqrt.f64 (*.f64 z (sin.f64 y))))))) (sqrt.f64 (*.f64 z (sin.f64 y)))))) (pow.f64 x 2)) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)))))
(fma.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (cos.f64 y) x)) (fma.f64 (fma.f64 1/4 (*.f64 (/.f64 (pow.f64 (sqrt.f64 -1) 2) z) (/.f64 (pow.f64 (cos.f64 y) 2) (sin.f64 y))) (*.f64 2 (*.f64 (sqrt.f64 -1) (*.f64 (fma.f64 2 (*.f64 (sqrt.f64 -1) (*.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))) -3/32) (sqrt.f64 (*.f64 z (sin.f64 y))))) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 -1) (pow.f64 (cos.f64 y) 2)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))))) (sqrt.f64 (*.f64 z (sin.f64 y))))))) (*.f64 x x) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)))))
(fma.f64 1 (*.f64 (cos.f64 y) x) (fma.f64 (fma.f64 2 (*.f64 (sqrt.f64 -1) (*.f64 (fma.f64 (*.f64 2 (*.f64 (/.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) (*.f64 -3/32 (sqrt.f64 -1)))) (sqrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 z 3)) (pow.f64 (sin.f64 y) 3))) (*.f64 (*.f64 (sqrt.f64 -1) (pow.f64 (cos.f64 y) 2)) 1/16))) (sqrt.f64 (*.f64 z (sin.f64 y))))) (/.f64 -1/4 (/.f64 z (/.f64 (pow.f64 (cos.f64 y) 2) (sin.f64 y))))) (*.f64 x x) (*.f64 z (neg.f64 (sin.f64 y)))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (cos.f64 y) x))) (+.f64 (*.f64 (+.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 (cos.f64 y) 2)) (*.f64 z (sin.f64 y)))) (*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1) (+.f64 (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 -1) (pow.f64 (cos.f64 y) 2)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))))) (*.f64 2 (*.f64 (*.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (*.f64 -1/8 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))) (sqrt.f64 -1)) (sqrt.f64 (*.f64 z (sin.f64 y))))))) (sqrt.f64 (*.f64 z (sin.f64 y)))))) (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 x 3) (+.f64 (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) (*.f64 (+.f64 (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 -1) (pow.f64 (cos.f64 y) 2)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))))) (*.f64 2 (*.f64 (*.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (*.f64 -1/8 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))) (sqrt.f64 -1)) (sqrt.f64 (*.f64 z (sin.f64 y)))))) (cos.f64 y))) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))))) (*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) (*.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (*.f64 -1/8 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))) (cos.f64 y))) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))))) (*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1) (+.f64 (*.f64 -1/12 (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))) (+.f64 (*.f64 -1/384 (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))) (*.f64 1/32 (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))))) (sqrt.f64 (*.f64 z (sin.f64 y))))))) (sqrt.f64 (*.f64 z (sin.f64 y))))))))))
(fma.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (cos.f64 y) x)) (fma.f64 (fma.f64 1/4 (*.f64 (/.f64 (pow.f64 (sqrt.f64 -1) 2) z) (/.f64 (pow.f64 (cos.f64 y) 2) (sin.f64 y))) (*.f64 2 (*.f64 (sqrt.f64 -1) (*.f64 (fma.f64 2 (*.f64 (sqrt.f64 -1) (*.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))) -3/32) (sqrt.f64 (*.f64 z (sin.f64 y))))) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 -1) (pow.f64 (cos.f64 y) 2)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))))) (sqrt.f64 (*.f64 z (sin.f64 y))))))) (*.f64 x x) (fma.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 z (sin.f64 y)) (*.f64 (pow.f64 x 3) (fma.f64 -1 (*.f64 (sqrt.f64 -1) (*.f64 (*.f64 (cos.f64 y) (fma.f64 2 (*.f64 (sqrt.f64 -1) (*.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))) -3/32) (sqrt.f64 (*.f64 z (sin.f64 y))))) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 -1) (pow.f64 (cos.f64 y) 2)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))))))) (sqrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y))))) (*.f64 2 (*.f64 (sqrt.f64 -1) (*.f64 (fma.f64 2 (*.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (sqrt.f64 -1) (fma.f64 -1/12 (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) 11/384)))) (*.f64 -1/2 (*.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))) -3/32) (*.f64 (*.f64 (sqrt.f64 -1) (cos.f64 y)) (sqrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y))))))) (sqrt.f64 (*.f64 z (sin.f64 y)))))))))))
(fma.f64 1 (*.f64 (cos.f64 y) x) (fma.f64 (fma.f64 2 (*.f64 (sqrt.f64 -1) (*.f64 (fma.f64 (*.f64 2 (*.f64 (/.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) (*.f64 -3/32 (sqrt.f64 -1)))) (sqrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 z 3)) (pow.f64 (sin.f64 y) 3))) (*.f64 (*.f64 (sqrt.f64 -1) (pow.f64 (cos.f64 y) 2)) 1/16))) (sqrt.f64 (*.f64 z (sin.f64 y))))) (/.f64 -1/4 (/.f64 z (/.f64 (pow.f64 (cos.f64 y) 2) (sin.f64 y))))) (*.f64 x x) (fma.f64 (pow.f64 x 3) (fma.f64 2 (*.f64 (fma.f64 2 (*.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) -7/128) (*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))))) (*.f64 (sqrt.f64 -1) (*.f64 (*.f64 (*.f64 (/.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) (*.f64 -3/32 (cos.f64 y))) (sqrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y)))) -1/2))) (*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))))) (*.f64 (sqrt.f64 -1) (neg.f64 (*.f64 (cos.f64 y) (*.f64 (fma.f64 (*.f64 2 (*.f64 (/.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) (*.f64 -3/32 (sqrt.f64 -1)))) (sqrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 z 3)) (pow.f64 (sin.f64 y) 3))) (*.f64 (*.f64 (sqrt.f64 -1) (pow.f64 (cos.f64 y) 2)) 1/16))) (sqrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y)))))))) (*.f64 z (neg.f64 (sin.f64 y))))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 4)
(pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 4)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 4)
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 4) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 4) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 4) (neg.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 4) (/.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))))
(-.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 4) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 4) (*.f64 (/.f64 x z) (/.f64 (cos.f64 y) (sin.f64 y)))))
(+.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 4) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 4) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 4) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))) (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (pow.f64 (cos.f64 y) 2))) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (+.f64 (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2)) (pow.f64 x 2))))))
(fma.f64 1/4 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 4) (pow.f64 (cos.f64 y) 2)) (/.f64 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)) (*.f64 x x))) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 4) (fma.f64 -1 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 4) (/.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))) (*.f64 2 (/.f64 (fma.f64 1/16 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 2) (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))) (*.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 2) (*.f64 (/.f64 (*.f64 z z) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (sin.f64 y) 2))) -3/32)))) (/.f64 (*.f64 x x) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 2)))))))
(+.f64 (fma.f64 1/4 (*.f64 (*.f64 (/.f64 z (/.f64 x z)) (/.f64 (pow.f64 (sin.f64 y) 2) x)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 4) (pow.f64 (cos.f64 y) 2))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 4)) (fma.f64 2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 2) x) (/.f64 (fma.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 2) (/.f64 (*.f64 (*.f64 z z) -3/32) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (sin.f64 y) 2)))) (*.f64 1/16 (/.f64 (*.f64 z (*.f64 z (pow.f64 (sin.f64 y) 2))) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 2))))) x)) (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 4) (cos.f64 y)) (neg.f64 (/.f64 z (/.f64 x (sin.f64 y)))))))
(+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (+.f64 (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (pow.f64 (cos.f64 y) 3))) (+.f64 (*.f64 -1/12 (/.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (pow.f64 (cos.f64 y) 3))) (*.f64 -1/384 (/.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (pow.f64 (cos.f64 y) 3))))))) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (*.f64 z (*.f64 (+.f64 (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2)))) (sin.f64 y)))) (cos.f64 y)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2)) (pow.f64 x 3))) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 4) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 4) (+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (pow.f64 (cos.f64 y) 2))) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (+.f64 (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))))))) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (*.f64 z (sin.f64 y)))) (*.f64 (cos.f64 y) (pow.f64 x 3)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 4) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))) (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (pow.f64 (cos.f64 y) 2))) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (+.f64 (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2)) (pow.f64 x 2))))))))
(fma.f64 2 (/.f64 (fma.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 2) (fma.f64 1/32 (/.f64 (pow.f64 z 3) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (sin.f64 y) 3))) (*.f64 (/.f64 (pow.f64 z 3) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (sin.f64 y) 3))) -11/128))) (*.f64 -1/2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 2) (/.f64 (cos.f64 y) (*.f64 z (*.f64 (sin.f64 y) (*.f64 (/.f64 (*.f64 z z) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (sin.f64 y) 2))) -3/32))))))) (/.f64 (pow.f64 x 3) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 2))) (fma.f64 1/4 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 4) (pow.f64 (cos.f64 y) 2)) (/.f64 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)) (*.f64 x x))) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 4) (fma.f64 -1 (*.f64 (/.f64 (fma.f64 1/16 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 2) (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))) (*.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 2) (*.f64 (/.f64 (*.f64 z z) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (sin.f64 y) 2))) -3/32)))) (cos.f64 y)) (/.f64 (*.f64 (*.f64 z (sin.f64 y)) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 2)) (pow.f64 x 3))) (fma.f64 -1 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 4) (/.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))) (*.f64 2 (/.f64 (fma.f64 1/16 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 2) (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))) (*.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 2) (*.f64 (/.f64 (*.f64 z z) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (sin.f64 y) 2))) -3/32)))) (/.f64 (*.f64 x x) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 2)))))))))
(fma.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 2) (/.f64 (pow.f64 x 3) (fma.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 2) (*.f64 (*.f64 (/.f64 (pow.f64 z 3) (pow.f64 (cos.f64 y) 3)) (pow.f64 (sin.f64 y) 3)) -7/128)) (*.f64 -1/2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 2) (/.f64 (cos.f64 y) (*.f64 z (*.f64 (sin.f64 y) (/.f64 (*.f64 (*.f64 z z) -3/32) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (sin.f64 y) 2))))))))))) (+.f64 (fma.f64 1/4 (*.f64 (*.f64 (/.f64 z (/.f64 x z)) (/.f64 (pow.f64 (sin.f64 y) 2) x)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 4) (pow.f64 (cos.f64 y) 2))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 4)) (-.f64 (fma.f64 2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 2) x) (/.f64 (fma.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 2) (/.f64 (*.f64 (*.f64 z z) -3/32) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (sin.f64 y) 2)))) (*.f64 1/16 (/.f64 (*.f64 z (*.f64 z (pow.f64 (sin.f64 y) 2))) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 2))))) x)) (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 4) (cos.f64 y)) (neg.f64 (/.f64 z (/.f64 x (sin.f64 y)))))) (*.f64 (/.f64 (fma.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 2) (/.f64 (*.f64 (*.f64 z z) -3/32) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (sin.f64 y) 2)))) (*.f64 1/16 (/.f64 (*.f64 z (*.f64 z (pow.f64 (sin.f64 y) 2))) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 2))))) (cos.f64 y)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 2) (/.f64 (pow.f64 x 3) (*.f64 z (sin.f64 y))))))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 4)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 4)
(pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 4)
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 4) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 4))
(fma.f64 -1 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 4) (cos.f64 y)) (/.f64 (*.f64 z (sin.f64 y)) x)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 4))
(-.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 4) (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 4) (*.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 4) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (pow.f64 (cos.f64 y) 2))) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (+.f64 (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2)) (pow.f64 x 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 4) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 4))))
(fma.f64 1/4 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 4) (pow.f64 (cos.f64 y) 2)) (/.f64 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)) (*.f64 x x))) (fma.f64 2 (/.f64 (fma.f64 1/16 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2) (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))) (*.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2) (*.f64 (/.f64 (*.f64 z z) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (sin.f64 y) 2))) -3/32)))) (/.f64 (*.f64 x x) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2))) (fma.f64 -1 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 4) (cos.f64 y)) (/.f64 (*.f64 z (sin.f64 y)) x)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 4))))
(fma.f64 1/4 (*.f64 (*.f64 (/.f64 (*.f64 z z) (pow.f64 (cos.f64 y) 2)) (pow.f64 (sin.f64 y) 2)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 4) (*.f64 x x))) (fma.f64 2 (*.f64 (/.f64 (fma.f64 1/16 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 2) (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z z))) (pow.f64 (sin.f64 y) 2)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 2) (*.f64 (/.f64 (*.f64 (*.f64 z z) -3/32) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (sin.f64 y) 2))) 2))) (*.f64 x x)) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 2)) (-.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 4) (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 4) (*.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))))))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (pow.f64 (cos.f64 y) 2))) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (+.f64 (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))))))) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (*.f64 z (sin.f64 y)))) (cos.f64 y)) (*.f64 2 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/384 (/.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (pow.f64 (cos.f64 y) 3))) (+.f64 (*.f64 1/12 (/.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (pow.f64 (cos.f64 y) 3))) (*.f64 -1/32 (/.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (pow.f64 (cos.f64 y) 3))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (*.f64 z (*.f64 (+.f64 (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2)))) (sin.f64 y)))) (cos.f64 y)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2)))) (pow.f64 x 3))) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 4) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (pow.f64 (cos.f64 y) 2))) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (+.f64 (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2)) (pow.f64 x 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 4) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 4)))))
(fma.f64 -1 (/.f64 (+.f64 (/.f64 (fma.f64 1/16 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2) (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))) (*.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2) (*.f64 (/.f64 (*.f64 z z) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (sin.f64 y) 2))) -3/32)))) (/.f64 (cos.f64 y) (*.f64 (*.f64 z (sin.f64 y)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2)))) (*.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2) (fma.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2) (fma.f64 1/384 (/.f64 (pow.f64 z 3) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (sin.f64 y) 3))) (*.f64 (/.f64 (pow.f64 z 3) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (sin.f64 y) 3))) 5/96))) (*.f64 1/2 (/.f64 (*.f64 (*.f64 z (*.f64 (sin.f64 y) (*.f64 (/.f64 (*.f64 z z) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (sin.f64 y) 2))) -3/32))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2)) (cos.f64 y))))))) (pow.f64 x 3)) (fma.f64 1/4 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 4) (pow.f64 (cos.f64 y) 2)) (/.f64 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)) (*.f64 x x))) (fma.f64 2 (/.f64 (fma.f64 1/16 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2) (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))) (*.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2) (*.f64 (/.f64 (*.f64 z z) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (sin.f64 y) 2))) -3/32)))) (/.f64 (*.f64 x x) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2))) (fma.f64 -1 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 4) (cos.f64 y)) (/.f64 (*.f64 z (sin.f64 y)) x)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 4)))))
(-.f64 (fma.f64 1/4 (*.f64 (*.f64 (/.f64 (*.f64 z z) (pow.f64 (cos.f64 y) 2)) (pow.f64 (sin.f64 y) 2)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 4) (*.f64 x x))) (fma.f64 2 (*.f64 (/.f64 (fma.f64 1/16 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 2) (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z z))) (pow.f64 (sin.f64 y) 2)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 2) (*.f64 (/.f64 (*.f64 (*.f64 z z) -3/32) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (sin.f64 y) 2))) 2))) (*.f64 x x)) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 2)) (-.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 4) (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 4) (*.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))))) (/.f64 (fma.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 2) (fma.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 2) (*.f64 (*.f64 (/.f64 (pow.f64 z 3) (pow.f64 (cos.f64 y) 3)) (pow.f64 (sin.f64 y) 3)) 7/128)) (/.f64 1/2 (/.f64 (cos.f64 y) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 2) (*.f64 z (*.f64 (sin.f64 y) (/.f64 (*.f64 (*.f64 z z) -3/32) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (sin.f64 y) 2)))))))))) (*.f64 (/.f64 (fma.f64 1/16 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 2) (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z z))) (pow.f64 (sin.f64 y) 2)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 2) (*.f64 (/.f64 (*.f64 (*.f64 z z) -3/32) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (sin.f64 y) 2))) 2))) (cos.f64 y)) (*.f64 z (*.f64 (sin.f64 y) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 2))))) (pow.f64 x 3)))
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 z y) x)
(-.f64 x (*.f64 z y))
(+.f64 (*.f64 (pow.f64 y 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 z 2) x)) (+.f64 (*.f64 (sqrt.f64 x) (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) (*.f64 1/8 (-.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) 1))) (sqrt.f64 x))) (*.f64 1/16 (*.f64 (pow.f64 z 2) (sqrt.f64 (/.f64 1 (pow.f64 x 3))))))) (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) (*.f64 1/8 (-.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) 1))) (sqrt.f64 x))) (*.f64 1/16 (*.f64 (pow.f64 z 2) (sqrt.f64 (/.f64 1 (pow.f64 x 3)))))) (sqrt.f64 x))))) (+.f64 (*.f64 -1 (*.f64 y z)) x))
(fma.f64 (*.f64 y y) (fma.f64 1/4 (/.f64 (*.f64 z z) x) (fma.f64 (sqrt.f64 x) (fma.f64 2 (*.f64 (sqrt.f64 x) (fma.f64 1/32 (/.f64 (*.f64 z z) (*.f64 x x)) (*.f64 1/8 (fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 x x)) -1)))) (*.f64 1/16 (*.f64 (*.f64 z z) (sqrt.f64 (/.f64 1 (pow.f64 x 3)))))) (*.f64 (sqrt.f64 x) (fma.f64 2 (*.f64 (sqrt.f64 x) (fma.f64 1/32 (/.f64 (*.f64 z z) (*.f64 x x)) (*.f64 1/8 (fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 x x)) -1)))) (*.f64 1/16 (*.f64 (*.f64 z z) (sqrt.f64 (/.f64 1 (pow.f64 x 3))))))))) (fma.f64 -1 (*.f64 z y) x))
(fma.f64 (*.f64 y y) (fma.f64 1/4 (/.f64 z (/.f64 x z)) (*.f64 2 (*.f64 (sqrt.f64 x) (fma.f64 2 (*.f64 (sqrt.f64 x) (fma.f64 1/8 (fma.f64 -1 (*.f64 (/.f64 z x) (/.f64 z x)) -1) (/.f64 (/.f64 (*.f64 1/32 (*.f64 z z)) x) x))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 x 3))) (*.f64 (*.f64 z z) 1/16)))))) (-.f64 x (*.f64 z y)))
(+.f64 (*.f64 (pow.f64 y 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 z 2) x)) (+.f64 (*.f64 (sqrt.f64 x) (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) (*.f64 1/8 (-.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) 1))) (sqrt.f64 x))) (*.f64 1/16 (*.f64 (pow.f64 z 2) (sqrt.f64 (/.f64 1 (pow.f64 x 3))))))) (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) (*.f64 1/8 (-.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) 1))) (sqrt.f64 x))) (*.f64 1/16 (*.f64 (pow.f64 z 2) (sqrt.f64 (/.f64 1 (pow.f64 x 3)))))) (sqrt.f64 x))))) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1 (*.f64 (*.f64 z (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) (*.f64 1/8 (-.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) 1))) (sqrt.f64 x))) (*.f64 1/16 (*.f64 (pow.f64 z 2) (sqrt.f64 (/.f64 1 (pow.f64 x 3))))))) (sqrt.f64 (/.f64 1 x)))) (*.f64 2 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/384 (/.f64 (pow.f64 z 3) (pow.f64 x 3))) (+.f64 (*.f64 1/24 (+.f64 (*.f64 -3 (/.f64 z x)) (+.f64 (/.f64 z x) (*.f64 -2 (/.f64 (pow.f64 z 3) (pow.f64 x 3)))))) (*.f64 -1/32 (/.f64 (*.f64 (-.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) 1) z) x)))) (sqrt.f64 x))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) (*.f64 1/8 (-.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) 1))) z) (sqrt.f64 (/.f64 1 x)))) (*.f64 -1/4 (*.f64 (*.f64 z (+.f64 (*.f64 1/32 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) (*.f64 1/8 (-.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) 1)))) (sqrt.f64 (/.f64 1 x)))))) (sqrt.f64 x))))) x)))
(fma.f64 (*.f64 y y) (fma.f64 1/4 (/.f64 (*.f64 z z) x) (fma.f64 (sqrt.f64 x) (fma.f64 2 (*.f64 (sqrt.f64 x) (fma.f64 1/32 (/.f64 (*.f64 z z) (*.f64 x x)) (*.f64 1/8 (fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 x x)) -1)))) (*.f64 1/16 (*.f64 (*.f64 z z) (sqrt.f64 (/.f64 1 (pow.f64 x 3)))))) (*.f64 (sqrt.f64 x) (fma.f64 2 (*.f64 (sqrt.f64 x) (fma.f64 1/32 (/.f64 (*.f64 z z) (*.f64 x x)) (*.f64 1/8 (fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 x x)) -1)))) (*.f64 1/16 (*.f64 (*.f64 z z) (sqrt.f64 (/.f64 1 (pow.f64 x 3))))))))) (fma.f64 -1 (*.f64 z y) (fma.f64 (pow.f64 y 3) (fma.f64 -1 (*.f64 z (*.f64 (fma.f64 2 (*.f64 (sqrt.f64 x) (fma.f64 1/32 (/.f64 (*.f64 z z) (*.f64 x x)) (*.f64 1/8 (fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 x x)) -1)))) (*.f64 1/16 (*.f64 (*.f64 z z) (sqrt.f64 (/.f64 1 (pow.f64 x 3)))))) (sqrt.f64 (/.f64 1 x)))) (*.f64 2 (*.f64 (sqrt.f64 x) (fma.f64 2 (*.f64 (sqrt.f64 x) (fma.f64 -1/384 (/.f64 (pow.f64 z 3) (pow.f64 x 3)) (fma.f64 1/24 (fma.f64 -3 (/.f64 z x) (+.f64 (/.f64 z x) (*.f64 (/.f64 (pow.f64 z 3) (pow.f64 x 3)) -2))) (*.f64 -1/32 (/.f64 (fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 x x)) -1) (/.f64 x z)))))) (*.f64 -1/4 (+.f64 (*.f64 (fma.f64 1/32 (/.f64 (*.f64 z z) (*.f64 x x)) (*.f64 1/8 (fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 x x)) -1))) (*.f64 z (sqrt.f64 (/.f64 1 x)))) (*.f64 (fma.f64 1/32 (/.f64 (*.f64 z z) (*.f64 x x)) (*.f64 1/8 (fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 x x)) -1))) (*.f64 z (sqrt.f64 (/.f64 1 x)))))))))) x)))
(fma.f64 (*.f64 y y) (fma.f64 1/4 (/.f64 z (/.f64 x z)) (*.f64 2 (*.f64 (sqrt.f64 x) (fma.f64 2 (*.f64 (sqrt.f64 x) (fma.f64 1/8 (fma.f64 -1 (*.f64 (/.f64 z x) (/.f64 z x)) -1) (/.f64 (/.f64 (*.f64 1/32 (*.f64 z z)) x) x))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 x 3))) (*.f64 (*.f64 z z) 1/16)))))) (-.f64 (fma.f64 (pow.f64 y 3) (-.f64 (*.f64 (sqrt.f64 x) (*.f64 (fma.f64 2 (*.f64 (sqrt.f64 x) (fma.f64 -1/384 (/.f64 (pow.f64 z 3) (pow.f64 x 3)) (fma.f64 1/24 (+.f64 (*.f64 -2 (/.f64 z x)) (*.f64 (/.f64 (pow.f64 z 3) (pow.f64 x 3)) -2)) (/.f64 (*.f64 (fma.f64 -1 (*.f64 (/.f64 z x) (/.f64 z x)) -1) -1/32) (/.f64 x z))))) (*.f64 (*.f64 z (*.f64 (fma.f64 1/8 (fma.f64 -1 (*.f64 (/.f64 z x) (/.f64 z x)) -1) (/.f64 (/.f64 (*.f64 1/32 (*.f64 z z)) x) x)) (sqrt.f64 (/.f64 1 x)))) -1/2)) 2)) (*.f64 (fma.f64 2 (*.f64 (sqrt.f64 x) (fma.f64 1/8 (fma.f64 -1 (*.f64 (/.f64 z x) (/.f64 z x)) -1) (/.f64 (/.f64 (*.f64 1/32 (*.f64 z z)) x) x))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 x 3))) (*.f64 (*.f64 z z) 1/16))) (*.f64 z (sqrt.f64 (/.f64 1 x))))) x) (*.f64 z y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(*.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (*.f64 (pow.f64 z 2) (+.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (*.f64 -1/8 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))) (pow.f64 (sin.f64 y) 2))))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (cos.f64 y) x))) (*.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (*.f64 -1/8 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))) (pow.f64 (sin.f64 y) 2)))) (sqrt.f64 (*.f64 (cos.f64 y) x)))))) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (fma.f64 (*.f64 z z) (fma.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (fma.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (*.f64 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) -3/32)) (*.f64 1/16 (*.f64 (pow.f64 (sin.f64 y) 2) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (cos.f64 y) 3))))))) (fma.f64 1/4 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (cos.f64 y) x)) (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (fma.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (*.f64 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) -3/32)) (*.f64 1/16 (*.f64 (pow.f64 (sin.f64 y) 2) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (cos.f64 y) 3)))))))))) (*.f64 (cos.f64 y) x)))
(-.f64 (fma.f64 (*.f64 z z) (fma.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (fma.f64 2 (*.f64 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2)))) (*.f64 -3/32 (sqrt.f64 (*.f64 (cos.f64 y) x)))) (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 x 3)) (pow.f64 (cos.f64 y) 3))) 1/16))) (fma.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (fma.f64 2 (*.f64 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2)))) (*.f64 -3/32 (sqrt.f64 (*.f64 (cos.f64 y) x)))) (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 x 3)) (pow.f64 (cos.f64 y) 3))) 1/16))) (*.f64 1/4 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (cos.f64 y) x))))) (*.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (*.f64 (pow.f64 z 2) (+.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (*.f64 -1/8 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))) (pow.f64 (sin.f64 y) 2))))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (cos.f64 y) x))) (*.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (*.f64 -1/8 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))) (pow.f64 (sin.f64 y) 2)))) (sqrt.f64 (*.f64 (cos.f64 y) x)))))) (+.f64 (*.f64 (pow.f64 z 3) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (*.f64 -1/8 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))) (pow.f64 (sin.f64 y) 2)))) (sin.f64 y)) (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x))))) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 -1/384 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))) (*.f64 -1/12 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))))))) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x))) (*.f64 (sin.f64 y) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (*.f64 -1/8 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))))))))) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x))) (*.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (*.f64 -1/8 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))) (pow.f64 (sin.f64 y) 2)))) (sin.f64 y))))))) (*.f64 (cos.f64 y) x))))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (fma.f64 (*.f64 z z) (fma.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (fma.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (*.f64 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) -3/32)) (*.f64 1/16 (*.f64 (pow.f64 (sin.f64 y) 2) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (cos.f64 y) 3))))))) (fma.f64 1/4 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (cos.f64 y) x)) (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (fma.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (*.f64 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) -3/32)) (*.f64 1/16 (*.f64 (pow.f64 (sin.f64 y) 2) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (cos.f64 y) 3)))))))))) (fma.f64 (pow.f64 z 3) (fma.f64 -1/2 (*.f64 (fma.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (*.f64 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) -3/32)) (*.f64 1/16 (*.f64 (pow.f64 (sin.f64 y) 2) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (cos.f64 y) 3))))))) (*.f64 (sin.f64 y) (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x))))) (fma.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (fma.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (fma.f64 -1/384 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (pow.f64 x 3) (pow.f64 (cos.f64 y) 3))) (*.f64 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (pow.f64 x 3) (pow.f64 (cos.f64 y) 3))) -5/96))) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x))) (*.f64 (sin.f64 y) (*.f64 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) -3/32)))))) (*.f64 -1/2 (*.f64 (fma.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (*.f64 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) -3/32)) (*.f64 1/16 (*.f64 (pow.f64 (sin.f64 y) 2) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (cos.f64 y) 3))))))) (*.f64 (sin.f64 y) (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x)))))))) (*.f64 (cos.f64 y) x))))
(-.f64 (fma.f64 (*.f64 z z) (fma.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (fma.f64 2 (*.f64 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2)))) (*.f64 -3/32 (sqrt.f64 (*.f64 (cos.f64 y) x)))) (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 x 3)) (pow.f64 (cos.f64 y) 3))) 1/16))) (fma.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (fma.f64 2 (*.f64 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2)))) (*.f64 -3/32 (sqrt.f64 (*.f64 (cos.f64 y) x)))) (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 x 3)) (pow.f64 (cos.f64 y) 3))) 1/16))) (*.f64 1/4 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (cos.f64 y) x))))) (fma.f64 (pow.f64 z 3) (fma.f64 -1/2 (*.f64 (sin.f64 y) (*.f64 (fma.f64 2 (*.f64 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2)))) (*.f64 -3/32 (sqrt.f64 (*.f64 (cos.f64 y) x)))) (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 x 3)) (pow.f64 (cos.f64 y) 3))) 1/16))) (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x))))) (fma.f64 (*.f64 2 (sqrt.f64 (*.f64 (cos.f64 y) x))) (fma.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (*.f64 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (pow.f64 x 3) (pow.f64 (cos.f64 y) 3))) -7/128)) (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x))) (*.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2)))) (*.f64 -3/32 (sin.f64 y))) -1/2))) (*.f64 -1/2 (*.f64 (sin.f64 y) (*.f64 (fma.f64 2 (*.f64 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2)))) (*.f64 -3/32 (sqrt.f64 (*.f64 (cos.f64 y) x)))) (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 x 3)) (pow.f64 (cos.f64 y) 3))) 1/16))) (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x)))))))) (*.f64 (cos.f64 y) x))) (*.f64 z (sin.f64 y)))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 4)
(pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 4)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 4)
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 4) (*.f64 -1 (/.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 4) x)) (*.f64 z (sin.f64 y)))))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 4) (neg.f64 (/.f64 (cos.f64 y) (/.f64 (*.f64 z (sin.f64 y)) (*.f64 x (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 4))))))
(-.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 4) (*.f64 (/.f64 (cos.f64 y) z) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 4) (/.f64 (sin.f64 y) x))))
(+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2))) (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 x 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2))) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2)) (pow.f64 z 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 4) (+.f64 (*.f64 -1 (/.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 4) x)) (*.f64 z (sin.f64 y)))) (*.f64 1/4 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 4) (pow.f64 x 2))) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))))))
(fma.f64 2 (/.f64 (fma.f64 2 (*.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x x))) -3/32) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2)) (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 x x) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2))) (pow.f64 (sin.f64 y) 2)))) (/.f64 (*.f64 z z) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2))) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 4) (fma.f64 -1 (/.f64 (cos.f64 y) (/.f64 (*.f64 z (sin.f64 y)) (*.f64 x (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 4)))) (*.f64 1/4 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z z)) (/.f64 (*.f64 (*.f64 x x) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 4)) (pow.f64 (sin.f64 y) 2)))))))
(+.f64 (fma.f64 2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 2) z) (/.f64 (fma.f64 2 (*.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2))) (pow.f64 (sin.f64 y) 2)) -3/32) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 2)) (*.f64 1/16 (/.f64 (*.f64 (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 2)) (pow.f64 (sin.f64 y) 2)))) z)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 4)) (-.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z z)) (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 4) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x x))) 1/4)) (*.f64 (/.f64 (cos.f64 y) z) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 4) (/.f64 (sin.f64 y) x)))))
(+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2))) (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 x 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2))) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2)) (pow.f64 z 2))) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/12 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (pow.f64 (sin.f64 y) 3))) (+.f64 (*.f64 -1/384 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (pow.f64 (sin.f64 y) 3))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (pow.f64 (sin.f64 y) 3))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2))) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2)))) (*.f64 (cos.f64 y) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2) x))) (sin.f64 y)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2)) (pow.f64 z 3))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (cos.f64 y) (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2))) (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 x 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2))) (pow.f64 (sin.f64 y) 2)))) (*.f64 x (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2)))) (*.f64 (pow.f64 z 3) (sin.f64 y)))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 4) (+.f64 (*.f64 -1 (/.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 4) x)) (*.f64 z (sin.f64 y)))) (*.f64 1/4 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 4) (pow.f64 x 2))) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))))))))
(fma.f64 2 (/.f64 (fma.f64 2 (*.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x x))) -3/32) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2)) (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 x x) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2))) (pow.f64 (sin.f64 y) 2)))) (/.f64 (*.f64 z z) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2))) (fma.f64 2 (/.f64 (fma.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2) (fma.f64 -1/12 (/.f64 (*.f64 (pow.f64 x 3) (pow.f64 (cos.f64 y) 3)) (pow.f64 (sin.f64 y) 3)) (*.f64 (/.f64 (*.f64 (pow.f64 x 3) (pow.f64 (cos.f64 y) 3)) (pow.f64 (sin.f64 y) 3)) 11/384))) (*.f64 -1/2 (/.f64 (*.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x x))) -3/32) (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2)))) (sin.f64 y)))) (/.f64 (pow.f64 z 3) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2))) (fma.f64 -1 (*.f64 (/.f64 (cos.f64 y) (pow.f64 z 3)) (/.f64 (*.f64 (fma.f64 2 (*.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x x))) -3/32) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2)) (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 x x) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2))) (pow.f64 (sin.f64 y) 2)))) (*.f64 x (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2))) (sin.f64 y))) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 4) (fma.f64 -1 (/.f64 (cos.f64 y) (/.f64 (*.f64 z (sin.f64 y)) (*.f64 x (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 4)))) (*.f64 1/4 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z z)) (/.f64 (*.f64 (*.f64 x x) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 4)) (pow.f64 (sin.f64 y) 2)))))))))
(fma.f64 2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 2) z) (/.f64 (fma.f64 2 (*.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2))) (pow.f64 (sin.f64 y) 2)) -3/32) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 2)) (*.f64 1/16 (/.f64 (*.f64 (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 2)) (pow.f64 (sin.f64 y) 2)))) z)) (fma.f64 2 (/.f64 (fma.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 2) (*.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (sin.f64 y) 3)) (pow.f64 x 3)) -7/128)) (/.f64 -1/2 (/.f64 (sin.f64 y) (*.f64 (*.f64 x (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 2)) (*.f64 (cos.f64 y) (*.f64 (/.f64 (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2))) (pow.f64 (sin.f64 y) 2)) -3/32)))))) (/.f64 (pow.f64 z 3) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 2))) (-.f64 (+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 4) (-.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z z)) (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 4) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x x))) 1/4)) (*.f64 (/.f64 (cos.f64 y) z) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 4) (/.f64 (sin.f64 y) x))))) (*.f64 (/.f64 (cos.f64 y) (pow.f64 z 3)) (/.f64 (fma.f64 2 (*.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2))) (pow.f64 (sin.f64 y) 2)) -3/32) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 2)) (*.f64 1/16 (/.f64 (*.f64 (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 2)) (pow.f64 (sin.f64 y) 2)))) (/.f64 (sin.f64 y) (*.f64 x (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 2))))))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 4)
(pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 4)
(pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 4)
(+.f64 (*.f64 -1 (/.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 4) x)) (*.f64 z (sin.f64 y)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 4))
(fma.f64 -1 (*.f64 (/.f64 (cos.f64 y) z) (/.f64 (*.f64 x (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 4)) (sin.f64 y))) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 4))
(-.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 4) (*.f64 (/.f64 (cos.f64 y) z) (/.f64 x (/.f64 (sin.f64 y) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 4)))))
(+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2) (pow.f64 x 2))) (pow.f64 (sin.f64 y) 2))) (*.f64 2 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2)) (pow.f64 z 2))) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 4) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 4) x)) (*.f64 z (sin.f64 y)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 4))))
(fma.f64 2 (/.f64 (fma.f64 1/16 (/.f64 (pow.f64 (cos.f64 y) 2) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (*.f64 x x) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 2)))) (*.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x x))) -3/32)) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 2))) (/.f64 (*.f64 z z) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 2))) (fma.f64 1/4 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 4) (*.f64 z z)) (/.f64 (pow.f64 (cos.f64 y) 2) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x x)))) (fma.f64 -1 (*.f64 (/.f64 (cos.f64 y) z) (/.f64 (*.f64 x (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 4)) (sin.f64 y))) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 4))))
(fma.f64 2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 2) z) (/.f64 (fma.f64 2 (*.f64 (/.f64 (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2))) (pow.f64 (sin.f64 y) 2)) (*.f64 -3/32 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 2))) (/.f64 (*.f64 (*.f64 1/16 (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2)))) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 2)) (pow.f64 (sin.f64 y) 2))) z)) (fma.f64 1/4 (*.f64 (/.f64 (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2))) (pow.f64 (sin.f64 y) 2)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 4) (*.f64 z z))) (-.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 4) (*.f64 (/.f64 (cos.f64 y) z) (/.f64 x (/.f64 (sin.f64 y) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 4)))))))
(+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2) (pow.f64 x 2))) (pow.f64 (sin.f64 y) 2))) (*.f64 2 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2)) (pow.f64 z 2))) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 4) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2) (pow.f64 x 2))) (pow.f64 (sin.f64 y) 2))) (*.f64 2 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2)))) (*.f64 (cos.f64 y) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2) x))) (sin.f64 y)) (*.f64 2 (*.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2)))) (*.f64 (cos.f64 y) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2) x))) (sin.f64 y))) (*.f64 2 (*.f64 (+.f64 (*.f64 -1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (pow.f64 (sin.f64 y) 3))) (+.f64 (*.f64 1/12 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (pow.f64 (sin.f64 y) 3))) (*.f64 1/384 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (pow.f64 (sin.f64 y) 3))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2)))) (pow.f64 z 3))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 4) x)) (*.f64 z (sin.f64 y)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 4)))))
(fma.f64 2 (/.f64 (fma.f64 1/16 (/.f64 (pow.f64 (cos.f64 y) 2) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (*.f64 x x) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 2)))) (*.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x x))) -3/32)) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 2))) (/.f64 (*.f64 z z) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 2))) (fma.f64 1/4 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 4) (*.f64 z z)) (/.f64 (pow.f64 (cos.f64 y) 2) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x x)))) (fma.f64 -1 (/.f64 (+.f64 (/.f64 (fma.f64 1/16 (/.f64 (pow.f64 (cos.f64 y) 2) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (*.f64 x x) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 2)))) (*.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x x))) -3/32)) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 2))) (/.f64 (sin.f64 y) (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 2))))) (*.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 2) (fma.f64 1/2 (/.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x x))) -3/32) (/.f64 (sin.f64 y) (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 2))))) (*.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 2) (fma.f64 -1/32 (/.f64 (*.f64 (pow.f64 x 3) (pow.f64 (cos.f64 y) 3)) (pow.f64 (sin.f64 y) 3)) (*.f64 (/.f64 (*.f64 (pow.f64 x 3) (pow.f64 (cos.f64 y) 3)) (pow.f64 (sin.f64 y) 3)) 11/128)))))))) (pow.f64 z 3)) (fma.f64 -1 (*.f64 (/.f64 (cos.f64 y) z) (/.f64 (*.f64 x (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 4)) (sin.f64 y))) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 4)))))
(fma.f64 2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 2) z) (/.f64 (fma.f64 2 (*.f64 (/.f64 (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2))) (pow.f64 (sin.f64 y) 2)) (*.f64 -3/32 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 2))) (/.f64 (*.f64 (*.f64 1/16 (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2)))) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 2)) (pow.f64 (sin.f64 y) 2))) z)) (fma.f64 1/4 (*.f64 (/.f64 (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2))) (pow.f64 (sin.f64 y) 2)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 4) (*.f64 z z))) (-.f64 (-.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 4) (*.f64 (/.f64 (cos.f64 y) z) (/.f64 x (/.f64 (sin.f64 y) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 4))))) (/.f64 (fma.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 2) (fma.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 2) (*.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (sin.f64 y) 3)) (pow.f64 x 3)) 7/128)) (/.f64 1/2 (/.f64 (sin.f64 y) (*.f64 (*.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2))) (pow.f64 (sin.f64 y) 2)) (*.f64 -3/32 (cos.f64 y))) x) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 2)))))) (/.f64 (fma.f64 2 (*.f64 (/.f64 (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2))) (pow.f64 (sin.f64 y) 2)) (*.f64 -3/32 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 2))) (/.f64 (*.f64 (*.f64 1/16 (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2)))) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 2)) (pow.f64 (sin.f64 y) 2))) (/.f64 (sin.f64 y) (*.f64 x (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 2) (cos.f64 y)))))) (pow.f64 z 3)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) (*.f64 (cos.f64 y) x)) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y)))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 -1) (*.f64 (*.f64 (cos.f64 y) x) (sqrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y)))))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (*.f64 (*.f64 -1/2 (sqrt.f64 -1)) (*.f64 (cos.f64 y) x)) (sqrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y)))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) (*.f64 (cos.f64 y) x)) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y)))) (*.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (*.f64 1/32 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))))) (sqrt.f64 (*.f64 z (sin.f64 y))))) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 -1) (pow.f64 (cos.f64 y) 2)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))))) (pow.f64 x 2))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 -1) (*.f64 (*.f64 (cos.f64 y) x) (sqrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y))))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (fma.f64 2 (*.f64 (sqrt.f64 -1) (*.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))) -3/32) (sqrt.f64 (*.f64 z (sin.f64 y))))) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 -1) (pow.f64 (cos.f64 y) 2)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))))) (*.f64 x x))))
(fma.f64 -1/2 (*.f64 (*.f64 (cos.f64 y) x) (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y))))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (fma.f64 (*.f64 2 (*.f64 (/.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) (*.f64 -3/32 (sqrt.f64 -1)))) (sqrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 z 3)) (pow.f64 (sin.f64 y) 3))) (*.f64 (*.f64 (sqrt.f64 -1) (pow.f64 (cos.f64 y) 2)) 1/16))) (*.f64 x x))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) (*.f64 (cos.f64 y) x)) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y)))) (+.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1) (+.f64 (*.f64 -1/12 (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))) (+.f64 (*.f64 -1/384 (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))) (*.f64 1/32 (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))))) (sqrt.f64 (*.f64 z (sin.f64 y))))) (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (*.f64 1/32 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))) (*.f64 (sqrt.f64 -1) (cos.f64 y))) (sqrt.f64 (/.f64 1 (*.f64 z (sin.f64 y))))))) (pow.f64 x 3)) (*.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (*.f64 1/32 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))))) (sqrt.f64 (*.f64 z (sin.f64 y))))) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 -1) (pow.f64 (cos.f64 y) 2)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))))) (pow.f64 x 2)))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 -1) (*.f64 (*.f64 (cos.f64 y) x) (sqrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y))))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))) (fma.f64 (fma.f64 2 (*.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (sqrt.f64 -1) (fma.f64 -1/12 (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) 11/384)))) (*.f64 -1/2 (*.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))) -3/32) (*.f64 (*.f64 (sqrt.f64 -1) (cos.f64 y)) (sqrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y))))))) (pow.f64 x 3) (*.f64 (fma.f64 2 (*.f64 (sqrt.f64 -1) (*.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))) -3/32) (sqrt.f64 (*.f64 z (sin.f64 y))))) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 -1) (pow.f64 (cos.f64 y) 2)) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))))) (*.f64 x x)))))
(fma.f64 -1/2 (*.f64 (*.f64 (cos.f64 y) x) (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y))))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))) (fma.f64 (pow.f64 x 3) (fma.f64 2 (*.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) -7/128) (*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 z (sin.f64 y))))) (*.f64 (sqrt.f64 -1) (*.f64 (*.f64 (*.f64 (/.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) (*.f64 -3/32 (cos.f64 y))) (sqrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y)))) -1/2))) (*.f64 (fma.f64 (*.f64 2 (*.f64 (/.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) (*.f64 -3/32 (sqrt.f64 -1)))) (sqrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 z 3)) (pow.f64 (sin.f64 y) 3))) (*.f64 (*.f64 (sqrt.f64 -1) (pow.f64 (cos.f64 y) 2)) 1/16))) (*.f64 x x)))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 2)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2))
(fma.f64 -1/2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 2) (/.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 2))
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 2) x)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 2))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2)) (pow.f64 x 2))))))
(+.f64 (fma.f64 -1/2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 2) (/.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 2)) (fma.f64 2 (/.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 2) (*.f64 (/.f64 (*.f64 z z) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (sin.f64 y) 2))) -3/32)) (*.f64 x x)) (*.f64 1/16 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 2) (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))))))
(+.f64 (fma.f64 -1/2 (*.f64 (/.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 2) x)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 2)) (fma.f64 1/16 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 2) (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z z)) (/.f64 (*.f64 x x) (pow.f64 (sin.f64 y) 2)))) (*.f64 (/.f64 2 x) (/.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 2) (/.f64 (*.f64 (*.f64 z z) -3/32) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (sin.f64 y) 2)))) x))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2)))) (*.f64 z (sin.f64 y)))) (*.f64 (cos.f64 y) (pow.f64 x 3)))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (pow.f64 (cos.f64 y) 3))) (+.f64 (*.f64 -1/12 (/.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (pow.f64 (cos.f64 y) 3))) (*.f64 -1/384 (/.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (pow.f64 (cos.f64 y) 3))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2)) (pow.f64 x 3))) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2)) (pow.f64 x 2))) (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (cos.f64 y))))) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))))))))
(fma.f64 -1/2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 2) (/.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))) (fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 2) (cos.f64 y)) (/.f64 (*.f64 (*.f64 z (sin.f64 y)) (*.f64 (/.f64 (*.f64 z z) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (sin.f64 y) 2))) -3/32)) (pow.f64 x 3))) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 2) (fma.f64 2 (/.f64 (fma.f64 1/32 (/.f64 (pow.f64 z 3) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (sin.f64 y) 3))) (*.f64 (/.f64 (pow.f64 z 3) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (sin.f64 y) 3))) -11/128)) (/.f64 (pow.f64 x 3) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 2))) (fma.f64 2 (/.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 2) (*.f64 (/.f64 (*.f64 z z) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (sin.f64 y) 2))) -3/32)) (*.f64 x x)) (*.f64 1/16 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 x)) (log.f64 (cos.f64 y)))) 2) (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))))))))))
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 2) x)) (+.f64 (fma.f64 -1/2 (*.f64 (/.f64 (*.f64 z (*.f64 (sin.f64 y) (/.f64 (*.f64 (*.f64 z z) -3/32) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (sin.f64 y) 2))))) (cos.f64 y)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 2) (pow.f64 x 3))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 2)) (fma.f64 2 (*.f64 (/.f64 (*.f64 (*.f64 (/.f64 (pow.f64 z 3) (pow.f64 (cos.f64 y) 3)) (pow.f64 (sin.f64 y) 3)) -7/128) (pow.f64 x 3)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 2)) (fma.f64 1/16 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 2) (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z z)) (/.f64 (*.f64 x x) (pow.f64 (sin.f64 y) 2)))) (*.f64 (/.f64 2 x) (/.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 x) (log.f64 (cos.f64 y)))) 2) (/.f64 (*.f64 (*.f64 z z) -3/32) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (sin.f64 y) 2)))) x))))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 2)
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2) (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2) (cos.f64 y)) (/.f64 (*.f64 z (sin.f64 y)) x))))
(fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 2) (cos.f64 y)) (/.f64 z (/.f64 x (sin.f64 y)))) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 2))
(+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2)) (pow.f64 x 2))) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))))))
(fma.f64 2 (/.f64 (*.f64 (/.f64 (*.f64 z z) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (sin.f64 y) 2))) -3/32) (/.f64 (*.f64 x x) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2))) (fma.f64 1/16 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2) (pow.f64 (cos.f64 y) 2)) (/.f64 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)) (*.f64 x x))) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2) (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2) (cos.f64 y)) (/.f64 (*.f64 z (sin.f64 y)) x))))))
(fma.f64 2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 2) x) (/.f64 (/.f64 (*.f64 (*.f64 z z) -3/32) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (sin.f64 y) 2))) x)) (fma.f64 1/16 (*.f64 (*.f64 (/.f64 (*.f64 z z) (pow.f64 (cos.f64 y) 2)) (pow.f64 (sin.f64 y) 2)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 2) (*.f64 x x))) (fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 2) (cos.f64 y)) (/.f64 z (/.f64 x (sin.f64 y)))) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 2))))
(+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2)) (pow.f64 x 2))) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))) (*.f64 -1 (/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/384 (/.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (pow.f64 (cos.f64 y) 3))) (+.f64 (*.f64 1/12 (/.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (pow.f64 (cos.f64 y) 3))) (*.f64 -1/32 (/.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (pow.f64 (cos.f64 y) 3))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2))) (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)) (pow.f64 (cos.f64 y) 2)))) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (cos.f64 y))) (*.f64 -1 (log.f64 (/.f64 -1 x)))))) 2) (*.f64 z (sin.f64 y)))) (cos.f64 y)))) (pow.f64 x 3)))))))
(fma.f64 2 (/.f64 (*.f64 (/.f64 (*.f64 z z) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (sin.f64 y) 2))) -3/32) (/.f64 (*.f64 x x) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2))) (fma.f64 1/16 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2) (pow.f64 (cos.f64 y) 2)) (/.f64 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)) (*.f64 x x))) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2) (fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2) (cos.f64 y)) (/.f64 (*.f64 z (sin.f64 y)) x)) (neg.f64 (/.f64 (fma.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2) (fma.f64 1/384 (/.f64 (pow.f64 z 3) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (sin.f64 y) 3))) (*.f64 (/.f64 (pow.f64 z 3) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (sin.f64 y) 3))) 5/96))) (*.f64 1/2 (/.f64 (*.f64 (/.f64 (*.f64 z z) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (sin.f64 y) 2))) -3/32) (/.f64 (cos.f64 y) (*.f64 (*.f64 z (sin.f64 y)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (neg.f64 (cos.f64 y))) (neg.f64 (log.f64 (/.f64 -1 x))))) 2)))))) (pow.f64 x 3)))))))
(fma.f64 2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 2) x) (/.f64 (/.f64 (*.f64 (*.f64 z z) -3/32) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (sin.f64 y) 2))) x)) (fma.f64 1/16 (*.f64 (*.f64 (/.f64 (*.f64 z z) (pow.f64 (cos.f64 y) 2)) (pow.f64 (sin.f64 y) 2)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 2) (*.f64 x x))) (-.f64 (fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 2) (cos.f64 y)) (/.f64 z (/.f64 x (sin.f64 y)))) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 2)) (/.f64 (fma.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 2) (*.f64 (*.f64 (/.f64 (pow.f64 z 3) (pow.f64 (cos.f64 y) 3)) (pow.f64 (sin.f64 y) 3)) 7/128)) (/.f64 1/2 (/.f64 (cos.f64 y) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (cos.f64 y))) (log.f64 (/.f64 -1 x)))) 2) (*.f64 z (*.f64 (sin.f64 y) (/.f64 (*.f64 (*.f64 z z) -3/32) (/.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (sin.f64 y) 2))))))))) (pow.f64 x 3)))))
(sqrt.f64 x)
(+.f64 (sqrt.f64 x) (*.f64 -1/2 (*.f64 (*.f64 y z) (sqrt.f64 (/.f64 1 x)))))
(+.f64 (sqrt.f64 x) (*.f64 -1/2 (*.f64 (*.f64 z y) (sqrt.f64 (/.f64 1 x)))))
(fma.f64 (*.f64 (*.f64 -1/2 z) y) (sqrt.f64 (/.f64 1 x)) (sqrt.f64 x))
(+.f64 (*.f64 (pow.f64 y 2) (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) (*.f64 1/8 (-.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) 1))) (sqrt.f64 x))) (*.f64 1/16 (*.f64 (pow.f64 z 2) (sqrt.f64 (/.f64 1 (pow.f64 x 3))))))) (+.f64 (sqrt.f64 x) (*.f64 -1/2 (*.f64 (*.f64 y z) (sqrt.f64 (/.f64 1 x))))))
(fma.f64 (*.f64 y y) (fma.f64 2 (*.f64 (sqrt.f64 x) (fma.f64 1/32 (/.f64 (*.f64 z z) (*.f64 x x)) (*.f64 1/8 (fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 x x)) -1)))) (*.f64 1/16 (*.f64 (*.f64 z z) (sqrt.f64 (/.f64 1 (pow.f64 x 3)))))) (+.f64 (sqrt.f64 x) (*.f64 -1/2 (*.f64 (*.f64 z y) (sqrt.f64 (/.f64 1 x))))))
(fma.f64 (*.f64 y y) (fma.f64 2 (*.f64 (sqrt.f64 x) (fma.f64 1/8 (fma.f64 -1 (*.f64 (/.f64 z x) (/.f64 z x)) -1) (/.f64 (/.f64 (*.f64 1/32 (*.f64 z z)) x) x))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 x 3))) (*.f64 (*.f64 z z) 1/16))) (fma.f64 (*.f64 (*.f64 -1/2 z) y) (sqrt.f64 (/.f64 1 x)) (sqrt.f64 x)))
(+.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/384 (/.f64 (pow.f64 z 3) (pow.f64 x 3))) (+.f64 (*.f64 1/24 (+.f64 (*.f64 -3 (/.f64 z x)) (+.f64 (/.f64 z x) (*.f64 -2 (/.f64 (pow.f64 z 3) (pow.f64 x 3)))))) (*.f64 -1/32 (/.f64 (*.f64 (-.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) 1) z) x)))) (sqrt.f64 x))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 z (+.f64 (*.f64 1/32 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) (*.f64 1/8 (-.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) 1)))) (sqrt.f64 (/.f64 1 x)))) (*.f64 -1/4 (*.f64 (*.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) (*.f64 1/8 (-.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) 1))) z) (sqrt.f64 (/.f64 1 x)))))) (pow.f64 y 3)) (+.f64 (*.f64 (pow.f64 y 2) (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) (*.f64 1/8 (-.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 x 2))) 1))) (sqrt.f64 x))) (*.f64 1/16 (*.f64 (pow.f64 z 2) (sqrt.f64 (/.f64 1 (pow.f64 x 3))))))) (+.f64 (sqrt.f64 x) (*.f64 -1/2 (*.f64 (*.f64 y z) (sqrt.f64 (/.f64 1 x)))))))
(fma.f64 (fma.f64 2 (*.f64 (sqrt.f64 x) (fma.f64 -1/384 (/.f64 (pow.f64 z 3) (pow.f64 x 3)) (fma.f64 1/24 (fma.f64 -3 (/.f64 z x) (+.f64 (/.f64 z x) (*.f64 (/.f64 (pow.f64 z 3) (pow.f64 x 3)) -2))) (*.f64 -1/32 (/.f64 (fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 x x)) -1) (/.f64 x z)))))) (*.f64 -1/4 (+.f64 (*.f64 (fma.f64 1/32 (/.f64 (*.f64 z z) (*.f64 x x)) (*.f64 1/8 (fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 x x)) -1))) (*.f64 z (sqrt.f64 (/.f64 1 x)))) (*.f64 (fma.f64 1/32 (/.f64 (*.f64 z z) (*.f64 x x)) (*.f64 1/8 (fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 x x)) -1))) (*.f64 z (sqrt.f64 (/.f64 1 x))))))) (pow.f64 y 3) (fma.f64 (*.f64 y y) (fma.f64 2 (*.f64 (sqrt.f64 x) (fma.f64 1/32 (/.f64 (*.f64 z z) (*.f64 x x)) (*.f64 1/8 (fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 x x)) -1)))) (*.f64 1/16 (*.f64 (*.f64 z z) (sqrt.f64 (/.f64 1 (pow.f64 x 3)))))) (+.f64 (sqrt.f64 x) (*.f64 -1/2 (*.f64 (*.f64 z y) (sqrt.f64 (/.f64 1 x)))))))
(fma.f64 (pow.f64 y 3) (fma.f64 2 (*.f64 (sqrt.f64 x) (fma.f64 -1/384 (/.f64 (pow.f64 z 3) (pow.f64 x 3)) (fma.f64 1/24 (+.f64 (*.f64 -2 (/.f64 z x)) (*.f64 (/.f64 (pow.f64 z 3) (pow.f64 x 3)) -2)) (/.f64 (*.f64 (fma.f64 -1 (*.f64 (/.f64 z x) (/.f64 z x)) -1) -1/32) (/.f64 x z))))) (*.f64 (*.f64 z (*.f64 (fma.f64 1/8 (fma.f64 -1 (*.f64 (/.f64 z x) (/.f64 z x)) -1) (/.f64 (/.f64 (*.f64 1/32 (*.f64 z z)) x) x)) (sqrt.f64 (/.f64 1 x)))) -1/2)) (fma.f64 (*.f64 y y) (fma.f64 2 (*.f64 (sqrt.f64 x) (fma.f64 1/8 (fma.f64 -1 (*.f64 (/.f64 z x) (/.f64 z x)) -1) (/.f64 (/.f64 (*.f64 1/32 (*.f64 z z)) x) x))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 x 3))) (*.f64 (*.f64 z z) 1/16))) (fma.f64 (*.f64 (*.f64 -1/2 z) y) (sqrt.f64 (/.f64 1 x)) (sqrt.f64 x))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y)))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y)))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y)))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y)))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y)))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y)))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y)))))
(sqrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y)))))
(sqrt.f64 (*.f64 (cos.f64 y) x))
(+.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (*.f64 -1/2 (*.f64 (*.f64 z (sin.f64 y)) (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x))))))
(fma.f64 (*.f64 -1/2 (*.f64 z (sin.f64 y))) (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x))) (sqrt.f64 (*.f64 (cos.f64 y) x)))
(+.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (*.f64 1/32 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))) (sqrt.f64 (*.f64 (cos.f64 y) x)))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))) (pow.f64 (sin.f64 y) 2)))) (pow.f64 z 2)) (*.f64 -1/2 (*.f64 (*.f64 z (sin.f64 y)) (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x)))))))
(+.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (fma.f64 (fma.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (*.f64 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) -3/32)) (*.f64 1/16 (*.f64 (pow.f64 (sin.f64 y) 2) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (cos.f64 y) 3))))))) (*.f64 z z) (*.f64 -1/2 (*.f64 (*.f64 z (sin.f64 y)) (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x)))))))
(+.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (fma.f64 (*.f64 z z) (fma.f64 2 (*.f64 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2)))) (*.f64 -3/32 (sqrt.f64 (*.f64 (cos.f64 y) x)))) (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 x 3)) (pow.f64 (cos.f64 y) 3))) 1/16))) (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x))) (*.f64 (*.f64 z (sin.f64 y)) -1/2))))
(+.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (*.f64 1/32 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))) (sqrt.f64 (*.f64 (cos.f64 y) x)))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))) (pow.f64 (sin.f64 y) 2)))) (pow.f64 z 2)) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 z (sin.f64 y)) (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x))))) (*.f64 (pow.f64 z 3) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 -1/384 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))) (*.f64 -1/12 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))))))) (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))) (*.f64 1/32 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))) (sin.f64 y)) (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x))))))))))
(+.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (fma.f64 (fma.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (*.f64 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) -3/32)) (*.f64 1/16 (*.f64 (pow.f64 (sin.f64 y) 2) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (cos.f64 y) 3))))))) (*.f64 z z) (fma.f64 -1/2 (*.f64 (*.f64 z (sin.f64 y)) (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x)))) (*.f64 (pow.f64 z 3) (fma.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (fma.f64 -1/384 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (pow.f64 x 3) (pow.f64 (cos.f64 y) 3))) (*.f64 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (pow.f64 x 3) (pow.f64 (cos.f64 y) 3))) -5/96))) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x))) (*.f64 (sin.f64 y) (*.f64 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) -3/32)))))))))
(+.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (fma.f64 (*.f64 z z) (fma.f64 2 (*.f64 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2)))) (*.f64 -3/32 (sqrt.f64 (*.f64 (cos.f64 y) x)))) (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (sqrt.f64 (/.f64 (/.f64 1 (pow.f64 x 3)) (pow.f64 (cos.f64 y) 3))) 1/16))) (fma.f64 (pow.f64 z 3) (fma.f64 2 (*.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) (*.f64 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (pow.f64 x 3) (pow.f64 (cos.f64 y) 3))) -7/128)) (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x))) (*.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2)))) (*.f64 -3/32 (sin.f64 y))) -1/2))) (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x))) (*.f64 (*.f64 z (sin.f64 y)) -1/2)))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 2)
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2) (*.f64 -1/2 (/.f64 (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2))) (*.f64 z (sin.f64 y)))))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2) (*.f64 -1/2 (*.f64 (/.f64 (cos.f64 y) z) (/.f64 (*.f64 x (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2)) (sin.f64 y)))))
(fma.f64 -1/2 (*.f64 (/.f64 (cos.f64 y) z) (/.f64 x (/.f64 (sin.f64 y) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 2)))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 2))
(+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2) (pow.f64 x 2))) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2))) (*.f64 z (sin.f64 y)))) (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2)) (pow.f64 z 2))))))
(fma.f64 1/16 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z z)) (/.f64 (*.f64 (*.f64 x x) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2)) (pow.f64 (sin.f64 y) 2))) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2) (fma.f64 -1/2 (*.f64 (/.f64 (cos.f64 y) z) (/.f64 (*.f64 x (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2)) (sin.f64 y))) (*.f64 2 (/.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x x))) -3/32) (/.f64 (*.f64 z z) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2)))))))
(+.f64 (fma.f64 1/16 (*.f64 (/.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) (*.f64 x (*.f64 x (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 2)))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 2)) (fma.f64 2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 2) z) (/.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2))) (pow.f64 (sin.f64 y) 2)) -3/32) z)) (*.f64 (/.f64 -1/2 z) (/.f64 (*.f64 x (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 2)) (/.f64 (sin.f64 y) (cos.f64 y))))))
(+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2) (pow.f64 x 2))) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2))) (*.f64 z (sin.f64 y)))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2)))) (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2)))) (*.f64 (pow.f64 z 3) (sin.f64 y)))) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/12 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (pow.f64 (sin.f64 y) 3))) (+.f64 (*.f64 -1/384 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (pow.f64 (sin.f64 y) 3))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (pow.f64 (sin.f64 y) 3))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2)) (pow.f64 z 3))) (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (neg.f64 (sin.f64 y)))))) 2)) (pow.f64 z 2))))))))
(fma.f64 1/16 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z z)) (/.f64 (*.f64 (*.f64 x x) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2)) (pow.f64 (sin.f64 y) 2))) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2) (fma.f64 -1/2 (*.f64 (/.f64 (cos.f64 y) z) (/.f64 (*.f64 x (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2)) (sin.f64 y))) (fma.f64 -1/2 (/.f64 (*.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x x))) -3/32) (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2)))) (*.f64 (sin.f64 y) (pow.f64 z 3))) (*.f64 2 (+.f64 (/.f64 (fma.f64 -1/12 (/.f64 (*.f64 (pow.f64 x 3) (pow.f64 (cos.f64 y) 3)) (pow.f64 (sin.f64 y) 3)) (*.f64 (/.f64 (*.f64 (pow.f64 x 3) (pow.f64 (cos.f64 y) 3)) (pow.f64 (sin.f64 y) 3)) 11/384)) (/.f64 (pow.f64 z 3) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2))) (/.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x x))) -3/32) (/.f64 (*.f64 z z) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2)))))))))
(+.f64 (fma.f64 1/16 (*.f64 (/.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) (*.f64 x (*.f64 x (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 2)))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 2)) (fma.f64 -1/2 (*.f64 (/.f64 (cos.f64 y) z) (/.f64 x (/.f64 (sin.f64 y) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 2)))) (fma.f64 2 (+.f64 (*.f64 (/.f64 (*.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (sin.f64 y) 3)) (pow.f64 x 3)) -7/128) (pow.f64 z 3)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 2)) (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 2) z) (/.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2))) (pow.f64 (sin.f64 y) 2)) -3/32) z))) (*.f64 -1/2 (/.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2))) (pow.f64 (sin.f64 y) 2)) (*.f64 -3/32 (cos.f64 y))) (/.f64 (*.f64 (sin.f64 y) (pow.f64 z 3)) (*.f64 x (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (neg.f64 (sin.f64 y))))) 2))))))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 2)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2) (*.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2))
(fma.f64 -1/2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 2) (/.f64 (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 2))
(fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 2) z) (/.f64 (cos.f64 y) (/.f64 (sin.f64 y) x))) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 2))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2) (*.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2)) (pow.f64 z 2))) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2))))
(fma.f64 -1/2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 2) (/.f64 (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))) (fma.f64 2 (/.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x x))) -3/32) (/.f64 (*.f64 z z) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 2))) (fma.f64 1/16 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 2) (*.f64 z z)) (/.f64 (pow.f64 (cos.f64 y) 2) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x x)))) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 2))))
(fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 2) z) (/.f64 (cos.f64 y) (/.f64 (sin.f64 y) x))) (fma.f64 2 (/.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2))) (pow.f64 (sin.f64 y) 2)) -3/32) (/.f64 z (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 2) z))) (fma.f64 1/16 (*.f64 (/.f64 (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2))) (pow.f64 (sin.f64 y) 2)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 2) (*.f64 z z))) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 2))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2) (*.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2)) (pow.f64 z 2))) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2) (*.f64 -1 (/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (pow.f64 (sin.f64 y) 3))) (+.f64 (*.f64 -1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (pow.f64 (sin.f64 y) 3))) (*.f64 1/384 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (pow.f64 (sin.f64 y) 3))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2))) (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2))) (*.f64 1/32 (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) (pow.f64 (sin.f64 y) 2)))) (*.f64 (cos.f64 y) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (neg.f64 (*.f64 -1 (sin.f64 y))))))) 2) x))) (sin.f64 y)))) (pow.f64 z 3)))))))
(fma.f64 -1/2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 2) (/.f64 (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))) (fma.f64 2 (/.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x x))) -3/32) (/.f64 (*.f64 z z) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 2))) (+.f64 (fma.f64 1/16 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 2) (*.f64 z z)) (/.f64 (pow.f64 (cos.f64 y) 2) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x x)))) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 2)) (neg.f64 (/.f64 (fma.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 2) (fma.f64 1/12 (/.f64 (*.f64 (pow.f64 x 3) (pow.f64 (cos.f64 y) 3)) (pow.f64 (sin.f64 y) 3)) (*.f64 (/.f64 (*.f64 (pow.f64 x 3) (pow.f64 (cos.f64 y) 3)) (pow.f64 (sin.f64 y) 3)) -11/384))) (*.f64 1/2 (/.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 2) (/.f64 (pow.f64 (sin.f64 y) 2) (*.f64 x x))) -3/32) (/.f64 (sin.f64 y) (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (*.f64 1 (sin.f64 y))))) 2))))))) (pow.f64 z 3))))))
(fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 2) z) (/.f64 (cos.f64 y) (/.f64 (sin.f64 y) x))) (fma.f64 2 (/.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2))) (pow.f64 (sin.f64 y) 2)) -3/32) (/.f64 z (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 2) z))) (-.f64 (fma.f64 1/16 (*.f64 (/.f64 (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2))) (pow.f64 (sin.f64 y) 2)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 2) (*.f64 z z))) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 2)) (/.f64 (fma.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 2) (*.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (sin.f64 y) 3)) (pow.f64 x 3)) 7/128)) (/.f64 1/2 (/.f64 (sin.f64 y) (*.f64 (*.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x (pow.f64 (cos.f64 y) 2))) (pow.f64 (sin.f64 y) 2)) (*.f64 -3/32 (cos.f64 y))) x) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (sin.f64 y)) (log.f64 (/.f64 -1 z)))) 2))))) (pow.f64 z 3)))))

eval693.0ms (7.4%)

Compiler

Compiled 26485 to 12276 computations (53.6% saved)

prune141.0ms (1.5%)

Pruning

27 alts after pruning (20 fresh and 7 done)

PrunedKeptTotal
New76811779
Fresh6915
Picked101
Done3710
Total77827805
Error
0b
Counts
805 → 27
Alt Table
Click to see full alt table
StatusErrorProgram
35.2b
(pow.f64 (sqrt.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 3) (*.f64 z (sin.f64 y)))) 2)
0.4b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))
47.0b
(exp.f64 (log.f64 (*.f64 x (cos.f64 y))))
13.9b
(+.f64 x (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3))))
37.8b
x
52.6b
(pow.f64 (sqrt.f64 (*.f64 z (neg.f64 (sin.f64 y)))) 2)
34.2b
(/.f64 1 (/.f64 (+.f64 x (*.f64 z (sin.f64 y))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (sin.f64 y)) 2))))
46.0b
(-.f64 (+.f64 1 (+.f64 (*.f64 y z) x)) 1)
45.1b
(pow.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 y z)) 1/4) 2) 2)
54.2b
(*.f64 y (neg.f64 z))
44.2b
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y (neg.f64 z)) (*.f64 y (neg.f64 z)))) (-.f64 x (*.f64 y (neg.f64 z))))
32.0b
(+.f64 x (*.f64 y (-.f64 (*.f64 x (*.f64 y -1/2)) z)))
1.4b
(fma.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 3) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
45.6b
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) 2)
27.2b
(+.f64 (*.f64 x (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))))
30.7b
(-.f64 x (*.f64 y z))
14.4b
(fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))
0.1b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
34.9b
(*.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4))
24.8b
(*.f64 x (cos.f64 y))
0.6b
(+.f64 (*.f64 x (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cbrt.f64 z) (*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2))))))
37.7b
(*.f64 z (neg.f64 (sin.f64 y)))
39.1b
(*.f64 (+.f64 (*.f64 y z) x) 1)
13.5b
(+.f64 x (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))
33.2b
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))
30.7b
(fma.f64 y (neg.f64 z) x)
13.9b
(-.f64 x (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3))
Compiler

Compiled 409 to 258 computations (36.9% saved)

regimes63.0ms (0.7%)

Counts
27 → 1
Calls
Call 1
Inputs
x
(*.f64 y (neg.f64 z))
(-.f64 x (*.f64 y z))
(*.f64 (+.f64 (*.f64 y z) x) 1)
(-.f64 (+.f64 1 (+.f64 (*.f64 y z) x)) 1)
(+.f64 x (*.f64 y (-.f64 (*.f64 x (*.f64 y -1/2)) z)))
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y (neg.f64 z)) (*.f64 y (neg.f64 z)))) (-.f64 x (*.f64 y (neg.f64 z))))
(*.f64 x (cos.f64 y))
(fma.f64 y (neg.f64 z) x)
(*.f64 z (neg.f64 (sin.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(exp.f64 (log.f64 (*.f64 x (cos.f64 y))))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) 2)
(pow.f64 (sqrt.f64 (*.f64 z (neg.f64 (sin.f64 y)))) 2)
(-.f64 x (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3))
(/.f64 1 (/.f64 (+.f64 x (*.f64 z (sin.f64 y))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (sin.f64 y)) 2))))
(pow.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 y z)) 1/4) 2) 2)
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))
(+.f64 x (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))
(fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))
(pow.f64 (sqrt.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 3) (*.f64 z (sin.f64 y)))) 2)
(*.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/4) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/4))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))
(+.f64 x (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3))))
(fma.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 3) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
(+.f64 (*.f64 x (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))))
(+.f64 (*.f64 x (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cbrt.f64 z) (*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2))))))
Outputs
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
Calls

4 calls:

14.0ms
x
14.0ms
y
13.0ms
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
13.0ms
z
Results
ErrorSegmentsBranch
0.1b1x
0.1b1y
0.1b1z
0.1b1(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
Compiler

Compiled 355 to 132 computations (62.8% saved)

regimes109.0ms (1.2%)

Counts
10 → 5
Calls
Call 1
Inputs
x
(*.f64 y (neg.f64 z))
(-.f64 x (*.f64 y z))
(*.f64 (+.f64 (*.f64 y z) x) 1)
(-.f64 (+.f64 1 (+.f64 (*.f64 y z) x)) 1)
(+.f64 x (*.f64 y (-.f64 (*.f64 x (*.f64 y -1/2)) z)))
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y (neg.f64 z)) (*.f64 y (neg.f64 z)))) (-.f64 x (*.f64 y (neg.f64 z))))
(*.f64 x (cos.f64 y))
(fma.f64 y (neg.f64 z) x)
(*.f64 z (neg.f64 (sin.f64 y)))
Outputs
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 x (*.f64 y (-.f64 (*.f64 x (*.f64 y -1/2)) z)))
(*.f64 x (cos.f64 y))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 x (cos.f64 y))
Calls

3 calls:

41.0ms
z
38.0ms
x
28.0ms
y
Results
ErrorSegmentsBranch
12.4b7x
11.1b5y
12.2b7z
Compiler

Compiled 86 to 40 computations (53.5% saved)

bsearch300.0ms (3.2%)

Algorithm
binary-search
Steps
TimeLeftRight
116.0ms
4.3070129533503156e+273
6.726982212474957e+274
110.0ms
1.869434613823888e+154
3.7207288477357165e+161
34.0ms
1.5402447850575905e-7
0.011147630301063862
39.0ms
-901.760773367421
-1.0491666815934236e-10
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes53.0ms (0.6%)

Counts
9 → 3
Calls
Call 1
Inputs
x
(*.f64 y (neg.f64 z))
(-.f64 x (*.f64 y z))
(*.f64 (+.f64 (*.f64 y z) x) 1)
(-.f64 (+.f64 1 (+.f64 (*.f64 y z) x)) 1)
(+.f64 x (*.f64 y (-.f64 (*.f64 x (*.f64 y -1/2)) z)))
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y (neg.f64 z)) (*.f64 y (neg.f64 z)))) (-.f64 x (*.f64 y (neg.f64 z))))
(*.f64 x (cos.f64 y))
(fma.f64 y (neg.f64 z) x)
Outputs
(*.f64 x (cos.f64 y))
(+.f64 x (*.f64 y (-.f64 (*.f64 x (*.f64 y -1/2)) z)))
(*.f64 x (cos.f64 y))
Calls

3 calls:

21.0ms
x
15.0ms
z
15.0ms
y
Results
ErrorSegmentsBranch
20.4b3x
16.6b3y
19.9b3z
Compiler

Compiled 81 to 37 computations (54.3% saved)

bsearch71.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
35.0ms
1.5402447850575905e-7
0.011147630301063862
36.0ms
-901.760773367421
-1.0491666815934236e-10
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes17.0ms (0.2%)

Counts
7 → 1
Calls
Call 1
Inputs
x
(*.f64 y (neg.f64 z))
(-.f64 x (*.f64 y z))
(*.f64 (+.f64 (*.f64 y z) x) 1)
(-.f64 (+.f64 1 (+.f64 (*.f64 y z) x)) 1)
(+.f64 x (*.f64 y (-.f64 (*.f64 x (*.f64 y -1/2)) z)))
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y (neg.f64 z)) (*.f64 y (neg.f64 z)))) (-.f64 x (*.f64 y (neg.f64 z))))
Outputs
(-.f64 x (*.f64 y z))
Calls

3 calls:

5.0ms
y
5.0ms
z
5.0ms
x
Results
ErrorSegmentsBranch
30.7b1x
30.7b1y
30.7b1z
Compiler

Compiled 72 to 34 computations (52.8% saved)

regimes21.0ms (0.2%)

Accuracy

Total -27.6b remaining (-79.3%)

Threshold costs -27.6b (-79.3%)

Counts
2 → 3
Calls
Call 1
Inputs
x
(*.f64 y (neg.f64 z))
Outputs
(*.f64 y (neg.f64 z))
x
(*.f64 y (neg.f64 z))
Calls

3 calls:

9.0ms
x
8.0ms
z
3.0ms
y
Results
ErrorSegmentsBranch
36.0b3x
37.8b1y
34.8b3z
Compiler

Compiled 20 to 14 computations (30% saved)

bsearch118.0ms (1.3%)

Algorithm
binary-search
Steps
TimeLeftRight
59.0ms
1.7624802837630254e+193
2.1524971661486087e+194
60.0ms
-3.0050395976929094e+221
-2.2721934532230194e+217
Compiler

Compiled 18 to 13 computations (27.8% saved)

simplify6.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
042155
169155
284155
392155
495155
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(if (<=.f64 y -3965985823159031/4398046511104) (*.f64 z (neg.f64 (sin.f64 y))) (if (<=.f64 y 5818880278696581/37778931862957161709568) (+.f64 x (*.f64 y (-.f64 (*.f64 x (*.f64 y -1/2)) z))) (if (<=.f64 y 18694346138238879340934212925585052720348448789933090708397961159278267011422239674140142527870914863913320234254924235449793567340246621135185732438065152) (*.f64 x (cos.f64 y)) (if (<=.f64 y 4307012953350315637294838890231070831241840786755581122205357088666162343031327218515743254468591111320154629132960825407992631055868021754996427417861056088460855606075817192332058703003321461317060159449918084345037056710222368954037272282001648585441926317084505895075840) (*.f64 z (neg.f64 (sin.f64 y))) (*.f64 x (cos.f64 y))))))
(if (<=.f64 y -3965985823159031/4398046511104) (*.f64 x (cos.f64 y)) (if (<=.f64 y 5818880278696581/37778931862957161709568) (+.f64 x (*.f64 y (-.f64 (*.f64 x (*.f64 y -1/2)) z))) (*.f64 x (cos.f64 y))))
(-.f64 x (*.f64 y z))
(if (<=.f64 z -300503959769290938717398314506711743715179909553366775164131050072164125601658119830288431892741439694588735974944504830345432042646574058244269232339717879602467322990115354465133709353282650240424634572932368843631755264) (*.f64 y (neg.f64 z)) (if (<=.f64 z 17624802837630254051780781360388149395679206328209013519984195560738516750806735796878664427157076184910852784080420052317957177043604134406446341886396442617677821367526107660276557195121786880) x (*.f64 y (neg.f64 z))))
x
Outputs
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(if (<=.f64 y -3965985823159031/4398046511104) (*.f64 z (neg.f64 (sin.f64 y))) (if (<=.f64 y 5818880278696581/37778931862957161709568) (+.f64 x (*.f64 y (-.f64 (*.f64 x (*.f64 y -1/2)) z))) (if (<=.f64 y 18694346138238879340934212925585052720348448789933090708397961159278267011422239674140142527870914863913320234254924235449793567340246621135185732438065152) (*.f64 x (cos.f64 y)) (if (<=.f64 y 4307012953350315637294838890231070831241840786755581122205357088666162343031327218515743254468591111320154629132960825407992631055868021754996427417861056088460855606075817192332058703003321461317060159449918084345037056710222368954037272282001648585441926317084505895075840) (*.f64 z (neg.f64 (sin.f64 y))) (*.f64 x (cos.f64 y))))))
(if (<=.f64 y -3965985823159031/4398046511104) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 y 5818880278696581/37778931862957161709568) (+.f64 x (*.f64 y (-.f64 (*.f64 x (*.f64 y -1/2)) z))) (if (<=.f64 y 18694346138238879340934212925585052720348448789933090708397961159278267011422239674140142527870914863913320234254924235449793567340246621135185732438065152) (*.f64 x (cos.f64 y)) (if (<=.f64 y 4307012953350315637294838890231070831241840786755581122205357088666162343031327218515743254468591111320154629132960825407992631055868021754996427417861056088460855606075817192332058703003321461317060159449918084345037056710222368954037272282001648585441926317084505895075840) (*.f64 (sin.f64 y) (neg.f64 z)) (*.f64 x (cos.f64 y))))))
(if (<=.f64 y -3965985823159031/4398046511104) (*.f64 x (cos.f64 y)) (if (<=.f64 y 5818880278696581/37778931862957161709568) (+.f64 x (*.f64 y (-.f64 (*.f64 x (*.f64 y -1/2)) z))) (*.f64 x (cos.f64 y))))
(-.f64 x (*.f64 y z))
(if (<=.f64 z -300503959769290938717398314506711743715179909553366775164131050072164125601658119830288431892741439694588735974944504830345432042646574058244269232339717879602467322990115354465133709353282650240424634572932368843631755264) (*.f64 y (neg.f64 z)) (if (<=.f64 z 17624802837630254051780781360388149395679206328209013519984195560738516750806735796878664427157076184910852784080420052317957177043604134406446341886396442617677821367526107660276557195121786880) x (*.f64 y (neg.f64 z))))
x

end72.0ms (0.8%)

Stop Event
fuel
Compiler

Compiled 229 to 119 computations (48% saved)

Profiling

Loading profile data...