Details

Time bar (total: 12.8s)

analyze305.0ms (2.4%)

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)

sample4.9s (38%)

Results
2.3s1984×body1024valid
2.0s5240×body256valid
593.0ms1029×body512valid
3.0msbody2048valid

preprocess56.0ms (0.4%)

Algorithm
egg-herbie
Rules
516×fma-def_binary64
380×fma-neg_binary64
132×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
7113656
8167456
9191956
10194556
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)))
(fma.f64 y (cos.f64 x) (neg.f64 (*.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 y (neg.f64 (sin.f64 z))))
Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify21.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
840914
952514
1058314
1158914
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.2b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.2b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
Compiler

Compiled 12 to 8 computations (33.3% saved)

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 27 to 8 computations (70.4% saved)

series12.0ms (0.1%)

Counts
3 → 64
Calls

21 calls:

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

rewrite108.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 z (sin.f64 y))
(*.f64 x (cos.f64 y))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (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 (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 expm1.f64 (log1p.f64 (*.f64 z (sin.f64 y))))))) (#(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 +.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 expm1.f64 (log1p.f64 (*.f64 x (cos.f64 y))))))) (#(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 +.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 z (sin.f64 y) (*.f64 x (cos.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 z (sin.f64 y) (*.f64 x (cos.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 z (sin.f64 y) (*.f64 x (cos.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 z (sin.f64 y) (*.f64 x (cos.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 z (sin.f64 y) (*.f64 x (cos.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 z (sin.f64 y) (*.f64 x (cos.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 z (sin.f64 y) (*.f64 x (cos.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 z (sin.f64 y) (*.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) (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 z (sin.f64 y) (*.f64 x (cos.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 z (sin.f64 y) (*.f64 x (cos.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 (neg.f64 z)) (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)))) (+.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 (neg.f64 z)) (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 expm1.f64 (log1p.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(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 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 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 (-.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 (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 (*.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 (*.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 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 (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 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 (*.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 (*.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 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 z (sin.f64 y) (*.f64 x (cos.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 z (sin.f64 y) (*.f64 x (cos.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 z (sin.f64 y) (*.f64 x (cos.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 z (sin.f64 y) (*.f64 x (cos.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 z (sin.f64 y) (*.f64 x (cos.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 z (sin.f64 y) (*.f64 x (cos.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 z (sin.f64 y) (*.f64 x (cos.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 z (sin.f64 y) (*.f64 x (cos.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 z (sin.f64 y) (*.f64 x (cos.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 z (sin.f64 y) (*.f64 x (cos.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)))))))

simplify186.0ms (1.5%)

Algorithm
egg-herbie
Rules
460×*-commutative_binary64
430×distribute-rgt-neg-in_binary64
403×distribute-lft-out_binary64
374×sub-neg_binary64
328×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
060721
1170715
2472698
31512693
42746693
55554693
67478693
Stop Event
node limit
Counts
292 → 253
Calls
Call 1
Inputs
(*.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 (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 -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 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/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 (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 y (*.f64 y -1/2)) 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/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 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 (*.f64 -1/720 (pow.f64 y 6)) (fma.f64 x (fma.f64 1/24 (pow.f64 y 4) (*.f64 y (*.f64 y -1/2))) x))
(*.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 -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 (*.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))))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(+.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))))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(+.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))))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.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 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(+.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))))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(+.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))))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.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 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(+.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))))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(+.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))))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
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))
(fma.f64 x (*.f64 y (*.f64 y -1/2)) (-.f64 x (*.f64 y z)))
(-.f64 x (*.f64 y (-.f64 z (*.f64 x (*.f64 y -1/2)))))
(+.f64 x (*.f64 y (-.f64 (*.f64 y (*.f64 x -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 y (*.f64 y -1/2)) (fma.f64 (*.f64 z (pow.f64 y 3)) 1/6 x)) (*.f64 y z))
(-.f64 (fma.f64 x (*.f64 y (*.f64 y -1/2)) x) (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))
(-.f64 x (fma.f64 z (fma.f64 -1/6 (pow.f64 y 3) y) (*.f64 (*.f64 y y) (*.f64 x 1/2))))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.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 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(+.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))))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(+.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))))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.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 (*.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))))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(+.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))))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(+.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))))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.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 (*.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))))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(+.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))))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(+.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))))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))

eval80.0ms (0.6%)

Compiler

Compiled 5135 to 1132 computations (78% saved)

prune164.0ms (1.3%)

Pruning

21 alts after pruning (20 fresh and 1 done)

PrunedKeptTotal
New23320253
Fresh000
Picked011
Done000
Total23321254
Error
0.0b
Counts
254 → 21
Alt Table
Click to see full alt table
StatusErrorProgram
30.7b
(-.f64 (*.f64 x (cos.f64 y)) (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
13.6b
(fma.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
40.0b
(cbrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3))
29.3b
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2)
35.8b
(*.f64 (sin.f64 y) (neg.f64 z))
26.8b
(-.f64 (*.f64 x (cos.f64 y)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z)))
21.8b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 y z))
31.4b
(fma.f64 (*.f64 (neg.f64 z) (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) (*.f64 x (cos.f64 y)))
1.4b
(pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 3)
40.3b
(*.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 z (sin.f64 y) (*.f64 x (cos.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))))
0.3b
(+.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.2b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
2.5b
(fma.f64 (*.f64 (neg.f64 z) (cbrt.f64 (pow.f64 (sin.f64 y) 2))) (cbrt.f64 (sin.f64 y)) (*.f64 x (cos.f64 y)))
29.7b
(/.f64 1 (/.f64 (fma.f64 z (sin.f64 y) (*.f64 x (cos.f64 y))) (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2))))
29.7b
(+.f64 (*.f64 -1 (*.f64 y z)) x)
0.2b
(fma.f64 (*.f64 x (cbrt.f64 (pow.f64 (cos.f64 y) 2))) (cbrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
0.9b
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
32.2b
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))
12.4b
(-.f64 x (*.f64 z (sin.f64 y)))
30.9b
(+.f64 x (*.f64 y (-.f64 (*.f64 y (*.f64 x -1/2)) z)))
29.7b
(fma.f64 z (neg.f64 y) x)
Compiler

Compiled 676 to 430 computations (36.4% saved)

localize78.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (sin.f64 y) (neg.f64 z))
0.2b
(pow.f64 (cos.f64 y) 2)
0.3b
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
0.3b
(cbrt.f64 (cos.f64 y))
Compiler

Compiled 53 to 23 computations (56.6% saved)

series14.0ms (0.1%)

Counts
4 → 52
Calls

15 calls:

TimeVariablePointExpression
2.0ms
y
@0
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
2.0ms
y
@inf
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
2.0ms
y
@-inf
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
2.0ms
y
@inf
(cbrt.f64 (cos.f64 y))
1.0ms
y
@-inf
(cbrt.f64 (cos.f64 y))

rewrite84.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
834×pow1_binary64
767×add-log-exp_binary64
766×log1p-expm1-u_binary64
766×expm1-log1p-u_binary64
747×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01127
122025
2253125
Stop Event
node limit
Counts
4 → 78
Calls
Call 1
Inputs
(cbrt.f64 (cos.f64 y))
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (cos.f64 y) 2)
(*.f64 (sin.f64 y) (neg.f64 z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (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 (cbrt.f64 (pow.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 (cos.f64 y) 2) 1/6)))) (#(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 expm1.f64 (log1p.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 -.f64 (+.f64 1 (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 (cbrt.f64 (pow.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 (cbrt.f64 (pow.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 (pow.f64 1 1/3) (pow.f64 (cbrt.f64 (cos.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)) 1/3) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2))))) (#(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 pow.f64 (cos.f64 y) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (cbrt.f64 (pow.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 expm1.f64 (log1p.f64 (pow.f64 (cbrt.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 +.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (cos.f64 y) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 y) (cos.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 y) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (cbrt.f64 (pow.f64 (cos.f64 y) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (cos.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)) (pow.f64 (cbrt.f64 (cos.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 y) (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 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)) 1) (pow.f64 (cbrt.f64 (cos.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)) (cbrt.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)))) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)) (cbrt.f64 (cos.f64 y))) (cbrt.f64 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 (+.f64 y y)) (cos.f64 (-.f64 y y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cos.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (cos.f64 y) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cos.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cos.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (cos.f64 y))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (sin.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.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 (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 expm1.f64 (log1p.f64 (*.f64 (sin.f64 y) z)))))) (#(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)))))))

simplify76.0ms (0.6%)

Algorithm
egg-herbie
Rules
796×distribute-rgt-neg-in_binary64
536×cancel-sign-sub-inv_binary64
515×fma-neg_binary64
462×*-commutative_binary64
405×unswap-sqr_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
072505
1188486
2492467
31595467
43344465
57026465
Stop Event
node limit
Counts
130 → 109
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)
1
(+.f64 (*.f64 -1 (pow.f64 y 2)) 1)
(+.f64 (*.f64 -1 (pow.f64 y 2)) (+.f64 1 (*.f64 1/3 (pow.f64 y 4))))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (+.f64 1 (+.f64 (*.f64 -2/45 (pow.f64 y 6)) (*.f64 1/3 (pow.f64 y 4)))))
(*.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))
(+.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)))
(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))
1
(+.f64 (*.f64 -1 (pow.f64 y 2)) 1)
(fma.f64 -1 (*.f64 y y) 1)
(-.f64 1 (*.f64 y y))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (+.f64 1 (*.f64 1/3 (pow.f64 y 4))))
(+.f64 (fma.f64 -1 (*.f64 y y) 1) (*.f64 (pow.f64 y 4) 1/3))
(-.f64 (fma.f64 (pow.f64 y 4) 1/3 1) (*.f64 y y))
(-.f64 (*.f64 (pow.f64 y 4) 1/3) (fma.f64 y y -1))
(-.f64 1 (fma.f64 y y (*.f64 (pow.f64 y 4) -1/3)))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (+.f64 1 (+.f64 (*.f64 -2/45 (pow.f64 y 6)) (*.f64 1/3 (pow.f64 y 4)))))
(+.f64 (fma.f64 -1 (*.f64 y y) 1) (fma.f64 -2/45 (pow.f64 y 6) (*.f64 (pow.f64 y 4) 1/3)))
(+.f64 (-.f64 1 (*.f64 y y)) (fma.f64 (pow.f64 y 4) 1/3 (*.f64 (pow.f64 y 6) -2/45)))
(-.f64 (fma.f64 (pow.f64 y 4) 1/3 (fma.f64 (pow.f64 y 6) -2/45 1)) (*.f64 y y))
(-.f64 (fma.f64 (pow.f64 y 4) 1/3 (*.f64 (pow.f64 y 6) -2/45)) (fma.f64 y y -1))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))
(fma.f64 -1 (*.f64 y z) (*.f64 (*.f64 1/6 (pow.f64 y 3)) z))
(*.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 y z) (fma.f64 -1/120 (*.f64 z (pow.f64 y 5)) (*.f64 (*.f64 1/6 (pow.f64 y 3)) z)))
(-.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 (*.f64 1/6 (pow.f64 y 3)) z))))
(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 (+.f64 (fma.f64 1/6 (pow.f64 y 3) (*.f64 -1/120 (pow.f64 y 5))) (fma.f64 1/5040 (pow.f64 y 7) (neg.f64 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 -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 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 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 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 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 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 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)))

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 22 to 10 computations (54.5% saved)

series4.0ms (0%)

Counts
1 → 9
Calls

9 calls:

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

rewrite70.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
222767
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 expm1.f64 (log1p.f64 (+.f64 (*.f64 y z) x)))))) (#(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 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)))))

simplify132.0ms (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

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 18 to 6 computations (66.7% saved)

series3.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
z
@inf
(-.f64 x (*.f64 z (sin.f64 y)))
0.0ms
z
@-inf
(-.f64 x (*.f64 z (sin.f64 y)))

rewrite54.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
220849
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 expm1.f64 (log1p.f64 (-.f64 x (*.f64 z (sin.f64 y)))))))) (#(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 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)))))))

simplify80.0ms (0.6%)

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

Useful iterations: 4 (0.0ms)

IterNodesCost
026262
174241
2196236
3502233
41500232
54261232
66535232
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 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 z (neg.f64 (sin.f64 y)) x)
(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 z (neg.f64 (sin.f64 y)) x)
(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 z (neg.f64 (sin.f64 y)) x)
(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 z (neg.f64 (sin.f64 y)) x)
(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 z (neg.f64 (sin.f64 y)) x)
(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 z (neg.f64 (sin.f64 y)) x)
(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 z (neg.f64 (sin.f64 y)) x)
(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 z (neg.f64 (sin.f64 y)) x)
(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 z (neg.f64 (sin.f64 y)) x)
(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 z (neg.f64 (sin.f64 y)) x)
(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 z (neg.f64 (sin.f64 y)) x)
(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 z (neg.f64 (sin.f64 y)) x)
(fma.f64 (sin.f64 y) (neg.f64 z) 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))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) x)
(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 z (neg.f64 (sin.f64 y)) x)
(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 z (neg.f64 (sin.f64 y)) x)
(fma.f64 (sin.f64 y) (neg.f64 z) 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))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) x)
(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 z (neg.f64 (sin.f64 y)) x)
(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 z (neg.f64 (sin.f64 y)) x)
(fma.f64 (sin.f64 y) (neg.f64 z) 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)
(+.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))
(fma.f64 z (fma.f64 -1/120 (pow.f64 y 5) (*.f64 1/6 (pow.f64 y 3))) (-.f64 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/120 (pow.f64 y 5) (fma.f64 1/6 (pow.f64 y 3) (neg.f64 y))) x)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 43 to 14 computations (67.4% saved)

series18.0ms (0.1%)

Counts
2 → 8
Calls

12 calls:

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

rewrite57.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
613×pow1_binary64
565×add-log-exp_binary64
565×log1p-expm1-u_binary64
565×expm1-log1p-u_binary64
551×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0814
116314
2159214
Stop Event
node limit
Counts
2 → 50
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 z (sin.f64 y)))
(pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (*.f64 z (sin.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (cbrt.f64 (sqrt.f64 (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (*.f64 z (sin.f64 y)))) (cbrt.f64 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) (sqrt.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 z (sin.f64 y)) 1/4) (pow.f64 (*.f64 z (sin.f64 y)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 y)) (sqrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (sin.f64 y)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 z (sin.f64 y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (sin.f64 y)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.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 (sqrt.f64 (*.f64 z (sin.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 z (sin.f64 y)))))) (#(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 (cbrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (cbrt.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 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (cbrt.f64 (*.f64 z (sin.f64 y))))))) (#(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 (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 z) (*.f64 (sqrt.f64 (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/4) (*.f64 (pow.f64 (*.f64 z (sin.f64 y)) 1/4) (sqrt.f64 (*.f64 z (sin.f64 y)))))))) (#(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 (*.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 z (sin.f64 y)) 1/4)) (pow.f64 (*.f64 z (sin.f64 y)) 1/4))))) (#(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 (sqrt.f64 (*.f64 z (sin.f64 y))) (cbrt.f64 (*.f64 z (sin.f64 y)))) (cbrt.f64 (sqrt.f64 (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) (sqrt.f64 z)) (sqrt.f64 (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 expm1.f64 (log1p.f64 (*.f64 z (sin.f64 y))))))) (#(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))))))))

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0548
1648
Stop Event
saturated
Counts
58 → 50
Calls
Call 1
Inputs
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
Outputs
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 39 to 10 computations (74.4% saved)

series9.0ms (0.1%)

Counts
3 → 64
Calls

18 calls:

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

rewrite121.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
963×pow1_binary64
881×add-log-exp_binary64
880×log1p-expm1-u_binary64
880×expm1-log1p-u_binary64
113×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01136
122127
2273127
Stop Event
node limit
Counts
3 → 58
Calls
Call 1
Inputs
(*.f64 x (sqrt.f64 (cos.f64 y)))
(fma.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
(sqrt.f64 (cos.f64 y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x (sqrt.f64 (cos.f64 y))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (sqrt.f64 (cos.f64 y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (sqrt.f64 (cos.f64 y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 x (*.f64 x (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (sqrt.f64 (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x (sqrt.f64 (cos.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (cos.f64 y) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 3/2) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (sqrt.f64 (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (sqrt.f64 (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (sqrt.f64 (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 (*.f64 x (cos.f64 y)) (*.f64 (sin.f64 y) z))))) (#(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 (*.f64 x (cos.f64 y)) (*.f64 (sin.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (+.f64 (*.f64 (sin.f64 y) z) (*.f64 x (cos.f64 y))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (sin.f64 y) z) (*.f64 x (cos.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 (sin.f64 y) z) (*.f64 x (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (*.f64 (sin.f64 y) z) (*.f64 x (cos.f64 y)))) (pow.f64 (cbrt.f64 (+.f64 (*.f64 (sin.f64 y) z) (*.f64 x (cos.f64 y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (*.f64 (sin.f64 y) z) (*.f64 x (cos.f64 y)))) 2) (cbrt.f64 (+.f64 (*.f64 (sin.f64 y) z) (*.f64 x (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (*.f64 (sin.f64 y) z) (*.f64 x (cos.f64 y)))) (sqrt.f64 (+.f64 (*.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 (*.f64 (*.f64 x (cos.f64 y)) (*.f64 x (cos.f64 y))) (-.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 (*.f64 (*.f64 x (cos.f64 y)) (*.f64 x (cos.f64 y))) (pow.f64 (*.f64 (sin.f64 y) z) 2)) (+.f64 (*.f64 (sin.f64 y) z) (*.f64 x (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 (sin.f64 y) z) (*.f64 x (cos.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (*.f64 (sin.f64 y) z) (*.f64 x (cos.f64 y))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (*.f64 (sin.f64 y) z) (*.f64 x (cos.f64 y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (*.f64 (sin.f64 y) z) (*.f64 x (cos.f64 y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (*.f64 (sin.f64 y) z) (*.f64 x (cos.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (*.f64 (sin.f64 y) z) (*.f64 x (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 (*.f64 (sin.f64 y) z) (*.f64 x (cos.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (*.f64 (sin.f64 y) z) (*.f64 x (cos.f64 y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (*.f64 (sin.f64 y) z) (*.f64 x (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (*.f64 (sin.f64 y) z) (*.f64 x (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (*.f64 (sin.f64 y) z) (*.f64 x (cos.f64 y)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (cos.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (cos.f64 y))) (cbrt.f64 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (sqrt.f64 (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 y) 1/4) (pow.f64 (cos.f64 y) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (sqrt.f64 (cbrt.f64 (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 1/2) (pow.f64 (cbrt.f64 (cos.f64 y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 y) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 y) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (cos.f64 y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 y) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 y) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (cos.f64 y))))))))

simplify128.0ms (1%)

Algorithm
egg-herbie
Rules
981×fma-neg_binary64
432×distribute-rgt-neg-in_binary64
364×*-commutative_binary64
343×distribute-lft-out_binary64
328×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
056761
1146729
2383721
31196717
42249715
54815713
67529713
Stop Event
node limit
Counts
122 → 84
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
x
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 y 2) x)) x)
(+.f64 (*.f64 -1/96 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 y 2) x)) x))
(+.f64 (*.f64 -19/5760 (*.f64 (pow.f64 y 6) x)) (+.f64 (*.f64 -1/96 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 y 2) x)) x)))
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.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 (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 -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 (*.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 (*.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 -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))
1
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) 1)
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 1 (*.f64 -1/96 (pow.f64 y 4))))
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 1 (+.f64 (*.f64 -1/96 (pow.f64 y 4)) (*.f64 -19/5760 (pow.f64 y 6)))))
Outputs
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
x
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 y 2) x)) x)
(fma.f64 -1/4 (*.f64 x (*.f64 y y)) x)
(*.f64 (fma.f64 -1/4 (*.f64 y y) 1) x)
(*.f64 x (fma.f64 -1/4 (*.f64 y y) 1))
(*.f64 x (fma.f64 y (*.f64 y -1/4) 1))
(+.f64 (*.f64 -1/96 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 y 2) x)) x))
(fma.f64 -1/96 (*.f64 x (pow.f64 y 4)) (fma.f64 -1/4 (*.f64 x (*.f64 y y)) x))
(fma.f64 -1/96 (*.f64 x (pow.f64 y 4)) (*.f64 (fma.f64 -1/4 (*.f64 y y) 1) x))
(*.f64 x (fma.f64 y (*.f64 y -1/4) (fma.f64 -1/96 (pow.f64 y 4) 1)))
(*.f64 x (fma.f64 -1/4 (*.f64 y y) (fma.f64 -1/96 (pow.f64 y 4) 1)))
(+.f64 (*.f64 -19/5760 (*.f64 (pow.f64 y 6) x)) (+.f64 (*.f64 -1/96 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 y 2) x)) x)))
(fma.f64 -19/5760 (*.f64 x (pow.f64 y 6)) (fma.f64 -1/96 (*.f64 x (pow.f64 y 4)) (fma.f64 -1/4 (*.f64 x (*.f64 y y)) x)))
(+.f64 (*.f64 (fma.f64 -1/4 (*.f64 y y) 1) x) (*.f64 x (fma.f64 -1/96 (pow.f64 y 4) (*.f64 -19/5760 (pow.f64 y 6)))))
(+.f64 x (*.f64 x (fma.f64 y (*.f64 y -1/4) (fma.f64 -1/96 (pow.f64 y 4) (*.f64 -19/5760 (pow.f64 y 6))))))
(*.f64 x (fma.f64 y (*.f64 y -1/4) (fma.f64 -1/96 (pow.f64 y 4) (fma.f64 -19/5760 (pow.f64 y 6) 1))))
(*.f64 x (fma.f64 y (*.f64 y -1/4) (fma.f64 -19/5760 (pow.f64 y 6) (fma.f64 -1/96 (pow.f64 y 4) 1))))
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.f64 (cos.f64 y)) x)
(*.f64 (sqrt.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))
(fma.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 (cos.f64 y) x))
(fma.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 (cos.f64 y) x))
(fma.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 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.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 (cos.f64 y) x))
(fma.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 (cos.f64 y) x))
(fma.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 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.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 (cos.f64 y) x))
(fma.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 (cos.f64 y) x))
(fma.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))))
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(-.f64 x (*.f64 y z))
(+.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 (*.f64 y (*.f64 y x)) -1/2 x) (*.f64 y z))
(-.f64 (*.f64 x (fma.f64 (*.f64 y y) -1/2 1)) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 x (*.f64 y -1/2)) z)))
(-.f64 x (*.f64 y (+.f64 z (*.f64 x (*.f64 y 1/2)))))
(fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) 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)))
(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 (*.f64 y (*.f64 y x)) -1/2 (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) x)) (*.f64 y z))
(-.f64 (fma.f64 (*.f64 y y) (*.f64 x -1/2) (fma.f64 z (*.f64 1/6 (pow.f64 y 3)) x)) (*.f64 y z))
(+.f64 (*.f64 x (fma.f64 (*.f64 y y) -1/2 1)) (*.f64 z (-.f64 (*.f64 1/6 (pow.f64 y 3)) y)))
(fma.f64 x (fma.f64 (*.f64 y y) -1/2 1) (*.f64 z (-.f64 (*.f64 1/6 (pow.f64 y 3)) y)))
(fma.f64 y (*.f64 x (*.f64 y -1/2)) (fma.f64 z (-.f64 (*.f64 1/6 (pow.f64 y 3)) y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.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 (cos.f64 y) x))
(fma.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 (cos.f64 y) x))
(fma.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 (cos.f64 y) x))
(fma.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 (cos.f64 y) x))
(fma.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 (cos.f64 y) x))
(fma.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 (cos.f64 y) x))
(fma.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 (cos.f64 y) x))
(fma.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 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.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 (cos.f64 y) x))
(fma.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 (cos.f64 y) x))
(fma.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 -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))
(fma.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 (cos.f64 y) x))
(fma.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 (cos.f64 y) x))
(fma.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 -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))
(fma.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 (cos.f64 y) x))
(fma.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 (cos.f64 y) x))
(fma.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))))
1
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) 1)
(fma.f64 -1/4 (*.f64 y y) 1)
(fma.f64 y (*.f64 y -1/4) 1)
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 1 (*.f64 -1/96 (pow.f64 y 4))))
(fma.f64 -1/4 (*.f64 y y) (+.f64 1 (*.f64 -1/96 (pow.f64 y 4))))
(fma.f64 -1/4 (*.f64 y y) (fma.f64 -1/96 (pow.f64 y 4) 1))
(fma.f64 y (*.f64 y -1/4) (fma.f64 -1/96 (pow.f64 y 4) 1))
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 1 (+.f64 (*.f64 -1/96 (pow.f64 y 4)) (*.f64 -19/5760 (pow.f64 y 6)))))
(+.f64 (fma.f64 -1/4 (*.f64 y y) 1) (fma.f64 -1/96 (pow.f64 y 4) (*.f64 -19/5760 (pow.f64 y 6))))
(fma.f64 y (*.f64 y -1/4) (fma.f64 -1/96 (pow.f64 y 4) (fma.f64 -19/5760 (pow.f64 y 6) 1)))
(fma.f64 y (*.f64 y -1/4) (fma.f64 -19/5760 (pow.f64 y 6) (fma.f64 -1/96 (pow.f64 y 4) 1)))

eval170.0ms (1.3%)

Compiler

Compiled 8012 to 2897 computations (63.8% saved)

prune117.0ms (0.9%)

Pruning

33 alts after pruning (30 fresh and 3 done)

PrunedKeptTotal
New46021481
Fresh6915
Picked011
Done325
Total46933502
Error
0.0b
Counts
502 → 33
Alt Table
Click to see full alt table
StatusErrorProgram
30.5b
(-.f64 x (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z)))
13.6b
(fma.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
39.8b
(*.f64 (+.f64 (*.f64 y z) x) 1)
40.0b
(cbrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3))
29.3b
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2)
0.3b
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
35.8b
(*.f64 (sin.f64 y) (neg.f64 z))
35.7b
(/.f64 1 (/.f64 (+.f64 x (*.f64 z (sin.f64 y))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (sin.f64 y)) 2))))
46.4b
(-.f64 (+.f64 1 (+.f64 (*.f64 y z) x)) 1)
1.4b
(pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 3)
0.3b
(+.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)))))
13.6b
(fma.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) (cbrt.f64 (pow.f64 (cos.f64 y) 3/2)) (*.f64 (sin.f64 y) (neg.f64 z)))
0.2b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
2.5b
(fma.f64 (*.f64 (neg.f64 z) (cbrt.f64 (pow.f64 (sin.f64 y) 2))) (cbrt.f64 (sin.f64 y)) (*.f64 x (cos.f64 y)))
29.2b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (sqrt.f64 z)) (sqrt.f64 z)))
29.2b
(-.f64 x (cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))
37.1b
(pow.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 2)
32.2b
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))
13.5b
(pow.f64 (cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 3)
0.3b
(fma.f64 (*.f64 x (cbrt.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y)))))) (cbrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
12.4b
(-.f64 x (*.f64 z (sin.f64 y)))
31.2b
(-.f64 (*.f64 x (cos.f64 y)) (pow.f64 (expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 z (sin.f64 y))))) 2))
39.0b
x
29.7b
(fma.f64 (neg.f64 y) z x)
27.2b
(*.f64 (cos.f64 y) x)
0.6b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (sin.f64 y))))
29.7b
(-.f64 x (*.f64 y z))
52.6b
(*.f64 y (neg.f64 z))
0.9b
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
31.4b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 (*.f64 z (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y))))
30.9b
(+.f64 x (*.f64 y (-.f64 (*.f64 y (*.f64 x -1/2)) z)))
36.4b
(-.f64 x (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
0.6b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) z)))
Compiler

Compiled 898 to 607 computations (32.4% saved)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 x (cos.f64 y))
0.2b
(*.f64 z (sin.f64 y))
0.2b
(fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.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)

series6.0ms (0%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
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
@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
y
@0
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))

rewrite59.0ms (0.5%)

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
2201528
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 expm1.f64 (log1p.f64 (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y)))))))) (#(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 +.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 expm1.f64 (log1p.f64 (fma.f64 z (sin.f64 y) (*.f64 z (+.f64 (sin.f64 y) (sin.f64 y))))))))) (#(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))))))))))

simplify57.0ms (0.4%)

Algorithm
egg-herbie
Rules
751×fma-def_binary64
524×distribute-rgt-in_binary64
463×distribute-lft-in_binary64
382×*-commutative_binary64
322×associate-+r+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
076460
1232268
2722265
34088256
47256256
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 z (*.f64 1/6 (pow.f64 y 3))))
(*.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 (*.f64 z -1/120) (pow.f64 y 5))))
(fma.f64 y (neg.f64 z) (fma.f64 (pow.f64 y 3) (*.f64 z 1/6) (*.f64 -1/120 (*.f64 z (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 (*.f64 z -1/120) (pow.f64 y 5)))))
(fma.f64 y (neg.f64 z) (fma.f64 (pow.f64 y 3) (*.f64 z 1/6) (fma.f64 (*.f64 z -1/120) (pow.f64 y 5) (*.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 (pow.f64 y 3) 1/6) y) (+.f64 (*.f64 1/5040 (pow.f64 y 7)) (*.f64 -1/120 (pow.f64 y 5)))))
(+.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))

localize5.0ms (0%)

Compiler

Compiled 11 to 5 computations (54.5% saved)

localize14.0ms (0.1%)

Compiler

Compiled 13 to 5 computations (61.5% saved)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 x (cos.f64 y))
0.2b
(*.f64 z (sin.f64 y))
0.2b
(pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3)
38.0b
(cbrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3))
Compiler

Compiled 51 to 14 computations (72.5% saved)

series12.0ms (0.1%)

Counts
2 → 72
Calls

18 calls:

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

rewrite103.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
587×log-prod_binary64
433×fma-def_binary64
391×pow-prod-down_binary64
309×pow2_binary64
218×pow-to-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01231
126531
2315231
Stop Event
node limit
Counts
2 → 244
Calls
Call 1
Inputs
(cbrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3))
(pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3)
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 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))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 6) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 9) 1/9)))) (#(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 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) 3/2)))) (#(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 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3/2) 2/3)))) (#(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 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 expm1.f64 (log1p.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(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 (log.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))) 3/2))))) (#(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 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 (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 (-.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 (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 (*.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 +.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3) (*.f64 (pow.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 +.f64 0 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x (cos.f64 y)) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2)) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2) (*.f64 x (cos.f64 y))) (*.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2) (*.f64 (sin.f64 y) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.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))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2) (-.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) (*.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))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.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))) 5/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.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))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 5/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))) 2) 1) (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.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))))) 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 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) 3) (pow.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)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) 3) (pow.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2)) (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 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.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 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2) (-.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 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2) (-.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 sqrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 9))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.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 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.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 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3)) 1))))) (#(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))) 9)) 1/3))))) (#(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))))) 3/2))))) (#(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))) 3/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cos.f64 y)) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2) (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.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))) 2) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.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))) 2) (*.f64 (pow.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 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3) 1 (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3) 1 (*.f64 (pow.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 1 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3) (*.f64 (pow.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 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2) (*.f64 x (cos.f64 y)) (*.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2) (*.f64 (sin.f64 y) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2) (-.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))) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2) (-.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))) 2) (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) (*.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))) 2)) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2)))))) (#(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) (*.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))) 2)) (*.f64 (pow.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 (sqrt.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))) 5/2) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.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))) 5/2) (*.f64 (pow.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 (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))) 3/2) (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.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))) 3/2) (*.f64 (pow.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 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 5/2) (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))) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 5/2) (sqrt.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))) 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 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2) 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))) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2) 1) (-.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))) 2) (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 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) (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))) (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.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))))) 2) (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))) 2) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))))))

simplify97.0ms (0.8%)

Algorithm
egg-herbie
Rules
411×distribute-rgt-neg-in_binary64
406×*-commutative_binary64
406×unswap-sqr_binary64
382×unsub-neg_binary64
336×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01452319
15292201
219352069
355992063
Stop Event
node limit
Counts
316 → 295
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))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (*.f64 -1 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) (*.f64 z (sin.f64 y))))) x) (*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))
(+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (*.f64 -1 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) (*.f64 z (sin.f64 y))))) x) (+.f64 (*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) (*.f64 (+.f64 (*.f64 -1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z (sin.f64 y)))) (*.f64 (+.f64 (*.f64 -1 (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (*.f64 -1 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) (cos.f64 y))) (pow.f64 x 2))))
(+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (*.f64 -1 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) (*.f64 z (sin.f64 y))))) x) (+.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) (*.f64 (+.f64 (*.f64 -1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z (sin.f64 y)))) (*.f64 (+.f64 (*.f64 -1 (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (*.f64 -1 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) (cos.f64 y))) (pow.f64 x 2)))))
(*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))
(+.f64 (*.f64 (pow.f64 x 2) (+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (*.f64 -1 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) (cos.f64 y)) (*.f64 -1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z (sin.f64 y)))))) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))
(+.f64 (*.f64 (pow.f64 x 2) (+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (*.f64 -1 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) (cos.f64 y)) (*.f64 -1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z (sin.f64 y)))))) (+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (*.f64 -1 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) (*.f64 z (sin.f64 y))))) x) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))))
(+.f64 (*.f64 (pow.f64 x 2) (+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (*.f64 -1 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) (cos.f64 y)) (*.f64 -1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z (sin.f64 y)))))) (+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (*.f64 -1 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) (*.f64 z (sin.f64 y))))) x) (+.f64 (*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))))
(*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))
(+.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (*.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (cos.f64 y))) (*.f64 -1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z (sin.f64 y))))) (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (*.f64 (pow.f64 z 2) (*.f64 (cos.f64 y) (pow.f64 (sin.f64 y) 2)))) (*.f64 -1 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (*.f64 z (sin.f64 y))))))) (+.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (*.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (cos.f64 y))) (*.f64 -1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z (sin.f64 y))))) (pow.f64 x 2))))
(+.f64 (*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (*.f64 (pow.f64 z 2) (*.f64 (cos.f64 y) (pow.f64 (sin.f64 y) 2)))) (*.f64 -1 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (*.f64 z (sin.f64 y))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) (+.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (*.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (cos.f64 y))) (*.f64 -1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z (sin.f64 y))))) (pow.f64 x 2)))))
(pow.f64 x 3)
(+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 z (pow.f64 x 2))) (*.f64 -2 (*.f64 z (pow.f64 x 2)))) y) (pow.f64 x 3))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 z (pow.f64 x 2))) (*.f64 -2 (*.f64 z (pow.f64 x 2)))) y) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (pow.f64 z 2) (*.f64 -1 (pow.f64 x 2))) x) (+.f64 (*.f64 2 (*.f64 (pow.f64 z 2) x)) (*.f64 -1/2 (pow.f64 x 3)))) (pow.f64 y 2)) (pow.f64 x 3)))
(+.f64 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 1/6 (*.f64 z (pow.f64 x 2))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (pow.f64 z 2) (*.f64 -1 (pow.f64 x 2))) z)) (+.f64 (*.f64 (+.f64 (*.f64 z x) (*.f64 1/3 (*.f64 z x))) x) (*.f64 z (pow.f64 x 2)))))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 z (pow.f64 x 2))) (*.f64 -2 (*.f64 z (pow.f64 x 2)))) y) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (pow.f64 z 2) (*.f64 -1 (pow.f64 x 2))) x) (+.f64 (*.f64 2 (*.f64 (pow.f64 z 2) x)) (*.f64 -1/2 (pow.f64 x 3)))) (pow.f64 y 2)) (pow.f64 x 3))))
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 3)
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 3)
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 3)
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 3)
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 3)
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 3)
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 3)
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 3)
(*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))
(+.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (*.f64 (+.f64 (*.f64 -2 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (pow.f64 x 2)))) (*.f64 -1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (pow.f64 x 2))))) z))
(+.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)) (*.f64 2 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)))) (pow.f64 z 2)) (*.f64 (+.f64 (*.f64 -2 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (pow.f64 x 2)))) (*.f64 -1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (pow.f64 x 2))))) z)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) (+.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)) (*.f64 2 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)))) (pow.f64 z 2)) (*.f64 (+.f64 (*.f64 -2 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (pow.f64 x 2)))) (*.f64 -1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (pow.f64 x 2))))) z))))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)) (*.f64 2 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)))) (pow.f64 z 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) (+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)) (*.f64 2 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)))) (pow.f64 z 2)) (*.f64 (+.f64 (*.f64 -2 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (pow.f64 x 2)))) (*.f64 -1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (pow.f64 x 2))))) z)))
(+.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) (+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)) (*.f64 2 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)))) (pow.f64 z 2)) (*.f64 (+.f64 (*.f64 -2 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (pow.f64 x 2)))) (*.f64 -1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (pow.f64 x 2))))) z))))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)) (*.f64 2 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)))) (pow.f64 z 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) (+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)) (*.f64 2 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)))) (pow.f64 z 2)) (*.f64 -1 (*.f64 (+.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (pow.f64 x 2))) (*.f64 2 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (pow.f64 x 2))))) z))))
(+.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) (+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)) (*.f64 2 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)))) (pow.f64 z 2)) (*.f64 -1 (*.f64 (+.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (pow.f64 x 2))) (*.f64 2 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (pow.f64 x 2))))) z)))))
Outputs
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(+.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 (sin.f64 y) (neg.f64 z)))
(+.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 (sin.f64 y) (neg.f64 z)))
(+.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 (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 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(+.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 (sin.f64 y) (neg.f64 z)))
(+.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 (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 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(+.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 (sin.f64 y) (neg.f64 z)))
(+.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 (sin.f64 y) (neg.f64 z)))
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 z y) x)
(-.f64 x (*.f64 z y))
(+.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 -1/2 (*.f64 y (*.f64 y x)) x) (*.f64 z y))
(-.f64 (fma.f64 -1/2 (*.f64 x (*.f64 y y)) x) (*.f64 z y))
(+.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 -1/2 (*.f64 y (*.f64 y x)) (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) x)) (*.f64 z y))
(-.f64 (fma.f64 -1/2 (*.f64 x (*.f64 y y)) (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) x)) (*.f64 z y))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 (cos.f64 y) x (*.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 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z)))
(+.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 (sin.f64 y) (neg.f64 z)))
(+.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 (sin.f64 y) (neg.f64 z)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(+.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 (sin.f64 y) (neg.f64 z)))
(+.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 (sin.f64 y) (neg.f64 z)))
(+.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 (sin.f64 y) (neg.f64 z)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(+.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 (sin.f64 y) (neg.f64 z)))
(+.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 (sin.f64 y) (neg.f64 z)))
(+.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 (sin.f64 y) (neg.f64 z)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(neg.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3)))
(+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (*.f64 -1 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) (*.f64 z (sin.f64 y))))) x) (*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))
(fma.f64 (fma.f64 (cos.f64 y) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)) (neg.f64 (neg.f64 (*.f64 (*.f64 z (sin.f64 y)) (fma.f64 (cos.f64 y) (*.f64 z (sin.f64 y)) (*.f64 z (*.f64 (sin.f64 y) (cos.f64 y)))))))) x (neg.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))
(fma.f64 x (fma.f64 (cos.f64 y) (*.f64 z (*.f64 z (pow.f64 (sin.f64 y) 2))) (*.f64 z (*.f64 (sin.f64 y) (*.f64 (sin.f64 y) (+.f64 (*.f64 z (cos.f64 y)) (*.f64 z (cos.f64 y))))))) (*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3))))
(-.f64 (*.f64 x (*.f64 (sin.f64 y) (-.f64 (*.f64 (sin.f64 y) (*.f64 z (*.f64 z (cos.f64 y)))) (*.f64 z (*.f64 (*.f64 (sin.f64 y) (*.f64 z (cos.f64 y))) -2))))) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(fma.f64 x (*.f64 (sin.f64 y) (-.f64 (*.f64 (sin.f64 y) (*.f64 (cos.f64 y) (*.f64 z z))) (*.f64 z (*.f64 (sin.f64 y) (*.f64 -2 (*.f64 z (cos.f64 y))))))) (*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3))))
(+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (*.f64 -1 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) (*.f64 z (sin.f64 y))))) x) (+.f64 (*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) (*.f64 (+.f64 (*.f64 -1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z (sin.f64 y)))) (*.f64 (+.f64 (*.f64 -1 (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (*.f64 -1 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) (cos.f64 y))) (pow.f64 x 2))))
(fma.f64 (fma.f64 (cos.f64 y) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)) (neg.f64 (neg.f64 (*.f64 (*.f64 z (sin.f64 y)) (fma.f64 (cos.f64 y) (*.f64 z (sin.f64 y)) (*.f64 z (*.f64 (sin.f64 y) (cos.f64 y)))))))) x (fma.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (*.f64 (*.f64 x x) (*.f64 -1 (+.f64 (*.f64 (cos.f64 y) (fma.f64 (cos.f64 y) (*.f64 z (sin.f64 y)) (*.f64 z (*.f64 (sin.f64 y) (cos.f64 y))))) (*.f64 (*.f64 z (sin.f64 y)) (pow.f64 (cos.f64 y) 2)))))))
(fma.f64 x (fma.f64 (cos.f64 y) (*.f64 z (*.f64 z (pow.f64 (sin.f64 y) 2))) (*.f64 z (*.f64 (sin.f64 y) (*.f64 (sin.f64 y) (+.f64 (*.f64 z (cos.f64 y)) (*.f64 z (cos.f64 y))))))) (-.f64 (*.f64 (*.f64 x (neg.f64 x)) (fma.f64 (cos.f64 y) (*.f64 (sin.f64 y) (+.f64 (*.f64 z (cos.f64 y)) (*.f64 z (cos.f64 y)))) (*.f64 z (*.f64 (sin.f64 y) (pow.f64 (cos.f64 y) 2))))) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))
(-.f64 (*.f64 x (+.f64 (*.f64 x (*.f64 (cos.f64 y) (-.f64 (*.f64 (*.f64 (sin.f64 y) (*.f64 z (cos.f64 y))) -2) (*.f64 (sin.f64 y) (*.f64 z (cos.f64 y)))))) (*.f64 (sin.f64 y) (-.f64 (*.f64 (sin.f64 y) (*.f64 z (*.f64 z (cos.f64 y)))) (*.f64 z (*.f64 (*.f64 (sin.f64 y) (*.f64 z (cos.f64 y))) -2)))))) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(-.f64 (*.f64 x (+.f64 (*.f64 x (*.f64 (cos.f64 y) (-.f64 (*.f64 (sin.f64 y) (*.f64 -2 (*.f64 z (cos.f64 y)))) (*.f64 z (*.f64 (sin.f64 y) (cos.f64 y)))))) (*.f64 (sin.f64 y) (-.f64 (*.f64 (sin.f64 y) (*.f64 (cos.f64 y) (*.f64 z z))) (*.f64 z (*.f64 (sin.f64 y) (*.f64 -2 (*.f64 z (cos.f64 y))))))))) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (*.f64 -1 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) (*.f64 z (sin.f64 y))))) x) (+.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) (*.f64 (+.f64 (*.f64 -1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z (sin.f64 y)))) (*.f64 (+.f64 (*.f64 -1 (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (*.f64 -1 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) (cos.f64 y))) (pow.f64 x 2)))))
(fma.f64 (fma.f64 (cos.f64 y) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)) (neg.f64 (neg.f64 (*.f64 (*.f64 z (sin.f64 y)) (fma.f64 (cos.f64 y) (*.f64 z (sin.f64 y)) (*.f64 z (*.f64 (sin.f64 y) (cos.f64 y)))))))) x (fma.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (fma.f64 (*.f64 x x) (*.f64 -1 (+.f64 (*.f64 (cos.f64 y) (fma.f64 (cos.f64 y) (*.f64 z (sin.f64 y)) (*.f64 z (*.f64 (sin.f64 y) (cos.f64 y))))) (*.f64 (*.f64 z (sin.f64 y)) (pow.f64 (cos.f64 y) 2)))) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))))
(fma.f64 x (fma.f64 (cos.f64 y) (*.f64 z (*.f64 z (pow.f64 (sin.f64 y) 2))) (*.f64 z (*.f64 (sin.f64 y) (*.f64 (sin.f64 y) (+.f64 (*.f64 z (cos.f64 y)) (*.f64 z (cos.f64 y))))))) (-.f64 (fma.f64 (*.f64 x x) (neg.f64 (fma.f64 (cos.f64 y) (*.f64 (sin.f64 y) (+.f64 (*.f64 z (cos.f64 y)) (*.f64 z (cos.f64 y)))) (*.f64 z (*.f64 (sin.f64 y) (pow.f64 (cos.f64 y) 2))))) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))
(fma.f64 x (*.f64 (sin.f64 y) (-.f64 (*.f64 (sin.f64 y) (*.f64 z (*.f64 z (cos.f64 y)))) (*.f64 z (*.f64 (*.f64 (sin.f64 y) (*.f64 z (cos.f64 y))) -2)))) (-.f64 (*.f64 (*.f64 x x) (+.f64 (*.f64 x (pow.f64 (cos.f64 y) 3)) (*.f64 (cos.f64 y) (-.f64 (*.f64 (*.f64 (sin.f64 y) (*.f64 z (cos.f64 y))) -2) (*.f64 (sin.f64 y) (*.f64 z (cos.f64 y))))))) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))
(fma.f64 x (*.f64 (sin.f64 y) (-.f64 (*.f64 (sin.f64 y) (*.f64 (cos.f64 y) (*.f64 z z))) (*.f64 z (*.f64 (sin.f64 y) (*.f64 -2 (*.f64 z (cos.f64 y))))))) (-.f64 (*.f64 (*.f64 x x) (+.f64 (*.f64 x (pow.f64 (cos.f64 y) 3)) (*.f64 (cos.f64 y) (-.f64 (*.f64 (sin.f64 y) (*.f64 -2 (*.f64 z (cos.f64 y)))) (*.f64 z (*.f64 (sin.f64 y) (cos.f64 y))))))) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))
(*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))
(+.f64 (*.f64 (pow.f64 x 2) (+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (*.f64 -1 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) (cos.f64 y)) (*.f64 -1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z (sin.f64 y)))))) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))
(fma.f64 (*.f64 x x) (*.f64 -1 (+.f64 (*.f64 (cos.f64 y) (fma.f64 (cos.f64 y) (*.f64 z (sin.f64 y)) (*.f64 z (*.f64 (sin.f64 y) (cos.f64 y))))) (*.f64 (*.f64 z (sin.f64 y)) (pow.f64 (cos.f64 y) 2)))) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))
(fma.f64 (*.f64 x x) (neg.f64 (fma.f64 (cos.f64 y) (*.f64 (sin.f64 y) (+.f64 (*.f64 z (cos.f64 y)) (*.f64 z (cos.f64 y)))) (*.f64 z (*.f64 (sin.f64 y) (pow.f64 (cos.f64 y) 2))))) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))
(*.f64 (*.f64 x x) (+.f64 (*.f64 x (pow.f64 (cos.f64 y) 3)) (*.f64 (cos.f64 y) (-.f64 (*.f64 (*.f64 (sin.f64 y) (*.f64 z (cos.f64 y))) -2) (*.f64 (sin.f64 y) (*.f64 z (cos.f64 y)))))))
(*.f64 (*.f64 x x) (+.f64 (*.f64 x (pow.f64 (cos.f64 y) 3)) (*.f64 (cos.f64 y) (-.f64 (*.f64 (sin.f64 y) (*.f64 -2 (*.f64 z (cos.f64 y)))) (*.f64 z (*.f64 (sin.f64 y) (cos.f64 y)))))))
(+.f64 (*.f64 (pow.f64 x 2) (+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (*.f64 -1 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) (cos.f64 y)) (*.f64 -1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z (sin.f64 y)))))) (+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (*.f64 -1 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) (*.f64 z (sin.f64 y))))) x) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))))
(fma.f64 (*.f64 x x) (*.f64 -1 (+.f64 (*.f64 (cos.f64 y) (fma.f64 (cos.f64 y) (*.f64 z (sin.f64 y)) (*.f64 z (*.f64 (sin.f64 y) (cos.f64 y))))) (*.f64 (*.f64 z (sin.f64 y)) (pow.f64 (cos.f64 y) 2)))) (fma.f64 (fma.f64 (cos.f64 y) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)) (neg.f64 (neg.f64 (*.f64 (*.f64 z (sin.f64 y)) (fma.f64 (cos.f64 y) (*.f64 z (sin.f64 y)) (*.f64 z (*.f64 (sin.f64 y) (cos.f64 y)))))))) x (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))))
(fma.f64 (*.f64 x x) (neg.f64 (fma.f64 (cos.f64 y) (*.f64 (sin.f64 y) (+.f64 (*.f64 z (cos.f64 y)) (*.f64 z (cos.f64 y)))) (*.f64 z (*.f64 (sin.f64 y) (pow.f64 (cos.f64 y) 2))))) (fma.f64 x (fma.f64 (cos.f64 y) (*.f64 z (*.f64 z (pow.f64 (sin.f64 y) 2))) (*.f64 z (*.f64 (sin.f64 y) (*.f64 (sin.f64 y) (+.f64 (*.f64 z (cos.f64 y)) (*.f64 z (cos.f64 y))))))) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))))
(fma.f64 (*.f64 x x) (*.f64 (cos.f64 y) (-.f64 (*.f64 (*.f64 (sin.f64 y) (*.f64 z (cos.f64 y))) -2) (*.f64 (sin.f64 y) (*.f64 z (cos.f64 y))))) (fma.f64 x (*.f64 (sin.f64 y) (-.f64 (*.f64 (sin.f64 y) (*.f64 z (*.f64 z (cos.f64 y)))) (*.f64 z (*.f64 (*.f64 (sin.f64 y) (*.f64 z (cos.f64 y))) -2)))) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))))
(fma.f64 (*.f64 x x) (*.f64 (cos.f64 y) (-.f64 (*.f64 (sin.f64 y) (*.f64 -2 (*.f64 z (cos.f64 y)))) (*.f64 z (*.f64 (sin.f64 y) (cos.f64 y))))) (fma.f64 x (*.f64 (sin.f64 y) (-.f64 (*.f64 (sin.f64 y) (*.f64 (cos.f64 y) (*.f64 z z))) (*.f64 z (*.f64 (sin.f64 y) (*.f64 -2 (*.f64 z (cos.f64 y))))))) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))))
(+.f64 (*.f64 (pow.f64 x 2) (+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (*.f64 -1 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) (cos.f64 y)) (*.f64 -1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z (sin.f64 y)))))) (+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (*.f64 -1 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) (*.f64 z (sin.f64 y))))) x) (+.f64 (*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))))
(fma.f64 (fma.f64 (cos.f64 y) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)) (neg.f64 (neg.f64 (*.f64 (*.f64 z (sin.f64 y)) (fma.f64 (cos.f64 y) (*.f64 z (sin.f64 y)) (*.f64 z (*.f64 (sin.f64 y) (cos.f64 y)))))))) x (fma.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (fma.f64 (*.f64 x x) (*.f64 -1 (+.f64 (*.f64 (cos.f64 y) (fma.f64 (cos.f64 y) (*.f64 z (sin.f64 y)) (*.f64 z (*.f64 (sin.f64 y) (cos.f64 y))))) (*.f64 (*.f64 z (sin.f64 y)) (pow.f64 (cos.f64 y) 2)))) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))))
(fma.f64 x (fma.f64 (cos.f64 y) (*.f64 z (*.f64 z (pow.f64 (sin.f64 y) 2))) (*.f64 z (*.f64 (sin.f64 y) (*.f64 (sin.f64 y) (+.f64 (*.f64 z (cos.f64 y)) (*.f64 z (cos.f64 y))))))) (-.f64 (fma.f64 (*.f64 x x) (neg.f64 (fma.f64 (cos.f64 y) (*.f64 (sin.f64 y) (+.f64 (*.f64 z (cos.f64 y)) (*.f64 z (cos.f64 y)))) (*.f64 z (*.f64 (sin.f64 y) (pow.f64 (cos.f64 y) 2))))) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))
(fma.f64 x (*.f64 (sin.f64 y) (-.f64 (*.f64 (sin.f64 y) (*.f64 z (*.f64 z (cos.f64 y)))) (*.f64 z (*.f64 (*.f64 (sin.f64 y) (*.f64 z (cos.f64 y))) -2)))) (-.f64 (*.f64 (*.f64 x x) (+.f64 (*.f64 x (pow.f64 (cos.f64 y) 3)) (*.f64 (cos.f64 y) (-.f64 (*.f64 (*.f64 (sin.f64 y) (*.f64 z (cos.f64 y))) -2) (*.f64 (sin.f64 y) (*.f64 z (cos.f64 y))))))) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))
(fma.f64 x (*.f64 (sin.f64 y) (-.f64 (*.f64 (sin.f64 y) (*.f64 (cos.f64 y) (*.f64 z z))) (*.f64 z (*.f64 (sin.f64 y) (*.f64 -2 (*.f64 z (cos.f64 y))))))) (-.f64 (*.f64 (*.f64 x x) (+.f64 (*.f64 x (pow.f64 (cos.f64 y) 3)) (*.f64 (cos.f64 y) (-.f64 (*.f64 (sin.f64 y) (*.f64 -2 (*.f64 z (cos.f64 y)))) (*.f64 z (*.f64 (sin.f64 y) (cos.f64 y))))))) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))
(*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))
(+.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (*.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (cos.f64 y))) (*.f64 -1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z (sin.f64 y))))) (pow.f64 x 2)))
(fma.f64 (*.f64 x x) (*.f64 -1 (+.f64 (*.f64 (cos.f64 y) (fma.f64 (cos.f64 y) (*.f64 z (sin.f64 y)) (*.f64 z (*.f64 (sin.f64 y) (cos.f64 y))))) (*.f64 (*.f64 z (sin.f64 y)) (pow.f64 (cos.f64 y) 2)))) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))
(fma.f64 (*.f64 x x) (neg.f64 (fma.f64 (cos.f64 y) (*.f64 (sin.f64 y) (+.f64 (*.f64 z (cos.f64 y)) (*.f64 z (cos.f64 y)))) (*.f64 z (*.f64 (sin.f64 y) (pow.f64 (cos.f64 y) 2))))) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))
(*.f64 (*.f64 x x) (+.f64 (*.f64 x (pow.f64 (cos.f64 y) 3)) (*.f64 (cos.f64 y) (-.f64 (*.f64 (*.f64 (sin.f64 y) (*.f64 z (cos.f64 y))) -2) (*.f64 (sin.f64 y) (*.f64 z (cos.f64 y)))))))
(*.f64 (*.f64 x x) (+.f64 (*.f64 x (pow.f64 (cos.f64 y) 3)) (*.f64 (cos.f64 y) (-.f64 (*.f64 (sin.f64 y) (*.f64 -2 (*.f64 z (cos.f64 y)))) (*.f64 z (*.f64 (sin.f64 y) (cos.f64 y)))))))
(+.f64 (*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (*.f64 (pow.f64 z 2) (*.f64 (cos.f64 y) (pow.f64 (sin.f64 y) 2)))) (*.f64 -1 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (*.f64 z (sin.f64 y))))))) (+.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (*.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (cos.f64 y))) (*.f64 -1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z (sin.f64 y))))) (pow.f64 x 2))))
(fma.f64 (*.f64 x x) (*.f64 -1 (+.f64 (*.f64 (cos.f64 y) (fma.f64 (cos.f64 y) (*.f64 z (sin.f64 y)) (*.f64 z (*.f64 (sin.f64 y) (cos.f64 y))))) (*.f64 (*.f64 z (sin.f64 y)) (pow.f64 (cos.f64 y) 2)))) (fma.f64 (fma.f64 (cos.f64 y) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)) (neg.f64 (neg.f64 (*.f64 (*.f64 z (sin.f64 y)) (fma.f64 (cos.f64 y) (*.f64 z (sin.f64 y)) (*.f64 z (*.f64 (sin.f64 y) (cos.f64 y)))))))) x (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))))
(fma.f64 (*.f64 x x) (neg.f64 (fma.f64 (cos.f64 y) (*.f64 (sin.f64 y) (+.f64 (*.f64 z (cos.f64 y)) (*.f64 z (cos.f64 y)))) (*.f64 z (*.f64 (sin.f64 y) (pow.f64 (cos.f64 y) 2))))) (fma.f64 x (fma.f64 (cos.f64 y) (*.f64 z (*.f64 z (pow.f64 (sin.f64 y) 2))) (*.f64 z (*.f64 (sin.f64 y) (*.f64 (sin.f64 y) (+.f64 (*.f64 z (cos.f64 y)) (*.f64 z (cos.f64 y))))))) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))))
(fma.f64 (*.f64 x x) (*.f64 (cos.f64 y) (-.f64 (*.f64 (*.f64 (sin.f64 y) (*.f64 z (cos.f64 y))) -2) (*.f64 (sin.f64 y) (*.f64 z (cos.f64 y))))) (fma.f64 x (*.f64 (sin.f64 y) (-.f64 (*.f64 (sin.f64 y) (*.f64 z (*.f64 z (cos.f64 y)))) (*.f64 z (*.f64 (*.f64 (sin.f64 y) (*.f64 z (cos.f64 y))) -2)))) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))))
(fma.f64 (*.f64 x x) (*.f64 (cos.f64 y) (-.f64 (*.f64 (sin.f64 y) (*.f64 -2 (*.f64 z (cos.f64 y)))) (*.f64 z (*.f64 (sin.f64 y) (cos.f64 y))))) (fma.f64 x (*.f64 (sin.f64 y) (-.f64 (*.f64 (sin.f64 y) (*.f64 (cos.f64 y) (*.f64 z z))) (*.f64 z (*.f64 (sin.f64 y) (*.f64 -2 (*.f64 z (cos.f64 y))))))) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))))
(+.f64 (*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (*.f64 (pow.f64 z 2) (*.f64 (cos.f64 y) (pow.f64 (sin.f64 y) 2)))) (*.f64 -1 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (*.f64 z (sin.f64 y))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) (+.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (*.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) (*.f64 z (*.f64 (cos.f64 y) (sin.f64 y)))) (cos.f64 y))) (*.f64 -1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z (sin.f64 y))))) (pow.f64 x 2)))))
(fma.f64 (fma.f64 (cos.f64 y) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)) (neg.f64 (neg.f64 (*.f64 (*.f64 z (sin.f64 y)) (fma.f64 (cos.f64 y) (*.f64 z (sin.f64 y)) (*.f64 z (*.f64 (sin.f64 y) (cos.f64 y)))))))) x (fma.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (fma.f64 (*.f64 x x) (*.f64 -1 (+.f64 (*.f64 (cos.f64 y) (fma.f64 (cos.f64 y) (*.f64 z (sin.f64 y)) (*.f64 z (*.f64 (sin.f64 y) (cos.f64 y))))) (*.f64 (*.f64 z (sin.f64 y)) (pow.f64 (cos.f64 y) 2)))) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))))
(fma.f64 x (fma.f64 (cos.f64 y) (*.f64 z (*.f64 z (pow.f64 (sin.f64 y) 2))) (*.f64 z (*.f64 (sin.f64 y) (*.f64 (sin.f64 y) (+.f64 (*.f64 z (cos.f64 y)) (*.f64 z (cos.f64 y))))))) (-.f64 (fma.f64 (*.f64 x x) (neg.f64 (fma.f64 (cos.f64 y) (*.f64 (sin.f64 y) (+.f64 (*.f64 z (cos.f64 y)) (*.f64 z (cos.f64 y)))) (*.f64 z (*.f64 (sin.f64 y) (pow.f64 (cos.f64 y) 2))))) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))
(fma.f64 x (*.f64 (sin.f64 y) (-.f64 (*.f64 (sin.f64 y) (*.f64 z (*.f64 z (cos.f64 y)))) (*.f64 z (*.f64 (*.f64 (sin.f64 y) (*.f64 z (cos.f64 y))) -2)))) (-.f64 (*.f64 (*.f64 x x) (+.f64 (*.f64 x (pow.f64 (cos.f64 y) 3)) (*.f64 (cos.f64 y) (-.f64 (*.f64 (*.f64 (sin.f64 y) (*.f64 z (cos.f64 y))) -2) (*.f64 (sin.f64 y) (*.f64 z (cos.f64 y))))))) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))
(fma.f64 x (*.f64 (sin.f64 y) (-.f64 (*.f64 (sin.f64 y) (*.f64 (cos.f64 y) (*.f64 z z))) (*.f64 z (*.f64 (sin.f64 y) (*.f64 -2 (*.f64 z (cos.f64 y))))))) (-.f64 (*.f64 (*.f64 x x) (+.f64 (*.f64 x (pow.f64 (cos.f64 y) 3)) (*.f64 (cos.f64 y) (-.f64 (*.f64 (sin.f64 y) (*.f64 -2 (*.f64 z (cos.f64 y)))) (*.f64 z (*.f64 (sin.f64 y) (cos.f64 y))))))) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))))
(pow.f64 x 3)
(+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 z (pow.f64 x 2))) (*.f64 -2 (*.f64 z (pow.f64 x 2)))) y) (pow.f64 x 3))
(fma.f64 (*.f64 (*.f64 z (*.f64 x x)) -3) y (pow.f64 x 3))
(fma.f64 y (*.f64 z (*.f64 (*.f64 x x) -3)) (pow.f64 x 3))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 z (pow.f64 x 2))) (*.f64 -2 (*.f64 z (pow.f64 x 2)))) y) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (pow.f64 z 2) (*.f64 -1 (pow.f64 x 2))) x) (+.f64 (*.f64 2 (*.f64 (pow.f64 z 2) x)) (*.f64 -1/2 (pow.f64 x 3)))) (pow.f64 y 2)) (pow.f64 x 3)))
(fma.f64 (*.f64 (*.f64 z (*.f64 x x)) -3) y (fma.f64 (fma.f64 (+.f64 (*.f64 z z) (neg.f64 (*.f64 x x))) x (fma.f64 2 (*.f64 x (*.f64 z z)) (*.f64 -1/2 (pow.f64 x 3)))) (*.f64 y y) (pow.f64 x 3)))
(fma.f64 y (*.f64 z (*.f64 (*.f64 x x) -3)) (fma.f64 (*.f64 y y) (fma.f64 x (-.f64 (*.f64 z z) (*.f64 x x)) (fma.f64 -1/2 (pow.f64 x 3) (*.f64 2 (*.f64 z (*.f64 z x))))) (pow.f64 x 3)))
(fma.f64 y (*.f64 z (*.f64 (*.f64 x x) -3)) (fma.f64 (*.f64 y y) (fma.f64 x (-.f64 (*.f64 z z) (*.f64 x x)) (fma.f64 -1/2 (pow.f64 x 3) (*.f64 x (*.f64 2 (*.f64 z z))))) (pow.f64 x 3)))
(+.f64 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 1/6 (*.f64 z (pow.f64 x 2))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (pow.f64 z 2) (*.f64 -1 (pow.f64 x 2))) z)) (+.f64 (*.f64 (+.f64 (*.f64 z x) (*.f64 1/3 (*.f64 z x))) x) (*.f64 z (pow.f64 x 2)))))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 z (pow.f64 x 2))) (*.f64 -2 (*.f64 z (pow.f64 x 2)))) y) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (pow.f64 z 2) (*.f64 -1 (pow.f64 x 2))) x) (+.f64 (*.f64 2 (*.f64 (pow.f64 z 2) x)) (*.f64 -1/2 (pow.f64 x 3)))) (pow.f64 y 2)) (pow.f64 x 3))))
(fma.f64 (pow.f64 y 3) (fma.f64 1/6 (*.f64 z (*.f64 x x)) (fma.f64 -1 (*.f64 z (+.f64 (*.f64 z z) (neg.f64 (*.f64 x x)))) (fma.f64 (*.f64 4/3 (*.f64 z x)) x (*.f64 z (*.f64 x x))))) (fma.f64 (*.f64 (*.f64 z (*.f64 x x)) -3) y (fma.f64 (fma.f64 (+.f64 (*.f64 z z) (neg.f64 (*.f64 x x))) x (fma.f64 2 (*.f64 x (*.f64 z z)) (*.f64 -1/2 (pow.f64 x 3)))) (*.f64 y y) (pow.f64 x 3))))
(fma.f64 (pow.f64 y 3) (fma.f64 1/6 (*.f64 x (*.f64 z x)) (-.f64 (fma.f64 z (*.f64 x x) (*.f64 4/3 (*.f64 x (*.f64 z x)))) (*.f64 z (-.f64 (*.f64 z z) (*.f64 x x))))) (fma.f64 y (*.f64 z (*.f64 (*.f64 x x) -3)) (fma.f64 (*.f64 y y) (fma.f64 x (-.f64 (*.f64 z z) (*.f64 x x)) (fma.f64 -1/2 (pow.f64 x 3) (*.f64 2 (*.f64 z (*.f64 z x))))) (pow.f64 x 3))))
(fma.f64 (pow.f64 y 3) (+.f64 (*.f64 7/3 (*.f64 x (*.f64 z x))) (*.f64 z (-.f64 (*.f64 1/6 (*.f64 x x)) (-.f64 (*.f64 z z) (*.f64 x x))))) (fma.f64 y (*.f64 z (*.f64 (*.f64 x x) -3)) (fma.f64 (*.f64 y y) (fma.f64 x (-.f64 (*.f64 z z) (*.f64 x x)) (fma.f64 -1/2 (pow.f64 x 3) (*.f64 2 (*.f64 z (*.f64 z x))))) (pow.f64 x 3))))
(fma.f64 (pow.f64 y 3) (+.f64 (*.f64 7/3 (*.f64 z (*.f64 x x))) (-.f64 (*.f64 7/6 (*.f64 z (*.f64 x x))) (pow.f64 z 3))) (fma.f64 y (*.f64 z (*.f64 (*.f64 x x) -3)) (fma.f64 (*.f64 y y) (fma.f64 x (-.f64 (*.f64 z z) (*.f64 x x)) (fma.f64 -1/2 (pow.f64 x 3) (*.f64 x (*.f64 2 (*.f64 z z))))) (pow.f64 x 3))))
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 3)
(pow.f64 (fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z))) 3)
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 3)
(pow.f64 (fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z))) 3)
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 3)
(pow.f64 (fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z))) 3)
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 3)
(pow.f64 (fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z))) 3)
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 3)
(pow.f64 (fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z))) 3)
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 3)
(pow.f64 (fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z))) 3)
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 3)
(pow.f64 (fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z))) 3)
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 3)
(pow.f64 (fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) (neg.f64 z))) 3)
(*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))
(+.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (*.f64 (+.f64 (*.f64 -2 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (pow.f64 x 2)))) (*.f64 -1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (pow.f64 x 2))))) z))
(fma.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3) (*.f64 z (*.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (*.f64 x x))) -3)))
(fma.f64 z (*.f64 (*.f64 (sin.f64 y) (pow.f64 (cos.f64 y) 2)) (*.f64 (*.f64 x x) -3)) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))
(fma.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3) (*.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (*.f64 x x))) (*.f64 z -3)))
(fma.f64 z (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 (sin.f64 y) (*.f64 x x)) -3)) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)))
(+.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)) (*.f64 2 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)))) (pow.f64 z 2)) (*.f64 (+.f64 (*.f64 -2 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (pow.f64 x 2)))) (*.f64 -1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (pow.f64 x 2))))) z)))
(fma.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3) (fma.f64 (*.f64 3 (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (sin.f64 y) 2)))) (*.f64 z z) (*.f64 z (*.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (*.f64 x x))) -3))))
(fma.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3) (fma.f64 (*.f64 z z) (*.f64 3 (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (sin.f64 y) 2)))) (*.f64 z (*.f64 (*.f64 (sin.f64 y) (pow.f64 (cos.f64 y) 2)) (*.f64 (*.f64 x x) -3)))))
(fma.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3) (*.f64 3 (-.f64 (*.f64 (*.f64 z z) (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (sin.f64 y) 2)))) (*.f64 z (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (*.f64 x x)))))))
(fma.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3) (*.f64 z (+.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 (sin.f64 y) (*.f64 x x)) -3)) (*.f64 z (*.f64 3 (*.f64 (*.f64 (cos.f64 y) x) (pow.f64 (sin.f64 y) 2)))))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) (+.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)) (*.f64 2 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)))) (pow.f64 z 2)) (*.f64 (+.f64 (*.f64 -2 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (pow.f64 x 2)))) (*.f64 -1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (pow.f64 x 2))))) z))))
(fma.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (fma.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3) (fma.f64 (*.f64 3 (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (sin.f64 y) 2)))) (*.f64 z z) (*.f64 z (*.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (*.f64 x x))) -3)))))
(-.f64 (fma.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3) (fma.f64 (*.f64 z z) (*.f64 3 (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (sin.f64 y) 2)))) (*.f64 z (*.f64 (*.f64 (sin.f64 y) (pow.f64 (cos.f64 y) 2)) (*.f64 (*.f64 x x) -3))))) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(+.f64 (fma.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3) (*.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (*.f64 x x))) (*.f64 z -3))) (*.f64 (*.f64 z z) (-.f64 (*.f64 (cos.f64 y) (*.f64 3 (*.f64 x (pow.f64 (sin.f64 y) 2)))) (*.f64 z (pow.f64 (sin.f64 y) 3)))))
(+.f64 (fma.f64 z (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 (sin.f64 y) (*.f64 x x)) -3)) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))) (*.f64 (*.f64 z z) (-.f64 (*.f64 3 (*.f64 (*.f64 (cos.f64 y) x) (pow.f64 (sin.f64 y) 2))) (*.f64 z (pow.f64 (sin.f64 y) 3)))))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(neg.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)) (*.f64 2 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)))) (pow.f64 z 2)))
(fma.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (*.f64 (*.f64 z z) (*.f64 3 (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (sin.f64 y) 2))))))
(fma.f64 (*.f64 z z) (*.f64 3 (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (sin.f64 y) 2)))) (*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3))))
(*.f64 (*.f64 z z) (-.f64 (*.f64 (cos.f64 y) (*.f64 3 (*.f64 x (pow.f64 (sin.f64 y) 2)))) (*.f64 z (pow.f64 (sin.f64 y) 3))))
(*.f64 (*.f64 z z) (-.f64 (*.f64 3 (*.f64 (*.f64 (cos.f64 y) x) (pow.f64 (sin.f64 y) 2))) (*.f64 z (pow.f64 (sin.f64 y) 3))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) (+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)) (*.f64 2 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)))) (pow.f64 z 2)) (*.f64 (+.f64 (*.f64 -2 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (pow.f64 x 2)))) (*.f64 -1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (pow.f64 x 2))))) z)))
(fma.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (fma.f64 (*.f64 3 (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (sin.f64 y) 2)))) (*.f64 z z) (*.f64 z (*.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (*.f64 x x))) -3))))
(-.f64 (fma.f64 (*.f64 z z) (*.f64 3 (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (sin.f64 y) 2)))) (*.f64 z (*.f64 (*.f64 (sin.f64 y) (pow.f64 (cos.f64 y) 2)) (*.f64 (*.f64 x x) -3)))) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(+.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (*.f64 x x))) (*.f64 z -3)) (*.f64 (*.f64 z z) (-.f64 (*.f64 (cos.f64 y) (*.f64 3 (*.f64 x (pow.f64 (sin.f64 y) 2)))) (*.f64 z (pow.f64 (sin.f64 y) 3)))))
(+.f64 (*.f64 z (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 (sin.f64 y) (*.f64 x x)) -3))) (*.f64 (*.f64 z z) (-.f64 (*.f64 3 (*.f64 (*.f64 (cos.f64 y) x) (pow.f64 (sin.f64 y) 2))) (*.f64 z (pow.f64 (sin.f64 y) 3)))))
(+.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) (+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)) (*.f64 2 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)))) (pow.f64 z 2)) (*.f64 (+.f64 (*.f64 -2 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (pow.f64 x 2)))) (*.f64 -1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (pow.f64 x 2))))) z))))
(fma.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (fma.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3) (fma.f64 (*.f64 3 (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (sin.f64 y) 2)))) (*.f64 z z) (*.f64 z (*.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (*.f64 x x))) -3)))))
(-.f64 (fma.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3) (fma.f64 (*.f64 z z) (*.f64 3 (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (sin.f64 y) 2)))) (*.f64 z (*.f64 (*.f64 (sin.f64 y) (pow.f64 (cos.f64 y) 2)) (*.f64 (*.f64 x x) -3))))) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(+.f64 (fma.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3) (*.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (*.f64 x x))) (*.f64 z -3))) (*.f64 (*.f64 z z) (-.f64 (*.f64 (cos.f64 y) (*.f64 3 (*.f64 x (pow.f64 (sin.f64 y) 2)))) (*.f64 z (pow.f64 (sin.f64 y) 3)))))
(+.f64 (fma.f64 z (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 (sin.f64 y) (*.f64 x x)) -3)) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))) (*.f64 (*.f64 z z) (-.f64 (*.f64 3 (*.f64 (*.f64 (cos.f64 y) x) (pow.f64 (sin.f64 y) 2))) (*.f64 z (pow.f64 (sin.f64 y) 3)))))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(neg.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)) (*.f64 2 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)))) (pow.f64 z 2)))
(fma.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (*.f64 (*.f64 z z) (*.f64 3 (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (sin.f64 y) 2))))))
(fma.f64 (*.f64 z z) (*.f64 3 (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (sin.f64 y) 2)))) (*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3))))
(*.f64 (*.f64 z z) (-.f64 (*.f64 (cos.f64 y) (*.f64 3 (*.f64 x (pow.f64 (sin.f64 y) 2)))) (*.f64 z (pow.f64 (sin.f64 y) 3))))
(*.f64 (*.f64 z z) (-.f64 (*.f64 3 (*.f64 (*.f64 (cos.f64 y) x) (pow.f64 (sin.f64 y) 2))) (*.f64 z (pow.f64 (sin.f64 y) 3))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) (+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)) (*.f64 2 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)))) (pow.f64 z 2)) (*.f64 -1 (*.f64 (+.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (pow.f64 x 2))) (*.f64 2 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (pow.f64 x 2))))) z))))
(fma.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (fma.f64 (*.f64 3 (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (sin.f64 y) 2)))) (*.f64 z z) (*.f64 z (*.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (*.f64 x x))) -3))))
(-.f64 (fma.f64 (*.f64 z z) (*.f64 3 (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (sin.f64 y) 2)))) (*.f64 z (*.f64 (*.f64 (sin.f64 y) (pow.f64 (cos.f64 y) 2)) (*.f64 (*.f64 x x) -3)))) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(+.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (*.f64 x x))) (*.f64 z -3)) (*.f64 (*.f64 z z) (-.f64 (*.f64 (cos.f64 y) (*.f64 3 (*.f64 x (pow.f64 (sin.f64 y) 2)))) (*.f64 z (pow.f64 (sin.f64 y) 3)))))
(+.f64 (*.f64 z (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 (sin.f64 y) (*.f64 x x)) -3))) (*.f64 (*.f64 z z) (-.f64 (*.f64 3 (*.f64 (*.f64 (cos.f64 y) x) (pow.f64 (sin.f64 y) 2))) (*.f64 z (pow.f64 (sin.f64 y) 3)))))
(+.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3))) (+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)) (*.f64 2 (*.f64 (cos.f64 y) (*.f64 (pow.f64 (sin.f64 y) 2) x)))) (pow.f64 z 2)) (*.f64 -1 (*.f64 (+.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (pow.f64 x 2))) (*.f64 2 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (pow.f64 x 2))))) z)))))
(fma.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)) (fma.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3) (fma.f64 (*.f64 3 (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (sin.f64 y) 2)))) (*.f64 z z) (*.f64 z (*.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (*.f64 x x))) -3)))))
(-.f64 (fma.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3) (fma.f64 (*.f64 z z) (*.f64 3 (*.f64 (cos.f64 y) (*.f64 x (pow.f64 (sin.f64 y) 2)))) (*.f64 z (*.f64 (*.f64 (sin.f64 y) (pow.f64 (cos.f64 y) 2)) (*.f64 (*.f64 x x) -3))))) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(+.f64 (fma.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3) (*.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (sin.f64 y) (*.f64 x x))) (*.f64 z -3))) (*.f64 (*.f64 z z) (-.f64 (*.f64 (cos.f64 y) (*.f64 3 (*.f64 x (pow.f64 (sin.f64 y) 2)))) (*.f64 z (pow.f64 (sin.f64 y) 3)))))
(+.f64 (fma.f64 z (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 (sin.f64 y) (*.f64 x x)) -3)) (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))) (*.f64 (*.f64 z z) (-.f64 (*.f64 3 (*.f64 (*.f64 (cos.f64 y) x) (pow.f64 (sin.f64 y) 2))) (*.f64 z (pow.f64 (sin.f64 y) 3)))))

localize25.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 z (sin.f64 y))
0.2b
(pow.f64 (expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 z (sin.f64 y))))) 2)
0.6b
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 z (sin.f64 y)))))
7.4b
(sqrt.f64 (*.f64 z (sin.f64 y)))
Compiler

Compiled 60 to 16 computations (73.3% saved)

series5.0ms (0%)

Counts
2 → 16
Calls

12 calls:

TimeVariablePointExpression
1.0ms
y
@0
(pow.f64 (expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 z (sin.f64 y))))) 2)
1.0ms
z
@0
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 z (sin.f64 y)))))
1.0ms
z
@-inf
(pow.f64 (expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 z (sin.f64 y))))) 2)
0.0ms
z
@-inf
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 z (sin.f64 y)))))
0.0ms
z
@0
(pow.f64 (expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 z (sin.f64 y))))) 2)

rewrite58.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
694×pow1_binary64
641×expm1-log1p-u_binary64
640×add-log-exp_binary64
640×log1p-expm1-u_binary64
624×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01014
118414
2180014
Stop Event
node limit
Counts
2 → 55
Calls
Call 1
Inputs
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 z (sin.f64 y)))))
(pow.f64 (expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 z (sin.f64 y))))) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (*.f64 z (sin.f64 y)))) (cbrt.f64 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (cbrt.f64 (sqrt.f64 (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 z (sin.f64 y)) 1/4) (pow.f64 (*.f64 z (sin.f64 y)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) (sqrt.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 y)) (sqrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 1) 3) 1) (+.f64 (*.f64 (+.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 1) (+.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 1)) (+.f64 1 (*.f64 (+.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 1) (+.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 1)) 1) (+.f64 (+.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (sin.f64 y)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 z (sin.f64 y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (sin.f64 y)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.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 (sqrt.f64 (*.f64 z (sin.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 z (sin.f64 y)))))) (#(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 (cbrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (cbrt.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 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (cbrt.f64 (*.f64 z (sin.f64 y))))))) (#(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 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 z (sin.f64 y)) 1/4) (*.f64 (pow.f64 (*.f64 z (sin.f64 y)) 1/4) (sqrt.f64 (*.f64 z (sin.f64 y)))))))) (#(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 z) (*.f64 (sqrt.f64 (sin.f64 y)) (sqrt.f64 (*.f64 z (sin.f64 y)))))))) (#(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 (*.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) (pow.f64 (*.f64 z (sin.f64 y)) 1/4)) (pow.f64 (*.f64 z (sin.f64 y)) 1/4))))) (#(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 (sqrt.f64 (*.f64 z (sin.f64 y))) (cbrt.f64 (*.f64 z (sin.f64 y)))) (cbrt.f64 (sqrt.f64 (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) (sqrt.f64 z)) (sqrt.f64 (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 expm1.f64 (log1p.f64 (*.f64 z (sin.f64 y))))))) (#(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))))))))

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06112
17112
Stop Event
saturated
Counts
71 → 55
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 z (sin.f64 y)))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
Outputs
(sqrt.f64 (*.f64 z (sin.f64 y)))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))

eval328.0ms (2.6%)

Compiler

Compiled 14199 to 4345 computations (69.4% saved)

prune160.0ms (1.3%)

Pruning

34 alts after pruning (28 fresh and 6 done)

PrunedKeptTotal
New58410594
Fresh71825
Picked101
Done167
Total59334627
Error
0.0b
Counts
627 → 34
Alt Table
Click to see full alt table
StatusErrorProgram
30.5b
(-.f64 x (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z)))
13.6b
(fma.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
39.8b
(*.f64 (+.f64 (*.f64 y z) x) 1)
40.0b
(cbrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3))
0.3b
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
35.8b
(*.f64 (sin.f64 y) (neg.f64 z))
35.7b
(/.f64 1 (/.f64 (+.f64 x (*.f64 z (sin.f64 y))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (sin.f64 y)) 2))))
29.3b
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2)
46.4b
(-.f64 (+.f64 1 (+.f64 (*.f64 y z) x)) 1)
13.6b
(fma.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) (cbrt.f64 (pow.f64 (cos.f64 y) 3/2)) (*.f64 (sin.f64 y) (neg.f64 z)))
29.3b
(pow.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) 3/2)
0.2b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
53.9b
(cbrt.f64 (*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3))))
12.5b
(+.f64 x (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))
2.5b
(fma.f64 (*.f64 (neg.f64 z) (cbrt.f64 (pow.f64 (sin.f64 y) 2))) (cbrt.f64 (sin.f64 y)) (*.f64 x (cos.f64 y)))
1.4b
(pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 3)
52.6b
(*.f64 y (neg.f64 z))
32.2b
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))
29.2b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (sqrt.f64 z)) (sqrt.f64 z)))
29.2b
(-.f64 x (cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))
13.5b
(pow.f64 (cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 3)
0.3b
(fma.f64 (*.f64 x (cbrt.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y)))))) (cbrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
29.7b
(-.f64 x (*.f64 z y))
12.4b
(-.f64 x (*.f64 z (sin.f64 y)))
30.9b
(+.f64 x (*.f64 y (-.f64 (*.f64 y (*.f64 x -1/2)) z)))
0.6b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (sin.f64 y))))
27.2b
(*.f64 (cos.f64 y) x)
36.4b
(-.f64 x (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
0.9b
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
31.4b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 (*.f64 z (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y))))
37.1b
(pow.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 2)
39.0b
x
0.6b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) z)))
29.7b
(fma.f64 (neg.f64 y) z x)
Compiler

Compiled 888 to 604 computations (32% saved)

localize54.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (sin.f64 y) (neg.f64 z))
0.3b
(cbrt.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y)))))
0.3b
(cbrt.f64 (cos.f64 y))
0.4b
(+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y))))
Compiler

Compiled 83 to 54 computations (34.9% saved)

series5.0ms (0%)

Counts
2 → 16
Calls

6 calls:

TimeVariablePointExpression
2.0ms
y
@inf
(cbrt.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y)))))
2.0ms
y
@-inf
(cbrt.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y)))))
1.0ms
y
@0
(+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y))))
1.0ms
y
@inf
(+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y))))
0.0ms
y
@-inf
(+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y))))

rewrite69.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
947×pow1_binary64
884×add-log-exp_binary64
883×log1p-expm1-u_binary64
883×expm1-log1p-u_binary64
868×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify55.0ms (0.4%)

Algorithm
egg-herbie
Rules
701×distribute-rgt-neg-in_binary64
633×distribute-lft-neg-in_binary64
437×fma-def_binary64
431×associate-*l*_binary64
425×unswap-sqr_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
040214
195191
2218185
3661185
42783185
56312185
Stop Event
node limit
Counts
75 → 74
Calls
Call 1
Inputs
1
(+.f64 (*.f64 -1 (pow.f64 y 2)) 1)
(+.f64 (*.f64 -1 (pow.f64 y 2)) (+.f64 1 (*.f64 1/3 (pow.f64 y 4))))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (+.f64 1 (+.f64 (*.f64 -2/45 (pow.f64 y 6)) (*.f64 1/3 (pow.f64 y 4)))))
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 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y)))) 1/3)
(pow.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y)))) 1/3)
(pow.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y)))) 1/3)
(pow.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y)))) 1/3)
(pow.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y)))) 1/3)
(pow.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y)))) 1/3)
(pow.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y)))) 1/3)
(pow.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y)))) 1/3)
Outputs
1
(+.f64 (*.f64 -1 (pow.f64 y 2)) 1)
(fma.f64 -1 (*.f64 y y) 1)
(-.f64 1 (*.f64 y y))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (+.f64 1 (*.f64 1/3 (pow.f64 y 4))))
(fma.f64 -1 (*.f64 y y) (+.f64 1 (*.f64 1/3 (pow.f64 y 4))))
(-.f64 (fma.f64 1/3 (pow.f64 y 4) 1) (*.f64 y y))
(-.f64 (*.f64 1/3 (pow.f64 y 4)) (fma.f64 y y -1))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (+.f64 1 (+.f64 (*.f64 -2/45 (pow.f64 y 6)) (*.f64 1/3 (pow.f64 y 4)))))
(+.f64 (fma.f64 -1 (*.f64 y y) 1) (fma.f64 -2/45 (pow.f64 y 6) (*.f64 1/3 (pow.f64 y 4))))
(+.f64 (-.f64 1 (*.f64 y y)) (fma.f64 1/3 (pow.f64 y 4) (*.f64 -2/45 (pow.f64 y 6))))
(-.f64 (fma.f64 1/3 (pow.f64 y 4) (fma.f64 -2/45 (pow.f64 y 6) 1)) (*.f64 y y))
(-.f64 (fma.f64 1/3 (pow.f64 y 4) 1) (fma.f64 y y (*.f64 (pow.f64 y 6) 2/45)))
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 (*.f64 y y) -1/3 (*.f64 (pow.f64 y 6) -1/405)))
(fma.f64 (pow.f64 y 6) -1/405 (fma.f64 (*.f64 y y) -1/3 1))
(fma.f64 y (*.f64 y -1/3) (fma.f64 (pow.f64 y 6) -1/405 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 (*.f64 y y) -1/3 (*.f64 (pow.f64 y 6) -1/405))))
(fma.f64 -1/1701 (pow.f64 y 8) (fma.f64 (pow.f64 y 6) -1/405 (fma.f64 (*.f64 y y) -1/3 1)))
(fma.f64 y (*.f64 y -1/3) (fma.f64 (pow.f64 y 6) -1/405 (fma.f64 -1/1701 (pow.f64 y 8) 1)))
(fma.f64 y (*.f64 y -1/3) (fma.f64 -1/1701 (pow.f64 y 8) (fma.f64 (pow.f64 y 6) -1/405 1)))
(pow.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y)))) 1/3)
(cbrt.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 y 2)))))
(cbrt.f64 (fma.f64 1/2 (cos.f64 (*.f64 y 2)) 1/2))
(pow.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y)))) 1/3)
(cbrt.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 y 2)))))
(cbrt.f64 (fma.f64 1/2 (cos.f64 (*.f64 y 2)) 1/2))
(pow.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y)))) 1/3)
(cbrt.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 y 2)))))
(cbrt.f64 (fma.f64 1/2 (cos.f64 (*.f64 y 2)) 1/2))
(pow.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y)))) 1/3)
(cbrt.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 y 2)))))
(cbrt.f64 (fma.f64 1/2 (cos.f64 (*.f64 y 2)) 1/2))
(pow.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y)))) 1/3)
(cbrt.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 y 2)))))
(cbrt.f64 (fma.f64 1/2 (cos.f64 (*.f64 y 2)) 1/2))
(pow.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y)))) 1/3)
(cbrt.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 y 2)))))
(cbrt.f64 (fma.f64 1/2 (cos.f64 (*.f64 y 2)) 1/2))
(pow.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y)))) 1/3)
(cbrt.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 y 2)))))
(cbrt.f64 (fma.f64 1/2 (cos.f64 (*.f64 y 2)) 1/2))
(pow.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y)))) 1/3)
(cbrt.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 y 2)))))
(cbrt.f64 (fma.f64 1/2 (cos.f64 (*.f64 y 2)) 1/2))

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 14 to 5 computations (64.3% saved)

series3.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite59.0ms (0.5%)

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
218607
Stop Event
node limit
Counts
1 → 37
Calls
Call 1
Inputs
(-.f64 x (*.f64 z y))
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 z y)) (fma.f64 (neg.f64 y) z (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z y)) (fma.f64 (neg.f64 z) y (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z y)) (fma.f64 (*.f64 y (neg.f64 z)) 1 (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z y)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z y))) (pow.f64 (cbrt.f64 (*.f64 z y)) 2) (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z y)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 z y))) (sqrt.f64 (*.f64 z y)) (*.f64 z y)))))) (#(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 z y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 x (*.f64 z y))) (pow.f64 (cbrt.f64 (-.f64 x (*.f64 z y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 x (*.f64 z y))) 2) (cbrt.f64 (-.f64 x (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 x (*.f64 z y))) (sqrt.f64 (-.f64 x (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z y) 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 z y) (+.f64 x (*.f64 z y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z y) 2)) (/.f64 1 (+.f64 x (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 z y))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 z y) (+.f64 x (*.f64 z y)))) (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z y) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 x (*.f64 z y)) (-.f64 (*.f64 x x) (pow.f64 (*.f64 z y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z y) 3)) (fma.f64 x x (*.f64 (*.f64 z y) (+.f64 x (*.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z y) 2)) (+.f64 x (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z y) 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 z y) (+.f64 x (*.f64 z y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z y) 2))) (neg.f64 (+.f64 x (*.f64 z y))))))) (#(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 z y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (*.f64 z y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (*.f64 z y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 x (*.f64 z y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 x (*.f64 z y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 x (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 x (*.f64 z y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 x (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 x (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 x (*.f64 z y))))))) (#(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)))))))

simplify27.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
7194223
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 y (neg.f64 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 (*.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 y (neg.f64 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 (*.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 y (neg.f64 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 (*.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 y (neg.f64 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 (*.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 y (neg.f64 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 (*.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))

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 x (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z)))
0.1b
(*.f64 -1/6 (*.f64 (pow.f64 y 3) z))
4.1b
(*.f64 (pow.f64 y 3) z)
6.7b
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z))
Compiler

Compiled 50 to 29 computations (42% saved)

series21.0ms (0.2%)

Counts
4 → 57
Calls

27 calls:

TimeVariablePointExpression
7.0ms
z
@-inf
(*.f64 (pow.f64 y 3) z)
2.0ms
z
@inf
(*.f64 (pow.f64 y 3) z)
1.0ms
z
@0
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z))
1.0ms
z
@inf
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z))
1.0ms
x
@0
(-.f64 x (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z)))

rewrite142.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
670×fma-def_binary64
661×log-prod_binary64
346×pow2_binary64
281×fma-neg_binary64
237×pow1/3_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01248
127346
2373242
Stop Event
node limit
Counts
4 → 238
Calls
Call 1
Inputs
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z))
(*.f64 (pow.f64 y 3) z)
(*.f64 -1/6 (*.f64 (pow.f64 y 3) z))
(-.f64 x (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 1/36 (*.f64 (pow.f64 y 6) (*.f64 z z))) (*.f64 z (-.f64 (*.f64 -1/6 (pow.f64 y 3)) y))) (/.f64 (pow.f64 (*.f64 y z) 2) (*.f64 z (-.f64 (*.f64 -1/6 (pow.f64 y 3)) y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) (pow.f64 (cbrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 2) (cbrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) (sqrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 -1/216 (pow.f64 (*.f64 (pow.f64 y 3) z) 3) (pow.f64 (*.f64 y z) 3)) (/.f64 1 (fma.f64 (*.f64 y z) (-.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z))) (*.f64 1/36 (*.f64 (pow.f64 y 6) (*.f64 z z))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 1/36 (*.f64 (pow.f64 y 6) (*.f64 z z))) (pow.f64 (*.f64 y z) 2)) (/.f64 1 (*.f64 z (-.f64 (*.f64 -1/6 (pow.f64 y 3)) y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 y z) (-.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z))) (*.f64 1/36 (*.f64 (pow.f64 y 6) (*.f64 z z)))) (fma.f64 -1/216 (pow.f64 (*.f64 (pow.f64 y 3) z) 3) (pow.f64 (*.f64 y z) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 z (-.f64 (*.f64 -1/6 (pow.f64 y 3)) y)) (-.f64 (*.f64 1/36 (*.f64 (pow.f64 y 6) (*.f64 z z))) (pow.f64 (*.f64 y z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -1/216 (pow.f64 (*.f64 (pow.f64 y 3) z) 3) (pow.f64 (*.f64 y z) 3)) (fma.f64 (*.f64 y z) (-.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z))) (*.f64 1/36 (*.f64 (pow.f64 y 6) (*.f64 z z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -1/216 (pow.f64 (*.f64 (pow.f64 y 3) z) 3) (pow.f64 (*.f64 y z) 3)) (+.f64 (pow.f64 (*.f64 y z) 2) (-.f64 (*.f64 1/36 (*.f64 (pow.f64 y 6) (*.f64 z z))) (*.f64 (*.f64 (pow.f64 y 3) z) (*.f64 -1/6 (*.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 1/36 (*.f64 (pow.f64 y 6) (*.f64 z z))) (pow.f64 (*.f64 y z) 2)) (*.f64 z (-.f64 (*.f64 -1/6 (pow.f64 y 3)) y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 -1/216 (pow.f64 (*.f64 (pow.f64 y 3) z) 3) (pow.f64 (*.f64 y z) 3))) (neg.f64 (fma.f64 (*.f64 y z) (-.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z))) (*.f64 1/36 (*.f64 (pow.f64 y 6) (*.f64 z z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 1/36 (*.f64 (pow.f64 y 6) (*.f64 z z))) (pow.f64 (*.f64 y z) 2))) (neg.f64 (*.f64 z (-.f64 (*.f64 -1/6 (pow.f64 y 3)) y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 1/36 (*.f64 (pow.f64 y 6) (*.f64 z z)))) (-.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 y z) (-.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z))) (*.f64 1/36 (*.f64 (pow.f64 y 6) (*.f64 z z)))) (fma.f64 -1/216 (pow.f64 (*.f64 (pow.f64 y 3) z) 3) (pow.f64 (*.f64 y z) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 z (-.f64 (*.f64 -1/6 (pow.f64 y 3)) y)) (-.f64 (*.f64 1/36 (*.f64 (pow.f64 y 6) (*.f64 z z))) (pow.f64 (*.f64 y z) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) (pow.f64 (exp.f64 z) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 -1/6) (*.f64 (pow.f64 y 3) z)) (+.f64 1 (expm1.f64 (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) (+.f64 1 (expm1.f64 (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y z))) (pow.f64 (exp.f64 -1/6) (*.f64 (pow.f64 y 3) z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 z) y) (+.f64 1 (expm1.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y z))) (+.f64 1 (expm1.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/6 (*.f64 (pow.f64 y 3) z) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y z (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 y 3) (*.f64 z -1/6) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z y (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 -1/6 (pow.f64 y 3)) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 y 3) z) -1/6 (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) 1 (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y z) 1 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 -1/6) (*.f64 y (cbrt.f64 z))) (pow.f64 (*.f64 (cbrt.f64 -1/6) (*.f64 y (cbrt.f64 z))) 2) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 (cbrt.f64 -1/6) (*.f64 y (cbrt.f64 z))) 2) (*.f64 (cbrt.f64 -1/6) (*.f64 y (cbrt.f64 z))) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y z)) (pow.f64 (cbrt.f64 (*.f64 y z)) 2) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y z)) 2) (cbrt.f64 (*.f64 y z)) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 y (cbrt.f64 z)) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 y (cbrt.f64 z)) 2) (*.f64 (*.f64 y (cbrt.f64 z)) -1/6) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z))) (sqrt.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z))) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y z)) (sqrt.f64 (*.f64 y z)) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) y) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 z) (pow.f64 y 3/2)) (*.f64 (*.f64 (sqrt.f64 z) (pow.f64 y 3/2)) -1/6) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/6 (pow.f64 y 3)) z (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/6 z) (pow.f64 y 3) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/6 (pow.f64 (*.f64 y (cbrt.f64 z)) 2)) (*.f64 y (cbrt.f64 z)) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 z) (pow.f64 y 3/2))) (*.f64 (sqrt.f64 z) (pow.f64 y 3/2)) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 -1/6 (pow.f64 y 3)) 1) z (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 -1/6 (pow.f64 y 3)) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 -1/6 (pow.f64 y 3)) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 z)) (sqrt.f64 z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 y)) (sqrt.f64 y) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 y 3) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 y 3)) z)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 y 3)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 y 3)) z))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 y 3)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 y 3) z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 y 3) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 y 6) (*.f64 z z)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (pow.f64 y 3) z) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (cbrt.f64 z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 z) (pow.f64 y 3/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (pow.f64 y 3) 3) (pow.f64 z 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 z 3) (pow.f64 (pow.f64 y 3) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 y 6) (*.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (pow.f64 y 3)) z))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 y 3) z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (pow.f64 y 3) z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 y 3) 3) (pow.f64 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (pow.f64 y 3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 y 3) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 y 3) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (fma.f64 3 (log.f64 y) (log.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (fma.f64 3 (log.f64 y) (log.f64 z)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/6) (*.f64 (pow.f64 y 3) z))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/6) (*.f64 (pow.f64 y 3) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/6) (*.f64 (pow.f64 y 3) z)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/6) (*.f64 (pow.f64 y 3) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/36 (*.f64 (pow.f64 y 6) (*.f64 z z))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 -1/6) (*.f64 y (cbrt.f64 z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/216 (pow.f64 (*.f64 (pow.f64 y 3) z) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/36 (*.f64 (pow.f64 y 6) (*.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 -1/6) (*.f64 (pow.f64 y 3) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 -1/216 (pow.f64 (*.f64 (pow.f64 y 3) z) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) (fma.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 1 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (pow.f64 (cbrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 2) (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) (+.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z))) (neg.f64 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z))) (*.f64 (neg.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z))) (*.f64 (neg.f64 z) y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z))) (*.f64 -1 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z))) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 y z)) 2)) (cbrt.f64 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z))) (*.f64 (neg.f64 (sqrt.f64 (*.f64 y z))) (sqrt.f64 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (pow.f64 (cbrt.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) 2) (cbrt.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (sqrt.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) (fma.f64 z (fma.f64 -1/6 (pow.f64 y 3) y) x) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) 2)) (/.f64 1 (fma.f64 z (fma.f64 -1/6 (pow.f64 y 3) y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) (fma.f64 z (fma.f64 -1/6 (pow.f64 y 3) y) x) (*.f64 x x)) (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 z (fma.f64 -1/6 (pow.f64 y 3) y) x) (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) 3)) (fma.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) (fma.f64 z (fma.f64 -1/6 (pow.f64 y 3) y) x) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) 2)) (fma.f64 z (fma.f64 -1/6 (pow.f64 y 3) y) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) 3))) (neg.f64 (fma.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) (fma.f64 z (fma.f64 -1/6 (pow.f64 y 3) y) x) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) 2))) (neg.f64 (fma.f64 z (fma.f64 -1/6 (pow.f64 y 3) y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z))) 3) (pow.f64 (*.f64 y z) 3)) (+.f64 (pow.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z))) 2) (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z))) (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 3)) (fma.f64 x x (-.f64 (pow.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 2) (*.f64 x (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z))) 2) (pow.f64 (*.f64 y z) 2)) (+.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z))) (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 2)) (-.f64 x (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) (fma.f64 z (fma.f64 -1/6 (pow.f64 y 3) y) x) (*.f64 x x)) (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 z (fma.f64 -1/6 (pow.f64 y 3) y) x) (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (/.f64 (exp.f64 x) (pow.f64 (exp.f64 -1/6) (*.f64 (pow.f64 y 3) z))) (pow.f64 (exp.f64 z) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))) (+.f64 1 (expm1.f64 (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (/.f64 (exp.f64 x) (pow.f64 (exp.f64 -1/6) (*.f64 (pow.f64 y 3) z))) (+.f64 1 (expm1.f64 (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (/.f64 1 (exp.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (/.f64 1 (exp.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 1 (fma.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 1 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (pow.f64 (cbrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 2) (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 1 (+.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) (fma.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 1 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (pow.f64 (cbrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 2) (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) (+.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z))) (neg.f64 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z))) (*.f64 (neg.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z))) (*.f64 (neg.f64 z) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z))) (*.f64 -1 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z))) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 y z)) 2)) (cbrt.f64 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z))) (*.f64 (neg.f64 (sqrt.f64 (*.f64 y z))) (sqrt.f64 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (pow.f64 (cbrt.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) 2) (fma.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 1 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (pow.f64 (cbrt.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (pow.f64 (cbrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 2) (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (pow.f64 (cbrt.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) 2) (+.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) 2) (cbrt.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (fma.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 1 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) 2) (cbrt.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (pow.f64 (cbrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 2) (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) 2) (cbrt.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (+.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 2) (neg.f64 (cbrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (sqrt.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (fma.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 1 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (sqrt.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (pow.f64 (cbrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 2) (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (sqrt.f64 (-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (+.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) (neg.f64 (sqrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) (fma.f64 z (fma.f64 -1/6 (pow.f64 y 3) y) x) (*.f64 x x))) (fma.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 1 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) (fma.f64 z (fma.f64 -1/6 (pow.f64 y 3) y) x) (*.f64 x x))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (pow.f64 (cbrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 2) (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 x 3) (pow.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) (fma.f64 z (fma.f64 -1/6 (pow.f64 y 3) y) x) (*.f64 x x))) (+.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) 2)) (/.f64 1 (fma.f64 z (fma.f64 -1/6 (pow.f64 y 3) y) x)) (fma.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 1 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) 2)) (/.f64 1 (fma.f64 z (fma.f64 -1/6 (pow.f64 y 3) y) x)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (pow.f64 (cbrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 2) (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) 2)) (/.f64 1 (fma.f64 z (fma.f64 -1/6 (pow.f64 y 3) y) x)) (+.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) 2) (cbrt.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))) 2) (cbrt.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))) (neg.f64 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))) 2) (cbrt.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))) (*.f64 (neg.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))) 2) (cbrt.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))) (*.f64 (neg.f64 z) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))) 2) (cbrt.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))) (*.f64 -1 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))) 2) (cbrt.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 y z)) 2)) (cbrt.f64 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))) 2) (cbrt.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))) (*.f64 (neg.f64 (sqrt.f64 (*.f64 y z))) (sqrt.f64 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (sqrt.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))) (sqrt.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))) (neg.f64 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))) (sqrt.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))) (*.f64 (neg.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))) (sqrt.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))) (*.f64 (neg.f64 z) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))) (sqrt.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))) (*.f64 -1 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))) (sqrt.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 y z)) 2)) (cbrt.f64 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))) (sqrt.f64 (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))) (*.f64 (neg.f64 (sqrt.f64 (*.f64 y z))) (sqrt.f64 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (sqrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) (neg.f64 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) (*.f64 (neg.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) (*.f64 (neg.f64 z) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) (*.f64 -1 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 y z)) 2)) (cbrt.f64 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) (*.f64 (neg.f64 (sqrt.f64 (*.f64 y z))) (sqrt.f64 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (fma.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 1 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (pow.f64 (cbrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 2) (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (-.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))) (+.f64 (neg.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) 2)) (cbrt.f64 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))) x)))))

simplify172.0ms (1.3%)

Algorithm
egg-herbie
Rules
1186×fma-def_binary64
1140×fma-neg_binary64
490×distribute-rgt-neg-in_binary64
480×cancel-sign-sub-inv_binary64
428×unswap-sqr_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
040820
1114654
2283654
3870654
42361654
54012654
64763654
75058654
85431654
96246654
Stop Event
node limit
Counts
295 → 262
Calls
Call 1
Inputs
(*.f64 y z)
(*.f64 -1/6 (*.f64 (pow.f64 y 3) z))
(+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))
(+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))
(+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))
(*.f64 -1/6 (*.f64 (pow.f64 y 3) z))
(+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))
(+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))
(+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z)
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z)
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z)
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z)
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z)
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z)
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z)
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z)
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 1/6 (pow.f64 y 3))) z))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 1/6 (pow.f64 y 3))) z))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 1/6 (pow.f64 y 3))) z))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 1/6 (pow.f64 y 3))) z))
(*.f64 -1 (+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z))))
(+.f64 (*.f64 -1 (+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) x)
(+.f64 (*.f64 -1 (+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) x)
(+.f64 (*.f64 -1 (+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) x)
x
(+.f64 (*.f64 -1 (+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) x)
(+.f64 (*.f64 -1 (+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) x)
(+.f64 (*.f64 -1 (+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) x)
x
(+.f64 (*.f64 -1 (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z))) x)
(+.f64 (*.f64 -1 (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z))) x)
(+.f64 (*.f64 -1 (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z))) 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/6 (*.f64 (pow.f64 y 3) z)) x))
(*.f64 1/6 (*.f64 (pow.f64 y 3) z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z))))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z))))
(*.f64 1/6 (*.f64 (pow.f64 y 3) z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z))))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z))))
x
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z)) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z)) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z)) x)
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z))
(+.f64 x (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z)))
(+.f64 x (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z)))
(+.f64 x (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z)))
(*.f64 z (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1 y)))
(+.f64 (*.f64 z (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1 y))) x)
(+.f64 (*.f64 z (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1 y))) x)
(+.f64 (*.f64 z (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1 y))) x)
Outputs
(*.f64 y z)
(*.f64 -1/6 (*.f64 (pow.f64 y 3) z))
(*.f64 -1/6 (*.f64 z (pow.f64 y 3)))
(*.f64 (pow.f64 y 3) (*.f64 z -1/6))
(*.f64 z (*.f64 -1/6 (pow.f64 y 3)))
(+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z))
(*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))
(+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z))
(*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))
(+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z))
(*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))
(*.f64 -1/6 (*.f64 (pow.f64 y 3) z))
(*.f64 -1/6 (*.f64 z (pow.f64 y 3)))
(*.f64 (pow.f64 y 3) (*.f64 z -1/6))
(*.f64 z (*.f64 -1/6 (pow.f64 y 3)))
(+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z))
(*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))
(+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z))
(*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))
(+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z))
(*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z)
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z))
(*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z)
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z))
(*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z)
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z))
(*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z)
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z))
(*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z)
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z))
(*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z)
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z))
(*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z)
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z))
(*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z)
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z))
(*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 1/6 (pow.f64 y 3))) z))
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z))
(*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 1/6 (pow.f64 y 3))) z))
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z))
(*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 1/6 (pow.f64 y 3))) z))
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z))
(*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 1/6 (pow.f64 y 3))) z))
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z))
(*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))
(*.f64 -1 (+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z))))
(neg.f64 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)))
(*.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y))
(*.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)))
(*.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (neg.f64 z))
(+.f64 (*.f64 -1 (+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) x)
(fma.f64 -1 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)) x)
(fma.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y) x)
(fma.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)) x)
(fma.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) x)
(fma.f64 -1 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)) x)
(fma.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y) x)
(fma.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)) x)
(fma.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) x)
(fma.f64 -1 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)) x)
(fma.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y) x)
(fma.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)) x)
(fma.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (neg.f64 z) x)
x
(+.f64 (*.f64 -1 (+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) x)
(fma.f64 -1 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)) x)
(fma.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y) x)
(fma.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)) x)
(fma.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) x)
(fma.f64 -1 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)) x)
(fma.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y) x)
(fma.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)) x)
(fma.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) x)
(fma.f64 -1 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)) x)
(fma.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y) x)
(fma.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)) x)
(fma.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (neg.f64 z) x)
x
(+.f64 (*.f64 -1 (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z))) x)
(fma.f64 -1 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)) x)
(fma.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y) x)
(fma.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)) x)
(fma.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z))) x)
(fma.f64 -1 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)) x)
(fma.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y) x)
(fma.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)) x)
(fma.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z))) x)
(fma.f64 -1 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)) x)
(fma.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y) x)
(fma.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)) x)
(fma.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (neg.f64 z) x)
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(-.f64 x (*.f64 y z))
(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 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)) x)
(fma.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y) x)
(fma.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)) x)
(fma.f64 (fma.f64 -1/6 (pow.f64 y 3) 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 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)) x)
(fma.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y) x)
(fma.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)) x)
(fma.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (neg.f64 z) x)
(*.f64 1/6 (*.f64 (pow.f64 y 3) z))
(*.f64 (*.f64 z (pow.f64 y 3)) 1/6)
(*.f64 (pow.f64 y 3) (*.f64 z 1/6))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))
(neg.f64 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)))
(*.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y))
(*.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)))
(*.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z))))
(fma.f64 -1 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)) x)
(fma.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y) x)
(fma.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)) x)
(fma.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z))))
(fma.f64 -1 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)) x)
(fma.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y) x)
(fma.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)) x)
(fma.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (neg.f64 z) x)
(*.f64 1/6 (*.f64 (pow.f64 y 3) z))
(*.f64 (*.f64 z (pow.f64 y 3)) 1/6)
(*.f64 (pow.f64 y 3) (*.f64 z 1/6))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))
(neg.f64 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)))
(*.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y))
(*.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)))
(*.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z))))
(fma.f64 -1 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)) x)
(fma.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y) x)
(fma.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)) x)
(fma.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 x (*.f64 1/6 (*.f64 (pow.f64 y 3) z))))
(fma.f64 -1 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)) x)
(fma.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y) x)
(fma.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)) x)
(fma.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (neg.f64 z) x)
x
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z)) x)
(fma.f64 -1 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)) x)
(fma.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y) x)
(fma.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)) x)
(fma.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z)) x)
(fma.f64 -1 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)) x)
(fma.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y) x)
(fma.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)) x)
(fma.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z)) x)
(fma.f64 -1 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)) x)
(fma.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y) x)
(fma.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)) x)
(fma.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (neg.f64 z) x)
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z))
(neg.f64 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)))
(*.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y))
(*.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)))
(*.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (neg.f64 z))
(+.f64 x (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z)))
(fma.f64 -1 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)) x)
(fma.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y) x)
(fma.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)) x)
(fma.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (neg.f64 z) x)
(+.f64 x (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z)))
(fma.f64 -1 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)) x)
(fma.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y) x)
(fma.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)) x)
(fma.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (neg.f64 z) x)
(+.f64 x (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) z)))
(fma.f64 -1 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)) x)
(fma.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y) x)
(fma.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)) x)
(fma.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (neg.f64 z) x)
(*.f64 z (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1 y)))
(neg.f64 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)))
(*.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y))
(*.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)))
(*.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (neg.f64 z))
(+.f64 (*.f64 z (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1 y))) x)
(fma.f64 -1 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)) x)
(fma.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y) x)
(fma.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)) x)
(fma.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (neg.f64 z) x)
(+.f64 (*.f64 z (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1 y))) x)
(fma.f64 -1 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)) x)
(fma.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y) x)
(fma.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)) x)
(fma.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (neg.f64 z) x)
(+.f64 (*.f64 z (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1 y))) x)
(fma.f64 -1 (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z)) x)
(fma.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y) x)
(fma.f64 z (fma.f64 (pow.f64 y 3) 1/6 (neg.f64 y)) x)
(fma.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (neg.f64 z) x)

localize61.0ms (0.5%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.4b
(pow.f64 (sin.f64 y) 3)
8.1b
(*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3)))
32.1b
(cbrt.f64 (*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3))))
Compiler

Compiled 39 to 25 computations (35.9% saved)

series24.0ms (0.2%)

Counts
3 → 52
Calls

15 calls:

TimeVariablePointExpression
4.0ms
y
@inf
(cbrt.f64 (*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3))))
3.0ms
z
@0
(cbrt.f64 (*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3))))
3.0ms
y
@inf
(*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3)))
2.0ms
z
@0
(*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3)))
2.0ms
y
@-inf
(*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3)))

rewrite81.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
803×pow1_binary64
748×add-log-exp_binary64
747×log1p-expm1-u_binary64
747×expm1-log1p-u_binary64
727×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01033
121621
2244121
Stop Event
node limit
Counts
3 → 71
Calls
Call 1
Inputs
(cbrt.f64 (*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3))))
(*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3)))
(pow.f64 (sin.f64 y) 3)
Outputs
((#(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 1 (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 z z)) (*.f64 (cbrt.f64 z) (sin.f64 y)))))) (#(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 (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 (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 1 1/3) (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 z (sin.f64 y)) 2) 1/3) (cbrt.f64 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)) 1/3))))) (#(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 (*.f64 z (sin.f64 y)) 1)))) (#(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 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 expm1.f64 (log1p.f64 (*.f64 z (sin.f64 y))))))) (#(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 -.f64 0 (pow.f64 (*.f64 z (sin.f64 y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (*.f64 z (sin.f64 y)) 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (sin.f64 y)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (sin.f64 y) 6) (pow.f64 z 6)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 z 3) 3) (pow.f64 (pow.f64 (sin.f64 y) 3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 (sin.f64 y) 3) 3) (pow.f64 (pow.f64 z 3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (sin.f64 y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (pow.f64 (sin.f64 y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (sin.f64 y) 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 y) (pow.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 y) (neg.f64 (pow.f64 (sin.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 y) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 y) 3) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (sin.f64 y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 y) 2) (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 y) 2) (neg.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (sin.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) (pow.f64 (sin.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (pow.f64 (sin.f64 y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 y) 3/2) (pow.f64 (sin.f64 y) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 y) 3/2) (neg.f64 (pow.f64 (sin.f64 y) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) 3) (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (sin.f64 y)) 3) (pow.f64 (sqrt.f64 (sin.f64 y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 y)) (pow.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (sin.f64 y) 2)) (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (sin.f64 y) 3/2)) (pow.f64 (sin.f64 y) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (pow.f64 (sin.f64 y) 2)) (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (pow.f64 (sin.f64 y) 3/2)) (pow.f64 (sin.f64 y) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (sin.f64 y) 2) 1) (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (pow.f64 (pow.f64 (sin.f64 y) 3) 3)) (+.f64 0 (+.f64 (pow.f64 (sin.f64 y) 6) (*.f64 0 (pow.f64 (sin.f64 y) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (pow.f64 (sin.f64 y) 6)) (pow.f64 (sin.f64 y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (pow.f64 (sin.f64 y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (sin.f64 y) 6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (sin.f64 y) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (sin.f64 y) 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (sin.f64 y) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (sin.f64 y) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 (sin.f64 y) 3)))))))

simplify116.0ms (0.9%)

Algorithm
egg-herbie
Rules
811×distribute-rgt-neg-in_binary64
682×unswap-sqr_binary64
681×distribute-lft-neg-in_binary64
494×associate-*l*_binary64
489×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
064807
1186766
2696722
33134722
45061722
Stop Event
node limit
Counts
123 → 100
Calls
Call 1
Inputs
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 (cbrt.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 y (*.f64 (cbrt.f64 -1) z))
(+.f64 (*.f64 y (*.f64 (cbrt.f64 -1) z)) (*.f64 -1/6 (*.f64 (pow.f64 y 3) (*.f64 (cbrt.f64 -1) z))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) (*.f64 (cbrt.f64 -1) z))) (+.f64 (*.f64 y (*.f64 (cbrt.f64 -1) z)) (*.f64 -1/6 (*.f64 (pow.f64 y 3) (*.f64 (cbrt.f64 -1) z)))))
(+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 7) (*.f64 (cbrt.f64 -1) z))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) (*.f64 (cbrt.f64 -1) z))) (+.f64 (*.f64 y (*.f64 (cbrt.f64 -1) z)) (*.f64 -1/6 (*.f64 (pow.f64 y 3) (*.f64 (cbrt.f64 -1) z))))))
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 z 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 z 3))) (*.f64 1/2 (*.f64 (pow.f64 y 5) (pow.f64 z 3))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 z 3))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 y 5) (pow.f64 z 3))) (*.f64 -13/120 (*.f64 (pow.f64 y 7) (pow.f64 z 3)))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 z 3))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 y 5) (pow.f64 z 3))) (+.f64 (*.f64 -13/120 (*.f64 (pow.f64 y 7) (pow.f64 z 3))) (*.f64 41/3024 (*.f64 (pow.f64 y 9) (pow.f64 z 3))))))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(pow.f64 y 3)
(+.f64 (pow.f64 y 3) (*.f64 -1/2 (pow.f64 y 5)))
(+.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/2 (pow.f64 y 5)) (*.f64 13/120 (pow.f64 y 7))))
(+.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/2 (pow.f64 y 5)) (+.f64 (*.f64 -41/3024 (pow.f64 y 9)) (*.f64 13/120 (pow.f64 y 7)))))
Outputs
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 z (*.f64 (cbrt.f64 -1) (sin.f64 y)))
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 z (*.f64 (cbrt.f64 -1) (sin.f64 y)))
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 z (*.f64 (cbrt.f64 -1) (sin.f64 y)))
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 z (*.f64 (cbrt.f64 -1) (sin.f64 y)))
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 z (*.f64 (cbrt.f64 -1) (sin.f64 y)))
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 z (*.f64 (cbrt.f64 -1) (sin.f64 y)))
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 z (*.f64 (cbrt.f64 -1) (sin.f64 y)))
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 z (*.f64 (cbrt.f64 -1) (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 y (*.f64 (cbrt.f64 -1) z))
(*.f64 (cbrt.f64 -1) (*.f64 z y))
(+.f64 (*.f64 y (*.f64 (cbrt.f64 -1) z)) (*.f64 -1/6 (*.f64 (pow.f64 y 3) (*.f64 (cbrt.f64 -1) z))))
(fma.f64 y (*.f64 (cbrt.f64 -1) z) (*.f64 -1/6 (*.f64 (*.f64 (cbrt.f64 -1) z) (pow.f64 y 3))))
(*.f64 (*.f64 (cbrt.f64 -1) z) (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(*.f64 (*.f64 (cbrt.f64 -1) z) (fma.f64 -1/6 (pow.f64 y 3) y))
(*.f64 (cbrt.f64 -1) (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) (*.f64 (cbrt.f64 -1) z))) (+.f64 (*.f64 y (*.f64 (cbrt.f64 -1) z)) (*.f64 -1/6 (*.f64 (pow.f64 y 3) (*.f64 (cbrt.f64 -1) z)))))
(fma.f64 1/120 (*.f64 (*.f64 (cbrt.f64 -1) z) (pow.f64 y 5)) (fma.f64 y (*.f64 (cbrt.f64 -1) z) (*.f64 -1/6 (*.f64 (*.f64 (cbrt.f64 -1) z) (pow.f64 y 3)))))
(fma.f64 1/120 (*.f64 (cbrt.f64 -1) (*.f64 z (pow.f64 y 5))) (*.f64 (*.f64 (cbrt.f64 -1) z) (+.f64 y (*.f64 -1/6 (pow.f64 y 3)))))
(*.f64 (*.f64 (cbrt.f64 -1) z) (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (fma.f64 1/120 (pow.f64 y 5) y)))
(*.f64 (*.f64 (cbrt.f64 -1) z) (+.f64 (*.f64 1/120 (pow.f64 y 5)) (fma.f64 -1/6 (pow.f64 y 3) y)))
(+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 7) (*.f64 (cbrt.f64 -1) z))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) (*.f64 (cbrt.f64 -1) z))) (+.f64 (*.f64 y (*.f64 (cbrt.f64 -1) z)) (*.f64 -1/6 (*.f64 (pow.f64 y 3) (*.f64 (cbrt.f64 -1) z))))))
(fma.f64 -1/5040 (*.f64 (*.f64 (pow.f64 y 7) (cbrt.f64 -1)) z) (fma.f64 1/120 (*.f64 (*.f64 (cbrt.f64 -1) z) (pow.f64 y 5)) (fma.f64 y (*.f64 (cbrt.f64 -1) z) (*.f64 -1/6 (*.f64 (*.f64 (cbrt.f64 -1) z) (pow.f64 y 3))))))
(+.f64 (*.f64 (*.f64 (cbrt.f64 -1) z) (+.f64 y (*.f64 -1/6 (pow.f64 y 3)))) (*.f64 (*.f64 (cbrt.f64 -1) z) (+.f64 (*.f64 -1/5040 (pow.f64 y 7)) (*.f64 1/120 (pow.f64 y 5)))))
(*.f64 (*.f64 (cbrt.f64 -1) z) (+.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (fma.f64 -1/5040 (pow.f64 y 7) (*.f64 1/120 (pow.f64 y 5)))))
(*.f64 (*.f64 (cbrt.f64 -1) 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 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 z (*.f64 (cbrt.f64 -1) (sin.f64 y)))
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 z (*.f64 (cbrt.f64 -1) (sin.f64 y)))
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 z (*.f64 (cbrt.f64 -1) (sin.f64 y)))
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 z (*.f64 (cbrt.f64 -1) (sin.f64 y)))
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 z (*.f64 (cbrt.f64 -1) (sin.f64 y)))
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 z (*.f64 (cbrt.f64 -1) (sin.f64 y)))
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 z (*.f64 (cbrt.f64 -1) (sin.f64 y)))
(*.f64 (cbrt.f64 -1) (*.f64 z (sin.f64 y)))
(*.f64 z (*.f64 (cbrt.f64 -1) (sin.f64 y)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(neg.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(neg.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(neg.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(neg.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(neg.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(neg.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(neg.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(neg.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(neg.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(neg.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(neg.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(neg.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 z 3)))
(neg.f64 (*.f64 (pow.f64 y 3) (pow.f64 z 3)))
(*.f64 (pow.f64 y 3) (neg.f64 (pow.f64 z 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 z 3))) (*.f64 1/2 (*.f64 (pow.f64 y 5) (pow.f64 z 3))))
(fma.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 z 3)) (*.f64 1/2 (*.f64 (pow.f64 y 5) (pow.f64 z 3))))
(*.f64 (pow.f64 z 3) (+.f64 (neg.f64 (pow.f64 y 3)) (*.f64 (pow.f64 y 5) 1/2)))
(*.f64 (pow.f64 z 3) (-.f64 (*.f64 (pow.f64 y 5) 1/2) (pow.f64 y 3)))
(*.f64 (neg.f64 (pow.f64 z 3)) (fma.f64 (pow.f64 y 5) -1/2 (pow.f64 y 3)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 z 3))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 y 5) (pow.f64 z 3))) (*.f64 -13/120 (*.f64 (pow.f64 y 7) (pow.f64 z 3)))))
(fma.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 z 3)) (fma.f64 1/2 (*.f64 (pow.f64 y 5) (pow.f64 z 3)) (*.f64 -13/120 (*.f64 (pow.f64 y 7) (pow.f64 z 3)))))
(-.f64 (*.f64 (pow.f64 z 3) (+.f64 (*.f64 (pow.f64 y 7) -13/120) (*.f64 (pow.f64 y 5) 1/2))) (*.f64 (pow.f64 y 3) (pow.f64 z 3)))
(*.f64 (pow.f64 z 3) (-.f64 (fma.f64 (pow.f64 y 5) 1/2 (*.f64 (pow.f64 y 7) -13/120)) (pow.f64 y 3)))
(*.f64 (pow.f64 z 3) (-.f64 (*.f64 (pow.f64 y 5) 1/2) (fma.f64 (pow.f64 y 7) 13/120 (pow.f64 y 3))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 z 3))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 y 5) (pow.f64 z 3))) (+.f64 (*.f64 -13/120 (*.f64 (pow.f64 y 7) (pow.f64 z 3))) (*.f64 41/3024 (*.f64 (pow.f64 y 9) (pow.f64 z 3))))))
(fma.f64 -1 (*.f64 (pow.f64 y 3) (pow.f64 z 3)) (fma.f64 1/2 (*.f64 (pow.f64 y 5) (pow.f64 z 3)) (fma.f64 -13/120 (*.f64 (pow.f64 y 7) (pow.f64 z 3)) (*.f64 41/3024 (*.f64 (pow.f64 z 3) (pow.f64 y 9))))))
(+.f64 (*.f64 (pow.f64 z 3) (+.f64 (neg.f64 (pow.f64 y 3)) (*.f64 (pow.f64 y 5) 1/2))) (*.f64 (pow.f64 z 3) (+.f64 (*.f64 (pow.f64 y 7) -13/120) (*.f64 41/3024 (pow.f64 y 9)))))
(*.f64 (pow.f64 z 3) (+.f64 (-.f64 (*.f64 (pow.f64 y 5) 1/2) (pow.f64 y 3)) (fma.f64 (pow.f64 y 7) -13/120 (*.f64 41/3024 (pow.f64 y 9)))))
(*.f64 (pow.f64 z 3) (+.f64 (*.f64 (pow.f64 y 5) 1/2) (-.f64 (fma.f64 (pow.f64 y 7) -13/120 (*.f64 41/3024 (pow.f64 y 9))) (pow.f64 y 3))))
(*.f64 (pow.f64 z 3) (+.f64 (*.f64 (pow.f64 y 5) 1/2) (-.f64 (fma.f64 41/3024 (pow.f64 y 9) (*.f64 (pow.f64 y 7) -13/120)) (pow.f64 y 3))))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(neg.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(neg.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(neg.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(neg.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(neg.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(neg.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(neg.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(neg.f64 (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3)))
(pow.f64 y 3)
(+.f64 (pow.f64 y 3) (*.f64 -1/2 (pow.f64 y 5)))
(+.f64 (pow.f64 y 3) (*.f64 (pow.f64 y 5) -1/2))
(fma.f64 (pow.f64 y 5) -1/2 (pow.f64 y 3))
(+.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/2 (pow.f64 y 5)) (*.f64 13/120 (pow.f64 y 7))))
(+.f64 (pow.f64 y 3) (fma.f64 -1/2 (pow.f64 y 5) (*.f64 (pow.f64 y 7) 13/120)))
(+.f64 (pow.f64 y 3) (fma.f64 (pow.f64 y 5) -1/2 (*.f64 (pow.f64 y 7) 13/120)))
(fma.f64 (pow.f64 y 7) 13/120 (fma.f64 (pow.f64 y 5) -1/2 (pow.f64 y 3)))
(fma.f64 (pow.f64 y 5) -1/2 (fma.f64 (pow.f64 y 7) 13/120 (pow.f64 y 3)))
(+.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/2 (pow.f64 y 5)) (+.f64 (*.f64 -41/3024 (pow.f64 y 9)) (*.f64 13/120 (pow.f64 y 7)))))
(+.f64 (pow.f64 y 3) (fma.f64 -1/2 (pow.f64 y 5) (fma.f64 -41/3024 (pow.f64 y 9) (*.f64 (pow.f64 y 7) 13/120))))
(+.f64 (pow.f64 y 3) (fma.f64 (pow.f64 y 5) -1/2 (fma.f64 (pow.f64 y 7) 13/120 (*.f64 (pow.f64 y 9) -41/3024))))
(+.f64 (fma.f64 (pow.f64 y 5) -1/2 (pow.f64 y 3)) (fma.f64 (pow.f64 y 7) 13/120 (*.f64 (pow.f64 y 9) -41/3024)))

localize68.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 z (sin.f64 y))
0.4b
(pow.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) 3/2)
0.5b
(pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2)
0.6b
(cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))
Compiler

Compiled 65 to 17 computations (73.8% saved)

series110.0ms (0.9%)

Counts
3 → 60
Calls

27 calls:

TimeVariablePointExpression
41.0ms
y
@inf
(pow.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) 3/2)
19.0ms
y
@-inf
(pow.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) 3/2)
7.0ms
x
@0
(pow.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) 3/2)
7.0ms
z
@0
(pow.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) 3/2)
6.0ms
y
@0
(pow.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) 3/2)

rewrite104.0ms (0.8%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01454
130849
2373749
Stop Event
node limit
Counts
3 → 252
Calls
Call 1
Inputs
(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)
(pow.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) 3/2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.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 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.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 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 2) (cbrt.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) (pow.f64 (cbrt.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 (-.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/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 4))) (sqrt.f64 (pow.f64 (cbrt.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 1 1/3) (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3))) (cbrt.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 (cbrt.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2))) (cbrt.f64 (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/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.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 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2) 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) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 2) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 4)) 3/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.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/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.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 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.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/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))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.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)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (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 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 2) (*.f64 (cbrt.f64 (cbrt.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))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.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) (*.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 (*.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 2)) (cbrt.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2/3 (log.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2/3 (log.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 1))))))
((#(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 (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 1 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 4)) (*.f64 (pow.f64 (cbrt.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 (pow.f64 1 3/2) (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (sqrt.f64 x) (sqrt.f64 (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 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 2)) (cbrt.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (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/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 expm1.f64 (log1p.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))))))) (#(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 (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 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 1))))) (#(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 (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 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 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 4)) (*.f64 (pow.f64 (cbrt.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 (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 4)) (*.f64 (pow.f64 (cbrt.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 (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 4)) (*.f64 (pow.f64 (cbrt.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 (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 4)) (*.f64 (pow.f64 (cbrt.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 (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 4)) (*.f64 (pow.f64 (cbrt.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 (pow.f64 1 3/2) (-.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 1 3/2) (-.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 1 3/2) (-.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 1 3/2) (-.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 1 3/2) (-.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 z (sin.f64 y)) (*.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sqrt.f64 x) (sqrt.f64 (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 (fma.f64 (sqrt.f64 x) (sqrt.f64 (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 (fma.f64 (sqrt.f64 x) (sqrt.f64 (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 (fma.f64 (sqrt.f64 x) (sqrt.f64 (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 (fma.f64 (sqrt.f64 x) (sqrt.f64 (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)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 2)) (cbrt.f64 (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 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 2)) (cbrt.f64 (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 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 2)) (cbrt.f64 (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 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 2)) (cbrt.f64 (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 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 2)) (cbrt.f64 (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 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (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/6) (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 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (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/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 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (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/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 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (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/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 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) (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/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)))))))))

simplify245.0ms (1.9%)

Algorithm
egg-herbie
Rules
748×associate-*r*_binary64
637×times-frac_binary64
563×associate-*l*_binary64
525×unswap-sqr_binary64
416×*-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04235841
114255598
260205597
Stop Event
node limit
Counts
312 → 327
Calls
Call 1
Inputs
(*.f64 (pow.f64 (*.f64 1 (*.f64 z (sin.f64 y))) 1/3) (cbrt.f64 -1))
(+.f64 (*.f64 (pow.f64 (*.f64 1 (*.f64 z (sin.f64 y))) 1/3) (cbrt.f64 -1)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (*.f64 (cos.f64 y) x)))))
(+.f64 (*.f64 (pow.f64 (*.f64 1 (*.f64 z (sin.f64 y))) 1/3) (cbrt.f64 -1)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (*.f64 (cos.f64 y) x)))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 7) (pow.f64 (sin.f64 y) 7))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 7)) 1/3) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))))))
(+.f64 (*.f64 (pow.f64 (*.f64 1 (*.f64 z (sin.f64 y))) 1/3) (cbrt.f64 -1)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (*.f64 (cos.f64 y) x)))) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 7) (pow.f64 (sin.f64 y) 7))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 7)) 1/3) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3) (/.f64 (*.f64 (+.f64 (*.f64 1/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 -2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3))))) (pow.f64 x 3)) (pow.f64 (cbrt.f64 -1) 2)))))))
(pow.f64 x 1/3)
(+.f64 (pow.f64 x 1/3) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9) (*.f64 y z))))
(+.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 2) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2))))))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9) (*.f64 y z)))))
(+.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 2) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2))))))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9) (*.f64 y z))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/6 z) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 z 3))) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))) z)))))))))))
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(pow.f64 (*.f64 (cos.f64 y) x) 1/3)
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/9) (*.f64 z (sin.f64 y)))) (pow.f64 (*.f64 (cos.f64 y) x) 1/3))
(+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 7) (pow.f64 x 7))) 1/9) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/9) (*.f64 z (sin.f64 y)))) (pow.f64 (*.f64 (cos.f64 y) x) 1/3)))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (*.f64 (pow.f64 z 3) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (pow.f64 (sin.f64 y) 3))) (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (pow.f64 (sin.f64 y) 3)))))))) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 7) (pow.f64 x 7))) 1/9) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/9) (*.f64 z (sin.f64 y)))) (pow.f64 (*.f64 (cos.f64 y) x) 1/3))))
(*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3) (pow.f64 (cbrt.f64 -1) 2))
(+.f64 (*.f64 2/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 z (sin.f64 y))) 1/9) (*.f64 (pow.f64 (cbrt.f64 -1) 1/3) (*.f64 (cos.f64 y) x)))) (*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3) (pow.f64 (cbrt.f64 -1) 2)))
(+.f64 (*.f64 2/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 z (sin.f64 y))) 1/9) (*.f64 (pow.f64 (cbrt.f64 -1) 1/3) (*.f64 (cos.f64 y) x)))) (+.f64 (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2)))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2))))) (pow.f64 x 2)) (*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3) (pow.f64 (cbrt.f64 -1) 2))))
(+.f64 (*.f64 2/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 z (sin.f64 y))) 1/9) (*.f64 (pow.f64 (cbrt.f64 -1) 1/3) (*.f64 (cos.f64 y) x)))) (+.f64 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 z (sin.f64 y))) 1/3) (/.f64 (+.f64 (*.f64 1/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 -2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3))))) (cbrt.f64 -1)))) (*.f64 2/27 (*.f64 (pow.f64 1 1/9) (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 z (sin.f64 y)))))) (pow.f64 x 3)) (+.f64 (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2)))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2))))) (pow.f64 x 2)) (*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3) (pow.f64 (cbrt.f64 -1) 2)))))
(pow.f64 (pow.f64 x 2) 1/3)
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 x) 1/9) (*.f64 y z))) (pow.f64 (pow.f64 x 2) 1/3))
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 x) 1/9) (*.f64 y z))) (+.f64 (pow.f64 (pow.f64 x 2) 1/3) (*.f64 (pow.f64 y 2) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2)))))))
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 x) 1/9) (*.f64 y z))) (+.f64 (pow.f64 (pow.f64 x 2) 1/3) (+.f64 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (+.f64 (*.f64 -1/6 z) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 z 3))) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))) z))))))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))) z)))) (pow.f64 y 3)) (*.f64 (pow.f64 y 2) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2))))))))
(pow.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 2) 1/3)
(pow.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 2) 1/3)
(pow.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 2) 1/3)
(pow.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 2) 1/3)
(pow.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 2) 1/3)
(pow.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 2) 1/3)
(pow.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 2) 1/3)
(pow.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 2) 1/3)
(pow.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) 1/3)
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (*.f64 (cos.f64 y) x)) 1/9) (*.f64 z (sin.f64 y)))) (pow.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) 1/3))
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (*.f64 (cos.f64 y) x)) 1/9) (*.f64 z (sin.f64 y)))) (+.f64 (*.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2)))) (pow.f64 z 2)) (pow.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) 1/3)))
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (*.f64 (cos.f64 y) x)) 1/9) (*.f64 z (sin.f64 y)))) (+.f64 (*.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2)))) (pow.f64 z 2)) (+.f64 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (cos.f64 y) x)) 1/3) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (pow.f64 (sin.f64 y) 3))) (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (pow.f64 (sin.f64 y) 3))))))) (*.f64 2/27 (*.f64 (pow.f64 1 1/9) (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (cos.f64 y) x))))) (pow.f64 z 3)) (pow.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) 1/3))))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3) (*.f64 (cos.f64 y) x))) (*.f64 -1 (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3) (*.f64 (cos.f64 y) x))) (+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 10) (pow.f64 (sin.f64 y) 10))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 10)) 1/3) (pow.f64 (cos.f64 y) 2)))) (*.f64 3/4 (+.f64 (*.f64 2 (*.f64 (/.f64 (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2)))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2))))) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3))) (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 10) (pow.f64 (sin.f64 y) 10))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 10)) 1/3) (pow.f64 (cos.f64 y) 2))))))) (*.f64 z (*.f64 (sin.f64 y) (pow.f64 x 2)))))))
(+.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3) (*.f64 (cos.f64 y) x))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/4 (+.f64 (*.f64 16/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 5) (pow.f64 (sin.f64 y) 5))) 1/3) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 5)))) (+.f64 (*.f64 -4 (*.f64 (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2)))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2))))) (cos.f64 y)) (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 11) (pow.f64 (sin.f64 y) 11))) 1/9) (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 11)) 1/3)))) (*.f64 6 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3) (/.f64 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 z (sin.f64 y))) 1/3) (/.f64 (+.f64 (*.f64 1/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 -2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3))))) (cbrt.f64 -1)))) (*.f64 2/27 (*.f64 (pow.f64 1 1/9) (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 z (sin.f64 y)))))) (pow.f64 (cbrt.f64 -1) 2))))))) (+.f64 (*.f64 3/4 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 5) (pow.f64 (sin.f64 y) 5))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 5)) 1/3) (*.f64 (cos.f64 y) (+.f64 (*.f64 2 (*.f64 (/.f64 (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2)))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2))))) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3))) (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 10) (pow.f64 (sin.f64 y) 10))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 10)) 1/3) (pow.f64 (cos.f64 y) 2))))))))) (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 5) (pow.f64 (sin.f64 y) 5))) 1/3) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 5)))))) (*.f64 z (*.f64 (sin.f64 y) (pow.f64 x 3))))) (+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 10) (pow.f64 (sin.f64 y) 10))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 10)) 1/3) (pow.f64 (cos.f64 y) 2)))) (*.f64 3/4 (+.f64 (*.f64 2 (*.f64 (/.f64 (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2)))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2))))) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3))) (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 10) (pow.f64 (sin.f64 y) 10))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 10)) 1/3) (pow.f64 (cos.f64 y) 2))))))) (*.f64 z (*.f64 (sin.f64 y) (pow.f64 x 2))))))))
x
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) (*.f64 y z))) x)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) (*.f64 y z))) (+.f64 (*.f64 (pow.f64 y 2) (*.f64 (+.f64 (*.f64 3/4 (+.f64 (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/9) (pow.f64 z 2))) (*.f64 2 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2)))))))) (*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/9) (pow.f64 z 2)))) x)) x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) (*.f64 y z))) (+.f64 (*.f64 (pow.f64 y 3) (*.f64 (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/3) (pow.f64 z 3))) (+.f64 (*.f64 1/4 (+.f64 (*.f64 4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 11)) 1/9) (*.f64 z (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2))))))) (+.f64 (*.f64 6 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (+.f64 (*.f64 -1/6 z) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 z 3))) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))) z))))))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))) z)))) (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3))) (*.f64 -16/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/3) (pow.f64 z 3)))))) (*.f64 -3/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/9) (*.f64 (+.f64 (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/9) (pow.f64 z 2))) (*.f64 2 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2))))))) z))))) x)) (+.f64 (*.f64 (pow.f64 y 2) (*.f64 (+.f64 (*.f64 3/4 (+.f64 (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/9) (pow.f64 z 2))) (*.f64 2 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2)))))))) (*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/9) (pow.f64 z 2)))) 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 (pow.f64 (*.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (*.f64 z (sin.f64 y)))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 z 2) (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 10) (pow.f64 x 10))) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 3/4 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3))) (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 10) (pow.f64 x 10))) 1/9) (pow.f64 (sin.f64 y) 2)))))) x))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (*.f64 z (sin.f64 y)))) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 (+.f64 (*.f64 1/4 (+.f64 (*.f64 -16/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 5) (pow.f64 x 5))) 1/3) (pow.f64 (sin.f64 y) 3))) (+.f64 (*.f64 6 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (cos.f64 y) x)) 1/3) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (pow.f64 (sin.f64 y) 3))) (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (pow.f64 (sin.f64 y) 3))))))) (*.f64 2/27 (*.f64 (pow.f64 1 1/9) (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (cos.f64 y) x))))) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3))) (*.f64 4 (*.f64 (*.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2)))) (sin.f64 y)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 11) (pow.f64 x 11))) 1/9)))))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 5) (pow.f64 x 5))) 1/3) (pow.f64 (sin.f64 y) 3))) (*.f64 -3/4 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 5) (pow.f64 x 5))) 1/9) (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3))) (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 10) (pow.f64 x 10))) 1/9) (pow.f64 (sin.f64 y) 2)))) (sin.f64 y)))))) (*.f64 (pow.f64 z 3) (*.f64 (cos.f64 y) x))) (+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 z 2) (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 10) (pow.f64 x 10))) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 3/4 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3))) (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 10) (pow.f64 x 10))) 1/9) (pow.f64 (sin.f64 y) 2)))))) x))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (*.f64 z (sin.f64 y)))) (*.f64 (cos.f64 y) x))))
Outputs
(*.f64 (pow.f64 (*.f64 1 (*.f64 z (sin.f64 y))) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (cbrt.f64 -1))
(+.f64 (*.f64 (pow.f64 (*.f64 1 (*.f64 z (sin.f64 y))) 1/3) (cbrt.f64 -1)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (*.f64 (cos.f64 y) x)))))
(fma.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (cbrt.f64 -1) (*.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18) (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))) (*.f64 (cos.f64 y) x))))
(fma.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18) (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))) (*.f64 (cos.f64 y) x))) (*.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (cbrt.f64 -1)))
(+.f64 (*.f64 (pow.f64 (*.f64 1 (*.f64 z (sin.f64 y))) 1/3) (cbrt.f64 -1)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (*.f64 (cos.f64 y) x)))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 7) (pow.f64 (sin.f64 y) 7))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 7)) 1/3) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))))))
(fma.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (cbrt.f64 -1) (fma.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18) (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))) (*.f64 (cos.f64 y) x))) (*.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 7)) (pow.f64 (sin.f64 y) 7)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 7)) (pow.f64 (sin.f64 y) 7)) 1/18))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 7))) (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))))))
(fma.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (cbrt.f64 -1) (fma.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18) (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))) (*.f64 (cos.f64 y) x))) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 7))) (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) (*.f64 (*.f64 -1/9 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 7)) (pow.f64 (sin.f64 y) 7)) 1/18)) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 7)) (pow.f64 (sin.f64 y) 7)) 1/18)))))
(+.f64 (*.f64 (pow.f64 (*.f64 1 (*.f64 z (sin.f64 y))) 1/3) (cbrt.f64 -1)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (*.f64 (cos.f64 y) x)))) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 7) (pow.f64 (sin.f64 y) 7))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 7)) 1/3) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3) (/.f64 (*.f64 (+.f64 (*.f64 1/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 -2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3))))) (pow.f64 x 3)) (pow.f64 (cbrt.f64 -1) 2)))))))
(fma.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (cbrt.f64 -1) (fma.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18) (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))) (*.f64 (cos.f64 y) x))) (fma.f64 -1/9 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 7)) (pow.f64 (sin.f64 y) 7)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 7)) (pow.f64 (sin.f64 y) 7)) 1/18)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 7))) (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (*.f64 (*.f64 -1/3 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)))) (/.f64 (fma.f64 1/27 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2))) (*.f64 -2/9 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2))))) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 x 3)))))))
(fma.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (cbrt.f64 -1) (fma.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18) (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))) (*.f64 (cos.f64 y) x))) (fma.f64 -1/3 (/.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (*.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2))) -5/27) (pow.f64 x 3)))) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 7))) (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) (*.f64 (*.f64 -1/9 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 7)) (pow.f64 (sin.f64 y) 7)) 1/18)) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 7)) (pow.f64 (sin.f64 y) 7)) 1/18))))))
(pow.f64 x 1/3)
(cbrt.f64 x)
(+.f64 (pow.f64 x 1/3) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9) (*.f64 y z))))
(+.f64 (cbrt.f64 x) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18)) (*.f64 z y))))
(fma.f64 -1/3 (*.f64 y (*.f64 z (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18)))) (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 2) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2))))))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9) (*.f64 y z)))))
(+.f64 (cbrt.f64 x) (fma.f64 1/3 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (*.f64 y y)) (-.f64 (*.f64 x -1/2) (*.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))) (*.f64 z z)))) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18)) (*.f64 z y)))))
(+.f64 (cbrt.f64 x) (fma.f64 1/3 (*.f64 (fma.f64 x -1/2 (*.f64 (*.f64 -1/3 (*.f64 z z)) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))) (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (*.f64 y y))) (*.f64 -1/3 (*.f64 y (*.f64 z (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18)))))))
(+.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 2) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2))))))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9) (*.f64 y z))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/6 z) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 z 3))) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))) z)))))))))))
(+.f64 (cbrt.f64 x) (fma.f64 1/3 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (*.f64 y y)) (-.f64 (*.f64 x -1/2) (*.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))) (*.f64 z z)))) (*.f64 -1/3 (+.f64 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18)) (*.f64 z y)) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 y 3)) (fma.f64 -1/6 z (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3)) (*.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18))) (*.f64 z (-.f64 (*.f64 x -1/2) (*.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))) (*.f64 z z))))))))))))
(+.f64 (cbrt.f64 x) (fma.f64 1/3 (*.f64 (fma.f64 x -1/2 (*.f64 (*.f64 -1/3 (*.f64 z z)) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))) (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (*.f64 y y))) (*.f64 -1/3 (fma.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18)) (*.f64 z y) (*.f64 (pow.f64 y 3) (*.f64 (fma.f64 z -1/6 (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3)) (*.f64 (*.f64 (fma.f64 x -1/2 (*.f64 (*.f64 -1/3 (*.f64 z z)) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18))) (*.f64 z -2/3)))) (cbrt.f64 (/.f64 1 (*.f64 x x)))))))))
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(cbrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(cbrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(cbrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(cbrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(cbrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(cbrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(cbrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(cbrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(pow.f64 (*.f64 (cos.f64 y) x) 1/3)
(cbrt.f64 (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/9) (*.f64 z (sin.f64 y)))) (pow.f64 (*.f64 (cos.f64 y) x) 1/3))
(fma.f64 -1/3 (*.f64 (*.f64 z (sin.f64 y)) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18))) (cbrt.f64 (*.f64 (cos.f64 y) x)))
(fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18) (*.f64 z (sin.f64 y)))) (cbrt.f64 (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 7) (pow.f64 x 7))) 1/9) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/9) (*.f64 z (sin.f64 y)))) (pow.f64 (*.f64 (cos.f64 y) x) 1/3)))
(fma.f64 -1/9 (*.f64 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 7) (pow.f64 x 7))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 7) (pow.f64 x 7))) 1/18))) (fma.f64 -1/3 (*.f64 (*.f64 z (sin.f64 y)) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18))) (cbrt.f64 (*.f64 (cos.f64 y) x))))
(fma.f64 -1/9 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 7) (pow.f64 x 7))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 7) (pow.f64 x 7))) 1/18)))) (fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18) (*.f64 z (sin.f64 y)))) (cbrt.f64 (*.f64 (cos.f64 y) x))))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (*.f64 (pow.f64 z 3) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (pow.f64 (sin.f64 y) 3))) (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (pow.f64 (sin.f64 y) 3)))))))) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 7) (pow.f64 x 7))) 1/9) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/9) (*.f64 z (sin.f64 y)))) (pow.f64 (*.f64 (cos.f64 y) x) 1/3))))
(fma.f64 -1/3 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (pow.f64 z 3)) (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (pow.f64 (sin.f64 y) 3)) (*.f64 2/9 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (pow.f64 (sin.f64 y) 3))))) (fma.f64 -1/9 (*.f64 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 7) (pow.f64 x 7))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 7) (pow.f64 x 7))) 1/18))) (fma.f64 -1/3 (*.f64 (*.f64 z (sin.f64 y)) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18))) (cbrt.f64 (*.f64 (cos.f64 y) x)))))
(fma.f64 -1/3 (*.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (pow.f64 (sin.f64 y) 3)) 5/27) (*.f64 (pow.f64 z 3) (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))))) (fma.f64 -1/9 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 7) (pow.f64 x 7))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 7) (pow.f64 x 7))) 1/18)))) (fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18) (*.f64 z (sin.f64 y)))) (cbrt.f64 (*.f64 (cos.f64 y) x)))))
(*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3) (pow.f64 (cbrt.f64 -1) 2))
(*.f64 (pow.f64 (cbrt.f64 -1) 2) (cbrt.f64 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))))
(+.f64 (*.f64 2/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 z (sin.f64 y))) 1/9) (*.f64 (pow.f64 (cbrt.f64 -1) 1/3) (*.f64 (cos.f64 y) x)))) (*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3) (pow.f64 (cbrt.f64 -1) 2)))
(fma.f64 2/3 (*.f64 (*.f64 (pow.f64 (*.f64 z (sin.f64 y)) 1/18) (pow.f64 (*.f64 z (sin.f64 y)) 1/18)) (*.f64 (*.f64 (cos.f64 y) x) (cbrt.f64 (cbrt.f64 -1)))) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (cbrt.f64 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))))
(fma.f64 (pow.f64 (cbrt.f64 -1) 2) (cbrt.f64 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))) (*.f64 (*.f64 (pow.f64 (*.f64 z (sin.f64 y)) 1/18) (pow.f64 (*.f64 z (sin.f64 y)) 1/18)) (*.f64 (*.f64 (cos.f64 y) (*.f64 x (cbrt.f64 (cbrt.f64 -1)))) 2/3)))
(+.f64 (*.f64 2/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 z (sin.f64 y))) 1/9) (*.f64 (pow.f64 (cbrt.f64 -1) 1/3) (*.f64 (cos.f64 y) x)))) (+.f64 (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2)))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2))))) (pow.f64 x 2)) (*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3) (pow.f64 (cbrt.f64 -1) 2))))
(fma.f64 2/3 (*.f64 (*.f64 (pow.f64 (*.f64 z (sin.f64 y)) 1/18) (pow.f64 (*.f64 z (sin.f64 y)) 1/18)) (*.f64 (*.f64 (cos.f64 y) x) (cbrt.f64 (cbrt.f64 -1)))) (fma.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18)) (*.f64 (pow.f64 (cos.f64 y) 2) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))))) -1/9) (*.f64 x x) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (cbrt.f64 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))))))
(fma.f64 2/3 (*.f64 (*.f64 (cos.f64 y) x) (*.f64 (*.f64 (pow.f64 (*.f64 z (sin.f64 y)) 1/18) (pow.f64 (*.f64 z (sin.f64 y)) 1/18)) (cbrt.f64 (cbrt.f64 -1)))) (fma.f64 (pow.f64 (cbrt.f64 -1) 2) (cbrt.f64 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))) (*.f64 x (*.f64 x (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18)) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)))) (*.f64 (pow.f64 (cos.f64 y) 2) -1/9))))))
(fma.f64 2/3 (*.f64 (*.f64 (cos.f64 y) x) (*.f64 (*.f64 (pow.f64 (*.f64 z (sin.f64 y)) 1/18) (pow.f64 (*.f64 z (sin.f64 y)) 1/18)) (cbrt.f64 (cbrt.f64 -1)))) (fma.f64 (pow.f64 (cbrt.f64 -1) 2) (cbrt.f64 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))) (*.f64 x (*.f64 x (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18)) (cbrt.f64 (/.f64 1 (*.f64 -1 (cbrt.f64 -1))))) (*.f64 (pow.f64 (cos.f64 y) 2) -1/9))))))
(+.f64 (*.f64 2/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 z (sin.f64 y))) 1/9) (*.f64 (pow.f64 (cbrt.f64 -1) 1/3) (*.f64 (cos.f64 y) x)))) (+.f64 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 z (sin.f64 y))) 1/3) (/.f64 (+.f64 (*.f64 1/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 -2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3))))) (cbrt.f64 -1)))) (*.f64 2/27 (*.f64 (pow.f64 1 1/9) (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 z (sin.f64 y)))))) (pow.f64 x 3)) (+.f64 (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2)))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2))))) (pow.f64 x 2)) (*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3) (pow.f64 (cbrt.f64 -1) 2)))))
(fma.f64 2/3 (*.f64 (*.f64 (pow.f64 (*.f64 z (sin.f64 y)) 1/18) (pow.f64 (*.f64 z (sin.f64 y)) 1/18)) (*.f64 (*.f64 (cos.f64 y) x) (cbrt.f64 (cbrt.f64 -1)))) (fma.f64 (fma.f64 -2/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))) (/.f64 (fma.f64 1/27 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2))) (*.f64 -2/9 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2))))) (cbrt.f64 -1))) (*.f64 2/27 (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 z (sin.f64 y))))) (pow.f64 x 3) (fma.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18)) (*.f64 (pow.f64 (cos.f64 y) 2) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))))) -1/9) (*.f64 x x) (*.f64 (pow.f64 (cbrt.f64 -1) 2) (cbrt.f64 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))))))
(fma.f64 2/3 (*.f64 (*.f64 (cos.f64 y) x) (*.f64 (*.f64 (pow.f64 (*.f64 z (sin.f64 y)) 1/18) (pow.f64 (*.f64 z (sin.f64 y)) 1/18)) (cbrt.f64 (cbrt.f64 -1)))) (fma.f64 (pow.f64 x 3) (fma.f64 (*.f64 -2/3 (cbrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y)))) (/.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2))) -5/27) (cbrt.f64 -1)) (/.f64 (*.f64 2/27 (pow.f64 (cos.f64 y) 3)) (*.f64 z (sin.f64 y)))) (fma.f64 (pow.f64 (cbrt.f64 -1) 2) (cbrt.f64 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))) (*.f64 x (*.f64 x (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18)) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)))) (*.f64 (pow.f64 (cos.f64 y) 2) -1/9)))))))
(fma.f64 2/3 (*.f64 (*.f64 (cos.f64 y) x) (*.f64 (*.f64 (pow.f64 (*.f64 z (sin.f64 y)) 1/18) (pow.f64 (*.f64 z (sin.f64 y)) 1/18)) (cbrt.f64 (cbrt.f64 -1)))) (fma.f64 (pow.f64 x 3) (fma.f64 (*.f64 -2/3 (cbrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y)))) (/.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2))) -5/27) (cbrt.f64 -1)) (*.f64 (pow.f64 (cos.f64 y) 3) (/.f64 2/27 (*.f64 z (sin.f64 y))))) (fma.f64 (pow.f64 (cbrt.f64 -1) 2) (cbrt.f64 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))) (*.f64 x (*.f64 x (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18)) (cbrt.f64 (/.f64 1 (*.f64 -1 (cbrt.f64 -1))))) (*.f64 (pow.f64 (cos.f64 y) 2) -1/9)))))))
(pow.f64 (pow.f64 x 2) 1/3)
(cbrt.f64 (*.f64 x x))
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 x) 1/9) (*.f64 y z))) (pow.f64 (pow.f64 x 2) 1/3))
(fma.f64 -2/3 (*.f64 (*.f64 z y) (*.f64 (pow.f64 x 1/18) (pow.f64 x 1/18))) (cbrt.f64 (*.f64 x x)))
(fma.f64 -2/3 (*.f64 z (*.f64 y (*.f64 (pow.f64 x 1/18) (pow.f64 x 1/18)))) (cbrt.f64 (*.f64 x x)))
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 x) 1/9) (*.f64 y z))) (+.f64 (pow.f64 (pow.f64 x 2) 1/3) (*.f64 (pow.f64 y 2) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2)))))))
(+.f64 (fma.f64 -2/3 (*.f64 (*.f64 z y) (*.f64 (pow.f64 x 1/18) (pow.f64 x 1/18))) (cbrt.f64 (*.f64 x x))) (*.f64 (*.f64 y y) (fma.f64 2/3 (*.f64 (-.f64 (*.f64 x -1/2) (*.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))) (*.f64 z z))) (cbrt.f64 (/.f64 1 x))) (*.f64 1/9 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18)))))))
(fma.f64 -2/3 (*.f64 z (*.f64 y (*.f64 (pow.f64 x 1/18) (pow.f64 x 1/18)))) (fma.f64 (*.f64 y y) (fma.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 x))) (fma.f64 x -1/2 (*.f64 (*.f64 -1/3 (*.f64 z z)) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18)) (*.f64 (*.f64 z z) 1/9))) (cbrt.f64 (*.f64 x x))))
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 x) 1/9) (*.f64 y z))) (+.f64 (pow.f64 (pow.f64 x 2) 1/3) (+.f64 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (+.f64 (*.f64 -1/6 z) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 z 3))) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))) z))))))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))) z)))) (pow.f64 y 3)) (*.f64 (pow.f64 y 2) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2))))))))
(+.f64 (fma.f64 -2/3 (*.f64 (*.f64 z y) (*.f64 (pow.f64 x 1/18) (pow.f64 x 1/18))) (cbrt.f64 (*.f64 x x))) (fma.f64 (fma.f64 -2/3 (*.f64 (fma.f64 -1/6 z (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3)) (*.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18))) (*.f64 z (-.f64 (*.f64 x -1/2) (*.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))) (*.f64 z z))))))) (cbrt.f64 (/.f64 1 x))) (*.f64 -2/9 (*.f64 (*.f64 z (-.f64 (*.f64 x -1/2) (*.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))) (*.f64 z z)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18))))) (pow.f64 y 3) (*.f64 (*.f64 y y) (fma.f64 2/3 (*.f64 (-.f64 (*.f64 x -1/2) (*.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))) (*.f64 z z))) (cbrt.f64 (/.f64 1 x))) (*.f64 1/9 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18))))))))
(+.f64 (fma.f64 -2/3 (*.f64 z (*.f64 y (*.f64 (pow.f64 x 1/18) (pow.f64 x 1/18)))) (cbrt.f64 (*.f64 x x))) (fma.f64 (pow.f64 y 3) (fma.f64 -2/3 (*.f64 (fma.f64 z -1/6 (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3)) (*.f64 (*.f64 (fma.f64 x -1/2 (*.f64 (*.f64 -1/3 (*.f64 z z)) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18))) (*.f64 z -2/3)))) (cbrt.f64 (/.f64 1 x))) (*.f64 (*.f64 (fma.f64 x -1/2 (*.f64 (*.f64 -1/3 (*.f64 z z)) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18))) (*.f64 z -2/9))) (*.f64 y (*.f64 y (fma.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 x))) (fma.f64 x -1/2 (*.f64 (*.f64 -1/3 (*.f64 z z)) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18)) (*.f64 (*.f64 z z) 1/9)))))))
(pow.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 2) 1/3)
(cbrt.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 2))
(pow.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 2) 1/3)
(cbrt.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 2))
(pow.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 2) 1/3)
(cbrt.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 2))
(pow.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 2) 1/3)
(cbrt.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 2))
(pow.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 2) 1/3)
(cbrt.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 2))
(pow.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 2) 1/3)
(cbrt.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 2))
(pow.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 2) 1/3)
(cbrt.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 2))
(pow.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 2) 1/3)
(cbrt.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 2))
(pow.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (*.f64 (cos.f64 y) x)) 1/9) (*.f64 z (sin.f64 y)))) (pow.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) 1/3))
(fma.f64 -2/3 (*.f64 (*.f64 z (sin.f64 y)) (*.f64 (pow.f64 (*.f64 (cos.f64 y) x) 1/18) (pow.f64 (*.f64 (cos.f64 y) x) 1/18))) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))))
(fma.f64 -2/3 (*.f64 (sin.f64 y) (*.f64 z (*.f64 (pow.f64 (*.f64 (cos.f64 y) x) 1/18) (pow.f64 (*.f64 (cos.f64 y) x) 1/18)))) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))))
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (*.f64 (cos.f64 y) x)) 1/9) (*.f64 z (sin.f64 y)))) (+.f64 (*.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2)))) (pow.f64 z 2)) (pow.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) 1/3)))
(fma.f64 -2/3 (*.f64 (*.f64 z (sin.f64 y)) (*.f64 (pow.f64 (*.f64 (cos.f64 y) x) 1/18) (pow.f64 (*.f64 (cos.f64 y) x) 1/18))) (fma.f64 (*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 (cos.f64 y) 4)) (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 (cos.f64 y) 4)) (pow.f64 x 4)) 1/18))) -1/9) (*.f64 z z) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))))
(fma.f64 -2/3 (*.f64 (sin.f64 y) (*.f64 z (*.f64 (pow.f64 (*.f64 (cos.f64 y) x) 1/18) (pow.f64 (*.f64 (cos.f64 y) x) 1/18)))) (fma.f64 (*.f64 z z) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18) (pow.f64 (sin.f64 y) 2)))) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))))
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (*.f64 (cos.f64 y) x)) 1/9) (*.f64 z (sin.f64 y)))) (+.f64 (*.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2)))) (pow.f64 z 2)) (+.f64 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (cos.f64 y) x)) 1/3) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (pow.f64 (sin.f64 y) 3))) (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (pow.f64 (sin.f64 y) 3))))))) (*.f64 2/27 (*.f64 (pow.f64 1 1/9) (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (cos.f64 y) x))))) (pow.f64 z 3)) (pow.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)) 1/3))))
(fma.f64 -2/3 (*.f64 (*.f64 z (sin.f64 y)) (*.f64 (pow.f64 (*.f64 (cos.f64 y) x) 1/18) (pow.f64 (*.f64 (cos.f64 y) x) 1/18))) (fma.f64 (*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 (cos.f64 y) 4)) (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 (cos.f64 y) 4)) (pow.f64 x 4)) 1/18))) -1/9) (*.f64 z z) (fma.f64 (fma.f64 -2/3 (*.f64 (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (pow.f64 (sin.f64 y) 3)) (*.f64 2/9 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (pow.f64 (sin.f64 y) 3)))) (cbrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x)))) (*.f64 2/27 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (cos.f64 y) x)))) (pow.f64 z 3) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))))))
(fma.f64 -2/3 (*.f64 (sin.f64 y) (*.f64 z (*.f64 (pow.f64 (*.f64 (cos.f64 y) x) 1/18) (pow.f64 (*.f64 (cos.f64 y) x) 1/18)))) (fma.f64 (*.f64 z z) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18) (pow.f64 (sin.f64 y) 2)))) (fma.f64 (pow.f64 z 3) (fma.f64 (*.f64 -2/3 (cbrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x)))) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (pow.f64 (sin.f64 y) 3)) 5/27) (*.f64 2/27 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (cos.f64 y) x)))) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))))))
(fma.f64 -2/3 (*.f64 (sin.f64 y) (*.f64 z (*.f64 (pow.f64 (*.f64 (cos.f64 y) x) 1/18) (pow.f64 (*.f64 (cos.f64 y) x) 1/18)))) (fma.f64 (*.f64 z z) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18) (pow.f64 (sin.f64 y) 2)))) (fma.f64 (pow.f64 z 3) (fma.f64 (*.f64 -2/3 (cbrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x)))) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (pow.f64 (sin.f64 y) 3)) 5/27) (*.f64 (pow.f64 (sin.f64 y) 3) (/.f64 2/27 (*.f64 (cos.f64 y) x)))) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))))))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3) (*.f64 (cos.f64 y) x))) (*.f64 -1 (*.f64 z (sin.f64 y))))
(fma.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18)) (*.f64 (*.f64 (cos.f64 y) x) (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4))) (neg.f64 (*.f64 z (sin.f64 y))))
(-.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18) (*.f64 (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18) (*.f64 x (*.f64 (cos.f64 y) (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4)))))) (*.f64 z (sin.f64 y)))
(fma.f64 (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18) (*.f64 (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18) (*.f64 x (*.f64 (cos.f64 y) (cbrt.f64 (*.f64 -1 (cbrt.f64 -1)))))) (*.f64 z (neg.f64 (sin.f64 y))))
(+.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3) (*.f64 (cos.f64 y) x))) (+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 10) (pow.f64 (sin.f64 y) 10))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 10)) 1/3) (pow.f64 (cos.f64 y) 2)))) (*.f64 3/4 (+.f64 (*.f64 2 (*.f64 (/.f64 (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2)))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2))))) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3))) (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 10) (pow.f64 (sin.f64 y) 10))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 10)) 1/3) (pow.f64 (cos.f64 y) 2))))))) (*.f64 z (*.f64 (sin.f64 y) (pow.f64 x 2)))))))
(fma.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18)) (*.f64 (*.f64 (cos.f64 y) x) (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4))) (*.f64 -1 (+.f64 (*.f64 z (sin.f64 y)) (*.f64 (fma.f64 1/2 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18)) (*.f64 (pow.f64 (cos.f64 y) 2) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 10))))) (*.f64 3/4 (fma.f64 2 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18)) (*.f64 (pow.f64 (cos.f64 y) 2) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))))) -1/9) (pow.f64 (cbrt.f64 -1) 2))) (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18)) (*.f64 (pow.f64 (cos.f64 y) 2) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 10))))) -4/9)))) (*.f64 z (*.f64 (sin.f64 y) (*.f64 x x)))))))
(fma.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18)) (*.f64 x (*.f64 (cos.f64 y) (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4)))) (neg.f64 (fma.f64 z (sin.f64 y) (*.f64 z (*.f64 (*.f64 (sin.f64 y) (*.f64 x x)) (fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 10)))))) (+.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18)) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))))) (/.f64 (pow.f64 (cbrt.f64 -1) 2) -1/9))) 3/2) (*.f64 -1/3 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 10))))))))))))))
(-.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18) (*.f64 (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18) (*.f64 x (*.f64 (cos.f64 y) (cbrt.f64 (*.f64 -1 (cbrt.f64 -1))))))) (fma.f64 z (sin.f64 y) (*.f64 z (*.f64 (*.f64 (sin.f64 y) (*.f64 x x)) (fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 10)))))) (+.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18)) (cbrt.f64 (/.f64 1 (*.f64 -1 (cbrt.f64 -1)))))) (/.f64 (pow.f64 (cbrt.f64 -1) 2) -1/9))) 3/2) (*.f64 -1/3 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 10)))))))))))))
(+.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3) (*.f64 (cos.f64 y) x))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/4 (+.f64 (*.f64 16/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 5) (pow.f64 (sin.f64 y) 5))) 1/3) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 5)))) (+.f64 (*.f64 -4 (*.f64 (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2)))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2))))) (cos.f64 y)) (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 11) (pow.f64 (sin.f64 y) 11))) 1/9) (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 11)) 1/3)))) (*.f64 6 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3) (/.f64 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 z (sin.f64 y))) 1/3) (/.f64 (+.f64 (*.f64 1/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 -2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3))))) (cbrt.f64 -1)))) (*.f64 2/27 (*.f64 (pow.f64 1 1/9) (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 z (sin.f64 y)))))) (pow.f64 (cbrt.f64 -1) 2))))))) (+.f64 (*.f64 3/4 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 5) (pow.f64 (sin.f64 y) 5))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 5)) 1/3) (*.f64 (cos.f64 y) (+.f64 (*.f64 2 (*.f64 (/.f64 (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2)))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2))))) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3))) (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 10) (pow.f64 (sin.f64 y) 10))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 10)) 1/3) (pow.f64 (cos.f64 y) 2))))))))) (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 5) (pow.f64 (sin.f64 y) 5))) 1/3) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 5)))))) (*.f64 z (*.f64 (sin.f64 y) (pow.f64 x 3))))) (+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 10) (pow.f64 (sin.f64 y) 10))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 10)) 1/3) (pow.f64 (cos.f64 y) 2)))) (*.f64 3/4 (+.f64 (*.f64 2 (*.f64 (/.f64 (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2)))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2))))) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3))) (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 10) (pow.f64 (sin.f64 y) 10))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 10)) 1/3) (pow.f64 (cos.f64 y) 2))))))) (*.f64 z (*.f64 (sin.f64 y) (pow.f64 x 2))))))))
(fma.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18)) (*.f64 (*.f64 (cos.f64 y) x) (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4))) (fma.f64 -1 (*.f64 (fma.f64 1/4 (fma.f64 16/27 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (pow.f64 z 5)) (pow.f64 (sin.f64 y) 5))) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 5))) (fma.f64 -4 (*.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18)) (*.f64 (pow.f64 (cos.f64 y) 2) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))))) -1/9) (*.f64 (cos.f64 y) (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 11)) (pow.f64 (sin.f64 y) 11)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 11)) (pow.f64 (sin.f64 y) 11)) 1/18)) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 11)))))) (*.f64 6 (/.f64 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (fma.f64 -2/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))) (/.f64 (fma.f64 1/27 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2))) (*.f64 -2/9 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2))))) (cbrt.f64 -1))) (*.f64 2/27 (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 z (sin.f64 y)))))) (pow.f64 (cbrt.f64 -1) 2))))) (fma.f64 3/4 (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 5)) (pow.f64 (sin.f64 y) 5)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 5)) (pow.f64 (sin.f64 y) 5)) 1/18)) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 5)))) (*.f64 (cos.f64 y) (fma.f64 2 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18)) (*.f64 (pow.f64 (cos.f64 y) 2) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))))) -1/9) (pow.f64 (cbrt.f64 -1) 2))) (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18)) (*.f64 (pow.f64 (cos.f64 y) 2) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 10))))) -4/9)))) (*.f64 (*.f64 1/6 (cbrt.f64 (/.f64 (/.f64 1 (pow.f64 z 5)) (pow.f64 (sin.f64 y) 5)))) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 5))))) (*.f64 z (*.f64 (sin.f64 y) (pow.f64 x 3)))) (*.f64 -1 (+.f64 (*.f64 z (sin.f64 y)) (*.f64 (fma.f64 1/2 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18)) (*.f64 (pow.f64 (cos.f64 y) 2) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 10))))) (*.f64 3/4 (fma.f64 2 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18)) (*.f64 (pow.f64 (cos.f64 y) 2) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))))) -1/9) (pow.f64 (cbrt.f64 -1) 2))) (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18)) (*.f64 (pow.f64 (cos.f64 y) 2) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 10))))) -4/9)))) (*.f64 z (*.f64 (sin.f64 y) (*.f64 x x))))))))
(fma.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18)) (*.f64 x (*.f64 (cos.f64 y) (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4)))) (-.f64 (neg.f64 (fma.f64 z (sin.f64 y) (*.f64 z (*.f64 (*.f64 (sin.f64 y) (*.f64 x x)) (fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 10)))))) (+.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18)) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))))) (/.f64 (pow.f64 (cbrt.f64 -1) 2) -1/9))) 3/2) (*.f64 -1/3 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 10))))))))))))) (*.f64 z (*.f64 (*.f64 (sin.f64 y) (pow.f64 x 3)) (fma.f64 1/4 (fma.f64 16/27 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (pow.f64 z 5)) (pow.f64 (sin.f64 y) 5))) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 5))) (fma.f64 6 (/.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (fma.f64 (*.f64 -2/3 (cbrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y)))) (/.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2))) -5/27) (cbrt.f64 -1)) (/.f64 (*.f64 2/27 (pow.f64 (cos.f64 y) 3)) (*.f64 z (sin.f64 y)))))) (*.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 11))) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 11)) (pow.f64 (sin.f64 y) 11)) 1/18)) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 11)) (pow.f64 (sin.f64 y) 11)) 1/18)) (*.f64 (*.f64 -4 (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18)) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)))) (*.f64 (pow.f64 (cos.f64 y) 2) -1/9))) (cos.f64 y))))) (fma.f64 3/4 (*.f64 (*.f64 (cos.f64 y) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 5)))) (*.f64 (fma.f64 2 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18)) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))))) (/.f64 (pow.f64 (cbrt.f64 -1) 2) -1/9))) (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 10))))) (*.f64 (pow.f64 (cos.f64 y) 2) -4/9))) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 5)) (pow.f64 (sin.f64 y) 5)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 5)) (pow.f64 (sin.f64 y) 5)) 1/18)))) (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (pow.f64 z 5)) (pow.f64 (sin.f64 y) 5))) (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 5)) 1/6))))))))
(-.f64 (-.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18) (*.f64 (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18) (*.f64 x (*.f64 (cos.f64 y) (cbrt.f64 (*.f64 -1 (cbrt.f64 -1))))))) (fma.f64 z (sin.f64 y) (*.f64 z (*.f64 (*.f64 (sin.f64 y) (*.f64 x x)) (fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 10)))))) (+.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18)) (cbrt.f64 (/.f64 1 (*.f64 -1 (cbrt.f64 -1)))))) (/.f64 (pow.f64 (cbrt.f64 -1) 2) -1/9))) 3/2) (*.f64 -1/3 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 10))))))))))))) (*.f64 z (*.f64 (*.f64 (sin.f64 y) (pow.f64 x 3)) (fma.f64 1/4 (fma.f64 16/27 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (pow.f64 z 5)) (pow.f64 (sin.f64 y) 5))) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 5))) (fma.f64 6 (/.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (fma.f64 (*.f64 -2/3 (cbrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y)))) (/.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2))) -5/27) (cbrt.f64 -1)) (*.f64 (pow.f64 (cos.f64 y) 3) (/.f64 2/27 (*.f64 z (sin.f64 y))))))) (*.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 11))) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 11)) (pow.f64 (sin.f64 y) 11)) 1/18)) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 11)) (pow.f64 (sin.f64 y) 11)) 1/18)) (*.f64 (*.f64 -4 (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18)) (cbrt.f64 (/.f64 1 (*.f64 -1 (cbrt.f64 -1))))) (*.f64 (pow.f64 (cos.f64 y) 2) -1/9))) (cos.f64 y))))) (fma.f64 3/4 (*.f64 (*.f64 (cos.f64 y) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 5)))) (*.f64 (fma.f64 2 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18)) (cbrt.f64 (/.f64 1 (*.f64 -1 (cbrt.f64 -1)))))) (/.f64 (pow.f64 (cbrt.f64 -1) 2) -1/9))) (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 10)) (pow.f64 (sin.f64 y) 10)) 1/18) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 10))))) (*.f64 (pow.f64 (cos.f64 y) 2) -4/9))) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 5)) (pow.f64 (sin.f64 y) 5)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 5)) (pow.f64 (sin.f64 y) 5)) 1/18)))) (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (pow.f64 z 5)) (pow.f64 (sin.f64 y) 5))) (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 5)) 1/6)))))))
x
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) (*.f64 y z))) x)
(fma.f64 -1 (*.f64 (*.f64 z y) (*.f64 (pow.f64 (pow.f64 x 4) 1/18) (pow.f64 (pow.f64 x 4) 1/18))) x)
(-.f64 x (*.f64 z (*.f64 y (*.f64 (pow.f64 (pow.f64 x 4) 1/18) (pow.f64 (pow.f64 x 4) 1/18)))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) (*.f64 y z))) (+.f64 (*.f64 (pow.f64 y 2) (*.f64 (+.f64 (*.f64 3/4 (+.f64 (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/9) (pow.f64 z 2))) (*.f64 2 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2)))))))) (*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/9) (pow.f64 z 2)))) x)) x))
(fma.f64 -1 (*.f64 (*.f64 z y) (*.f64 (pow.f64 (pow.f64 x 4) 1/18) (pow.f64 (pow.f64 x 4) 1/18))) (fma.f64 (*.f64 y y) (*.f64 x (fma.f64 3/4 (fma.f64 -4/9 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/18))) (*.f64 2 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (fma.f64 2/3 (*.f64 (-.f64 (*.f64 x -1/2) (*.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))) (*.f64 z z))) (cbrt.f64 (/.f64 1 x))) (*.f64 1/9 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18)))))))) (*.f64 1/2 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/18)))))) x))
(-.f64 (fma.f64 (*.f64 y y) (*.f64 x (fma.f64 1/2 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/18) (*.f64 z z))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/18) (*.f64 z z)))) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (fma.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 x))) (fma.f64 x -1/2 (*.f64 (*.f64 -1/3 (*.f64 z z)) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18)) (*.f64 (*.f64 z z) 1/9)))) 3/2)))) x) (*.f64 z (*.f64 y (*.f64 (pow.f64 (pow.f64 x 4) 1/18) (pow.f64 (pow.f64 x 4) 1/18)))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) (*.f64 y z))) (+.f64 (*.f64 (pow.f64 y 3) (*.f64 (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/3) (pow.f64 z 3))) (+.f64 (*.f64 1/4 (+.f64 (*.f64 4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 11)) 1/9) (*.f64 z (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2))))))) (+.f64 (*.f64 6 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (+.f64 (*.f64 -1/6 z) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 z 3))) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))) z))))))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))) z)))) (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3))) (*.f64 -16/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/3) (pow.f64 z 3)))))) (*.f64 -3/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/9) (*.f64 (+.f64 (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/9) (pow.f64 z 2))) (*.f64 2 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2))))))) z))))) x)) (+.f64 (*.f64 (pow.f64 y 2) (*.f64 (+.f64 (*.f64 3/4 (+.f64 (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/9) (pow.f64 z 2))) (*.f64 2 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2)))))))) (*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/9) (pow.f64 z 2)))) x)) x)))
(fma.f64 -1 (*.f64 (*.f64 z y) (*.f64 (pow.f64 (pow.f64 x 4) 1/18) (pow.f64 (pow.f64 x 4) 1/18))) (fma.f64 (pow.f64 y 3) (*.f64 x (fma.f64 -1/6 (*.f64 (pow.f64 z 3) (cbrt.f64 (/.f64 1 (pow.f64 x 5)))) (fma.f64 1/4 (fma.f64 4 (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 11)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 11)) 1/18)) z) (fma.f64 2/3 (*.f64 (-.f64 (*.f64 x -1/2) (*.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))) (*.f64 z z))) (cbrt.f64 (/.f64 1 x))) (*.f64 1/9 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18)))))) (fma.f64 6 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (fma.f64 -2/3 (*.f64 (fma.f64 -1/6 z (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3)) (*.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18))) (*.f64 z (-.f64 (*.f64 x -1/2) (*.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))) (*.f64 z z))))))) (cbrt.f64 (/.f64 1 x))) (*.f64 -2/9 (*.f64 (*.f64 z (-.f64 (*.f64 x -1/2) (*.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))) (*.f64 z z)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18)))))) (*.f64 (*.f64 (pow.f64 z 3) (cbrt.f64 (/.f64 1 (pow.f64 x 5)))) -16/27))) (*.f64 (*.f64 -3/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18))) (*.f64 z (fma.f64 -4/9 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/18))) (*.f64 2 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (fma.f64 2/3 (*.f64 (-.f64 (*.f64 x -1/2) (*.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))) (*.f64 z z))) (cbrt.f64 (/.f64 1 x))) (*.f64 1/9 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18))))))))))))) (fma.f64 (*.f64 y y) (*.f64 x (fma.f64 3/4 (fma.f64 -4/9 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/18))) (*.f64 2 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (fma.f64 2/3 (*.f64 (-.f64 (*.f64 x -1/2) (*.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))) (*.f64 z z))) (cbrt.f64 (/.f64 1 x))) (*.f64 1/9 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18)))))))) (*.f64 1/2 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/18)))))) x)))
(-.f64 (fma.f64 (pow.f64 y 3) (*.f64 x (fma.f64 -1/6 (*.f64 (pow.f64 z 3) (cbrt.f64 (/.f64 1 (pow.f64 x 5)))) (fma.f64 1/4 (fma.f64 4 (*.f64 z (*.f64 (fma.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 x))) (fma.f64 x -1/2 (*.f64 (*.f64 -1/3 (*.f64 z z)) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18)) (*.f64 (*.f64 z z) 1/9))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 11)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 11)) 1/18)))) (fma.f64 6 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (fma.f64 -2/3 (*.f64 (fma.f64 z -1/6 (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3)) (*.f64 (*.f64 (fma.f64 x -1/2 (*.f64 (*.f64 -1/3 (*.f64 z z)) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18))) (*.f64 z -2/3)))) (cbrt.f64 (/.f64 1 x))) (*.f64 (*.f64 (fma.f64 x -1/2 (*.f64 (*.f64 -1/3 (*.f64 z z)) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18))) (*.f64 z -2/9)))) (*.f64 (pow.f64 z 3) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 x 5))) -16/27)))) (*.f64 -3/4 (*.f64 (fma.f64 2 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (fma.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 x))) (fma.f64 x -1/2 (*.f64 (*.f64 -1/3 (*.f64 z z)) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18)) (*.f64 (*.f64 z z) 1/9)))) (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/18) (*.f64 z z))))) (*.f64 z (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18)))))))) (fma.f64 (*.f64 y y) (*.f64 x (fma.f64 1/2 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/18) (*.f64 z z))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/18) (*.f64 z z)))) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (fma.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 x))) (fma.f64 x -1/2 (*.f64 (*.f64 -1/3 (*.f64 z z)) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18)) (*.f64 (*.f64 z z) 1/9)))) 3/2)))) x)) (*.f64 z (*.f64 y (*.f64 (pow.f64 (pow.f64 x 4) 1/18) (pow.f64 (pow.f64 x 4) 1/18)))))
(-.f64 (fma.f64 (pow.f64 y 3) (*.f64 x (fma.f64 -1/6 (*.f64 (pow.f64 z 3) (cbrt.f64 (/.f64 1 (pow.f64 x 5)))) (fma.f64 -3/4 (*.f64 (fma.f64 2 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (fma.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 x))) (fma.f64 x -1/2 (*.f64 (*.f64 -1/3 (*.f64 z z)) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18)) (*.f64 (*.f64 z z) 1/9)))) (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/18) (*.f64 z z))))) (*.f64 z (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18)))) (+.f64 (*.f64 1/4 (fma.f64 6 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (fma.f64 -2/3 (*.f64 (fma.f64 z -1/6 (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3)) (*.f64 (*.f64 (fma.f64 x -1/2 (*.f64 (*.f64 -1/3 (*.f64 z z)) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18))) (*.f64 z -2/3)))) (cbrt.f64 (/.f64 1 x))) (*.f64 (*.f64 (fma.f64 x -1/2 (*.f64 (*.f64 -1/3 (*.f64 z z)) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18))) (*.f64 z -2/9)))) (*.f64 (pow.f64 z 3) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 x 5))) -16/27)))) (*.f64 (fma.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 x))) (fma.f64 x -1/2 (*.f64 (*.f64 -1/3 (*.f64 z z)) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18)) (*.f64 (*.f64 z z) 1/9))) (*.f64 z (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 11)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 11)) 1/18)))))))) (fma.f64 (*.f64 y y) (*.f64 x (fma.f64 1/2 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/18) (*.f64 z z))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/18) (*.f64 z z)))) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (fma.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 x))) (fma.f64 x -1/2 (*.f64 (*.f64 -1/3 (*.f64 z z)) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18)) (*.f64 (*.f64 z z) 1/9)))) 3/2)))) x)) (*.f64 z (*.f64 y (*.f64 (pow.f64 (pow.f64 x 4) 1/18) (pow.f64 (pow.f64 x 4) 1/18)))))
(-.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 (pow.f64 (*.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (*.f64 z (sin.f64 y)))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 (*.f64 z (sin.f64 y)) (*.f64 (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18) (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (*.f64 (sin.f64 y) (*.f64 (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18) (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18)))))
(+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 z 2) (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 10) (pow.f64 x 10))) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 3/4 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3))) (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 10) (pow.f64 x 10))) 1/9) (pow.f64 (sin.f64 y) 2)))))) x))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (*.f64 z (sin.f64 y)))) (*.f64 (cos.f64 y) x)))
(fma.f64 (cos.f64 y) (*.f64 (*.f64 z z) (*.f64 x (fma.f64 1/2 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 x 10) (pow.f64 (cos.f64 y) 10))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 x 10) (pow.f64 (cos.f64 y) 10))) 1/18))) (*.f64 3/4 (fma.f64 2 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 (cos.f64 y) 4)) (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 (cos.f64 y) 4)) (pow.f64 x 4)) 1/18))) -1/9)) (*.f64 -4/9 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 x 10) (pow.f64 (cos.f64 y) 10))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 x 10) (pow.f64 (cos.f64 y) 10))) 1/18))))))))) (fma.f64 -1 (*.f64 (*.f64 z (sin.f64 y)) (*.f64 (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18) (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18))) (*.f64 (cos.f64 y) x)))
(fma.f64 (cos.f64 y) (*.f64 (fma.f64 1/2 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 10)) (pow.f64 (cos.f64 y) 10)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 10)) (pow.f64 (cos.f64 y) 10)) 1/18))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 10)) (pow.f64 (cos.f64 y) 10)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 10)) (pow.f64 (cos.f64 y) 10)) 1/18)))) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18) (pow.f64 (sin.f64 y) 2))))) 3/2))) (*.f64 x (*.f64 z z))) (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (*.f64 (sin.f64 y) (*.f64 (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18) (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18))))))
(+.f64 (*.f64 (+.f64 (*.f64 1/4 (+.f64 (*.f64 -16/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 5) (pow.f64 x 5))) 1/3) (pow.f64 (sin.f64 y) 3))) (+.f64 (*.f64 6 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (cos.f64 y) x)) 1/3) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (pow.f64 (sin.f64 y) 3))) (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (pow.f64 (sin.f64 y) 3))))))) (*.f64 2/27 (*.f64 (pow.f64 1 1/9) (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (cos.f64 y) x))))) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3))) (*.f64 4 (*.f64 (*.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2)))) (sin.f64 y)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 11) (pow.f64 x 11))) 1/9)))))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 5) (pow.f64 x 5))) 1/3) (pow.f64 (sin.f64 y) 3))) (*.f64 -3/4 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 5) (pow.f64 x 5))) 1/9) (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3))) (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 10) (pow.f64 x 10))) 1/9) (pow.f64 (sin.f64 y) 2)))) (sin.f64 y)))))) (*.f64 (pow.f64 z 3) (*.f64 (cos.f64 y) x))) (+.f64 (*.f64 (cos.f64 y) (*.f64 (pow.f64 z 2) (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 10) (pow.f64 x 10))) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 3/4 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3))) (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 10) (pow.f64 x 10))) 1/9) (pow.f64 (sin.f64 y) 2)))))) x))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (*.f64 z (sin.f64 y)))) (*.f64 (cos.f64 y) x))))
(fma.f64 (fma.f64 1/4 (fma.f64 -16/27 (*.f64 (pow.f64 (sin.f64 y) 3) (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 x 5) (pow.f64 (cos.f64 y) 5))))) (fma.f64 6 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (fma.f64 -2/3 (*.f64 (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (pow.f64 (sin.f64 y) 3)) (*.f64 2/9 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (pow.f64 (sin.f64 y) 3)))) (cbrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x)))) (*.f64 2/27 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (cos.f64 y) x))))) (*.f64 (*.f64 4 (*.f64 (sin.f64 y) (*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 (cos.f64 y) 4)) (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 (cos.f64 y) 4)) (pow.f64 x 4)) 1/18))) -1/9))) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 x 11) (pow.f64 (cos.f64 y) 11))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 x 11) (pow.f64 (cos.f64 y) 11))) 1/18))))) (fma.f64 -1/6 (*.f64 (pow.f64 (sin.f64 y) 3) (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 x 5) (pow.f64 (cos.f64 y) 5))))) (*.f64 (*.f64 -3/4 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 x 5) (pow.f64 (cos.f64 y) 5))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 x 5) (pow.f64 (cos.f64 y) 5))) 1/18))) (*.f64 (sin.f64 y) (fma.f64 2 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 (cos.f64 y) 4)) (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 (cos.f64 y) 4)) (pow.f64 x 4)) 1/18))) -1/9)) (*.f64 -4/9 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 x 10) (pow.f64 (cos.f64 y) 10))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 x 10) (pow.f64 (cos.f64 y) 10))) 1/18))))))))) (*.f64 (*.f64 (cos.f64 y) x) (pow.f64 z 3)) (fma.f64 (cos.f64 y) (*.f64 (*.f64 z z) (*.f64 x (fma.f64 1/2 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 x 10) (pow.f64 (cos.f64 y) 10))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 x 10) (pow.f64 (cos.f64 y) 10))) 1/18))) (*.f64 3/4 (fma.f64 2 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 (cos.f64 y) 4)) (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 (cos.f64 y) 4)) (pow.f64 x 4)) 1/18))) -1/9)) (*.f64 -4/9 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 x 10) (pow.f64 (cos.f64 y) 10))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 x 10) (pow.f64 (cos.f64 y) 10))) 1/18))))))))) (fma.f64 -1 (*.f64 (*.f64 z (sin.f64 y)) (*.f64 (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18) (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18))) (*.f64 (cos.f64 y) x))))
(fma.f64 (fma.f64 1/4 (fma.f64 -16/27 (*.f64 (pow.f64 (sin.f64 y) 3) (cbrt.f64 (/.f64 (/.f64 1 (pow.f64 x 5)) (pow.f64 (cos.f64 y) 5)))) (fma.f64 4 (*.f64 (sin.f64 y) (*.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18) (pow.f64 (sin.f64 y) 2)))) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 11)) (pow.f64 (cos.f64 y) 11)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 11)) (pow.f64 (cos.f64 y) 11)) 1/18)))) (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (*.f64 (fma.f64 (*.f64 -2/3 (cbrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x)))) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (pow.f64 (sin.f64 y) 3)) 5/27) (*.f64 2/27 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (cos.f64 y) x)))) 6)))) (fma.f64 -1/6 (*.f64 (pow.f64 (sin.f64 y) 3) (cbrt.f64 (/.f64 (/.f64 1 (pow.f64 x 5)) (pow.f64 (cos.f64 y) 5)))) (*.f64 (*.f64 (*.f64 -3/4 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 5)) (pow.f64 (cos.f64 y) 5)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 5)) (pow.f64 (cos.f64 y) 5)) 1/18))) (sin.f64 y)) (fma.f64 -4/9 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 10)) (pow.f64 (cos.f64 y) 10)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 10)) (pow.f64 (cos.f64 y) 10)) 1/18))) (*.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18) (pow.f64 (sin.f64 y) 2)))) (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) 2)))))) (*.f64 (cos.f64 y) (*.f64 x (pow.f64 z 3))) (fma.f64 (cos.f64 y) (*.f64 (fma.f64 1/2 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 10)) (pow.f64 (cos.f64 y) 10)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 10)) (pow.f64 (cos.f64 y) 10)) 1/18))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 10)) (pow.f64 (cos.f64 y) 10)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 10)) (pow.f64 (cos.f64 y) 10)) 1/18)))) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18) (pow.f64 (sin.f64 y) 2))))) 3/2))) (*.f64 x (*.f64 z z))) (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (*.f64 (sin.f64 y) (*.f64 (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18) (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18)))))))
(fma.f64 (fma.f64 1/4 (fma.f64 -16/27 (*.f64 (pow.f64 (sin.f64 y) 3) (cbrt.f64 (/.f64 (/.f64 1 (pow.f64 x 5)) (pow.f64 (cos.f64 y) 5)))) (fma.f64 4 (*.f64 (sin.f64 y) (*.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18) (pow.f64 (sin.f64 y) 2)))) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 11)) (pow.f64 (cos.f64 y) 11)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 11)) (pow.f64 (cos.f64 y) 11)) 1/18)))) (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (*.f64 (fma.f64 (*.f64 -2/3 (cbrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x)))) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (pow.f64 (sin.f64 y) 3)) 5/27) (*.f64 (pow.f64 (sin.f64 y) 3) (/.f64 2/27 (*.f64 (cos.f64 y) x)))) 6)))) (fma.f64 -1/6 (*.f64 (pow.f64 (sin.f64 y) 3) (cbrt.f64 (/.f64 (/.f64 1 (pow.f64 x 5)) (pow.f64 (cos.f64 y) 5)))) (*.f64 (*.f64 (*.f64 -3/4 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 5)) (pow.f64 (cos.f64 y) 5)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 5)) (pow.f64 (cos.f64 y) 5)) 1/18))) (sin.f64 y)) (fma.f64 -4/9 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 10)) (pow.f64 (cos.f64 y) 10)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 10)) (pow.f64 (cos.f64 y) 10)) 1/18))) (*.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18) (pow.f64 (sin.f64 y) 2)))) (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) 2)))))) (*.f64 (cos.f64 y) (*.f64 x (pow.f64 z 3))) (fma.f64 (cos.f64 y) (*.f64 (fma.f64 1/2 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 10)) (pow.f64 (cos.f64 y) 10)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 10)) (pow.f64 (cos.f64 y) 10)) 1/18))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 10)) (pow.f64 (cos.f64 y) 10)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 10)) (pow.f64 (cos.f64 y) 10)) 1/18)))) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18) (pow.f64 (sin.f64 y) 2))))) 3/2))) (*.f64 x (*.f64 z z))) (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (*.f64 (sin.f64 y) (*.f64 (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18) (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18)))))))

eval556.0ms (4.4%)

Compiler

Compiled 24314 to 12865 computations (47.1% saved)

prune246.0ms (1.9%)

Pruning

37 alts after pruning (27 fresh and 10 done)

PrunedKeptTotal
New88110891
Fresh61723
Picked101
Done01010
Total88837925
Error
0.0b
Counts
925 → 37
Alt Table
Click to see full alt table
StatusErrorProgram
30.5b
(-.f64 x (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z)))
13.6b
(fma.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
39.8b
(*.f64 (+.f64 (*.f64 y z) x) 1)
40.0b
(cbrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3))
35.8b
(*.f64 (sin.f64 y) (neg.f64 z))
35.7b
(/.f64 1 (/.f64 (+.f64 x (*.f64 z (sin.f64 y))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (sin.f64 y)) 2))))
29.3b
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2)
46.4b
(-.f64 (+.f64 1 (+.f64 (*.f64 y z) x)) 1)
51.3b
(cbrt.f64 (neg.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))
0.2b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
27.2b
(*.f64 (cos.f64 y) x)
21.9b
(fma.f64 (*.f64 x (cbrt.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y)))))) (cbrt.f64 (cos.f64 y)) (*.f64 y (neg.f64 z)))
53.9b
(cbrt.f64 (*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3))))
29.6b
(pow.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 2) (*.f64 (cbrt.f64 (cbrt.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)))))) 3/2)
12.5b
(+.f64 x (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))
2.5b
(fma.f64 (*.f64 (neg.f64 z) (cbrt.f64 (pow.f64 (sin.f64 y) 2))) (cbrt.f64 (sin.f64 y)) (*.f64 x (cos.f64 y)))
1.4b
(pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 3)
52.6b
(*.f64 y (neg.f64 z))
43.3b
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) x)) 2) 3/2)
45.1b
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y (neg.f64 z)) (*.f64 y (neg.f64 z)))) (-.f64 x (*.f64 y (neg.f64 z))))
32.2b
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))
29.2b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (sqrt.f64 z)) (sqrt.f64 z)))
13.5b
(pow.f64 (cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 3)
0.3b
(fma.f64 (*.f64 x (cbrt.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y)))))) (cbrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
53.4b
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 3/2)
29.7b
(-.f64 x (*.f64 z y))
12.4b
(-.f64 x (*.f64 z (sin.f64 y)))
30.9b
(+.f64 x (*.f64 y (-.f64 (*.f64 y (*.f64 x -1/2)) z)))
0.6b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (sin.f64 y))))
0.9b
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
0.6b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) z)))
48.2b
(pow.f64 (pow.f64 (*.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (cbrt.f64 -1)) 2) 3/2)
31.4b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 (*.f64 z (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y))))
37.1b
(pow.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 2)
39.0b
x
36.4b
(-.f64 x (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
29.7b
(fma.f64 (neg.f64 y) z x)
Compiler

Compiled 551 to 365 computations (33.8% saved)

regimes275.0ms (2.2%)

Counts
62 → 1
Calls
Call 1
Inputs
x
x
x
(*.f64 y (neg.f64 z))
(-.f64 x (*.f64 z y))
(-.f64 x (*.f64 y z))
(*.f64 (+.f64 (*.f64 y z) x) 1)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(-.f64 (+.f64 1 (+.f64 (*.f64 y z) x)) 1)
(+.f64 x (*.f64 y (-.f64 (*.f64 y (*.f64 x -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 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(fma.f64 (neg.f64 y) z x)
(*.f64 (sin.f64 y) (neg.f64 z))
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 y z))
(-.f64 x (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z)))
(cbrt.f64 (neg.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))
(-.f64 x (cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))
(pow.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 2)
(pow.f64 (cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 3)
(-.f64 x (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
(/.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 (cbrt.f64 (*.f64 (cos.f64 y) x)) 2) 3/2)
(cbrt.f64 (*.f64 (pow.f64 z 3) (neg.f64 (pow.f64 (sin.f64 y) 3))))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 3/2)
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2)
(pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 3)
(-.f64 (*.f64 x (cos.f64 y)) (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
(cbrt.f64 (pow.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) 3))
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2)
(pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 3)
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (sqrt.f64 z)) (sqrt.f64 z)))
(pow.f64 (pow.f64 (*.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (cbrt.f64 -1)) 2) 3/2)
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))
(pow.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2) 3/2)
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 (*.f64 z (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (sin.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (sin.f64 y))))
(+.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 (*.f64 x (cbrt.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y)))))) (cbrt.f64 (cos.f64 y)) (*.f64 y (neg.f64 z)))
(-.f64 (*.f64 x (cos.f64 y)) (pow.f64 (expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 z (sin.f64 y))))) 2))
(fma.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
(fma.f64 (*.f64 (neg.f64 z) (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) (*.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)))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) z)))
(+.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)))))
(fma.f64 (*.f64 x (cbrt.f64 (+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y)))))) (cbrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
(fma.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) (cbrt.f64 (pow.f64 (cos.f64 y) 3/2)) (*.f64 (sin.f64 y) (neg.f64 z)))
(fma.f64 (*.f64 (neg.f64 z) (cbrt.f64 (pow.f64 (sin.f64 y) 2))) (cbrt.f64 (sin.f64 y)) (*.f64 x (cos.f64 y)))
(fma.f64 (*.f64 x (cbrt.f64 (pow.f64 (cos.f64 y) 2))) (cbrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
(/.f64 1 (/.f64 (fma.f64 z (sin.f64 y) (*.f64 x (cos.f64 y))) (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2))))
(*.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 z (sin.f64 y) (*.f64 x (cos.f64 y))) (pow.f64 (*.f64 x (cos.f64 y)) 2))))
(pow.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 2) (*.f64 (cbrt.f64 (cbrt.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)))))) 3/2)
Outputs
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
Calls

4 calls:

74.0ms
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
58.0ms
y
56.0ms
z
53.0ms
x
Results
ErrorSegmentsBranch
0.2b1x
0.2b1y
0.2b1z
0.2b1(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
Compiler

Compiled 774 to 260 computations (66.4% saved)

regimes302.0ms (2.4%)

Counts
20 → 3
Calls
Call 1
Inputs
x
x
x
(*.f64 y (neg.f64 z))
(-.f64 x (*.f64 z y))
(-.f64 x (*.f64 y z))
(*.f64 (+.f64 (*.f64 y z) x) 1)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(-.f64 (+.f64 1 (+.f64 (*.f64 y z) x)) 1)
(+.f64 x (*.f64 y (-.f64 (*.f64 y (*.f64 x -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 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(fma.f64 (neg.f64 y) z x)
(*.f64 (sin.f64 y) (neg.f64 z))
(fma.f64 z (neg.f64 y) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 y z))
(-.f64 x (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z)))
Outputs
(*.f64 (cos.f64 y) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(*.f64 (cos.f64 y) x)
Calls

3 calls:

116.0ms
z
109.0ms
y
69.0ms
x
Results
ErrorSegmentsBranch
6.1b3x
10.1b4y
6.6b3z
Compiler

Compiled 140 to 57 computations (59.3% saved)

bsearch171.0ms (1.3%)

Algorithm
binary-search
Steps
TimeLeftRight
55.0ms
2.0354426856870493e+124
2.888137173464934e+125
116.0ms
-1.010597192887955e+130
-2.546094395515257e+122
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes329.0ms (2.6%)

Counts
17 → 4
Calls
Call 1
Inputs
x
x
x
(*.f64 y (neg.f64 z))
(-.f64 x (*.f64 z y))
(-.f64 x (*.f64 y z))
(*.f64 (+.f64 (*.f64 y z) x) 1)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(-.f64 (+.f64 1 (+.f64 (*.f64 y z) x)) 1)
(+.f64 x (*.f64 y (-.f64 (*.f64 y (*.f64 x -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 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(fma.f64 (neg.f64 y) z x)
(*.f64 (sin.f64 y) (neg.f64 z))
(fma.f64 z (neg.f64 y) x)
Outputs
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 x (*.f64 y (-.f64 (*.f64 y (*.f64 x -1/2)) z)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 (cos.f64 y) x)
Calls

3 calls:

212.0ms
z
68.0ms
x
45.0ms
y
Results
ErrorSegmentsBranch
14.2b6x
12.5b4y
12.7b7z
Compiler

Compiled 113 to 46 computations (59.3% saved)

bsearch325.0ms (2.5%)

Algorithm
binary-search
Steps
TimeLeftRight
210.0ms
1.1144058313615295e+223
8.401049856687911e+226
43.0ms
5.25574909823934e-10
3.498384450657704
71.0ms
-9.378164219909968e-6
-4.9553594567086697e-8
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes262.0ms (2%)

Counts
15 → 3
Calls
Call 1
Inputs
x
x
x
(*.f64 y (neg.f64 z))
(-.f64 x (*.f64 z y))
(-.f64 x (*.f64 y z))
(*.f64 (+.f64 (*.f64 y z) x) 1)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(-.f64 (+.f64 1 (+.f64 (*.f64 y z) x)) 1)
(+.f64 x (*.f64 y (-.f64 (*.f64 y (*.f64 x -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 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(fma.f64 (neg.f64 y) z x)
Outputs
(*.f64 (cos.f64 y) x)
(+.f64 x (*.f64 y (-.f64 (*.f64 y (*.f64 x -1/2)) z)))
(*.f64 (cos.f64 y) x)
Calls

3 calls:

184.0ms
x
42.0ms
y
32.0ms
z
Results
ErrorSegmentsBranch
19.9b3x
17.2b3y
21.8b3z
Compiler

Compiled 103 to 43 computations (58.3% saved)

bsearch265.0ms (2.1%)

Algorithm
binary-search
Steps
TimeLeftRight
200.0ms
2.9304107160500146e-10
5.25574909823934e-10
65.0ms
-641368656.6932448
-9.378164219909968e-6
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes44.0ms (0.3%)

Counts
11 → 1
Calls
Call 1
Inputs
x
x
x
(*.f64 y (neg.f64 z))
(-.f64 x (*.f64 z y))
(-.f64 x (*.f64 y z))
(*.f64 (+.f64 (*.f64 y z) x) 1)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(-.f64 (+.f64 1 (+.f64 (*.f64 y z) x)) 1)
(+.f64 x (*.f64 y (-.f64 (*.f64 y (*.f64 x -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 z y))
Calls

3 calls:

26.0ms
x
8.0ms
z
7.0ms
y
Results
ErrorSegmentsBranch
29.7b1x
29.7b1y
29.7b1z
Compiler

Compiled 86 to 39 computations (54.7% saved)

regimes33.0ms (0.3%)

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

3 calls:

14.0ms
x
11.0ms
z
6.0ms
y
Results
ErrorSegmentsBranch
35.3b3x
39.0b1y
37.2b2z
Compiler

Compiled 22 to 14 computations (36.4% saved)

bsearch285.0ms (2.2%)

Algorithm
binary-search
Steps
TimeLeftRight
214.0ms
6.972927347465469e-177
1.1087382368901504e-176
70.0ms
-1.0870151591308303e-132
-1.3264657047471148e-138
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes13.0ms (0.1%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0.0b (0%)

Counts
3 → 1
Calls
Call 1
Inputs
x
x
x
Outputs
x
Calls

3 calls:

5.0ms
z
4.0ms
y
4.0ms
x
Results
ErrorSegmentsBranch
39.0b1x
39.0b1y
39.0b1z
Compiler

Compiled 18 to 12 computations (33.3% saved)

simplify42.0ms (0.3%)

Algorithm
egg-herbie
Rules
13×*-commutative_binary64
10×+-commutative_binary64
sub-neg_binary64
cancel-sign-sub-inv_binary64
neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
050171
178171
297171
3106171
4112171
5114171
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(if (<=.f64 x -10105971928879549982854896417500141679372526861938362961236375682016601401177470757327675443582249821626992026622925591764310949888) (*.f64 (cos.f64 y) x) (if (<=.f64 x 20354426856870492880872256791871829331371061251983115398926721709118320013824906721466206495569004415411801959116272056664064) (-.f64 x (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x)))
(if (<=.f64 y -5535891047868773/590295810358705651712) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 y 2541524314511137/4835703278458516698824704) (+.f64 x (*.f64 y (-.f64 (*.f64 y (*.f64 x -1/2)) z))) (if (<=.f64 y 11144058313615294720520912664886179977941187522465934676893106339349050656258957362816076042629546627063831893070638748875666039805606339235295962772978056874928792166000571009035242591906950928059361115143343408529610375168) (*.f64 (sin.f64 y) (neg.f64 z)) (*.f64 (cos.f64 y) x))))
(if (<=.f64 y -2754657405176937984/4294967296) (*.f64 (cos.f64 y) x) (if (<=.f64 y 2834119341366605/9671406556917033397649408) (+.f64 x (*.f64 y (-.f64 (*.f64 y (*.f64 x -1/2)) z))) (*.f64 (cos.f64 y) x)))
(-.f64 x (*.f64 z y))
(if (<=.f64 x -6949658618241387/6393341031047152089869511126616404594173128996177860916959553453312761321102879990006386899074031556935325554936640763689877454191182408307282280448) x (if (<=.f64 x 31813566953805048/4562440617622195218641171605700291324893228507248559930579192517899275167208677386505912811317371399778642309573594407310688704721375437998252661319722214188251994674360264950082874192246603776) (*.f64 y (neg.f64 z)) x))
x
Outputs
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(if (<=.f64 x -10105971928879549982854896417500141679372526861938362961236375682016601401177470757327675443582249821626992026622925591764310949888) (*.f64 (cos.f64 y) x) (if (<=.f64 x 20354426856870492880872256791871829331371061251983115398926721709118320013824906721466206495569004415411801959116272056664064) (-.f64 x (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x)))
(if (<=.f64 x -10105971928879549982854896417500141679372526861938362961236375682016601401177470757327675443582249821626992026622925591764310949888) (*.f64 x (cos.f64 y)) (if (<=.f64 x 20354426856870492880872256791871829331371061251983115398926721709118320013824906721466206495569004415411801959116272056664064) (-.f64 x (*.f64 z (sin.f64 y))) (*.f64 x (cos.f64 y))))
(if (<=.f64 y -5535891047868773/590295810358705651712) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 y 2541524314511137/4835703278458516698824704) (+.f64 x (*.f64 y (-.f64 (*.f64 y (*.f64 x -1/2)) z))) (if (<=.f64 y 11144058313615294720520912664886179977941187522465934676893106339349050656258957362816076042629546627063831893070638748875666039805606339235295962772978056874928792166000571009035242591906950928059361115143343408529610375168) (*.f64 (sin.f64 y) (neg.f64 z)) (*.f64 (cos.f64 y) x))))
(if (<=.f64 y -5535891047868773/590295810358705651712) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 y 2541524314511137/4835703278458516698824704) (+.f64 x (*.f64 y (-.f64 (*.f64 y (*.f64 x -1/2)) z))) (if (<=.f64 y 11144058313615294720520912664886179977941187522465934676893106339349050656258957362816076042629546627063831893070638748875666039805606339235295962772978056874928792166000571009035242591906950928059361115143343408529610375168) (*.f64 (sin.f64 y) (neg.f64 z)) (*.f64 x (cos.f64 y)))))
(if (<=.f64 y -2754657405176937984/4294967296) (*.f64 (cos.f64 y) x) (if (<=.f64 y 2834119341366605/9671406556917033397649408) (+.f64 x (*.f64 y (-.f64 (*.f64 y (*.f64 x -1/2)) z))) (*.f64 (cos.f64 y) x)))
(if (<=.f64 y -5380190244486207/8388608) (*.f64 x (cos.f64 y)) (if (<=.f64 y 2834119341366605/9671406556917033397649408) (+.f64 x (*.f64 y (-.f64 (*.f64 y (*.f64 x -1/2)) z))) (*.f64 x (cos.f64 y))))
(-.f64 x (*.f64 z y))
(-.f64 x (*.f64 y z))
(if (<=.f64 x -6949658618241387/6393341031047152089869511126616404594173128996177860916959553453312761321102879990006386899074031556935325554936640763689877454191182408307282280448) x (if (<=.f64 x 31813566953805048/4562440617622195218641171605700291324893228507248559930579192517899275167208677386505912811317371399778642309573594407310688704721375437998252661319722214188251994674360264950082874192246603776) (*.f64 y (neg.f64 z)) x))
(if (<=.f64 x -6949658618241387/6393341031047152089869511126616404594173128996177860916959553453312761321102879990006386899074031556935325554936640763689877454191182408307282280448) x (if (<=.f64 x 3976695869225631/570305077202774402330146450712536415611653563406069991322399064737409395901084673313239101414671424972330288696699300913836088090171929749781582664965276773531499334295033118760359274030825472) (*.f64 y (neg.f64 z)) x))
x
Compiler

Compiled 136 to 81 computations (40.4% saved)

soundness0.0ms (0%)

end131.0ms (1%)

Compiler

Compiled 118 to 53 computations (55.1% saved)

Profiling

Loading profile data...