Details

Time bar (total: 11.9s)

analyze327.0ms (2.8%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
0%99.9%0.1%6
25%74.9%0.1%7
37.4%62.4%0.1%8
37.4%62.4%0.1%9
56.2%43.7%0.1%10
65.5%34.3%0.1%11
65.5%34.3%0.1%12
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample3.3s (27.9%)

Results
1.4s1941×body1024valid
1.3s5319×body256valid
568.0ms992×body512valid
3.0msbody2048valid

preprocess54.0ms (0.5%)

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)

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

Compiled 12 to 8 computations (33.3% saved)

localize13.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.1b
(*.f64 z (sin.f64 y))
Compiler

Compiled 27 to 8 computations (70.4% saved)

series27.0ms (0.2%)

Counts
3 → 64
Calls

21 calls:

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

rewrite109.0ms (0.9%)

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)))))))

simplify99.0ms (0.8%)

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)))

eval55.0ms (0.5%)

Compiler

Compiled 5135 to 1132 computations (78% saved)

prune65.0ms (0.6%)

Pruning

18 alts after pruning (17 fresh and 1 done)

PrunedKeptTotal
New23617253
Fresh000
Picked011
Done000
Total23618254
Error
0.0b
Counts
254 → 18
Alt Table
Click to see full alt table
StatusErrorProgram
0.9b
(fma.f64 (*.f64 (cos.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))
30.5b
(+.f64 (*.f64 -1 (*.f64 y z)) x)
27.6b
(-.f64 (*.f64 x (cos.f64 y)) (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
28.1b
(-.f64 (*.f64 x (cos.f64 y)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z)))
38.4b
(*.f64 (sin.f64 y) (neg.f64 z))
20.3b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 y z))
27.1b
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2)
29.8b
(*.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)))))
14.6b
(fma.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
0.1b
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 x (cos.f64 y)))
0.1b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
29.3b
(-.f64 (cbrt.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3)) (*.f64 z (sin.f64 y)))
1.2b
(pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 3)
32.6b
(fma.f64 (*.f64 (neg.f64 z) (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) (*.f64 x (cos.f64 y)))
15.6b
(-.f64 x (*.f64 z (sin.f64 y)))
30.7b
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))
32.0b
(+.f64 x (*.f64 y (-.f64 (*.f64 y (*.f64 x -1/2)) z)))
30.5b
(fma.f64 z (neg.f64 y) x)
Compiler

Compiled 504 to 334 computations (33.7% saved)

localize13.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 25 to 8 computations (68% saved)

series4.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite57.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
788×pow1_binary64
719×add-log-exp_binary64
718×log1p-expm1-u_binary64
718×expm1-log1p-u_binary64
702×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify70.0ms (0.6%)

Algorithm
egg-herbie
Rules
830×distribute-rgt-neg-in_binary64
717×distribute-lft-neg-in_binary64
473×distribute-lft-out--_binary64
444×cancel-sign-sub-inv_binary64
341×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
029487
179458
2198458
3509454
41811454
54429454
Stop Event
node limit
Counts
57 → 34
Calls
Call 1
Inputs
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))
(*.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))
Outputs
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/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 x (*.f64 y y)) x) (*.f64 y z))
(fma.f64 (*.f64 y y) (*.f64 x -1/2) (-.f64 x (*.f64 y z)))
(+.f64 x (*.f64 y (-.f64 (*.f64 y (*.f64 x -1/2)) z)))
(+.f64 x (*.f64 y (-.f64 (*.f64 x (*.f64 y -1/2)) z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x)))
(fma.f64 -1 (*.f64 y z) (fma.f64 -1/2 (*.f64 x (*.f64 y y)) (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) x)))
(-.f64 (fma.f64 -1/2 (*.f64 x (*.f64 y y)) (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) x)) (*.f64 y z))
(-.f64 (fma.f64 (fma.f64 -1/2 (*.f64 y y) 1) x (*.f64 z (*.f64 1/6 (pow.f64 y 3)))) (*.f64 y z))
(fma.f64 x (fma.f64 y (*.f64 y -1/2) 1) (*.f64 z (-.f64 (*.f64 1/6 (pow.f64 y 3)) y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(*.f64 (cos.f64 y) x)
(*.f64 x (cos.f64 y))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(fma.f64 x (cos.f64 y) (*.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))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(fma.f64 x (cos.f64 y) (*.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))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(fma.f64 x (cos.f64 y) (*.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))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(*.f64 (cos.f64 y) x)
(*.f64 x (cos.f64 y))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(*.f64 (cos.f64 y) x)
(*.f64 x (cos.f64 y))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 z)))

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)

series5.0ms (0%)

Counts
1 → 9
Calls

9 calls:

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

rewrite82.0ms (0.7%)

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)))))

simplify10.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

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

localize17.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 18 to 6 computations (66.7% saved)

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

rewrite59.0ms (0.5%)

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)))))))

simplify75.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)

localize26.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 43 to 14 computations (67.4% saved)

series12.0ms (0.1%)

Counts
2 → 8
Calls

12 calls:

TimeVariablePointExpression
3.0ms
y
@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
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
y
@0
(sqrt.f64 (*.f64 z (sin.f64 y)))

rewrite59.0ms (0.5%)

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))))))))

simplify10.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))

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f64 (cos.f64 y))
0.1b
(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.1b
(*.f64 (sin.f64 y) (neg.f64 z))
Compiler

Compiled 39 to 10 computations (74.4% saved)

series15.0ms (0.1%)

Counts
4 → 88
Calls

24 calls:

TimeVariablePointExpression
3.0ms
y
@inf
(*.f64 x (sqrt.f64 (cos.f64 y)))
2.0ms
y
@inf
(sqrt.f64 (cos.f64 y))
1.0ms
z
@0
(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
(*.f64 x (sqrt.f64 (cos.f64 y)))
1.0ms
y
@-inf
(*.f64 x (sqrt.f64 (cos.f64 y)))

rewrite75.0ms (0.6%)

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

simplify103.0ms (0.9%)

Algorithm
egg-herbie
Rules
692×distribute-rgt-neg-in_binary64
575×fma-neg_binary64
558×cancel-sign-sub-inv_binary64
436×*-commutative_binary64
390×distribute-lft-out_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0701008
1188970
2516948
31648943
43186941
56966941
Stop Event
node limit
Counts
162 → 108
Calls
Call 1
Inputs
(*.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)))
(*.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 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))
(fma.f64 -1 (*.f64 y z) (*.f64 1/6 (*.f64 z (pow.f64 y 3))))
(*.f64 z (+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3))))
(*.f64 z (fma.f64 1/6 (pow.f64 y 3) (neg.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z))))
(fma.f64 -1 (*.f64 y z) (fma.f64 -1/120 (*.f64 z (pow.f64 y 5)) (*.f64 1/6 (*.f64 z (pow.f64 y 3)))))
(-.f64 (*.f64 z (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1/120 (pow.f64 y 5)))) (*.f64 y z))
(*.f64 z (-.f64 (fma.f64 1/6 (pow.f64 y 3) (*.f64 -1/120 (pow.f64 y 5))) y))
(+.f64 (*.f64 1/5040 (*.f64 (pow.f64 y 7) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))))
(fma.f64 1/5040 (*.f64 z (pow.f64 y 7)) (fma.f64 -1 (*.f64 y z) (fma.f64 -1/120 (*.f64 z (pow.f64 y 5)) (*.f64 1/6 (*.f64 z (pow.f64 y 3))))))
(fma.f64 1/5040 (*.f64 z (pow.f64 y 7)) (-.f64 (*.f64 z (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1/120 (pow.f64 y 5)))) (*.f64 y z)))
(*.f64 z (+.f64 (-.f64 (*.f64 1/5040 (pow.f64 y 7)) y) (fma.f64 1/6 (pow.f64 y 3) (*.f64 -1/120 (pow.f64 y 5)))))
(*.f64 z (+.f64 (*.f64 1/5040 (pow.f64 y 7)) (-.f64 (fma.f64 1/6 (pow.f64 y 3) (*.f64 -1/120 (pow.f64 y 5))) y)))
(*.f64 z (fma.f64 1/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 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 (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 y (*.f64 y -1/4) 1))
(*.f64 x (fma.f64 -1/4 (*.f64 y y) 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))
(fma.f64 x (fma.f64 -1/96 (pow.f64 y 4) (*.f64 y (*.f64 y -1/4))) x)
(fma.f64 x (fma.f64 y (*.f64 y -1/4) (*.f64 -1/96 (pow.f64 y 4))) 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)))
(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 -1/4 (*.f64 y y) (fma.f64 -1/96 (pow.f64 y 4) (fma.f64 -19/5760 (pow.f64 y 6) 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 (sin.f64 y) (neg.f64 z))
(+.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)))
(+.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)))
(+.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)))
(*.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)))
(+.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)))
(+.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)))
(*.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)))
(+.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)))
(+.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)))
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 y z) x)
(fma.f64 (neg.f64 y) z x)
(fma.f64 y (neg.f64 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 y (*.f64 x -1/2)) z)))
(+.f64 x (*.f64 y (fma.f64 x (*.f64 y -1/2) (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x)))
(fma.f64 -1 (*.f64 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 (*.f64 1/6 (pow.f64 y 3)) z x)) (*.f64 y z))
(+.f64 (*.f64 z (fma.f64 1/6 (pow.f64 y 3) (neg.f64 y))) (*.f64 x (fma.f64 (*.f64 y y) -1/2 1)))
(fma.f64 x (fma.f64 (*.f64 y y) -1/2 1) (*.f64 z (fma.f64 1/6 (pow.f64 y 3) (neg.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)))
(+.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)))
(+.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)))
(+.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)))
(+.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)))
(+.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)))
(+.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)))
(+.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)))
(*.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)))
(+.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)))
(+.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)))
(*.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))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (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)))
(+.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)))
(*.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))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (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)))
(+.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)))
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))))
(+.f64 (fma.f64 -1/4 (*.f64 y y) 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 -1/4 (*.f64 y y) (fma.f64 -1/96 (pow.f64 y 4) (fma.f64 -19/5760 (pow.f64 y 6) 1)))

eval112.0ms (0.9%)

Compiler

Compiled 6663 to 2214 computations (66.8% saved)

prune99.0ms (0.8%)

Pruning

24 alts after pruning (20 fresh and 4 done)

PrunedKeptTotal
New42315438
Fresh7512
Picked011
Done235
Total43224456
Error
0.0b
Counts
456 → 24
Alt Table
Click to see full alt table
StatusErrorProgram
52.7b
(*.f64 y (neg.f64 z))
0.9b
(fma.f64 (*.f64 (cos.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))
37.4b
(*.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (+.f64 x (*.f64 z (sin.f64 y)))))
29.3b
(-.f64 (cbrt.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3)) (*.f64 z (sin.f64 y)))
37.0b
(pow.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 2)
15.6b
(fma.f64 (sin.f64 y) (neg.f64 z) x)
14.6b
(fma.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
16.4b
(pow.f64 (cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 3)
1.2b
(pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 3)
35.0b
(-.f64 x (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
38.4b
(*.f64 (sin.f64 y) (neg.f64 z))
0.1b
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 x (cos.f64 y)))
0.1b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
30.5b
(-.f64 x (*.f64 y z))
30.5b
(fma.f64 (neg.f64 y) z x)
15.6b
(-.f64 x (*.f64 z (sin.f64 y)))
31.7b
(-.f64 x (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z)))
40.3b
(*.f64 (+.f64 (*.f64 y z) x) 1)
30.7b
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))
24.5b
(*.f64 (cos.f64 y) x)
39.3b
x
14.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)))
32.0b
(+.f64 x (*.f64 y (-.f64 (*.f64 y (*.f64 x -1/2)) z)))
47.1b
(-.f64 (+.f64 1 (+.f64 (*.f64 y z) x)) 1)
Compiler

Compiled 534 to 365 computations (31.6% saved)

localize24.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 46 to 18 computations (60.9% saved)

series21.0ms (0.2%)

Counts
4 → 39
Calls

21 calls:

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

rewrite123.0ms (1%)

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

Useful iterations: 2 (0.0ms)

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

simplify104.0ms (0.9%)

Algorithm
egg-herbie
Rules
921×fma-neg_binary64
449×distribute-rgt-neg-in_binary64
364×*-commutative_binary64
322×distribute-lft-neg-in_binary64
318×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
057628
1170539
2465521
31616512
43451507
55027503
67329503
Stop Event
node limit
Counts
287 → 271
Calls
Call 1
Inputs
(*.f64 (pow.f64 1 1/3) x)
(+.f64 (*.f64 (pow.f64 1 1/3) x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 y 2) x))) (+.f64 (*.f64 (pow.f64 1 1/3) x) (*.f64 -1 (*.f64 y z))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 y 2) x))) (+.f64 (*.f64 (pow.f64 1 1/3) x) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(pow.f64 (pow.f64 x 2) 1/3)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 y 2))) (pow.f64 (pow.f64 x 2) 1/3))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 y 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 y 4))) (pow.f64 (pow.f64 x 2) 1/3)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 y 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 y 4))) (+.f64 (pow.f64 (pow.f64 x 2) 1/3) (*.f64 -1/720 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 y 6))))))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (cos.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (cos.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (cos.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (cos.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (cos.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (cos.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (cos.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (cos.f64 y))
Outputs
(*.f64 (pow.f64 1 1/3) x)
(*.f64 1 x)
x
(+.f64 (*.f64 (pow.f64 1 1/3) x) (*.f64 -1 (*.f64 y z)))
(fma.f64 1 x (neg.f64 (*.f64 y z)))
(-.f64 x (*.f64 y z))
(fma.f64 z (neg.f64 y) x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 y 2) x))) (+.f64 (*.f64 (pow.f64 1 1/3) x) (*.f64 -1 (*.f64 y z))))
(+.f64 (fma.f64 1 x (neg.f64 (*.f64 y z))) (*.f64 -1/2 (*.f64 x (*.f64 y y))))
(fma.f64 -1/2 (*.f64 x (*.f64 y y)) (-.f64 x (*.f64 y z)))
(-.f64 (fma.f64 -1/2 (*.f64 x (*.f64 y y)) x) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 y (*.f64 x -1/2)) z)))
(+.f64 x (*.f64 y (fma.f64 -1/2 (*.f64 x y) (neg.f64 z))))
(fma.f64 y (fma.f64 -1/2 (*.f64 x y) (neg.f64 z)) x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 y 2) x))) (+.f64 (*.f64 (pow.f64 1 1/3) x) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))))
(+.f64 (*.f64 -1/2 (*.f64 x (*.f64 y y))) (fma.f64 1 x (fma.f64 -1 (*.f64 y z) (*.f64 1/6 (*.f64 z (pow.f64 y 3))))))
(+.f64 (*.f64 z (+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3)))) (fma.f64 -1/2 (*.f64 x (*.f64 y y)) x))
(fma.f64 z (-.f64 (*.f64 1/6 (pow.f64 y 3)) y) (fma.f64 -1/2 (*.f64 x (*.f64 y y)) x))
(fma.f64 -1/2 (*.f64 x (*.f64 y y)) (fma.f64 z (-.f64 (*.f64 1/6 (pow.f64 y 3)) y) x))
(fma.f64 x (*.f64 -1/2 (*.f64 y y)) (fma.f64 z (-.f64 (*.f64 1/6 (pow.f64 y 3)) y) x))
(fma.f64 y (fma.f64 y (*.f64 x -1/2) (*.f64 z (fma.f64 y (*.f64 y 1/6) -1))) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x))
(*.f64 1 (*.f64 x (cos.f64 y)))
(*.f64 x (cos.f64 y))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 1 (*.f64 x (cos.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(pow.f64 (pow.f64 x 2) 1/3)
(cbrt.f64 (*.f64 x x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 y 2))) (pow.f64 (pow.f64 x 2) 1/3))
(fma.f64 -1/2 (*.f64 (*.f64 y y) (cbrt.f64 (*.f64 x x))) (cbrt.f64 (*.f64 x x)))
(fma.f64 -1/2 (*.f64 y (*.f64 y (cbrt.f64 (*.f64 x x)))) (cbrt.f64 (*.f64 x x)))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 y y)) 1) (cbrt.f64 (*.f64 x x)))
(*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 1 (*.f64 -1/2 (*.f64 y y))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 y 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 y 4))) (pow.f64 (pow.f64 x 2) 1/3)))
(fma.f64 -1/2 (*.f64 (*.f64 y y) (cbrt.f64 (*.f64 x x))) (fma.f64 1/24 (*.f64 (cbrt.f64 (*.f64 x x)) (pow.f64 y 4)) (cbrt.f64 (*.f64 x x))))
(fma.f64 -1/2 (*.f64 y (*.f64 y (cbrt.f64 (*.f64 x x)))) (fma.f64 1/24 (*.f64 (cbrt.f64 (*.f64 x x)) (pow.f64 y 4)) (cbrt.f64 (*.f64 x x))))
(+.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (*.f64 -1/2 (*.f64 y y)) (*.f64 1/24 (pow.f64 y 4)))))
(*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (*.f64 -1/2 (*.f64 y y)) (+.f64 1 (*.f64 1/24 (pow.f64 y 4)))))
(*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 y y)) (*.f64 1/24 (pow.f64 y 4)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 y 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 y 4))) (+.f64 (pow.f64 (pow.f64 x 2) 1/3) (*.f64 -1/720 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 y 6))))))
(fma.f64 -1/2 (*.f64 (*.f64 y y) (cbrt.f64 (*.f64 x x))) (+.f64 (fma.f64 1/24 (*.f64 (cbrt.f64 (*.f64 x x)) (pow.f64 y 4)) (cbrt.f64 (*.f64 x x))) (*.f64 -1/720 (*.f64 (cbrt.f64 (*.f64 x x)) (pow.f64 y 6)))))
(fma.f64 -1/2 (*.f64 y (*.f64 y (cbrt.f64 (*.f64 x x)))) (fma.f64 1/24 (*.f64 (cbrt.f64 (*.f64 x x)) (pow.f64 y 4)) (fma.f64 -1/720 (*.f64 (cbrt.f64 (*.f64 x x)) (pow.f64 y 6)) (cbrt.f64 (*.f64 x x)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 y y)) 1) (cbrt.f64 (*.f64 x x))) (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) (*.f64 1/24 (pow.f64 y 4)))))
(+.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (*.f64 -1/2 (*.f64 y y)) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) (*.f64 1/24 (pow.f64 y 4))))))
(*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (+.f64 1 (*.f64 -1/2 (*.f64 y y))) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) (*.f64 1/24 (pow.f64 y 4)))))
(*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 1 (+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 (*.f64 -1/2 (*.f64 y y)) (*.f64 1/24 (pow.f64 y 4))))))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (cos.f64 y))
(*.f64 (cos.f64 y) (cbrt.f64 (*.f64 x x)))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (cos.f64 y))
(*.f64 (cos.f64 y) (cbrt.f64 (*.f64 x x)))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (cos.f64 y))
(*.f64 (cos.f64 y) (cbrt.f64 (*.f64 x x)))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (cos.f64 y))
(*.f64 (cos.f64 y) (cbrt.f64 (*.f64 x x)))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (cos.f64 y))
(*.f64 (cos.f64 y) (cbrt.f64 (*.f64 x x)))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (cos.f64 y))
(*.f64 (cos.f64 y) (cbrt.f64 (*.f64 x x)))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (cos.f64 y))
(*.f64 (cos.f64 y) (cbrt.f64 (*.f64 x x)))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (cos.f64 y))
(*.f64 (cos.f64 y) (cbrt.f64 (*.f64 x x)))

localize5.0ms (0%)

Compiler

Compiled 11 to 5 computations (54.5% saved)

localize18.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 42 to 24 computations (42.9% saved)

series13.0ms (0.1%)

Counts
3 → 108
Calls

27 calls:

TimeVariablePointExpression
2.0ms
x
@-inf
(*.f64 y (-.f64 (*.f64 y (*.f64 x -1/2)) z))
1.0ms
y
@0
(*.f64 y (-.f64 (*.f64 y (*.f64 x -1/2)) z))
1.0ms
y
@inf
(*.f64 y (-.f64 (*.f64 y (*.f64 x -1/2)) z))
1.0ms
y
@-inf
(*.f64 y (-.f64 (*.f64 y (*.f64 x -1/2)) z))
1.0ms
x
@inf
(*.f64 y (-.f64 (*.f64 y (*.f64 x -1/2)) z))

rewrite96.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
586×log-prod_binary64
478×fma-def_binary64
424×pow-prod-down_binary64
304×pow2_binary64
245×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01039
122337
2316237
Stop Event
node limit
Counts
3 → 201
Calls
Call 1
Inputs
(*.f64 y (-.f64 (*.f64 y (*.f64 x -1/2)) z))
(+.f64 x (*.f64 y (-.f64 (*.f64 y (*.f64 x -1/2)) z)))
(-.f64 (*.f64 y (*.f64 x -1/2)) z)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 -1/2 (*.f64 y x)) y) (*.f64 (neg.f64 z) y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 (*.f64 -1/2 (*.f64 y x)) z))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 (*.f64 y x) 3) -1/8) (pow.f64 z 3)) y) (fma.f64 z (fma.f64 y (*.f64 x -1/2) z) (*.f64 (pow.f64 (*.f64 y x) 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4) (*.f64 z z)) y) (fma.f64 y (*.f64 x -1/2) z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 (*.f64 (pow.f64 (*.f64 y x) 3) -1/8) (pow.f64 z 3))) (fma.f64 z (fma.f64 y (*.f64 x -1/2) z) (*.f64 (pow.f64 (*.f64 y x) 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4) (*.f64 z z))) (fma.f64 y (*.f64 x -1/2) z))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 y) (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (*.f64 -1/2 (*.f64 y x)) (*.f64 y (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/2 (*.f64 y x)) y (*.f64 (neg.f64 z) y))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))) (/.f64 (pow.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) 2) (-.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)) (pow.f64 (cbrt.f64 (fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)) 2) (cbrt.f64 (fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)) (sqrt.f64 (fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) 3)) (/.f64 1 (fma.f64 x x (*.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) (fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) (neg.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) 2)) (/.f64 1 (-.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x x (*.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) (fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) (neg.f64 x)))) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) 3)) (fma.f64 x x (*.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) (fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) 3)) (+.f64 (pow.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) 2) (-.f64 (*.f64 x x) (*.f64 (*.f64 y x) (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) 2)) (-.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) 3))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) (fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) (neg.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) 2))) (neg.f64 (-.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) 2) (*.f64 x x)) (fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x x (*.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) (fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) (neg.f64 x)))) (+.f64 (pow.f64 x 3) (pow.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (pow.f64 (exp.f64 y) (-.f64 (*.f64 -1/2 (*.f64 y x)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 y) (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z) y x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z) 2)) (*.f64 (cbrt.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) y) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))) (pow.f64 (cbrt.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))) 2) (cbrt.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) (*.f64 (sqrt.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) y) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))) (sqrt.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (cbrt.f64 (pow.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z) 2))) (cbrt.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z))) (sqrt.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z) (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z) (sqrt.f64 y)) (sqrt.f64 y) x)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/2 (*.f64 y x)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/2 (*.f64 y x)) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z) (fma.f64 (neg.f64 z) 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z) (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z) (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 z) (*.f64 -1/2 (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 -1/2 (*.f64 y x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z))) 2)) (log.f64 (cbrt.f64 (exp.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 -1/2 (*.f64 y x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) (cbrt.f64 (pow.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z) 2)) (cbrt.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) (sqrt.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (pow.f64 (*.f64 y x) 3) -1/8) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (fma.f64 y (*.f64 x -1/2) z) (*.f64 (pow.f64 (*.f64 y x) 2) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4) (*.f64 z z)) (/.f64 1 (fma.f64 y (*.f64 x -1/2) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 -1/2 (*.f64 y x))) (sqrt.f64 z)) (-.f64 (sqrt.f64 (*.f64 -1/2 (*.f64 y x))) (sqrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 z (fma.f64 y (*.f64 x -1/2) z) (*.f64 (pow.f64 (*.f64 y x) 2) 1/4)) (-.f64 (*.f64 (pow.f64 (*.f64 y x) 3) -1/8) (pow.f64 z 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 y (*.f64 x -1/2) z) (-.f64 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4) (*.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 (*.f64 y x) 3) -1/8) (pow.f64 z 3)) (fma.f64 z (fma.f64 y (*.f64 x -1/2) z) (*.f64 (pow.f64 (*.f64 y x) 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4) (*.f64 z z)) (fma.f64 y (*.f64 x -1/2) z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 (*.f64 y x) 3) -1/8) (pow.f64 z 3))) (neg.f64 (fma.f64 z (fma.f64 y (*.f64 x -1/2) z) (*.f64 (pow.f64 (*.f64 y x) 2) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4) (*.f64 z z))) (neg.f64 (fma.f64 y (*.f64 x -1/2) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (*.f64 y x) 3) -1/8 (pow.f64 (neg.f64 z) 3)) (fma.f64 (pow.f64 (*.f64 y x) 2) 1/4 (-.f64 (pow.f64 (neg.f64 z) 2) (*.f64 (*.f64 -1/2 (*.f64 y x)) (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4) (pow.f64 (neg.f64 z) 2)) (-.f64 (*.f64 -1/2 (*.f64 y x)) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 z (fma.f64 y (*.f64 x -1/2) z) (*.f64 (pow.f64 (*.f64 y x) 2) 1/4)) (-.f64 (*.f64 (pow.f64 (*.f64 y x) 3) -1/8) (pow.f64 z 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 y (*.f64 x -1/2) z) (-.f64 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4) (*.f64 z z))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (*.f64 y x)))) (exp.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 y) (*.f64 x -1/2)) (+.f64 1 (expm1.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (*.f64 y x)))) (+.f64 1 (expm1.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (*.f64 y x)))) (exp.f64 (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (*.f64 y x)))) (/.f64 1 (exp.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 z)) (pow.f64 (exp.f64 y) (*.f64 x -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 z)) (+.f64 1 (expm1.f64 (*.f64 -1/2 (*.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 z)) (+.f64 1 (expm1.f64 (*.f64 -1/2 (*.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (*.f64 x -1/2) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (*.f64 x -1/2) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 -1/2 y) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 -1/2 y) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/2 (*.f64 y x) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/2 (*.f64 y x) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x -1/2) y (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x -1/2) y (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/2 (*.f64 y x)) 1 (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/2 (*.f64 y x)) 1 (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z) 1 (fma.f64 (neg.f64 z) 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z) 1 (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z) 1 (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 -1/2 (*.f64 y x)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 -1/2 (*.f64 y x)) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 -1/2 (*.f64 y x)) z) (fma.f64 (neg.f64 z) 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 -1/2 (*.f64 y x)) z) (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 -1/2 (*.f64 y x)) z) (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 z) (*.f64 -1/2 (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) (cbrt.f64 (pow.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z) 2)) (fma.f64 (neg.f64 z) 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) (cbrt.f64 (pow.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z) 2)) (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) (cbrt.f64 (pow.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z) 2)) (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z) 2)) (cbrt.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) (fma.f64 (neg.f64 z) 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z) 2)) (cbrt.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z) 2)) (cbrt.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 x x) 1/4)) (*.f64 (cbrt.f64 (*.f64 x -1/2)) y) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 x x) 1/4)) (*.f64 (cbrt.f64 (*.f64 x -1/2)) y) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) (*.f64 x -1/2)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) (*.f64 x -1/2)) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 y x))) (pow.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 y x))) 2) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 y x))) (pow.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 y x))) 2) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 y x))) 2) (cbrt.f64 (*.f64 -1/2 (*.f64 y x))) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 y x))) 2) (cbrt.f64 (*.f64 -1/2 (*.f64 y x))) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (neg.f64 (cbrt.f64 z)) (*.f64 -1/2 (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) (sqrt.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) (fma.f64 (neg.f64 z) 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) (sqrt.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) (sqrt.f64 (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x -1/2)) (*.f64 (sqrt.f64 (*.f64 x -1/2)) y) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x -1/2)) (*.f64 (sqrt.f64 (*.f64 x -1/2)) y) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (*.f64 x -1/2)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (*.f64 x -1/2)) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 -1/2 (*.f64 y x))) (sqrt.f64 (*.f64 -1/2 (*.f64 y x))) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 -1/2 (*.f64 y x))) (sqrt.f64 (*.f64 -1/2 (*.f64 y x))) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (neg.f64 (sqrt.f64 z)) (*.f64 -1/2 (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 (*.f64 y x) 3) -1/8) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (fma.f64 y (*.f64 x -1/2) z) (*.f64 (pow.f64 (*.f64 y x) 2) 1/4))) (fma.f64 (neg.f64 z) 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 (*.f64 y x) 3) -1/8) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (fma.f64 y (*.f64 x -1/2) z) (*.f64 (pow.f64 (*.f64 y x) 2) 1/4))) (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 (*.f64 y x) 3) -1/8) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (fma.f64 y (*.f64 x -1/2) z) (*.f64 (pow.f64 (*.f64 y x) 2) 1/4))) (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4) (*.f64 z z)) (/.f64 1 (fma.f64 y (*.f64 x -1/2) z)) (fma.f64 (neg.f64 z) 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4) (*.f64 z z)) (/.f64 1 (fma.f64 y (*.f64 x -1/2) z)) (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4) (*.f64 z z)) (/.f64 1 (fma.f64 y (*.f64 x -1/2) z)) (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y x) -1/2 (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y x) -1/2 (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 z)) 2) (cbrt.f64 (neg.f64 z)) (*.f64 -1/2 (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 z)) (sqrt.f64 (neg.f64 z)) (*.f64 -1/2 (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 z)) (sqrt.f64 z) (*.f64 -1/2 (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 z (*.f64 -1/2 (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 -1/2 (*.f64 y x))) (sqrt.f64 z)) (-.f64 (sqrt.f64 (*.f64 -1/2 (*.f64 y x))) (sqrt.f64 z)) (fma.f64 (neg.f64 z) 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 -1/2 (*.f64 y x))) (sqrt.f64 z)) (-.f64 (sqrt.f64 (*.f64 -1/2 (*.f64 y x))) (sqrt.f64 z)) (fma.f64 (neg.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 z) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 -1/2 (*.f64 y x))) (sqrt.f64 z)) (-.f64 (sqrt.f64 (*.f64 -1/2 (*.f64 y x))) (sqrt.f64 z)) (+.f64 (neg.f64 z) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 -1/2 (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y -1/2) x (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y -1/2) x (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (cbrt.f64 (*.f64 (*.f64 x x) 1/4))) (cbrt.f64 (*.f64 x -1/2)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (cbrt.f64 (*.f64 (*.f64 x x) 1/4))) (cbrt.f64 (*.f64 x -1/2)) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 (*.f64 x -1/2))) (sqrt.f64 (*.f64 x -1/2)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 (*.f64 x -1/2))) (sqrt.f64 (*.f64 x -1/2)) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x -1/2) (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x -1/2) (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x -1/2) (sqrt.f64 y)) (sqrt.f64 y) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x -1/2) (sqrt.f64 y)) (sqrt.f64 y) (*.f64 (neg.f64 z) 1))))))

simplify190.0ms (1.6%)

Algorithm
egg-herbie
Rules
608×fma-def_binary64
606×fma-neg_binary64
498×unswap-sqr_binary64
366×distribute-rgt-neg-in_binary64
316×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 11 (0.0ms)

IterNodesCost
0311477
1801342
21861342
34451231
413741183
539751183
654041183
760451183
870341183
972381183
1074911183
1177711167
Stop Event
node limit
Counts
309 → 224
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) x))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) 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)) x))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) 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)) x))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) 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)) x))
(+.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)) 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)) x))
(*.f64 -1 (*.f64 y z))
(+.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)) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x))
(*.f64 -1 (*.f64 y z))
(+.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)) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(*.f64 -1/2 (*.f64 y x))
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(*.f64 -1/2 (*.f64 y x))
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(*.f64 -1/2 (*.f64 y x))
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(*.f64 -1/2 (*.f64 y x))
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(*.f64 -1/2 (*.f64 y x))
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
Outputs
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 z (neg.f64 y))
(*.f64 y (neg.f64 z))
(*.f64 y z)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) x))
(*.f64 -1/2 (*.f64 (*.f64 y y) x))
(*.f64 -1/2 (*.f64 y (*.f64 y x)))
(*.f64 y (*.f64 -1/2 (*.f64 y x)))
(*.f64 (*.f64 y x) (*.f64 y -1/2))
(*.f64 y (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) x))
(*.f64 -1/2 (*.f64 (*.f64 y y) x))
(*.f64 -1/2 (*.f64 y (*.f64 y x)))
(*.f64 y (*.f64 -1/2 (*.f64 y x)))
(*.f64 (*.f64 y x) (*.f64 y -1/2))
(*.f64 y (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 z (neg.f64 y))
(*.f64 y (neg.f64 z))
(*.f64 y z)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) x))
(*.f64 -1/2 (*.f64 (*.f64 y y) x))
(*.f64 -1/2 (*.f64 y (*.f64 y x)))
(*.f64 y (*.f64 -1/2 (*.f64 y x)))
(*.f64 (*.f64 y x) (*.f64 y -1/2))
(*.f64 y (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) x))
(*.f64 -1/2 (*.f64 (*.f64 y y) x))
(*.f64 -1/2 (*.f64 y (*.f64 y x)))
(*.f64 y (*.f64 -1/2 (*.f64 y x)))
(*.f64 (*.f64 y x) (*.f64 y -1/2))
(*.f64 y (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) x))
(*.f64 -1/2 (*.f64 (*.f64 y y) x))
(*.f64 -1/2 (*.f64 y (*.f64 y x)))
(*.f64 y (*.f64 -1/2 (*.f64 y x)))
(*.f64 (*.f64 y x) (*.f64 y -1/2))
(*.f64 y (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 z (neg.f64 y))
(*.f64 y (neg.f64 z))
(*.f64 y z)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 z (neg.f64 y))
(*.f64 y (neg.f64 z))
(*.f64 y z)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 z (neg.f64 y))
(*.f64 y (neg.f64 z))
(*.f64 y z)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) x))
(fma.f64 -1 (*.f64 y z) (*.f64 x (+.f64 1 (*.f64 -1/2 (*.f64 y y)))))
(-.f64 (*.f64 x (fma.f64 -1/2 (*.f64 y y) 1)) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))
(fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)
(fma.f64 y (-.f64 (*.f64 y (*.f64 x 1/2)) z) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) x))
(fma.f64 -1 (*.f64 y z) (*.f64 x (+.f64 1 (*.f64 -1/2 (*.f64 y y)))))
(-.f64 (*.f64 x (fma.f64 -1/2 (*.f64 y y) 1)) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))
(fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)
(fma.f64 y (-.f64 (*.f64 y (*.f64 x 1/2)) z) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) x))
(fma.f64 -1 (*.f64 y z) (*.f64 x (+.f64 1 (*.f64 -1/2 (*.f64 y y)))))
(-.f64 (*.f64 x (fma.f64 -1/2 (*.f64 y y) 1)) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))
(fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)
(fma.f64 y (-.f64 (*.f64 y (*.f64 x 1/2)) z) x)
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) x)
(*.f64 x (+.f64 1 (*.f64 -1/2 (*.f64 y y))))
(*.f64 x (fma.f64 -1/2 (*.f64 y y) 1))
(fma.f64 (*.f64 y x) (*.f64 y -1/2) x)
(*.f64 x (fma.f64 y (*.f64 y -1/2) 1))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) x))
(fma.f64 -1 (*.f64 y z) (*.f64 x (+.f64 1 (*.f64 -1/2 (*.f64 y y)))))
(-.f64 (*.f64 x (fma.f64 -1/2 (*.f64 y y) 1)) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))
(fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)
(fma.f64 y (-.f64 (*.f64 y (*.f64 x 1/2)) z) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) x))
(fma.f64 -1 (*.f64 y z) (*.f64 x (+.f64 1 (*.f64 -1/2 (*.f64 y y)))))
(-.f64 (*.f64 x (fma.f64 -1/2 (*.f64 y y) 1)) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))
(fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)
(fma.f64 y (-.f64 (*.f64 y (*.f64 x 1/2)) z) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) x))
(fma.f64 -1 (*.f64 y z) (*.f64 x (+.f64 1 (*.f64 -1/2 (*.f64 y y)))))
(-.f64 (*.f64 x (fma.f64 -1/2 (*.f64 y y) 1)) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))
(fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)
(fma.f64 y (-.f64 (*.f64 y (*.f64 x 1/2)) z) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) x))
(*.f64 x (+.f64 1 (*.f64 -1/2 (*.f64 y y))))
(*.f64 x (fma.f64 -1/2 (*.f64 y y) 1))
(fma.f64 (*.f64 y x) (*.f64 y -1/2) x)
(*.f64 x (fma.f64 y (*.f64 y -1/2) 1))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 x (+.f64 1 (*.f64 -1/2 (*.f64 y y)))))
(-.f64 (*.f64 x (fma.f64 -1/2 (*.f64 y y) 1)) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))
(fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)
(fma.f64 y (-.f64 (*.f64 y (*.f64 x 1/2)) z) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 x (+.f64 1 (*.f64 -1/2 (*.f64 y y)))))
(-.f64 (*.f64 x (fma.f64 -1/2 (*.f64 y y) 1)) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))
(fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)
(fma.f64 y (-.f64 (*.f64 y (*.f64 x 1/2)) z) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 x (+.f64 1 (*.f64 -1/2 (*.f64 y y)))))
(-.f64 (*.f64 x (fma.f64 -1/2 (*.f64 y y) 1)) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))
(fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)
(fma.f64 y (-.f64 (*.f64 y (*.f64 x 1/2)) 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)
(fma.f64 y z x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x))
(fma.f64 -1 (*.f64 y z) (*.f64 x (+.f64 1 (*.f64 -1/2 (*.f64 y y)))))
(-.f64 (*.f64 x (fma.f64 -1/2 (*.f64 y y) 1)) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))
(fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)
(fma.f64 y (-.f64 (*.f64 y (*.f64 x 1/2)) z) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x))
(fma.f64 -1 (*.f64 y z) (*.f64 x (+.f64 1 (*.f64 -1/2 (*.f64 y y)))))
(-.f64 (*.f64 x (fma.f64 -1/2 (*.f64 y y) 1)) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))
(fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)
(fma.f64 y (-.f64 (*.f64 y (*.f64 x 1/2)) z) x)
(*.f64 -1/2 (*.f64 (pow.f64 y 2) x))
(*.f64 -1/2 (*.f64 (*.f64 y y) x))
(*.f64 -1/2 (*.f64 y (*.f64 y x)))
(*.f64 y (*.f64 -1/2 (*.f64 y x)))
(*.f64 (*.f64 y x) (*.f64 y -1/2))
(*.f64 y (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x))
(fma.f64 -1 (*.f64 y z) (*.f64 x (+.f64 1 (*.f64 -1/2 (*.f64 y y)))))
(-.f64 (*.f64 x (fma.f64 -1/2 (*.f64 y y) 1)) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))
(fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)
(fma.f64 y (-.f64 (*.f64 y (*.f64 x 1/2)) z) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x))
(fma.f64 -1 (*.f64 y z) (*.f64 x (+.f64 1 (*.f64 -1/2 (*.f64 y y)))))
(-.f64 (*.f64 x (fma.f64 -1/2 (*.f64 y y) 1)) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))
(fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)
(fma.f64 y (-.f64 (*.f64 y (*.f64 x 1/2)) z) x)
(*.f64 -1/2 (*.f64 (pow.f64 y 2) x))
(*.f64 -1/2 (*.f64 (*.f64 y y) x))
(*.f64 -1/2 (*.f64 y (*.f64 y x)))
(*.f64 y (*.f64 -1/2 (*.f64 y x)))
(*.f64 (*.f64 y x) (*.f64 y -1/2))
(*.f64 y (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1 (*.f64 y z) (*.f64 -1/2 (*.f64 (*.f64 y y) x)))
(-.f64 (*.f64 -1/2 (*.f64 y (*.f64 y x))) (*.f64 y z))
(-.f64 (*.f64 y (*.f64 -1/2 (*.f64 y x))) (*.f64 y z))
(*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z))
(*.f64 y (+.f64 z (*.f64 y (*.f64 x 1/2))))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x))
(fma.f64 -1 (*.f64 y z) (*.f64 x (+.f64 1 (*.f64 -1/2 (*.f64 y y)))))
(-.f64 (*.f64 x (fma.f64 -1/2 (*.f64 y y) 1)) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))
(fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)
(fma.f64 y (-.f64 (*.f64 y (*.f64 x 1/2)) z) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x))
(fma.f64 -1 (*.f64 y z) (*.f64 x (+.f64 1 (*.f64 -1/2 (*.f64 y y)))))
(-.f64 (*.f64 x (fma.f64 -1/2 (*.f64 y y) 1)) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))
(fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)
(fma.f64 y (-.f64 (*.f64 y (*.f64 x 1/2)) z) x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x)
(*.f64 x (+.f64 1 (*.f64 -1/2 (*.f64 y y))))
(*.f64 x (fma.f64 -1/2 (*.f64 y y) 1))
(fma.f64 (*.f64 y x) (*.f64 y -1/2) x)
(*.f64 x (fma.f64 y (*.f64 y -1/2) 1))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x))
(fma.f64 -1 (*.f64 y z) (*.f64 x (+.f64 1 (*.f64 -1/2 (*.f64 y y)))))
(-.f64 (*.f64 x (fma.f64 -1/2 (*.f64 y y) 1)) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))
(fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)
(fma.f64 y (-.f64 (*.f64 y (*.f64 x 1/2)) z) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x))
(fma.f64 -1 (*.f64 y z) (*.f64 x (+.f64 1 (*.f64 -1/2 (*.f64 y y)))))
(-.f64 (*.f64 x (fma.f64 -1/2 (*.f64 y y) 1)) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))
(fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)
(fma.f64 y (-.f64 (*.f64 y (*.f64 x 1/2)) z) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x))
(fma.f64 -1 (*.f64 y z) (*.f64 x (+.f64 1 (*.f64 -1/2 (*.f64 y y)))))
(-.f64 (*.f64 x (fma.f64 -1/2 (*.f64 y y) 1)) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))
(fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)
(fma.f64 y (-.f64 (*.f64 y (*.f64 x 1/2)) z) x)
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 z (neg.f64 y))
(*.f64 y (neg.f64 z))
(*.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) (*.f64 x (+.f64 1 (*.f64 -1/2 (*.f64 y y)))))
(-.f64 (*.f64 x (fma.f64 -1/2 (*.f64 y y) 1)) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))
(fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)
(fma.f64 y (-.f64 (*.f64 y (*.f64 x 1/2)) z) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x))
(fma.f64 -1 (*.f64 y z) (*.f64 x (+.f64 1 (*.f64 -1/2 (*.f64 y y)))))
(-.f64 (*.f64 x (fma.f64 -1/2 (*.f64 y y) 1)) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))
(fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)
(fma.f64 y (-.f64 (*.f64 y (*.f64 x 1/2)) z) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x))
(fma.f64 -1 (*.f64 y z) (*.f64 x (+.f64 1 (*.f64 -1/2 (*.f64 y y)))))
(-.f64 (*.f64 x (fma.f64 -1/2 (*.f64 y y) 1)) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))
(fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)
(fma.f64 y (-.f64 (*.f64 y (*.f64 x 1/2)) z) x)
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 z (neg.f64 y))
(*.f64 y (neg.f64 z))
(*.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) (*.f64 x (+.f64 1 (*.f64 -1/2 (*.f64 y y)))))
(-.f64 (*.f64 x (fma.f64 -1/2 (*.f64 y y) 1)) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))
(fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)
(fma.f64 y (-.f64 (*.f64 y (*.f64 x 1/2)) z) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x))
(fma.f64 -1 (*.f64 y z) (*.f64 x (+.f64 1 (*.f64 -1/2 (*.f64 y y)))))
(-.f64 (*.f64 x (fma.f64 -1/2 (*.f64 y y) 1)) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))
(fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)
(fma.f64 y (-.f64 (*.f64 y (*.f64 x 1/2)) z) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x))
(fma.f64 -1 (*.f64 y z) (*.f64 x (+.f64 1 (*.f64 -1/2 (*.f64 y y)))))
(-.f64 (*.f64 x (fma.f64 -1/2 (*.f64 y y) 1)) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)))
(fma.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z) x)
(fma.f64 y (-.f64 (*.f64 y (*.f64 x 1/2)) z) x)
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(fma.f64 -1 z (*.f64 -1/2 (*.f64 y x)))
(-.f64 (*.f64 y (*.f64 x -1/2)) z)
(-.f64 (*.f64 -1/2 (*.f64 y x)) z)
(-.f64 (*.f64 y (*.f64 x 1/2)) z)
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(fma.f64 -1 z (*.f64 -1/2 (*.f64 y x)))
(-.f64 (*.f64 y (*.f64 x -1/2)) z)
(-.f64 (*.f64 -1/2 (*.f64 y x)) z)
(-.f64 (*.f64 y (*.f64 x 1/2)) z)
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(fma.f64 -1 z (*.f64 -1/2 (*.f64 y x)))
(-.f64 (*.f64 y (*.f64 x -1/2)) z)
(-.f64 (*.f64 -1/2 (*.f64 y x)) z)
(-.f64 (*.f64 y (*.f64 x 1/2)) z)
(*.f64 -1/2 (*.f64 y x))
(*.f64 y (*.f64 x -1/2))
(*.f64 y (*.f64 x 1/2))
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(fma.f64 -1 z (*.f64 -1/2 (*.f64 y x)))
(-.f64 (*.f64 y (*.f64 x -1/2)) z)
(-.f64 (*.f64 -1/2 (*.f64 y x)) z)
(-.f64 (*.f64 y (*.f64 x 1/2)) z)
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(fma.f64 -1 z (*.f64 -1/2 (*.f64 y x)))
(-.f64 (*.f64 y (*.f64 x -1/2)) z)
(-.f64 (*.f64 -1/2 (*.f64 y x)) z)
(-.f64 (*.f64 y (*.f64 x 1/2)) z)
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(fma.f64 -1 z (*.f64 -1/2 (*.f64 y x)))
(-.f64 (*.f64 y (*.f64 x -1/2)) z)
(-.f64 (*.f64 -1/2 (*.f64 y x)) z)
(-.f64 (*.f64 y (*.f64 x 1/2)) z)
(*.f64 -1/2 (*.f64 y x))
(*.f64 y (*.f64 x -1/2))
(*.f64 y (*.f64 x 1/2))
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(fma.f64 -1 z (*.f64 -1/2 (*.f64 y x)))
(-.f64 (*.f64 y (*.f64 x -1/2)) z)
(-.f64 (*.f64 -1/2 (*.f64 y x)) z)
(-.f64 (*.f64 y (*.f64 x 1/2)) z)
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(fma.f64 -1 z (*.f64 -1/2 (*.f64 y x)))
(-.f64 (*.f64 y (*.f64 x -1/2)) z)
(-.f64 (*.f64 -1/2 (*.f64 y x)) z)
(-.f64 (*.f64 y (*.f64 x 1/2)) z)
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(fma.f64 -1 z (*.f64 -1/2 (*.f64 y x)))
(-.f64 (*.f64 y (*.f64 x -1/2)) z)
(-.f64 (*.f64 -1/2 (*.f64 y x)) z)
(-.f64 (*.f64 y (*.f64 x 1/2)) z)
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(fma.f64 -1 z (*.f64 -1/2 (*.f64 y x)))
(-.f64 (*.f64 y (*.f64 x -1/2)) z)
(-.f64 (*.f64 -1/2 (*.f64 y x)) z)
(-.f64 (*.f64 y (*.f64 x 1/2)) z)
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(fma.f64 -1 z (*.f64 -1/2 (*.f64 y x)))
(-.f64 (*.f64 y (*.f64 x -1/2)) z)
(-.f64 (*.f64 -1/2 (*.f64 y x)) z)
(-.f64 (*.f64 y (*.f64 x 1/2)) z)
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(fma.f64 -1 z (*.f64 -1/2 (*.f64 y x)))
(-.f64 (*.f64 y (*.f64 x -1/2)) z)
(-.f64 (*.f64 -1/2 (*.f64 y x)) z)
(-.f64 (*.f64 y (*.f64 x 1/2)) z)
(*.f64 -1/2 (*.f64 y x))
(*.f64 y (*.f64 x -1/2))
(*.f64 y (*.f64 x 1/2))
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(fma.f64 -1 z (*.f64 -1/2 (*.f64 y x)))
(-.f64 (*.f64 y (*.f64 x -1/2)) z)
(-.f64 (*.f64 -1/2 (*.f64 y x)) z)
(-.f64 (*.f64 y (*.f64 x 1/2)) z)
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(fma.f64 -1 z (*.f64 -1/2 (*.f64 y x)))
(-.f64 (*.f64 y (*.f64 x -1/2)) z)
(-.f64 (*.f64 -1/2 (*.f64 y x)) z)
(-.f64 (*.f64 y (*.f64 x 1/2)) z)
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(fma.f64 -1 z (*.f64 -1/2 (*.f64 y x)))
(-.f64 (*.f64 y (*.f64 x -1/2)) z)
(-.f64 (*.f64 -1/2 (*.f64 y x)) z)
(-.f64 (*.f64 y (*.f64 x 1/2)) z)
(*.f64 -1/2 (*.f64 y x))
(*.f64 y (*.f64 x -1/2))
(*.f64 y (*.f64 x 1/2))
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(fma.f64 -1 z (*.f64 -1/2 (*.f64 y x)))
(-.f64 (*.f64 y (*.f64 x -1/2)) z)
(-.f64 (*.f64 -1/2 (*.f64 y x)) z)
(-.f64 (*.f64 y (*.f64 x 1/2)) z)
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(fma.f64 -1 z (*.f64 -1/2 (*.f64 y x)))
(-.f64 (*.f64 y (*.f64 x -1/2)) z)
(-.f64 (*.f64 -1/2 (*.f64 y x)) z)
(-.f64 (*.f64 y (*.f64 x 1/2)) z)
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(fma.f64 -1 z (*.f64 -1/2 (*.f64 y x)))
(-.f64 (*.f64 y (*.f64 x -1/2)) z)
(-.f64 (*.f64 -1/2 (*.f64 y x)) z)
(-.f64 (*.f64 y (*.f64 x 1/2)) z)
(*.f64 -1/2 (*.f64 y x))
(*.f64 y (*.f64 x -1/2))
(*.f64 y (*.f64 x 1/2))
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(fma.f64 -1 z (*.f64 -1/2 (*.f64 y x)))
(-.f64 (*.f64 y (*.f64 x -1/2)) z)
(-.f64 (*.f64 -1/2 (*.f64 y x)) z)
(-.f64 (*.f64 y (*.f64 x 1/2)) z)
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(fma.f64 -1 z (*.f64 -1/2 (*.f64 y x)))
(-.f64 (*.f64 y (*.f64 x -1/2)) z)
(-.f64 (*.f64 -1/2 (*.f64 y x)) z)
(-.f64 (*.f64 y (*.f64 x 1/2)) z)
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(fma.f64 -1 z (*.f64 -1/2 (*.f64 y x)))
(-.f64 (*.f64 y (*.f64 x -1/2)) z)
(-.f64 (*.f64 -1/2 (*.f64 y x)) z)
(-.f64 (*.f64 y (*.f64 x 1/2)) z)
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(fma.f64 -1 z (*.f64 -1/2 (*.f64 y x)))
(-.f64 (*.f64 y (*.f64 x -1/2)) z)
(-.f64 (*.f64 -1/2 (*.f64 y x)) z)
(-.f64 (*.f64 y (*.f64 x 1/2)) z)
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(fma.f64 -1 z (*.f64 -1/2 (*.f64 y x)))
(-.f64 (*.f64 y (*.f64 x -1/2)) z)
(-.f64 (*.f64 -1/2 (*.f64 y x)) z)
(-.f64 (*.f64 y (*.f64 x 1/2)) z)
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(fma.f64 -1 z (*.f64 -1/2 (*.f64 y x)))
(-.f64 (*.f64 y (*.f64 x -1/2)) z)
(-.f64 (*.f64 -1/2 (*.f64 y x)) z)
(-.f64 (*.f64 y (*.f64 x 1/2)) z)
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(fma.f64 -1 z (*.f64 -1/2 (*.f64 y x)))
(-.f64 (*.f64 y (*.f64 x -1/2)) z)
(-.f64 (*.f64 -1/2 (*.f64 y x)) z)
(-.f64 (*.f64 y (*.f64 x 1/2)) z)
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(fma.f64 -1 z (*.f64 -1/2 (*.f64 y x)))
(-.f64 (*.f64 y (*.f64 x -1/2)) z)
(-.f64 (*.f64 -1/2 (*.f64 y x)) z)
(-.f64 (*.f64 y (*.f64 x 1/2)) z)
(+.f64 (*.f64 -1 z) (*.f64 -1/2 (*.f64 y x)))
(fma.f64 -1 z (*.f64 -1/2 (*.f64 y x)))
(-.f64 (*.f64 y (*.f64 x -1/2)) z)
(-.f64 (*.f64 -1/2 (*.f64 y x)) z)
(-.f64 (*.f64 y (*.f64 x 1/2)) z)

localize20.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))
3.6b
(*.f64 (pow.f64 y 3) z)
6.2b
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z))
Compiler

Compiled 50 to 29 computations (42% saved)

series13.0ms (0.1%)

Counts
4 → 57
Calls

27 calls:

TimeVariablePointExpression
2.0ms
y
@-inf
(-.f64 x (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y 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)))
1.0ms
y
@0
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z))

rewrite105.0ms (0.9%)

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)))))

simplify144.0ms (1.2%)

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)

localize23.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 35 to 10 computations (71.4% saved)

series37.0ms (0.3%)

Counts
2 → 32
Calls

18 calls:

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

rewrite81.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

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

simplify60.0ms (0.5%)

Algorithm
egg-herbie
Rules
788×associate-*r*_binary64
785×associate-*l*_binary64
761×fma-def_binary64
346×associate-/r*_binary64
306×*-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

eval812.0ms (6.8%)

Compiler

Compiled 21300 to 9439 computations (55.7% saved)

prune311.0ms (2.6%)

Pruning

26 alts after pruning (19 fresh and 7 done)

PrunedKeptTotal
New9648972
Fresh41115
Picked101
Done178
Total97026996
Error
0.0b
Counts
996 → 26
Alt Table
Click to see full alt table
StatusErrorProgram
41.6b
(+.f64 x (*.f64 y (*.f64 -1/2 (*.f64 y x))))
52.7b
(*.f64 y (neg.f64 z))
0.9b
(fma.f64 (*.f64 (cos.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))
15.6b
(fma.f64 (sin.f64 y) (neg.f64 z) x)
14.6b
(fma.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
1.2b
(fma.f64 (*.f64 (cos.f64 y) (pow.f64 (cbrt.f64 x) 2)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 3) (*.f64 (sin.f64 y) (neg.f64 z)))
41.5b
(+.f64 x (*.f64 y (*.f64 y (*.f64 x 1/2))))
16.4b
(pow.f64 (cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 3)
1.2b
(pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 3)
30.5b
(-.f64 x (*.f64 z y))
14.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)))
40.3b
(+.f64 x (*.f64 y z))
35.0b
(-.f64 x (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
39.3b
x
37.4b
(*.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (+.f64 x (*.f64 z (sin.f64 y)))))
38.4b
(*.f64 (sin.f64 y) (neg.f64 z))
0.1b
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 x (cos.f64 y)))
0.1b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
30.5b
(fma.f64 (neg.f64 y) z x)
15.6b
(-.f64 x (*.f64 z (sin.f64 y)))
31.7b
(-.f64 x (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z)))
30.7b
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))
24.5b
(*.f64 (cos.f64 y) x)
50.1b
(pow.f64 (sqrt.f64 (*.f64 z (neg.f64 (sin.f64 y)))) 2)
47.1b
(-.f64 (+.f64 1 (+.f64 (*.f64 y z) x)) 1)
29.3b
(-.f64 (cbrt.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3)) (*.f64 z (sin.f64 y)))
Compiler

Compiled 549 to 377 computations (31.3% saved)

localize27.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(pow.f64 (cbrt.f64 x) 2)
0.6b
(cbrt.f64 x)
0.6b
(cbrt.f64 (cbrt.f64 x))
0.7b
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 3)
Compiler

Compiled 58 to 24 computations (58.6% saved)

series46.0ms (0.4%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
32.0ms
x
@0
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 3)
9.0ms
x
@inf
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 3)
4.0ms
x
@-inf
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 3)
0.0ms
x
@-inf
(cbrt.f64 (cbrt.f64 x))
0.0ms
x
@0
(cbrt.f64 (cbrt.f64 x))

rewrite57.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
408×pow1_binary64
400×add-sqr-sqrt_binary64
387×add-log-exp_binary64
387×log1p-expm1-u_binary64
387×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
068
11248
211218
Stop Event
node limit
Counts
2 → 73
Calls
Call 1
Inputs
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 3)
(cbrt.f64 (cbrt.f64 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 x)))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 x))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (pow.f64 1 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 x)) (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) (cbrt.f64 (cbrt.f64 x))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x 1/6) (pow.f64 x 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 1/6) (*.f64 (pow.f64 (cbrt.f64 x) 1/6) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 3/2) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 1/6) 3/2) (pow.f64 (pow.f64 x 1/6) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 2)) (cbrt.f64 (cbrt.f64 (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (pow.f64 (cbrt.f64 x) 1/6)) (pow.f64 (cbrt.f64 x) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 1 1/3) 3) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 (cbrt.f64 x))) 1/3) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) 1/3) (cbrt.f64 (cbrt.f64 (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 x 1/6)) 1/3) (pow.f64 (cbrt.f64 x) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 x 1/6) 3/2) (pow.f64 (pow.f64 (cbrt.f64 x) 1/6) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 2) 2) 3/2) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 2)) 3/2) (pow.f64 (cbrt.f64 x) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 1 3/2) 2) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 x)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (cbrt.f64 x)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (cbrt.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (cbrt.f64 x))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (cbrt.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 x)) (pow.f64 1 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 x)) (pow.f64 1 1/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 2) (cbrt.f64 (cbrt.f64 (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 1/6) (pow.f64 (cbrt.f64 x) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 x) 1/6)) (pow.f64 (*.f64 (pow.f64 (cbrt.f64 x) 1/6) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 2)) (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 3/2) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/9) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 1/9) (pow.f64 (pow.f64 (cbrt.f64 x) 2) 1/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 2) 1/9) (pow.f64 (cbrt.f64 x) 1/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 x) 1/9) (pow.f64 (sqrt.f64 x) 1/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 (cbrt.f64 x))) 1/9) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 1/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) 1/9) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 1/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 x 1/6)) 1/9) (pow.f64 (pow.f64 x 1/6) 1/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 1 1/3) 1/3) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 2)) 1/3) (cbrt.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (pow.f64 (cbrt.f64 x) 1/6)) 1/3) (cbrt.f64 (pow.f64 (cbrt.f64 x) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x)))) 2) 3) (cbrt.f64 (cbrt.f64 (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 2)) 2) 3/2) (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 2)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 2)) 3/2) (pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 2)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 x 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 x) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 2) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 x) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 1/9 (log.f64 x)))))))

simplify161.0ms (1.4%)

Algorithm
egg-herbie
Rules
1227×sqr-pow_binary64
1010×unswap-sqr_binary64
612×cube-prod_binary64
456×unpow3_binary64
445×cube-mult_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
021252
156228
2102228
3213228
4682184
51259184
62792184
72942184
83164184
93433184
103759184
114221184
124825184
135579184
146084184
156490184
166818184
177170184
187340184
Stop Event
node limit
Counts
97 → 80
Calls
Call 1
Inputs
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 x 1/3))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 x 1/3))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 x 1/3))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 x 1/3))
(pow.f64 x 1/3)
(pow.f64 x 1/3)
(pow.f64 x 1/3)
(pow.f64 x 1/3)
(*.f64 (pow.f64 (*.f64 -1 x) 1/3) (*.f64 (pow.f64 1 1/9) (cbrt.f64 -1)))
(*.f64 (pow.f64 (*.f64 -1 x) 1/3) (*.f64 (pow.f64 1 1/9) (cbrt.f64 -1)))
(*.f64 (pow.f64 (*.f64 -1 x) 1/3) (*.f64 (pow.f64 1 1/9) (cbrt.f64 -1)))
(*.f64 (pow.f64 (*.f64 -1 x) 1/3) (*.f64 (pow.f64 1 1/9) (cbrt.f64 -1)))
(pow.f64 x 1/9)
(pow.f64 x 1/9)
(pow.f64 x 1/9)
(pow.f64 x 1/9)
(pow.f64 x 1/9)
(pow.f64 x 1/9)
(pow.f64 x 1/9)
(pow.f64 x 1/9)
(*.f64 (pow.f64 (*.f64 -1 x) 1/9) (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3))
(*.f64 (pow.f64 (*.f64 -1 x) 1/9) (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3))
(*.f64 (pow.f64 (*.f64 -1 x) 1/9) (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3))
(*.f64 (pow.f64 (*.f64 -1 x) 1/9) (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3))
Outputs
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 x 1/3))
(*.f64 1 (cbrt.f64 x))
(cbrt.f64 x)
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 x 1/3))
(*.f64 1 (cbrt.f64 x))
(cbrt.f64 x)
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 x 1/3))
(*.f64 1 (cbrt.f64 x))
(cbrt.f64 x)
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 x 1/3))
(*.f64 1 (cbrt.f64 x))
(cbrt.f64 x)
(pow.f64 x 1/3)
(*.f64 1 (cbrt.f64 x))
(cbrt.f64 x)
(pow.f64 x 1/3)
(*.f64 1 (cbrt.f64 x))
(cbrt.f64 x)
(pow.f64 x 1/3)
(*.f64 1 (cbrt.f64 x))
(cbrt.f64 x)
(pow.f64 x 1/3)
(*.f64 1 (cbrt.f64 x))
(cbrt.f64 x)
(*.f64 (pow.f64 (*.f64 -1 x) 1/3) (*.f64 (pow.f64 1 1/9) (cbrt.f64 -1)))
(*.f64 (cbrt.f64 (neg.f64 x)) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 -1 x) 1/3) (*.f64 (pow.f64 1 1/9) (cbrt.f64 -1)))
(*.f64 (cbrt.f64 (neg.f64 x)) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 -1 x) 1/3) (*.f64 (pow.f64 1 1/9) (cbrt.f64 -1)))
(*.f64 (cbrt.f64 (neg.f64 x)) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 -1 x) 1/3) (*.f64 (pow.f64 1 1/9) (cbrt.f64 -1)))
(*.f64 (cbrt.f64 (neg.f64 x)) (cbrt.f64 -1))
(pow.f64 x 1/9)
(*.f64 (pow.f64 x 1/18) (pow.f64 x 1/18))
(pow.f64 (pow.f64 x 1/36) 4)
(pow.f64 (pow.f64 x 1/72) 8)
(pow.f64 x 1/9)
(*.f64 (pow.f64 x 1/18) (pow.f64 x 1/18))
(pow.f64 (pow.f64 x 1/36) 4)
(pow.f64 (pow.f64 x 1/72) 8)
(pow.f64 x 1/9)
(*.f64 (pow.f64 x 1/18) (pow.f64 x 1/18))
(pow.f64 (pow.f64 x 1/36) 4)
(pow.f64 (pow.f64 x 1/72) 8)
(pow.f64 x 1/9)
(*.f64 (pow.f64 x 1/18) (pow.f64 x 1/18))
(pow.f64 (pow.f64 x 1/36) 4)
(pow.f64 (pow.f64 x 1/72) 8)
(pow.f64 x 1/9)
(*.f64 (pow.f64 x 1/18) (pow.f64 x 1/18))
(pow.f64 (pow.f64 x 1/36) 4)
(pow.f64 (pow.f64 x 1/72) 8)
(pow.f64 x 1/9)
(*.f64 (pow.f64 x 1/18) (pow.f64 x 1/18))
(pow.f64 (pow.f64 x 1/36) 4)
(pow.f64 (pow.f64 x 1/72) 8)
(pow.f64 x 1/9)
(*.f64 (pow.f64 x 1/18) (pow.f64 x 1/18))
(pow.f64 (pow.f64 x 1/36) 4)
(pow.f64 (pow.f64 x 1/72) 8)
(pow.f64 x 1/9)
(*.f64 (pow.f64 x 1/18) (pow.f64 x 1/18))
(pow.f64 (pow.f64 x 1/36) 4)
(pow.f64 (pow.f64 x 1/72) 8)
(*.f64 (pow.f64 (*.f64 -1 x) 1/9) (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3))
(*.f64 (*.f64 (pow.f64 (neg.f64 x) 1/18) (pow.f64 (neg.f64 x) 1/18)) (cbrt.f64 (cbrt.f64 -1)))
(*.f64 (pow.f64 (neg.f64 x) 1/18) (*.f64 (pow.f64 (neg.f64 x) 1/18) (cbrt.f64 (cbrt.f64 -1))))
(*.f64 (pow.f64 (pow.f64 (neg.f64 x) 1/36) 4) (cbrt.f64 (cbrt.f64 -1)))
(*.f64 (pow.f64 (*.f64 -1 x) 1/9) (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3))
(*.f64 (*.f64 (pow.f64 (neg.f64 x) 1/18) (pow.f64 (neg.f64 x) 1/18)) (cbrt.f64 (cbrt.f64 -1)))
(*.f64 (pow.f64 (neg.f64 x) 1/18) (*.f64 (pow.f64 (neg.f64 x) 1/18) (cbrt.f64 (cbrt.f64 -1))))
(*.f64 (pow.f64 (pow.f64 (neg.f64 x) 1/36) 4) (cbrt.f64 (cbrt.f64 -1)))
(*.f64 (pow.f64 (*.f64 -1 x) 1/9) (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3))
(*.f64 (*.f64 (pow.f64 (neg.f64 x) 1/18) (pow.f64 (neg.f64 x) 1/18)) (cbrt.f64 (cbrt.f64 -1)))
(*.f64 (pow.f64 (neg.f64 x) 1/18) (*.f64 (pow.f64 (neg.f64 x) 1/18) (cbrt.f64 (cbrt.f64 -1))))
(*.f64 (pow.f64 (pow.f64 (neg.f64 x) 1/36) 4) (cbrt.f64 (cbrt.f64 -1)))
(*.f64 (pow.f64 (*.f64 -1 x) 1/9) (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3))
(*.f64 (*.f64 (pow.f64 (neg.f64 x) 1/18) (pow.f64 (neg.f64 x) 1/18)) (cbrt.f64 (cbrt.f64 -1)))
(*.f64 (pow.f64 (neg.f64 x) 1/18) (*.f64 (pow.f64 (neg.f64 x) 1/18) (cbrt.f64 (cbrt.f64 -1))))
(*.f64 (pow.f64 (pow.f64 (neg.f64 x) 1/36) 4) (cbrt.f64 (cbrt.f64 -1)))

localize5.0ms (0%)

Compiler

Compiled 14 to 5 computations (64.3% saved)

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 31 to 12 computations (61.3% saved)

series3.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite77.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
559×fma-def_binary64
427×log-prod_binary64
323×exp-prod_binary64
320×pow-prod-down_binary64
305×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify13.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06159
19159
210159
Stop Event
saturated
Counts
154 → 120
Calls
Call 1
Inputs
x
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(*.f64 y z)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(*.f64 y z)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
x
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(*.f64 y z)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(*.f64 y z)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(*.f64 y z)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
x
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
x
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
Outputs
x
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(*.f64 y z)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(*.f64 y z)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
x
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(*.f64 y z)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(*.f64 y z)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(*.f64 y z)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
x
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
x
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 (sin.f64 y) (neg.f64 z) x)
Compiler

Compiled 16 to 6 computations (62.5% saved)

series3.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite51.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
597×pow1_binary64
546×add-log-exp_binary64
545×log1p-expm1-u_binary64
545×expm1-log1p-u_binary64
533×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify78.0ms (0.7%)

Algorithm
egg-herbie
Rules
825×distribute-rgt-neg-in_binary64
811×fma-def_binary64
704×distribute-lft-neg-in_binary64
596×unswap-sqr_binary64
547×associate-*l*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
026342
174313
2196308
3505305
41513304
54258304
66533304
Stop Event
node limit
Counts
57 → 32
Calls
Call 1
Inputs
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)))
(+.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 (*.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 (*.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)
(*.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)
Outputs
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 (*.f64 y z) (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) x))
(-.f64 (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) x) (*.f64 y z))
(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)
(+.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 y z) (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 y z))
(-.f64 (fma.f64 z (fma.f64 -1/120 (pow.f64 y 5) (*.f64 1/6 (pow.f64 y 3))) x) (*.f64 y z))
(fma.f64 z (fma.f64 -1 y (fma.f64 1/6 (pow.f64 y 3) (*.f64 -1/120 (pow.f64 y 5)))) x)
(fma.f64 z (fma.f64 1/6 (pow.f64 y 3) (fma.f64 -1/120 (pow.f64 y 5) (neg.f64 y))) x)
(fma.f64 z (-.f64 (fma.f64 -1/120 (pow.f64 y 5) (*.f64 1/6 (pow.f64 y 3))) y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
x
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
x
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
x
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)

localize25.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 z (sin.f64 y))
0.3b
(pow.f64 (*.f64 z (sin.f64 y)) 2)
2.7b
(-.f64 (*.f64 x x) (pow.f64 (*.f64 z (sin.f64 y)) 2))
28.1b
(*.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (+.f64 x (*.f64 z (sin.f64 y)))))
Compiler

Compiled 66 to 22 computations (66.7% saved)

series16.0ms (0.1%)

Counts
3 → 96
Calls

24 calls:

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

rewrite132.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
692×log-prod_binary64
600×fma-def_binary64
252×pow1/3_binary64
249×expm1-udef_binary64
249×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify81.0ms (0.7%)

Algorithm
egg-herbie
Rules
537×distribute-lft-out_binary64
478×distribute-rgt-out_binary64
439×fma-def_binary64
438×fma-neg_binary64
365×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0721455
12181420
26671387
330641377
Stop Event
node limit
Counts
488 → 427
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)))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (+.f64 (*.f64 z (sin.f64 y)) x))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (+.f64 (*.f64 z (sin.f64 y)) x))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (+.f64 (*.f64 z (sin.f64 y)) x))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (+.f64 (*.f64 z (sin.f64 y)) x))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (+.f64 (*.f64 z (sin.f64 y)) x))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (+.f64 (*.f64 z (sin.f64 y)) x))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (+.f64 (*.f64 z (sin.f64 y)) x))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (+.f64 (*.f64 z (sin.f64 y)) x))
(*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(pow.f64 x 2)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (pow.f64 z 2))) (pow.f64 x 2))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 y 4) (pow.f64 z 2))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (pow.f64 z 2))) (pow.f64 x 2)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/36 (pow.f64 z 2)) (*.f64 1/60 (pow.f64 z 2))) (pow.f64 y 6))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 y 4) (pow.f64 z 2))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (pow.f64 z 2))) (pow.f64 x 2))))
(-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))
(-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))
(-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))
(-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))
(-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))
(-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))
(-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))
(-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 y 2) (pow.f64 z 2))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 y 4) (pow.f64 z 2))) (*.f64 (pow.f64 y 2) (pow.f64 z 2)))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 y 4) (pow.f64 z 2))) (+.f64 (*.f64 (+.f64 (*.f64 1/36 (pow.f64 z 2)) (*.f64 1/60 (pow.f64 z 2))) (pow.f64 y 6)) (*.f64 (pow.f64 y 2) (pow.f64 z 2))))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 y 4) (pow.f64 z 2))) (+.f64 (*.f64 (+.f64 (*.f64 1/36 (pow.f64 z 2)) (*.f64 1/60 (pow.f64 z 2))) (pow.f64 y 6)) (+.f64 (*.f64 (pow.f64 y 2) (pow.f64 z 2)) (*.f64 (pow.f64 y 8) (+.f64 (*.f64 -1/360 (pow.f64 z 2)) (*.f64 -1/2520 (pow.f64 z 2)))))))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
Outputs
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(fma.f64 (neg.f64 z) (sin.f64 y) x)
(fma.f64 z (neg.f64 (sin.f64 y)) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(fma.f64 (neg.f64 z) (sin.f64 y) x)
(fma.f64 z (neg.f64 (sin.f64 y)) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(fma.f64 (neg.f64 z) (sin.f64 y) x)
(fma.f64 z (neg.f64 (sin.f64 y)) x)
x
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(fma.f64 (neg.f64 z) (sin.f64 y) x)
(fma.f64 z (neg.f64 (sin.f64 y)) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(fma.f64 (neg.f64 z) (sin.f64 y) x)
(fma.f64 z (neg.f64 (sin.f64 y)) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(fma.f64 (neg.f64 z) (sin.f64 y) x)
(fma.f64 z (neg.f64 (sin.f64 y)) x)
x
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(fma.f64 (neg.f64 z) (sin.f64 y) x)
(fma.f64 z (neg.f64 (sin.f64 y)) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(fma.f64 (neg.f64 z) (sin.f64 y) x)
(fma.f64 z (neg.f64 (sin.f64 y)) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(fma.f64 (neg.f64 z) (sin.f64 y) x)
(fma.f64 z (neg.f64 (sin.f64 y)) x)
x
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(fma.f64 (neg.f64 z) (sin.f64 y) x)
(fma.f64 z (neg.f64 (sin.f64 y)) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(fma.f64 (neg.f64 z) (sin.f64 y) x)
(fma.f64 z (neg.f64 (sin.f64 y)) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(fma.f64 (neg.f64 z) (sin.f64 y) x)
(fma.f64 z (neg.f64 (sin.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))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(fma.f64 (neg.f64 z) (sin.f64 y) x)
(fma.f64 z (neg.f64 (sin.f64 y)) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(fma.f64 (neg.f64 z) (sin.f64 y) x)
(fma.f64 z (neg.f64 (sin.f64 y)) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(fma.f64 (neg.f64 z) (sin.f64 y) x)
(fma.f64 z (neg.f64 (sin.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))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(fma.f64 (neg.f64 z) (sin.f64 y) x)
(fma.f64 z (neg.f64 (sin.f64 y)) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(fma.f64 (neg.f64 z) (sin.f64 y) x)
(fma.f64 z (neg.f64 (sin.f64 y)) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(fma.f64 -1 (*.f64 z (sin.f64 y)) x)
(fma.f64 (neg.f64 z) (sin.f64 y) x)
(fma.f64 z (neg.f64 (sin.f64 y)) x)
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 z y) x)
(-.f64 x (*.f64 z y))
(fma.f64 z (neg.f64 y) x)
(+.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)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x)))
(fma.f64 -1 (*.f64 z y) (fma.f64 -1/120 (*.f64 z (pow.f64 y 5)) (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) x)))
(-.f64 (fma.f64 -1/120 (*.f64 z (pow.f64 y 5)) (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) x)) (*.f64 z y))
(-.f64 (fma.f64 z (fma.f64 -1/120 (pow.f64 y 5) (*.f64 1/6 (pow.f64 y 3))) x) (*.f64 z y))
(-.f64 x (*.f64 z (-.f64 y (fma.f64 -1/120 (pow.f64 y 5) (*.f64 1/6 (pow.f64 y 3))))))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (+.f64 (*.f64 z (sin.f64 y)) x))
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))) (fma.f64 z (sin.f64 y) x))
(/.f64 (*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x)) (fma.f64 z (sin.f64 y) x))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (+.f64 (*.f64 z (sin.f64 y)) x))
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))) (fma.f64 z (sin.f64 y) x))
(/.f64 (*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x)) (fma.f64 z (sin.f64 y) x))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (+.f64 (*.f64 z (sin.f64 y)) x))
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))) (fma.f64 z (sin.f64 y) x))
(/.f64 (*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x)) (fma.f64 z (sin.f64 y) x))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (+.f64 (*.f64 z (sin.f64 y)) x))
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))) (fma.f64 z (sin.f64 y) x))
(/.f64 (*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x)) (fma.f64 z (sin.f64 y) x))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (+.f64 (*.f64 z (sin.f64 y)) x))
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))) (fma.f64 z (sin.f64 y) x))
(/.f64 (*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x)) (fma.f64 z (sin.f64 y) x))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (+.f64 (*.f64 z (sin.f64 y)) x))
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))) (fma.f64 z (sin.f64 y) x))
(/.f64 (*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x)) (fma.f64 z (sin.f64 y) x))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (+.f64 (*.f64 z (sin.f64 y)) x))
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))) (fma.f64 z (sin.f64 y) x))
(/.f64 (*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x)) (fma.f64 z (sin.f64 y) x))
(/.f64 (-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) (+.f64 (*.f64 z (sin.f64 y)) x))
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))) (fma.f64 z (sin.f64 y) x))
(/.f64 (*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x)) (fma.f64 z (sin.f64 y) x))
(*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))
(neg.f64 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 z (neg.f64 z)))
(*.f64 z (neg.f64 (*.f64 z (pow.f64 (sin.f64 y) 2))))
(*.f64 (*.f64 z z) (neg.f64 (pow.f64 (sin.f64 y) 2)))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))
(neg.f64 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 z (neg.f64 z)))
(*.f64 z (neg.f64 (*.f64 z (pow.f64 (sin.f64 y) 2))))
(*.f64 (*.f64 z z) (neg.f64 (pow.f64 (sin.f64 y) 2)))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))
(neg.f64 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 z (neg.f64 z)))
(*.f64 z (neg.f64 (*.f64 z (pow.f64 (sin.f64 y) 2))))
(*.f64 (*.f64 z z) (neg.f64 (pow.f64 (sin.f64 y) 2)))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (pow.f64 x 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (pow.f64 z 2))) (pow.f64 x 2))
(fma.f64 -1 (*.f64 (*.f64 z z) (*.f64 y y)) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z y) (*.f64 z y)))
(-.f64 (*.f64 x x) (*.f64 z (*.f64 z (*.f64 y y))))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 y 4) (pow.f64 z 2))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (pow.f64 z 2))) (pow.f64 x 2)))
(fma.f64 1/3 (*.f64 (*.f64 z z) (pow.f64 y 4)) (fma.f64 -1 (*.f64 (*.f64 z z) (*.f64 y y)) (*.f64 x x)))
(+.f64 (*.f64 x x) (*.f64 (*.f64 z z) (+.f64 (*.f64 1/3 (pow.f64 y 4)) (*.f64 (neg.f64 y) y))))
(fma.f64 (*.f64 z z) (-.f64 (*.f64 1/3 (pow.f64 y 4)) (*.f64 y y)) (*.f64 x x))
(fma.f64 (*.f64 z z) (*.f64 y (-.f64 (*.f64 (pow.f64 y 3) 1/3) y)) (*.f64 x x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/36 (pow.f64 z 2)) (*.f64 1/60 (pow.f64 z 2))) (pow.f64 y 6))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 y 4) (pow.f64 z 2))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) (pow.f64 z 2))) (pow.f64 x 2))))
(fma.f64 -1 (*.f64 (*.f64 (*.f64 z z) 2/45) (pow.f64 y 6)) (fma.f64 1/3 (*.f64 (*.f64 z z) (pow.f64 y 4)) (fma.f64 -1 (*.f64 (*.f64 z z) (*.f64 y y)) (*.f64 x x))))
(-.f64 (+.f64 (*.f64 x x) (*.f64 (*.f64 z z) (+.f64 (*.f64 1/3 (pow.f64 y 4)) (*.f64 (neg.f64 y) y)))) (*.f64 (*.f64 (pow.f64 y 6) (*.f64 z z)) 2/45))
(fma.f64 (pow.f64 y 6) (*.f64 (*.f64 z z) -2/45) (fma.f64 (*.f64 z z) (-.f64 (*.f64 1/3 (pow.f64 y 4)) (*.f64 y y)) (*.f64 x x)))
(+.f64 (*.f64 x x) (*.f64 (*.f64 z z) (-.f64 (*.f64 y (-.f64 (*.f64 (pow.f64 y 3) 1/3) y)) (*.f64 (pow.f64 y 6) 2/45))))
(-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(-.f64 (pow.f64 x 2) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))
(*.f64 (fma.f64 z (sin.f64 y) x) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 y 2) (pow.f64 z 2))
(*.f64 (*.f64 z z) (*.f64 y y))
(*.f64 (*.f64 z y) (*.f64 z y))
(*.f64 z (*.f64 z (*.f64 y y)))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 y 4) (pow.f64 z 2))) (*.f64 (pow.f64 y 2) (pow.f64 z 2)))
(fma.f64 -1/3 (*.f64 (*.f64 z z) (pow.f64 y 4)) (*.f64 (*.f64 z z) (*.f64 y y)))
(*.f64 (*.f64 z z) (+.f64 (*.f64 y y) (*.f64 (pow.f64 y 4) -1/3)))
(*.f64 z (*.f64 z (fma.f64 y y (*.f64 (pow.f64 y 4) -1/3))))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 y 4) (pow.f64 z 2))) (+.f64 (*.f64 (+.f64 (*.f64 1/36 (pow.f64 z 2)) (*.f64 1/60 (pow.f64 z 2))) (pow.f64 y 6)) (*.f64 (pow.f64 y 2) (pow.f64 z 2))))
(fma.f64 -1/3 (*.f64 (*.f64 z z) (pow.f64 y 4)) (fma.f64 (*.f64 (*.f64 z z) 2/45) (pow.f64 y 6) (*.f64 (*.f64 z z) (*.f64 y y))))
(+.f64 (*.f64 (*.f64 (pow.f64 y 6) (*.f64 z z)) 2/45) (*.f64 (*.f64 z z) (+.f64 (*.f64 y y) (*.f64 (pow.f64 y 4) -1/3))))
(*.f64 (*.f64 z z) (+.f64 (*.f64 (pow.f64 y 6) 2/45) (fma.f64 y y (*.f64 (pow.f64 y 4) -1/3))))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 y 4) (pow.f64 z 2))) (+.f64 (*.f64 (+.f64 (*.f64 1/36 (pow.f64 z 2)) (*.f64 1/60 (pow.f64 z 2))) (pow.f64 y 6)) (+.f64 (*.f64 (pow.f64 y 2) (pow.f64 z 2)) (*.f64 (pow.f64 y 8) (+.f64 (*.f64 -1/360 (pow.f64 z 2)) (*.f64 -1/2520 (pow.f64 z 2)))))))
(fma.f64 -1/3 (*.f64 (*.f64 z z) (pow.f64 y 4)) (fma.f64 (*.f64 (*.f64 z z) 2/45) (pow.f64 y 6) (fma.f64 (*.f64 y y) (*.f64 z z) (*.f64 (pow.f64 y 8) (*.f64 (*.f64 z z) -1/315)))))
(+.f64 (+.f64 (*.f64 (*.f64 (pow.f64 y 6) (*.f64 z z)) 2/45) (*.f64 (*.f64 z z) (+.f64 (*.f64 y y) (*.f64 (pow.f64 y 4) -1/3)))) (*.f64 (*.f64 z z) (*.f64 -1/315 (pow.f64 y 8))))
(+.f64 (*.f64 (*.f64 z z) (+.f64 (*.f64 (pow.f64 y 6) 2/45) (fma.f64 y y (*.f64 (pow.f64 y 4) -1/3)))) (*.f64 z (*.f64 (*.f64 z -1/315) (pow.f64 y 8))))
(*.f64 (*.f64 z z) (+.f64 (fma.f64 y y (*.f64 (pow.f64 y 4) -1/3)) (+.f64 (*.f64 (pow.f64 y 6) 2/45) (*.f64 (pow.f64 y 8) -1/315))))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))
(*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))

eval269.0ms (2.3%)

Compiler

Compiled 20105 to 7562 computations (62.4% saved)

prune156.0ms (1.3%)

Pruning

27 alts after pruning (15 fresh and 12 done)

PrunedKeptTotal
New8163819
Fresh21214
Picked011
Done01111
Total81827845
Error
0.0b
Counts
845 → 27
Alt Table
Click to see full alt table
StatusErrorProgram
41.6b
(+.f64 x (*.f64 y (*.f64 -1/2 (*.f64 y x))))
52.7b
(*.f64 y (neg.f64 z))
0.9b
(fma.f64 (*.f64 (cos.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))
15.6b
(fma.f64 (sin.f64 y) (neg.f64 z) x)
14.6b
(fma.f64 (*.f64 x (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
1.2b
(fma.f64 (*.f64 (cos.f64 y) (pow.f64 (cbrt.f64 x) 2)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 3) (*.f64 (sin.f64 y) (neg.f64 z)))
38.4b
(*.f64 (sin.f64 y) (neg.f64 z))
41.5b
(+.f64 x (*.f64 y (*.f64 y (*.f64 x 1/2))))
16.4b
(pow.f64 (cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 3)
1.2b
(pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 3)
30.5b
(-.f64 x (*.f64 z y))
14.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)))
40.3b
(+.f64 x (*.f64 y z))
35.0b
(-.f64 x (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
37.4b
(*.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (+.f64 x (*.f64 z (sin.f64 y)))))
0.1b
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 x (cos.f64 y)))
0.1b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
30.5b
(fma.f64 (neg.f64 y) z x)
62.1b
(*.f64 y z)
15.6b
(-.f64 x (*.f64 z (sin.f64 y)))
31.7b
(-.f64 x (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z)))
30.7b
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))
24.5b
(*.f64 (cos.f64 y) x)
50.1b
(pow.f64 (sqrt.f64 (*.f64 z (neg.f64 (sin.f64 y)))) 2)
47.1b
(-.f64 (+.f64 1 (+.f64 (*.f64 y z) x)) 1)
39.3b
x
29.3b
(-.f64 (cbrt.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3)) (*.f64 z (sin.f64 y)))
Compiler

Compiled 328 to 224 computations (31.7% saved)

regimes335.0ms (2.8%)

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

5 calls:

105.0ms
z
70.0ms
x
59.0ms
y
43.0ms
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
42.0ms
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
Results
ErrorSegmentsBranch
0.1b1x
0.1b1y
0.1b1z
0.1b1(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
0.1b1(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
Compiler

Compiled 447 to 165 computations (63.1% saved)

regimes213.0ms (1.8%)

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

4 calls:

58.0ms
y
57.0ms
x
55.0ms
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
31.0ms
z
Results
ErrorSegmentsBranch
0.1b1x
0.1b1y
0.1b1z
0.1b1(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
Compiler

Compiled 226 to 95 computations (58% saved)

regimes244.0ms (2.1%)

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

3 calls:

108.0ms
y
78.0ms
x
49.0ms
z
Results
ErrorSegmentsBranch
7.2b3x
10.5b6y
8.3b3z
Compiler

Compiled 154 to 64 computations (58.4% saved)

bsearch147.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
86.0ms
9.896522597872772e+38
4.0356090112706295e+44
61.0ms
-9.022991087177669e-7
-4.395532202361312e-8
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes166.0ms (1.4%)

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

79.0ms
y
47.0ms
x
35.0ms
z
Results
ErrorSegmentsBranch
7.2b3x
10.5b6y
8.3b3z
Compiler

Compiled 148 to 63 computations (57.4% saved)

bsearch163.0ms (1.4%)

Algorithm
binary-search
Steps
TimeLeftRight
102.0ms
9.896522597872772e+38
4.0356090112706295e+44
62.0ms
-9.022991087177669e-7
-4.395532202361312e-8
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes192.0ms (1.6%)

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

3 calls:

103.0ms
y
50.0ms
z
33.0ms
x
Results
ErrorSegmentsBranch
13.7b3x
11.0b7y
11.9b5z
Compiler

Compiled 121 to 52 computations (57% saved)

bsearch582.0ms (4.9%)

Algorithm
binary-search
Steps
TimeLeftRight
77.0ms
0.08839147709823608
6.904028969813479
39.0ms
-16478034.072394175
-10604636.769083364
72.0ms
-7.568392764912005e+83
-7.571247561117888e+80
116.0ms
-1.6551753127859233e+187
-1.3670252685500282e+187
114.0ms
-7.73123433079739e+213
-4.010715378716946e+212
163.0ms
-3.5842381778848335e+280
-2.458758370196345e+270
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes180.0ms (1.5%)

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

3 calls:

101.0ms
y
49.0ms
z
25.0ms
x
Results
ErrorSegmentsBranch
13.7b3x
11.0b7y
11.9b5z
Compiler

Compiled 106 to 49 computations (53.8% saved)

bsearch591.0ms (5%)

Algorithm
binary-search
Steps
TimeLeftRight
56.0ms
0.08839147709823608
6.904028969813479
45.0ms
-16478034.072394175
-10604636.769083364
75.0ms
-7.568392764912005e+83
-7.571247561117888e+80
111.0ms
-1.6551753127859233e+187
-1.3670252685500282e+187
152.0ms
-7.73123433079739e+213
-4.010715378716946e+212
151.0ms
-3.5842381778848335e+280
-2.458758370196345e+270
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes135.0ms (1.1%)

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

3 calls:

45.0ms
x
43.0ms
y
42.0ms
z
Results
ErrorSegmentsBranch
18.2b3x
14.9b3y
18.9b3z
Compiler

Compiled 96 to 47 computations (51% saved)

bsearch122.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
57.0ms
0.08839147709823608
6.904028969813479
65.0ms
-16478034.072394175
-10604636.769083364
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes52.0ms (0.4%)

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

3 calls:

16.0ms
z
15.0ms
x
15.0ms
y
Results
ErrorSegmentsBranch
30.5b1x
30.5b1y
30.5b1z
Compiler

Compiled 92 to 45 computations (51.1% saved)

regimes72.0ms (0.6%)

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

3 calls:

26.0ms
y
26.0ms
x
17.0ms
z
Results
ErrorSegmentsBranch
36.7b3x
37.8b3y
35.7b2z
Compiler

Compiled 25 to 15 computations (40% saved)

bsearch102.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
102.0ms
2.5084330127203226e+66
7.567312516655829e+74
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes28.0ms (0.2%)

Accuracy

Total -23.1b remaining (-58.8%)

Threshold costs -23.1b (-58.8%)

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

3 calls:

9.0ms
z
8.0ms
y
8.0ms
x
Results
ErrorSegmentsBranch
39.3b1x
39.3b1y
39.3b1z
Compiler

Compiled 21 to 13 computations (38.1% saved)

simplify25.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
056312
181312
2100312
3108312
4112312
5113312
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 x (cos.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(if (<=.f64 x -8521974137063873/9444732965739290427392) (*.f64 (cos.f64 y) x) (if (<=.f64 x 989652259787277160986706970304187465728) (fma.f64 (sin.f64 y) (neg.f64 z) x) (*.f64 (cos.f64 y) x)))
(if (<=.f64 x -8521974137063873/9444732965739290427392) (*.f64 (cos.f64 y) x) (if (<=.f64 x 989652259787277160986706970304187465728) (-.f64 x (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x)))
(if (<=.f64 y -35842381778848334593084748317289868123110239032669650138840725378990983062634340124981423310228040868589118044311014950325833100614034335279866623975204394786899511318531148679529007761295531794970904476296049510523744555132499078257616172479945962347410118319772110582206334763008) (*.f64 (cos.f64 y) x) (if (<=.f64 y -7731234330797390218459609206827994840741265724685444951773957676317046720286916913926377078902197716610308268486969771806984420191009229451277907086238106523464731719125073814660069823715934527296640503825882415104) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 y -16551753127859232648373331454702849988017578769505670130453150669975857257508069702555482865846186819758165656356366190825881307899974270540330659143572912015832896776043317328714305372160) (*.f64 (cos.f64 y) x) (if (<=.f64 y -756839276491200494687580260184881766139205208693981277258710704126750127410494046208) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 y -70772617443306680/4294967296) (*.f64 (cos.f64 y) x) (if (<=.f64 y 1630534956328320000/18446744073709551616) (fma.f64 (neg.f64 y) z x) (*.f64 (cos.f64 y) x)))))))
(if (<=.f64 y -35842381778848334593084748317289868123110239032669650138840725378990983062634340124981423310228040868589118044311014950325833100614034335279866623975204394786899511318531148679529007761295531794970904476296049510523744555132499078257616172479945962347410118319772110582206334763008) (*.f64 (cos.f64 y) x) (if (<=.f64 y -7731234330797390218459609206827994840741265724685444951773957676317046720286916913926377078902197716610308268486969771806984420191009229451277907086238106523464731719125073814660069823715934527296640503825882415104) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 y -16551753127859232648373331454702849988017578769505670130453150669975857257508069702555482865846186819758165656356366190825881307899974270540330659143572912015832896776043317328714305372160) (*.f64 (cos.f64 y) x) (if (<=.f64 y -756839276491200494687580260184881766139205208693981277258710704126750127410494046208) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 y -70772617443306680/4294967296) (*.f64 (cos.f64 y) x) (if (<=.f64 y 1630534956328320000/18446744073709551616) (-.f64 x (*.f64 z y)) (*.f64 (cos.f64 y) x)))))))
(if (<=.f64 y -70772617443306680/4294967296) (*.f64 (cos.f64 y) x) (if (<=.f64 y 1630534956328320000/18446744073709551616) (-.f64 x (*.f64 z y)) (*.f64 (cos.f64 y) x)))
(-.f64 x (*.f64 z y))
(if (<=.f64 z 2508433012720322619641291703922526153590568359016115180449464057856) x (*.f64 y (neg.f64 z)))
x
Outputs
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 x (cos.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 (sin.f64 y) z))
(if (<=.f64 x -8521974137063873/9444732965739290427392) (*.f64 (cos.f64 y) x) (if (<=.f64 x 989652259787277160986706970304187465728) (fma.f64 (sin.f64 y) (neg.f64 z) x) (*.f64 (cos.f64 y) x)))
(if (<=.f64 x -8521974137063873/9444732965739290427392) (*.f64 x (cos.f64 y)) (if (<=.f64 x 989652259787277160986706970304187465728) (fma.f64 (sin.f64 y) (neg.f64 z) x) (*.f64 x (cos.f64 y))))
(if (<=.f64 x -8521974137063873/9444732965739290427392) (*.f64 (cos.f64 y) x) (if (<=.f64 x 989652259787277160986706970304187465728) (-.f64 x (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x)))
(if (<=.f64 x -8521974137063873/9444732965739290427392) (*.f64 x (cos.f64 y)) (if (<=.f64 x 989652259787277160986706970304187465728) (-.f64 x (*.f64 (sin.f64 y) z)) (*.f64 x (cos.f64 y))))
(if (<=.f64 y -35842381778848334593084748317289868123110239032669650138840725378990983062634340124981423310228040868589118044311014950325833100614034335279866623975204394786899511318531148679529007761295531794970904476296049510523744555132499078257616172479945962347410118319772110582206334763008) (*.f64 (cos.f64 y) x) (if (<=.f64 y -7731234330797390218459609206827994840741265724685444951773957676317046720286916913926377078902197716610308268486969771806984420191009229451277907086238106523464731719125073814660069823715934527296640503825882415104) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 y -16551753127859232648373331454702849988017578769505670130453150669975857257508069702555482865846186819758165656356366190825881307899974270540330659143572912015832896776043317328714305372160) (*.f64 (cos.f64 y) x) (if (<=.f64 y -756839276491200494687580260184881766139205208693981277258710704126750127410494046208) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 y -70772617443306680/4294967296) (*.f64 (cos.f64 y) x) (if (<=.f64 y 1630534956328320000/18446744073709551616) (fma.f64 (neg.f64 y) z x) (*.f64 (cos.f64 y) x)))))))
(if (<=.f64 y -35842381778848334593084748317289868123110239032669650138840725378990983062634340124981423310228040868589118044311014950325833100614034335279866623975204394786899511318531148679529007761295531794970904476296049510523744555132499078257616172479945962347410118319772110582206334763008) (*.f64 x (cos.f64 y)) (if (<=.f64 y -7731234330797390218459609206827994840741265724685444951773957676317046720286916913926377078902197716610308268486969771806984420191009229451277907086238106523464731719125073814660069823715934527296640503825882415104) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 y -16551753127859232648373331454702849988017578769505670130453150669975857257508069702555482865846186819758165656356366190825881307899974270540330659143572912015832896776043317328714305372160) (*.f64 x (cos.f64 y)) (if (<=.f64 y -756839276491200494687580260184881766139205208693981277258710704126750127410494046208) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 y -8846577180413335/536870912) (*.f64 x (cos.f64 y)) (if (<=.f64 y 1592319293289375/18014398509481984) (fma.f64 (neg.f64 y) z x) (*.f64 x (cos.f64 y))))))))
(if (<=.f64 y -35842381778848334593084748317289868123110239032669650138840725378990983062634340124981423310228040868589118044311014950325833100614034335279866623975204394786899511318531148679529007761295531794970904476296049510523744555132499078257616172479945962347410118319772110582206334763008) (*.f64 (cos.f64 y) x) (if (<=.f64 y -7731234330797390218459609206827994840741265724685444951773957676317046720286916913926377078902197716610308268486969771806984420191009229451277907086238106523464731719125073814660069823715934527296640503825882415104) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 y -16551753127859232648373331454702849988017578769505670130453150669975857257508069702555482865846186819758165656356366190825881307899974270540330659143572912015832896776043317328714305372160) (*.f64 (cos.f64 y) x) (if (<=.f64 y -756839276491200494687580260184881766139205208693981277258710704126750127410494046208) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 y -70772617443306680/4294967296) (*.f64 (cos.f64 y) x) (if (<=.f64 y 1630534956328320000/18446744073709551616) (-.f64 x (*.f64 z y)) (*.f64 (cos.f64 y) x)))))))
(if (<=.f64 y -35842381778848334593084748317289868123110239032669650138840725378990983062634340124981423310228040868589118044311014950325833100614034335279866623975204394786899511318531148679529007761295531794970904476296049510523744555132499078257616172479945962347410118319772110582206334763008) (*.f64 x (cos.f64 y)) (if (<=.f64 y -7731234330797390218459609206827994840741265724685444951773957676317046720286916913926377078902197716610308268486969771806984420191009229451277907086238106523464731719125073814660069823715934527296640503825882415104) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 y -16551753127859232648373331454702849988017578769505670130453150669975857257508069702555482865846186819758165656356366190825881307899974270540330659143572912015832896776043317328714305372160) (*.f64 x (cos.f64 y)) (if (<=.f64 y -756839276491200494687580260184881766139205208693981277258710704126750127410494046208) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 y -8846577180413335/536870912) (*.f64 x (cos.f64 y)) (if (<=.f64 y 1592319293289375/18014398509481984) (-.f64 x (*.f64 y z)) (*.f64 x (cos.f64 y))))))))
(if (<=.f64 y -70772617443306680/4294967296) (*.f64 (cos.f64 y) x) (if (<=.f64 y 1630534956328320000/18446744073709551616) (-.f64 x (*.f64 z y)) (*.f64 (cos.f64 y) x)))
(if (<=.f64 y -8846577180413335/536870912) (*.f64 x (cos.f64 y)) (if (<=.f64 y 1592319293289375/18014398509481984) (-.f64 x (*.f64 y z)) (*.f64 x (cos.f64 y))))
(-.f64 x (*.f64 z y))
(-.f64 x (*.f64 y z))
(if (<=.f64 z 2508433012720322619641291703922526153590568359016115180449464057856) x (*.f64 y (neg.f64 z)))
x
Compiler

Compiled 238 to 129 computations (45.8% saved)

soundness0.0ms (0%)

end82.0ms (0.7%)

Compiler

Compiled 211 to 75 computations (64.5% saved)

Profiling

Loading profile data...