Details

Time bar (total: 12.1s)

analyze463.0ms (3.8%)

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

Compiled 13 to 9 computations (30.8% saved)

sample3.4s (27.6%)

Results
1.5s5169×body256valid
1.3s2067×body1024valid
592.0ms1018×body512valid
2.0msbody2048valid
Bogosity

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

simplify21.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0914
11714
23214
34914
47614
512414
620514
730614
840914
952514
1058314
1158914
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
Outputs
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))

eval0.0ms (0%)

Compiler

Compiled 12 to 8 computations (33.3% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.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)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 27 to 8 computations (70.4% saved)

series14.0ms (0.1%)

Counts
4 → 68
Calls

24 calls:

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

rewrite137.0ms (1.1%)

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

simplify205.0ms (1.7%)

Algorithm
egg-herbie
Rules
473×*-commutative_binary64
435×distribute-rgt-neg-in_binary64
427×distribute-lft-out_binary64
379×fma-def_binary64
330×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
068773
1188763
2518743
31662737
42994737
55813737
67681737
Stop Event
node limit
Counts
326 → 290
Calls
Call 1
Inputs
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
x
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x)
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x))
(+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) x)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x)))
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 y z)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (*.f64 1/120 (*.f64 (pow.f64 y 5) z))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 7) z)) (*.f64 1/120 (*.f64 (pow.f64 y 5) z)))))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(*.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(*.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(*.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))))
Outputs
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
x
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x)
(fma.f64 -1/2 (*.f64 x (*.f64 y y)) x)
(*.f64 (fma.f64 -1/2 (*.f64 y y) 1) x)
(fma.f64 x (*.f64 y (*.f64 y -1/2)) x)
(*.f64 x (fma.f64 y (*.f64 y -1/2) 1))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) x))
(fma.f64 1/24 (*.f64 x (pow.f64 y 4)) (fma.f64 -1/2 (*.f64 x (*.f64 y y)) x))
(+.f64 x (*.f64 x (fma.f64 -1/2 (*.f64 y y) (*.f64 1/24 (pow.f64 y 4)))))
(*.f64 x (fma.f64 y (*.f64 y -1/2) (fma.f64 1/24 (pow.f64 y 4) 1)))
(+.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)) (+.f64 x (*.f64 x (fma.f64 -1/2 (*.f64 y y) (*.f64 1/24 (pow.f64 y 4))))))
(+.f64 x (*.f64 x (fma.f64 -1/720 (pow.f64 y 6) (fma.f64 y (*.f64 y -1/2) (*.f64 1/24 (pow.f64 y 4))))))
(*.f64 x (fma.f64 -1/720 (pow.f64 y 6) (fma.f64 y (*.f64 y -1/2) (fma.f64 1/24 (pow.f64 y 4) 1))))
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 (cos.f64 y) x)
(*.f64 y z)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z))
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z))
(*.f64 z (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (*.f64 1/120 (*.f64 (pow.f64 y 5) z))))
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (fma.f64 y z (*.f64 1/120 (*.f64 z (pow.f64 y 5)))))
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 z (+.f64 (*.f64 1/120 (pow.f64 y 5)) y)))
(*.f64 z (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (fma.f64 1/120 (pow.f64 y 5) y)))
(*.f64 z (+.f64 (*.f64 1/120 (pow.f64 y 5)) (fma.f64 -1/6 (pow.f64 y 3) 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/6 (pow.f64 y 3) y) (fma.f64 1/120 (pow.f64 y 5) (*.f64 -1/5040 (pow.f64 y 7)))))
(*.f64 z (+.f64 (fma.f64 1/120 (pow.f64 y 5) (*.f64 -1/5040 (pow.f64 y 7))) (fma.f64 -1/6 (pow.f64 y 3) y)))
(*.f64 z (+.f64 (fma.f64 -1/5040 (pow.f64 y 7) (*.f64 1/120 (pow.f64 y 5))) (fma.f64 -1/6 (pow.f64 y 3) y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (*.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))
(-.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 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (*.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))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (*.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)
(-.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 (*.f64 (fma.f64 -1/2 (*.f64 y y) 1) x) (*.f64 y z))
(-.f64 (fma.f64 x (*.f64 y (*.f64 y -1/2)) x) (*.f64 y z))
(+.f64 x (*.f64 y (-.f64 (*.f64 x (*.f64 y -1/2)) z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x)))
(fma.f64 -1 (*.f64 y z) (fma.f64 -1/2 (*.f64 x (*.f64 y y)) (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) x)))
(-.f64 (fma.f64 -1/2 (*.f64 y (*.f64 y x)) (fma.f64 (*.f64 z (pow.f64 y 3)) 1/6 x)) (*.f64 y z))
(-.f64 (fma.f64 z (*.f64 (pow.f64 y 3) 1/6) (fma.f64 x (*.f64 y (*.f64 y -1/2)) 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 (*.f64 x (fma.f64 y (*.f64 y -1/2) 1)) (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) 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 (*.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 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (*.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 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (*.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))
(-.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 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (*.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))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))
(+.f64 1 (*.f64 -1/2 (*.f64 y y)))
(fma.f64 -1/2 (*.f64 y y) 1)
(fma.f64 y (*.f64 y -1/2) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))))
(+.f64 1 (fma.f64 -1/2 (*.f64 y y) (*.f64 1/24 (pow.f64 y 4))))
(+.f64 (fma.f64 -1/2 (*.f64 y y) 1) (*.f64 1/24 (pow.f64 y 4)))
(fma.f64 y (*.f64 y -1/2) (fma.f64 1/24 (pow.f64 y 4) 1))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))))
(fma.f64 -1/720 (pow.f64 y 6) (+.f64 1 (fma.f64 -1/2 (*.f64 y y) (*.f64 1/24 (pow.f64 y 4)))))
(fma.f64 -1/720 (pow.f64 y 6) (+.f64 (fma.f64 -1/2 (*.f64 y y) 1) (*.f64 1/24 (pow.f64 y 4))))
(fma.f64 -1/720 (pow.f64 y 6) (fma.f64 y (*.f64 y -1/2) (fma.f64 1/24 (pow.f64 y 4) 1)))

eval101.0ms (0.8%)

Compiler

Compiled 5670 to 1369 computations (75.9% saved)

prune211.0ms (1.7%)

Pruning

23 alts after pruning (22 fresh and 1 done)

PrunedKeptTotal
New26822290
Fresh000
Picked011
Done000
Total26823291
Error
0.0b
Counts
291 → 23
Alt Table
Click to see full alt table
StatusErrorProgram
21.3b
(-.f64 (*.f64 x (cos.f64 y)) (cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))
0.3b
(fma.f64 (*.f64 x (cbrt.f64 (pow.f64 (cos.f64 y) 2))) (cbrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
24.6b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 y z))
0.1b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
3.8b
(fma.f64 (*.f64 (neg.f64 z) (cbrt.f64 (pow.f64 (sin.f64 y) 2))) (cbrt.f64 (sin.f64 y)) (*.f64 x (cos.f64 y)))
33.5b
(+.f64 x (*.f64 y (-.f64 (*.f64 x (*.f64 y -1/2)) z)))
0.3b
(-.f64 (*.f64 x (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 y)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 y)))))) (*.f64 z (sin.f64 y)))
36.7b
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2)
0.2b
(-.f64 (*.f64 x (log.f64 (exp.f64 (cos.f64 y)))) (*.f64 z (sin.f64 y)))
1.3b
(pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 3)
32.3b
(-.f64 x (*.f64 y z))
0.2b
(+.f64 (*.f64 x (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))
26.4b
(-.f64 (*.f64 x (cos.f64 y)) (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
34.8b
(*.f64 z (neg.f64 (sin.f64 y)))
0.8b
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
0.2b
(-.f64 (*.f64 x (cbrt.f64 (pow.f64 (cos.f64 y) 3))) (*.f64 z (sin.f64 y)))
14.5b
(-.f64 x (*.f64 z (sin.f64 y)))
36.1b
(fma.f64 (*.f64 (neg.f64 z) (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) (*.f64 x (cos.f64 y)))
16.6b
(-.f64 (*.f64 x (pow.f64 (sqrt.f64 (cos.f64 y)) 2)) (*.f64 z (sin.f64 y)))
0.1b
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 x (cos.f64 y)))
0.2b
(-.f64 (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 y))) 1)) (*.f64 z (sin.f64 y)))
31.0b
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))
0.4b
(-.f64 (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 y)) 3)) (*.f64 z (sin.f64 y)))
Compiler

Compiled 670 to 450 computations (32.8% saved)

localize18.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

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

simplify160.0ms (1.3%)

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

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 14 to 5 computations (64.3% saved)

series5.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite62.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

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

simplify28.0ms (0.2%)

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

Useful iterations: 1 (0.0ms)

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

localize40.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(exp.f64 (cos.f64 y))
0.2b
(*.f64 z (sin.f64 y))
0.2b
(*.f64 x (log.f64 (exp.f64 (cos.f64 y))))
0.4b
(log.f64 (exp.f64 (cos.f64 y)))
Compiler

Compiled 38 to 10 computations (73.7% saved)

series4.0ms (0%)

Counts
3 → 40
Calls

12 calls:

TimeVariablePointExpression
1.0ms
y
@0
(exp.f64 (cos.f64 y))
0.0ms
y
@0
(log.f64 (exp.f64 (cos.f64 y)))
0.0ms
y
@inf
(exp.f64 (cos.f64 y))
0.0ms
y
@inf
(log.f64 (exp.f64 (cos.f64 y)))
0.0ms
y
@-inf
(exp.f64 (cos.f64 y))

rewrite173.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
531×pow1_binary64
504×add-sqr-sqrt_binary64
484×log1p-expm1-u_binary64
484×expm1-log1p-u_binary64
483×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0714
111914
2133014
Stop Event
node limit
Counts
3 → 49
Calls
Call 1
Inputs
(log.f64 (exp.f64 (cos.f64 y)))
(*.f64 x (log.f64 (exp.f64 (cos.f64 y))))
(exp.f64 (cos.f64 y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 y)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 y))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cos.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 y)) (pow.f64 (cbrt.f64 (cos.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (cbrt.f64 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 y)) (sqrt.f64 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 y) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 y)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 y)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 y)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cos.f64 y) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 y) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 y) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 y) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 y) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 y) x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (expm1.f64 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (exp.f64 (cos.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (cos.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (exp.f64 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (exp.f64 (cos.f64 y))) (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 y))) 2) (cbrt.f64 (exp.f64 (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (exp.f64 (cos.f64 y))) (sqrt.f64 (exp.f64 (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (cos.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (cos.f64 y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (exp.f64 (cos.f64 y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (exp.f64 (cos.f64 y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (cos.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (exp.f64 (cos.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (exp.f64 (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (exp.f64 (cos.f64 y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (exp.f64 (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (exp.f64 (cos.f64 y))))))))

simplify146.0ms (1.2%)

Algorithm
egg-herbie
Rules
1604×fma-def_binary64
820×unswap-sqr_binary64
612×sqr-pow_binary64
454×cube-prod_binary64
356×pow-sqr_binary64
Iterations

Useful iterations: 8 (0.0ms)

IterNodesCost
046334
1119328
2324311
31061307
41622307
52083307
62216307
72342307
82476304
93991304
104233304
115933304
126496304
137149304
147882304
Stop Event
node limit
Counts
89 → 72
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))))
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 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)
(+.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)
(exp.f64 1)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (exp.f64 1))) (exp.f64 1))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (exp.f64 1))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 4) (exp.f64 1))) (exp.f64 1)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (exp.f64 1))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 4) (exp.f64 1))) (+.f64 (*.f64 -31/720 (*.f64 (pow.f64 y 6) (exp.f64 1))) (exp.f64 1))))
Outputs
1
(+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))
(+.f64 1 (*.f64 -1/2 (*.f64 y y)))
(fma.f64 -1/2 (*.f64 y y) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))))
(+.f64 1 (fma.f64 -1/2 (*.f64 y y) (*.f64 1/24 (pow.f64 y 4))))
(+.f64 (fma.f64 -1/2 (*.f64 y y) 1) (*.f64 1/24 (pow.f64 y 4)))
(fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) 1))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))))
(fma.f64 -1/720 (pow.f64 y 6) (+.f64 1 (fma.f64 -1/2 (*.f64 y y) (*.f64 1/24 (pow.f64 y 4)))))
(+.f64 (fma.f64 -1/2 (*.f64 y y) (*.f64 1/24 (pow.f64 y 4))) (fma.f64 -1/720 (pow.f64 y 6) 1))
(fma.f64 -1/720 (pow.f64 y 6) (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) 1)))
(fma.f64 -1/2 (*.f64 y y) (fma.f64 -1/720 (pow.f64 y 6) (fma.f64 1/24 (pow.f64 y 4) 1)))
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 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 (*.f64 y y) x) x)
(*.f64 (fma.f64 -1/2 (*.f64 y y) 1) x)
(fma.f64 (*.f64 y y) (*.f64 -1/2 x) x)
(fma.f64 y (*.f64 y (*.f64 -1/2 x)) 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 (pow.f64 y 4) x) (fma.f64 -1/2 (*.f64 (*.f64 y y) x) x))
(+.f64 x (*.f64 x (fma.f64 -1/2 (*.f64 y y) (*.f64 1/24 (pow.f64 y 4)))))
(*.f64 x (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) 1)))
(*.f64 (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) 1)) 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 (pow.f64 y 6) x) (fma.f64 1/24 (*.f64 (pow.f64 y 4) x) (fma.f64 -1/2 (*.f64 (*.f64 y y) x) x)))
(fma.f64 -1/720 (*.f64 (pow.f64 y 6) x) (+.f64 x (*.f64 x (fma.f64 -1/2 (*.f64 y y) (*.f64 1/24 (pow.f64 y 4))))))
(+.f64 x (*.f64 x (fma.f64 -1/720 (pow.f64 y 6) (fma.f64 -1/2 (*.f64 y y) (*.f64 1/24 (pow.f64 y 4))))))
(*.f64 x (fma.f64 -1/720 (pow.f64 y 6) (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) 1))))
(fma.f64 x (fma.f64 -1/720 (pow.f64 y 6) (*.f64 (*.f64 y y) (fma.f64 y (*.f64 y 1/24) -1/2))) x)
(*.f64 x (fma.f64 -1/2 (*.f64 y y) (fma.f64 -1/720 (pow.f64 y 6) (fma.f64 1/24 (pow.f64 y 4) 1))))
(*.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)
(exp.f64 1)
(E.f64)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (exp.f64 1))) (exp.f64 1))
(fma.f64 -1/2 (*.f64 (*.f64 y y) (E.f64)) (E.f64))
(*.f64 (fma.f64 -1/2 (*.f64 y y) 1) (E.f64))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (exp.f64 1))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 4) (exp.f64 1))) (exp.f64 1)))
(fma.f64 -1/2 (*.f64 (*.f64 y y) (E.f64)) (fma.f64 1/6 (*.f64 (pow.f64 y 4) (E.f64)) (E.f64)))
(fma.f64 -1/2 (*.f64 y (*.f64 y (E.f64))) (fma.f64 (*.f64 (pow.f64 y 4) 1/6) (E.f64) (E.f64)))
(fma.f64 (E.f64) (fma.f64 -1/2 (*.f64 y y) (*.f64 (pow.f64 y 4) 1/6)) (E.f64))
(*.f64 (E.f64) (fma.f64 y (fma.f64 1/6 (pow.f64 y 3) (*.f64 -1/2 y)) 1))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (exp.f64 1))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 4) (exp.f64 1))) (+.f64 (*.f64 -31/720 (*.f64 (pow.f64 y 6) (exp.f64 1))) (exp.f64 1))))
(fma.f64 -1/2 (*.f64 (*.f64 y y) (E.f64)) (fma.f64 1/6 (*.f64 (pow.f64 y 4) (E.f64)) (fma.f64 -31/720 (*.f64 (pow.f64 y 6) (E.f64)) (E.f64))))
(+.f64 (*.f64 (E.f64) (+.f64 (*.f64 (pow.f64 y 4) 1/6) (*.f64 (pow.f64 y 6) -31/720))) (*.f64 (fma.f64 -1/2 (*.f64 y y) 1) (E.f64)))
(fma.f64 (E.f64) (fma.f64 (pow.f64 y 4) 1/6 (*.f64 (pow.f64 y 6) -31/720)) (*.f64 (fma.f64 -1/2 (*.f64 y y) 1) (E.f64)))
(*.f64 (E.f64) (+.f64 (fma.f64 (pow.f64 y 6) -31/720 1) (fma.f64 -1/2 (*.f64 y y) (*.f64 (pow.f64 y 4) 1/6))))
(*.f64 (E.f64) (fma.f64 -1/2 (*.f64 y y) (fma.f64 (pow.f64 y 4) 1/6 (fma.f64 (pow.f64 y 6) -31/720 1))))
(*.f64 (E.f64) (fma.f64 y (fma.f64 1/6 (pow.f64 y 3) (*.f64 -1/2 y)) (fma.f64 (pow.f64 y 6) -31/720 1)))

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 42 to 17 computations (59.5% saved)

series5.0ms (0%)

Counts
3 → 40
Calls

12 calls:

TimeVariablePointExpression
1.0ms
y
@inf
(pow.f64 (sqrt.f64 (cos.f64 y)) 2)
1.0ms
y
@-inf
(pow.f64 (sqrt.f64 (cos.f64 y)) 2)
1.0ms
y
@0
(pow.f64 (sqrt.f64 (cos.f64 y)) 2)
0.0ms
x
@0
(*.f64 x (pow.f64 (sqrt.f64 (cos.f64 y)) 2))
0.0ms
y
@0
(sqrt.f64 (cos.f64 y))

rewrite69.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
608×pow1_binary64
560×add-log-exp_binary64
560×log1p-expm1-u_binary64
560×expm1-log1p-u_binary64
546×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify146.0ms (1.2%)

Algorithm
egg-herbie
Rules
782×fma-def_binary64
640×distribute-rgt-in_binary64
629×distribute-rgt-out_binary64
577×associate-*l*_binary64
566×distribute-lft-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
043310
1103304
2268293
3861291
43441291
55854291
66196291
76426291
86643291
96916291
107253291
Stop Event
node limit
Counts
88 → 69
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))))
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 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)
(+.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)
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
1
(+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))
(+.f64 1 (*.f64 -1/2 (*.f64 y y)))
(fma.f64 -1/2 (*.f64 y y) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))))
(+.f64 1 (fma.f64 -1/2 (*.f64 y y) (*.f64 1/24 (pow.f64 y 4))))
(fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) 1))
(fma.f64 (*.f64 y y) (fma.f64 y (*.f64 y 1/24) -1/2) 1)
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))))
(fma.f64 -1/720 (pow.f64 y 6) (+.f64 1 (fma.f64 -1/2 (*.f64 y y) (*.f64 1/24 (pow.f64 y 4)))))
(+.f64 (fma.f64 -1/2 (*.f64 y y) (*.f64 1/24 (pow.f64 y 4))) (fma.f64 -1/720 (pow.f64 y 6) 1))
(fma.f64 -1/720 (pow.f64 y 6) (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) 1)))
(fma.f64 (*.f64 y y) (fma.f64 y (*.f64 y 1/24) -1/2) (fma.f64 -1/720 (pow.f64 y 6) 1))
(fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) (fma.f64 -1/720 (pow.f64 y 6) 1)))
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 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 (*.f64 y y) x) x)
(*.f64 (fma.f64 -1/2 (*.f64 y y) 1) x)
(fma.f64 -1/2 (*.f64 y (*.f64 y x)) 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 (pow.f64 y 4) x) (fma.f64 -1/2 (*.f64 (*.f64 y y) x) x))
(+.f64 x (*.f64 x (fma.f64 -1/2 (*.f64 y y) (*.f64 1/24 (pow.f64 y 4)))))
(*.f64 x (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) 1)))
(*.f64 (fma.f64 (*.f64 y y) (fma.f64 y (*.f64 y 1/24) -1/2) 1) x)
(*.f64 (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) 1)) 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 (pow.f64 y 6) x) (fma.f64 1/24 (*.f64 (pow.f64 y 4) x) (fma.f64 -1/2 (*.f64 (*.f64 y y) x) x)))
(fma.f64 -1/720 (*.f64 (pow.f64 y 6) x) (+.f64 x (*.f64 x (fma.f64 -1/2 (*.f64 y y) (*.f64 1/24 (pow.f64 y 4))))))
(+.f64 x (*.f64 x (fma.f64 -1/720 (pow.f64 y 6) (fma.f64 -1/2 (*.f64 y y) (*.f64 1/24 (pow.f64 y 4))))))
(*.f64 x (fma.f64 (*.f64 y y) (fma.f64 y (*.f64 y 1/24) -1/2) (fma.f64 -1/720 (pow.f64 y 6) 1)))
(*.f64 x (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) (fma.f64 -1/720 (pow.f64 y 6) 1))))
(*.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)
1
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) 1)
(fma.f64 -1/4 (*.f64 y y) 1)
(fma.f64 (*.f64 y y) -1/4 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 (pow.f64 y 4) -1/96))
(fma.f64 (*.f64 y y) -1/4 (fma.f64 (pow.f64 y 4) -1/96 1))
(fma.f64 y (*.f64 y -1/4) (fma.f64 (pow.f64 y 4) -1/96 1))
(fma.f64 (*.f64 y y) (fma.f64 y (*.f64 y -1/96) -1/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 (pow.f64 y 6) -19/5760)))
(+.f64 (fma.f64 (*.f64 y y) -1/4 1) (fma.f64 (pow.f64 y 4) -1/96 (*.f64 (pow.f64 y 6) -19/5760)))
(fma.f64 y (*.f64 y -1/4) (fma.f64 (pow.f64 y 6) -19/5760 (fma.f64 (pow.f64 y 4) -1/96 1)))
(fma.f64 (*.f64 y y) (fma.f64 y (*.f64 y -1/96) -1/4) (fma.f64 (pow.f64 y 6) -19/5760 1))
(fma.f64 (pow.f64 y 4) -1/96 (fma.f64 y (*.f64 y -1/4) (fma.f64 (pow.f64 y 6) -19/5760 1)))

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 39 to 10 computations (74.4% saved)

series14.0ms (0.1%)

Counts
3 → 53
Calls

18 calls:

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

rewrite68.0ms (0.6%)

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

Useful iterations: 1 (0.0ms)

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

simplify61.0ms (0.5%)

Algorithm
egg-herbie
Rules
208×fma-def_binary64
107×fma-neg_binary64
36×cancel-sign-sub-inv_binary64
28×distribute-rgt-neg-in_binary64
25×sub-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
014633
126607
254607
370607
492607
5152607
6255607
7358607
8463607
9615607
10698607
11745607
12752607
Stop Event
saturated
Counts
112 → 67
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (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))
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 -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
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(neg.f64 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 z (neg.f64 (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(neg.f64 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 z (neg.f64 (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(neg.f64 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 z (neg.f64 (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(neg.f64 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 z (neg.f64 (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(neg.f64 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 z (neg.f64 (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(neg.f64 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 z (neg.f64 (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(neg.f64 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 z (neg.f64 (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(neg.f64 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 z (neg.f64 (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(neg.f64 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 z (neg.f64 (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(neg.f64 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 z (neg.f64 (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(neg.f64 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 z (neg.f64 (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(neg.f64 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 z (neg.f64 (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(neg.f64 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 z (neg.f64 (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(neg.f64 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 z (neg.f64 (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(neg.f64 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 z (neg.f64 (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(neg.f64 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 z (neg.f64 (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(neg.f64 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 z (neg.f64 (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(neg.f64 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 z (neg.f64 (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(neg.f64 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 z (neg.f64 (sqrt.f64 (sin.f64 y))))
(*.f64 -1 (*.f64 z (sqrt.f64 (sin.f64 y))))
(neg.f64 (*.f64 z (sqrt.f64 (sin.f64 y))))
(*.f64 z (neg.f64 (sqrt.f64 (sin.f64 y))))
(*.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (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)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (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)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
x
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (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)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(*.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(*.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (*.f64 (cos.f64 y) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 (cos.f64 y) x))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (cos.f64 y) x))

eval201.0ms (1.7%)

Compiler

Compiled 7224 to 2497 computations (65.4% saved)

prune298.0ms (2.5%)

Pruning

28 alts after pruning (24 fresh and 4 done)

PrunedKeptTotal
New46111472
Fresh41317
Picked101
Done145
Total46728495
Error
0.0b
Counts
495 → 28
Alt Table
Click to see full alt table
StatusErrorProgram
0.3b
(fma.f64 (*.f64 x (cbrt.f64 (pow.f64 (cos.f64 y) 2))) (cbrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
41.7b
x
21.3b
(-.f64 (*.f64 x (cos.f64 y)) (cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))
44.9b
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 z (neg.f64 y)) (*.f64 z (neg.f64 y)))) (-.f64 x (*.f64 z (neg.f64 y))))
0.1b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
42.7b
(fma.f64 (*.f64 (neg.f64 z) (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) x)
3.8b
(fma.f64 (*.f64 (neg.f64 z) (cbrt.f64 (pow.f64 (sin.f64 y) 2))) (cbrt.f64 (sin.f64 y)) (*.f64 x (cos.f64 y)))
0.8b
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
33.5b
(+.f64 x (*.f64 y (-.f64 (*.f64 x (*.f64 y -1/2)) z)))
0.3b
(-.f64 (*.f64 x (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 y)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 y)))))) (*.f64 z (sin.f64 y)))
36.7b
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2)
0.2b
(-.f64 (*.f64 x (log.f64 (exp.f64 (cos.f64 y)))) (*.f64 z (sin.f64 y)))
32.3b
(fma.f64 y (neg.f64 z) x)
1.3b
(pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 3)
32.3b
(-.f64 x (*.f64 y z))
0.3b
(-.f64 (*.f64 x (log.f64 (pow.f64 (exp.f64 1) (cos.f64 y)))) (*.f64 z (sin.f64 y)))
0.2b
(+.f64 (*.f64 x (cos.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))
16.6b
(-.f64 (*.f64 x (pow.f64 (sqrt.f64 (cos.f64 y)) 2)) (*.f64 z (sin.f64 y)))
0.2b
(-.f64 (*.f64 x (cbrt.f64 (pow.f64 (cos.f64 y) 3))) (*.f64 z (sin.f64 y)))
24.7b
(-.f64 (*.f64 x (log.f64 (exp.f64 (cos.f64 y)))) (*.f64 y z))
0.4b
(-.f64 (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 y)) 3)) (*.f64 z (sin.f64 y)))
28.1b
(*.f64 (cos.f64 y) x)
14.5b
(-.f64 x (*.f64 z (sin.f64 y)))
26.4b
(-.f64 (*.f64 x (cos.f64 y)) (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
34.8b
(*.f64 (sin.f64 y) (neg.f64 z))
52.1b
(*.f64 y (neg.f64 z))
0.2b
(-.f64 (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 y))) 1)) (*.f64 z (sin.f64 y)))
31.0b
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))
Compiler

Compiled 733 to 485 computations (33.8% saved)

localize42.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 63 to 11 computations (82.5% saved)

series7.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite77.0ms (0.6%)

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

Useful iterations: 1 (0.0ms)

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

simplify58.0ms (0.5%)

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

Useful iterations: 3 (0.0ms)

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

localize5.0ms (0%)

Compiler

Compiled 11 to 5 computations (54.5% saved)

localize7.0ms (0.1%)

Compiler

Compiled 13 to 5 computations (61.5% saved)

localize37.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 43 to 14 computations (67.4% saved)

series10.0ms (0.1%)

Counts
2 → 8
Calls

12 calls:

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

rewrite122.0ms (1%)

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

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

localize15.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 30 to 8 computations (73.3% saved)

series3.0ms (0%)

Counts
1 → 33
Calls

9 calls:

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

rewrite59.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
773×pow1_binary64
709×add-log-exp_binary64
708×log1p-expm1-u_binary64
708×expm1-log1p-u_binary64
691×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0918
11829
222539
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(fma.f64 (*.f64 (neg.f64 z) (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (sin.f64 y)) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z (sin.f64 y)) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 x (*.f64 z (sin.f64 y)))) 1)))) (#(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 (*.f64 z (sin.f64 y)) 3) (pow.f64 x 3)) (+.f64 (*.f64 (*.f64 z (sin.f64 y)) (*.f64 z (sin.f64 y))) (-.f64 (*.f64 x x) (*.f64 (*.f64 z (sin.f64 y)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 z (sin.f64 y)) (*.f64 z (sin.f64 y))) (*.f64 x x)) (-.f64 (*.f64 z (sin.f64 y)) x))))) (#(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)))))))))

simplify31.0ms (0.3%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
09288
116262
232262
345262
457262
588262
6148262
7196262
8254262
9341262
10391262
11397262
Stop Event
saturated
Counts
54 → 26
Calls
Call 1
Inputs
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 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)
(*.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 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)
(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)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) 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)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) 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 (*.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)
(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)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) 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)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) 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 (*.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)
(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)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) 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)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) 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)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) 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)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) 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)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) 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)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) 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)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) 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)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) 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)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) 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)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) 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 (*.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)
(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)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) 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)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) 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)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) 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)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) 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)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) 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)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) 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)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) 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)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(fma.f64 z (neg.f64 (sin.f64 y)) x)

eval92.0ms (0.8%)

Compiler

Compiled 6000 to 1871 computations (68.8% saved)

prune150.0ms (1.2%)

Pruning

30 alts after pruning (23 fresh and 7 done)

PrunedKeptTotal
New3206326
Fresh21719
Picked011
Done268
Total32430354
Error
0.0b
Counts
354 → 30
Alt Table
Click to see full alt table
StatusErrorProgram
21.3b
(-.f64 (*.f64 x (cos.f64 y)) (cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))
0.1b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
0.3b
(fma.f64 (*.f64 x (cbrt.f64 (pow.f64 (cos.f64 y) 2))) (cbrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
44.9b
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 z (neg.f64 y)) (*.f64 z (neg.f64 y)))) (-.f64 x (*.f64 z (neg.f64 y))))
42.7b
(fma.f64 (*.f64 (neg.f64 z) (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) x)
3.8b
(fma.f64 (*.f64 (neg.f64 z) (cbrt.f64 (pow.f64 (sin.f64 y) 2))) (cbrt.f64 (sin.f64 y)) (*.f64 x (cos.f64 y)))
0.8b
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
33.5b
(+.f64 x (*.f64 y (-.f64 (*.f64 x (*.f64 y -1/2)) z)))
0.3b
(-.f64 (*.f64 x (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 y)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 y)))))) (*.f64 z (sin.f64 y)))
36.7b
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2)
14.5b
(+.f64 x (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))
0.2b
(-.f64 (*.f64 x (log.f64 (exp.f64 (cos.f64 y)))) (*.f64 z (sin.f64 y)))
32.3b
(fma.f64 y (neg.f64 z) x)
1.3b
(pow.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 3)
32.3b
(-.f64 x (*.f64 y z))
0.3b
(-.f64 (*.f64 x (log.f64 (pow.f64 (exp.f64 1) (cos.f64 y)))) (*.f64 z (sin.f64 y)))
41.7b
x
28.1b
(*.f64 (cos.f64 y) x)
32.4b
(-.f64 x (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
34.4b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 (*.f64 (sin.f64 y) (sqrt.f64 z)) (sqrt.f64 z)))
16.6b
(-.f64 (*.f64 x (pow.f64 (sqrt.f64 (cos.f64 y)) 2)) (*.f64 z (sin.f64 y)))
0.2b
(-.f64 (*.f64 x (cbrt.f64 (pow.f64 (cos.f64 y) 3))) (*.f64 z (sin.f64 y)))
0.4b
(-.f64 (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 y)) 3)) (*.f64 z (sin.f64 y)))
26.6b
(-.f64 (*.f64 x (cos.f64 y)) (pow.f64 (pow.f64 (pow.f64 (*.f64 z (sin.f64 y)) 1/4) 2) 2))
24.7b
(-.f64 (*.f64 x (log.f64 (exp.f64 (cos.f64 y)))) (*.f64 y z))
14.5b
(-.f64 x (*.f64 z (sin.f64 y)))
34.8b
(*.f64 (sin.f64 y) (neg.f64 z))
52.1b
(*.f64 y (neg.f64 z))
0.2b
(-.f64 (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 y))) 1)) (*.f64 z (sin.f64 y)))
31.0b
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))
Compiler

Compiled 760 to 507 computations (33.3% saved)

localize23.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 y))) 1))
0.2b
(exp.f64 (log1p.f64 (cos.f64 y)))
0.3b
(log1p.f64 (cos.f64 y))
0.3b
(-.f64 (exp.f64 (log1p.f64 (cos.f64 y))) 1)
Compiler

Compiled 49 to 18 computations (63.3% saved)

series203.0ms (1.7%)

Counts
4 → 60
Calls

15 calls:

TimeVariablePointExpression
124.0ms
y
@inf
(-.f64 (exp.f64 (log1p.f64 (cos.f64 y))) 1)
55.0ms
x
@0
(*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 y))) 1))
15.0ms
y
@-inf
(-.f64 (exp.f64 (log1p.f64 (cos.f64 y))) 1)
3.0ms
y
@-inf
(log1p.f64 (cos.f64 y))
1.0ms
y
@0
(-.f64 (exp.f64 (log1p.f64 (cos.f64 y))) 1)

rewrite164.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
758×pow1_binary64
700×add-log-exp_binary64
699×expm1-log1p-u_binary64
698×log1p-expm1-u_binary64
685×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify161.0ms (1.3%)

Algorithm
egg-herbie
Rules
886×fma-def_binary64
640×distribute-rgt-in_binary64
629×distribute-rgt-out_binary64
574×associate-*l*_binary64
566×distribute-lft-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
049458
1119450
2307435
3951433
43651433
56064433
66406433
76636433
86853433
97126433
107463433
Stop Event
node limit
Counts
154 → 124
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))))
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(log.f64 2)
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) (log.f64 2))
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 (log.f64 2) (*.f64 -1/96 (pow.f64 y 4))))
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 (log.f64 2) (+.f64 (*.f64 -1/1440 (pow.f64 y 6)) (*.f64 -1/96 (pow.f64 y 4)))))
(log.f64 (+.f64 1 (cos.f64 y)))
(log.f64 (+.f64 1 (cos.f64 y)))
(log.f64 (+.f64 1 (cos.f64 y)))
(log.f64 (+.f64 1 (cos.f64 y)))
(log.f64 (+.f64 1 (cos.f64 y)))
(log.f64 (+.f64 1 (cos.f64 y)))
(log.f64 (+.f64 1 (cos.f64 y)))
(log.f64 (+.f64 1 (cos.f64 y)))
2
(+.f64 2 (*.f64 -1/2 (pow.f64 y 2)))
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 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)
(+.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)
Outputs
1
(+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))
(+.f64 1 (*.f64 -1/2 (*.f64 y y)))
(fma.f64 -1/2 (*.f64 y y) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))))
(+.f64 1 (fma.f64 -1/2 (*.f64 y y) (*.f64 1/24 (pow.f64 y 4))))
(+.f64 (fma.f64 -1/2 (*.f64 y y) 1) (*.f64 1/24 (pow.f64 y 4)))
(fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) 1))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))))
(fma.f64 -1/720 (pow.f64 y 6) (+.f64 1 (fma.f64 -1/2 (*.f64 y y) (*.f64 1/24 (pow.f64 y 4)))))
(+.f64 (fma.f64 -1/2 (*.f64 y y) (*.f64 1/24 (pow.f64 y 4))) (fma.f64 -1/720 (pow.f64 y 6) 1))
(fma.f64 -1/720 (pow.f64 y 6) (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) 1)))
(fma.f64 (*.f64 y y) (fma.f64 (*.f64 y y) 1/24 -1/2) (fma.f64 -1/720 (pow.f64 y 6) 1))
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(log.f64 2)
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) (log.f64 2))
(fma.f64 -1/4 (*.f64 y y) (log.f64 2))
(fma.f64 (*.f64 y y) -1/4 (log.f64 2))
(fma.f64 y (*.f64 y -1/4) (log.f64 2))
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 (log.f64 2) (*.f64 -1/96 (pow.f64 y 4))))
(+.f64 (fma.f64 -1/4 (*.f64 y y) (log.f64 2)) (*.f64 (pow.f64 y 4) -1/96))
(fma.f64 (*.f64 y y) -1/4 (fma.f64 (pow.f64 y 4) -1/96 (log.f64 2)))
(fma.f64 y (*.f64 y -1/4) (fma.f64 (pow.f64 y 4) -1/96 (log.f64 2)))
(+.f64 (*.f64 -1/4 (pow.f64 y 2)) (+.f64 (log.f64 2) (+.f64 (*.f64 -1/1440 (pow.f64 y 6)) (*.f64 -1/96 (pow.f64 y 4)))))
(+.f64 (fma.f64 -1/4 (*.f64 y y) (log.f64 2)) (fma.f64 -1/1440 (pow.f64 y 6) (*.f64 (pow.f64 y 4) -1/96)))
(+.f64 (fma.f64 (*.f64 y y) -1/4 (log.f64 2)) (fma.f64 (pow.f64 y 4) -1/96 (*.f64 (pow.f64 y 6) -1/1440)))
(fma.f64 y (*.f64 y -1/4) (fma.f64 (pow.f64 y 4) -1/96 (fma.f64 (pow.f64 y 6) -1/1440 (log.f64 2))))
(log.f64 (+.f64 1 (cos.f64 y)))
(log1p.f64 (cos.f64 y))
(log.f64 (+.f64 1 (cos.f64 y)))
(log1p.f64 (cos.f64 y))
(log.f64 (+.f64 1 (cos.f64 y)))
(log1p.f64 (cos.f64 y))
(log.f64 (+.f64 1 (cos.f64 y)))
(log1p.f64 (cos.f64 y))
(log.f64 (+.f64 1 (cos.f64 y)))
(log1p.f64 (cos.f64 y))
(log.f64 (+.f64 1 (cos.f64 y)))
(log1p.f64 (cos.f64 y))
(log.f64 (+.f64 1 (cos.f64 y)))
(log1p.f64 (cos.f64 y))
(log.f64 (+.f64 1 (cos.f64 y)))
(log1p.f64 (cos.f64 y))
2
(+.f64 2 (*.f64 -1/2 (pow.f64 y 2)))
(+.f64 2 (*.f64 -1/2 (*.f64 y y)))
(fma.f64 -1/2 (*.f64 y y) 2)
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))))
(+.f64 2 (fma.f64 -1/2 (*.f64 y y) (*.f64 1/24 (pow.f64 y 4))))
(+.f64 (*.f64 1/24 (pow.f64 y 4)) (fma.f64 -1/2 (*.f64 y y) 2))
(fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) 2))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))))
(fma.f64 -1/720 (pow.f64 y 6) (+.f64 2 (fma.f64 -1/2 (*.f64 y y) (*.f64 1/24 (pow.f64 y 4)))))
(+.f64 (fma.f64 -1/2 (*.f64 y y) (*.f64 1/24 (pow.f64 y 4))) (fma.f64 -1/720 (pow.f64 y 6) 2))
(fma.f64 -1/720 (pow.f64 y 6) (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) 2)))
(fma.f64 (*.f64 y y) (fma.f64 (*.f64 y y) 1/24 -1/2) (fma.f64 -1/720 (pow.f64 y 6) 2))
(fma.f64 -1/2 (*.f64 y y) (fma.f64 -1/720 (pow.f64 y 6) (fma.f64 1/24 (pow.f64 y 4) 2)))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 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 (*.f64 y y) x) x)
(*.f64 (fma.f64 -1/2 (*.f64 y y) 1) 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 (pow.f64 y 4) x) (fma.f64 -1/2 (*.f64 (*.f64 y y) x) x))
(+.f64 x (*.f64 x (fma.f64 -1/2 (*.f64 y y) (*.f64 1/24 (pow.f64 y 4)))))
(*.f64 x (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) 1)))
(fma.f64 (*.f64 (*.f64 y y) (fma.f64 (*.f64 y y) 1/24 -1/2)) x x)
(*.f64 (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) 1)) 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 (pow.f64 y 6) x) (fma.f64 1/24 (*.f64 (pow.f64 y 4) x) (fma.f64 -1/2 (*.f64 (*.f64 y y) x) x)))
(fma.f64 -1/720 (*.f64 (pow.f64 y 6) x) (+.f64 x (*.f64 x (fma.f64 -1/2 (*.f64 y y) (*.f64 1/24 (pow.f64 y 4))))))
(+.f64 x (*.f64 x (fma.f64 -1/720 (pow.f64 y 6) (fma.f64 -1/2 (*.f64 y y) (*.f64 1/24 (pow.f64 y 4))))))
(*.f64 x (fma.f64 (*.f64 y y) (fma.f64 (*.f64 y y) 1/24 -1/2) (fma.f64 -1/720 (pow.f64 y 6) 1)))
(*.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)

localize17.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 42 to 24 computations (42.9% saved)

series11.0ms (0.1%)

Counts
3 → 108
Calls

27 calls:

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

rewrite150.0ms (1.2%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01039
122337
2316637
Stop Event
node limit
Counts
3 → 201
Calls
Call 1
Inputs
(*.f64 y (-.f64 (*.f64 x (*.f64 y -1/2)) z))
(+.f64 x (*.f64 y (-.f64 (*.f64 x (*.f64 y -1/2)) z)))
(-.f64 (*.f64 x (*.f64 y -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 x (*.f64 y -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 x (*.f64 y -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 x (*.f64 y -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 x (*.f64 y -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)) (-.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) 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)) (-.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) 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)) (-.f64 (*.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 (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)) (-.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) 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)) (-.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) 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)) (-.f64 (*.f64 y (-.f64 (*.f64 -1/2 (*.f64 y x)) z)) 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 x (*.f64 y -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 x (*.f64 y -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 x (*.f64 y -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 x (*.f64 y -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 x (*.f64 y -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 x (*.f64 y -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 x (*.f64 y -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 x (*.f64 y -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 x (*.f64 y -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 x (*.f64 y -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 -1/2 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)))) (+.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 -1/2 x))))))) (#(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 -1/2 x) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (*.f64 -1/2 x) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 y -1/2) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 y -1/2) (*.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 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 -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 y y) 1/4)) (*.f64 (cbrt.f64 (*.f64 y -1/2)) x) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 y y) 1/4)) (*.f64 (cbrt.f64 (*.f64 y -1/2)) x) (*.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 x) 2) (*.f64 (cbrt.f64 x) (*.f64 y -1/2)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (*.f64 y -1/2)) (*.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 y -1/2)) (*.f64 (sqrt.f64 (*.f64 y -1/2)) x) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y -1/2)) (*.f64 (sqrt.f64 (*.f64 y -1/2)) x) (*.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 x) (*.f64 (sqrt.f64 x) (*.f64 y -1/2)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 y -1/2)) (*.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 x (*.f64 y -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 x (*.f64 y -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 x (*.f64 y -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 x (*.f64 y -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 x (*.f64 y -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 x (*.f64 y -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 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 x (cbrt.f64 (*.f64 (*.f64 y y) 1/4))) (cbrt.f64 (*.f64 y -1/2)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 (*.f64 (*.f64 y y) 1/4))) (cbrt.f64 (*.f64 y -1/2)) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (*.f64 y -1/2))) (sqrt.f64 (*.f64 y -1/2)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (*.f64 y -1/2))) (sqrt.f64 (*.f64 y -1/2)) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 y -1/2) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 y -1/2) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (neg.f64 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 y -1/2) (sqrt.f64 x)) (sqrt.f64 x) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 y -1/2) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (neg.f64 z) 1))))))

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

localize23.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 34 to 12 computations (64.7% saved)

series5.0ms (0%)

Counts
1 → 22
Calls

9 calls:

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

rewrite57.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
963×pow1_binary64
894×add-log-exp_binary64
893×log1p-expm1-u_binary64
893×expm1-log1p-u_binary64
99×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0109
12159
224579
Stop Event
node limit
Counts
1 → 38
Calls
Call 1
Inputs
(-.f64 x (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
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 (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 (*.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 z (neg.f64 (sin.f64 y))) 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 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 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 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))))))))

simplify51.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
010165
121165
237165
350165
466165
5100165
6155165
7205165
8270165
9344165
10394165
11400165
Stop Event
saturated
Counts
60 → 44
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
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)))
Outputs
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(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)
(-.f64 x (*.f64 z (sin.f64 y)))
(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)
(-.f64 x (*.f64 z (sin.f64 y)))
(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)
(-.f64 x (*.f64 z (sin.f64 y)))
(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)
(-.f64 x (*.f64 z (sin.f64 y)))
(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)
(-.f64 x (*.f64 z (sin.f64 y)))
(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)
(-.f64 x (*.f64 z (sin.f64 y)))
(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)
(-.f64 x (*.f64 z (sin.f64 y)))
(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)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) x)
(fma.f64 z (neg.f64 (sin.f64 y)) x)
x
x
(-.f64 x (*.f64 z (sin.f64 y)))
(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 (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 (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 (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 (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 (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 (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 (neg.f64 z) (sin.f64 y) x)
(fma.f64 z (neg.f64 (sin.f64 y)) x)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 50 to 12 computations (76% saved)

series31.0ms (0.3%)

Counts
2 → 40
Calls

18 calls:

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

rewrite129.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
587×log-prod_binary64
449×fma-def_binary64
389×pow-prod-down_binary64
309×pow2_binary64
214×pow-to-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify146.0ms (1.2%)

Algorithm
egg-herbie
Rules
849×distribute-rgt-in_binary64
557×times-frac_binary64
513×associate-*r*_binary64
405×associate-*l*_binary64
345×unswap-sqr_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03143866
111273432
245213376
Stop Event
node limit
Counts
277 → 289
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))) (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3) (cos.f64 y)))) (*.f64 2/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3) (cos.f64 y))))) x))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3) (cos.f64 y)))) (*.f64 2/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3) (cos.f64 y))))) x) (*.f64 (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 z (sin.f64 y))) 1/9) (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 -1)) 1/3) (pow.f64 (cos.f64 y) 2)))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 z (sin.f64 y))) 1/9) (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 -1)) 1/3) (pow.f64 (cos.f64 y) 2)))) (*.f64 (pow.f64 (*.f64 1 (*.f64 z (sin.f64 y))) 1/3) (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2)))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2))))) (cbrt.f64 -1))))) (pow.f64 x 2))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))) (+.f64 (*.f64 (+.f64 (*.f64 -2/27 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3)))) (+.f64 (*.f64 1/3 (*.f64 (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2)))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2))))) (cos.f64 y)) (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/9) (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (*.f64 z (sin.f64 y))) 1/3) (*.f64 (cbrt.f64 -1) (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 z (sin.f64 y))) 1/3) (/.f64 (+.f64 (*.f64 1/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 -2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3))))) (cbrt.f64 -1)))) (*.f64 2/27 (*.f64 (pow.f64 1 1/9) (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 z (sin.f64 y)))))))) (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 1/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 -2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3)))))))))) (pow.f64 x 3)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3) (cos.f64 y)))) (*.f64 2/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3) (cos.f64 y))))) x) (*.f64 (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 z (sin.f64 y))) 1/9) (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 -1)) 1/3) (pow.f64 (cos.f64 y) 2)))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 z (sin.f64 y))) 1/9) (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 -1)) 1/3) (pow.f64 (cos.f64 y) 2)))) (*.f64 (pow.f64 (*.f64 1 (*.f64 z (sin.f64 y))) 1/3) (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2)))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2))))) (cbrt.f64 -1))))) (pow.f64 x 2)))))
(*.f64 (pow.f64 1 1/3) x)
(+.f64 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) z)) (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) z))) y) (*.f64 (pow.f64 1 1/3) x))
(+.f64 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) z)) (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) z))) y) (+.f64 (*.f64 (pow.f64 1 1/3) x) (*.f64 (pow.f64 y 2) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))))) (*.f64 (pow.f64 (*.f64 1 x) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2))))))))))
(+.f64 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) z)) (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) z))) y) (+.f64 (*.f64 (pow.f64 1 1/3) x) (+.f64 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1/6 z) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 z 3))) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))) z))))))) (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))) z))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9) (*.f64 z (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2))))))) (*.f64 (pow.f64 (*.f64 1 x) 1/3) (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (+.f64 (*.f64 -1/6 z) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 z 3))) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))) z))))))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))) z))))))))) (*.f64 (pow.f64 y 2) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))))) (*.f64 (pow.f64 (*.f64 1 x) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2)))))))))))
(*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (sin.f64 y))) (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (sin.f64 y)))) z) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (sin.f64 y))) (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (sin.f64 y)))) z) (+.f64 (*.f64 (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (cos.f64 y) x)) 1/9) (pow.f64 (sin.f64 y) 2))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (cos.f64 y) x)) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 (pow.f64 (*.f64 1 (*.f64 (cos.f64 y) x)) 1/3) (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2))))))) (pow.f64 z 2)) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (sin.f64 y))) (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (sin.f64 y)))) z) (+.f64 (*.f64 (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (cos.f64 y) x)) 1/9) (pow.f64 (sin.f64 y) 2))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (cos.f64 y) x)) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 (pow.f64 (*.f64 1 (*.f64 (cos.f64 y) x)) 1/3) (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2))))))) (pow.f64 z 2)) (+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)) (*.f64 (+.f64 (*.f64 2/27 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (pow.f64 (sin.f64 y) 3)))) (+.f64 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (cos.f64 y) x)) 1/3) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (pow.f64 (sin.f64 y) 3))) (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (pow.f64 (sin.f64 y) 3))))))) (*.f64 2/27 (*.f64 (pow.f64 1 1/9) (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (cos.f64 y) x))))) (pow.f64 (*.f64 1 (*.f64 (cos.f64 y) x)) 1/3)) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (pow.f64 (sin.f64 y) 3))) (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (pow.f64 (sin.f64 y) 3))))))) (*.f64 -1/3 (*.f64 (*.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2)))) (sin.f64 y)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/9)))))) (pow.f64 z 3)))))
(*.f64 (pow.f64 (*.f64 1 (*.f64 z (sin.f64 y))) 1/3) (cbrt.f64 -1))
(+.f64 (*.f64 (pow.f64 (*.f64 1 (*.f64 z (sin.f64 y))) 1/3) (cbrt.f64 -1)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (*.f64 (cos.f64 y) x)))))
(+.f64 (*.f64 (pow.f64 (*.f64 1 (*.f64 z (sin.f64 y))) 1/3) (cbrt.f64 -1)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (*.f64 (cos.f64 y) x)))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 7) (pow.f64 (sin.f64 y) 7))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 7)) 1/3) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))))))
(+.f64 (*.f64 (pow.f64 (*.f64 1 (*.f64 z (sin.f64 y))) 1/3) (cbrt.f64 -1)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (*.f64 (cos.f64 y) x)))) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 7) (pow.f64 (sin.f64 y) 7))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 7)) 1/3) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3) (/.f64 (*.f64 (+.f64 (*.f64 1/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 -2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3))))) (pow.f64 x 3)) (pow.f64 (cbrt.f64 -1) 2)))))))
(pow.f64 x 1/3)
(+.f64 (pow.f64 x 1/3) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9) (*.f64 y z))))
(+.f64 (pow.f64 x 1/3) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2))))))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9) (*.f64 y z)))))
(+.f64 (pow.f64 x 1/3) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2))))))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9) (*.f64 y z))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/6 z) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 z 3))) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))) z)))))))))))
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(pow.f64 (*.f64 (cos.f64 y) x) 1/3)
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/9) (*.f64 z (sin.f64 y)))) (pow.f64 (*.f64 (cos.f64 y) x) 1/3))
(+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 7) (pow.f64 x 7))) 1/9) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/9) (*.f64 z (sin.f64 y)))) (pow.f64 (*.f64 (cos.f64 y) x) 1/3)))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (*.f64 (pow.f64 z 3) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (pow.f64 (sin.f64 y) 3))) (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (pow.f64 (sin.f64 y) 3)))))))) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 7) (pow.f64 x 7))) 1/9) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/9) (*.f64 z (sin.f64 y)))) (pow.f64 (*.f64 (cos.f64 y) x) 1/3))))
Outputs
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y))))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))) (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3) (cos.f64 y)))) (*.f64 2/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3) (cos.f64 y))))) x))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (*.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4)) (cos.f64 y))) 1) x))
(fma.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4)) (cos.f64 y)) (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18)) (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18)) x (*.f64 z (neg.f64 (sin.f64 y))))
(fma.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 -1 (cbrt.f64 -1))) (cos.f64 y)) (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18)) (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18)) x (*.f64 z (neg.f64 (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3) (cos.f64 y)))) (*.f64 2/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3) (cos.f64 y))))) x) (*.f64 (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 z (sin.f64 y))) 1/9) (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 -1)) 1/3) (pow.f64 (cos.f64 y) 2)))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 z (sin.f64 y))) 1/9) (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 -1)) 1/3) (pow.f64 (cos.f64 y) 2)))) (*.f64 (pow.f64 (*.f64 1 (*.f64 z (sin.f64 y))) 1/3) (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2)))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2))))) (cbrt.f64 -1))))) (pow.f64 x 2))))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (fma.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4)) (cos.f64 y))) 1) x (*.f64 (fma.f64 -1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 z (sin.f64 y))) 1/18) (pow.f64 (/.f64 1 (*.f64 z (sin.f64 y))) 1/18)) (*.f64 (cbrt.f64 (/.f64 1 (cbrt.f64 -1))) (pow.f64 (cos.f64 y) 2))) (fma.f64 2/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 z (sin.f64 y))) 1/18) (pow.f64 (/.f64 1 (*.f64 z (sin.f64 y))) 1/18)) (*.f64 (cbrt.f64 (/.f64 1 (cbrt.f64 -1))) (pow.f64 (cos.f64 y) 2))) (*.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (cbrt.f64 -1) (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18)) (*.f64 (pow.f64 (cos.f64 y) 2) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))))) -1/9))))) (*.f64 x x))))
(-.f64 (fma.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4)) (cos.f64 y)) (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18)) (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18)) x (*.f64 (+.f64 (*.f64 (cbrt.f64 -1) (*.f64 (*.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/18) (*.f64 (pow.f64 (cos.f64 y) 2) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))))))) -1/9)) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (cbrt.f64 -1))) (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (/.f64 (/.f64 1 z) (sin.f64 y)) 1/18) (pow.f64 (/.f64 (/.f64 1 z) (sin.f64 y)) 1/18)))) 1/9)) (*.f64 x x))) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 x (+.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 -1 (cbrt.f64 -1))) (cos.f64 y)) (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18)) (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18)) (*.f64 x (+.f64 (*.f64 (cbrt.f64 -1) (*.f64 (*.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/18) (*.f64 (pow.f64 (cos.f64 y) 2) (cbrt.f64 (/.f64 1 (*.f64 -1 (cbrt.f64 -1)))))))) -1/9)) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (cbrt.f64 -1))) (pow.f64 (cos.f64 y) 2)) (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 z) (sin.f64 y)) 1/18) (pow.f64 (/.f64 (/.f64 1 z) (sin.f64 y)) 1/18)) 1/9)))))) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))) (+.f64 (*.f64 (+.f64 (*.f64 -2/27 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3)))) (+.f64 (*.f64 1/3 (*.f64 (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2)))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2))))) (cos.f64 y)) (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/9) (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (*.f64 z (sin.f64 y))) 1/3) (*.f64 (cbrt.f64 -1) (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 z (sin.f64 y))) 1/3) (/.f64 (+.f64 (*.f64 1/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 -2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3))))) (cbrt.f64 -1)))) (*.f64 2/27 (*.f64 (pow.f64 1 1/9) (/.f64 (pow.f64 (cos.f64 y) 3) (*.f64 z (sin.f64 y)))))))) (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 1/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 -2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3)))))))))) (pow.f64 x 3)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3) (cos.f64 y)))) (*.f64 2/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3) (cos.f64 y))))) x) (*.f64 (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 z (sin.f64 y))) 1/9) (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 -1)) 1/3) (pow.f64 (cos.f64 y) 2)))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 z (sin.f64 y))) 1/9) (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 -1)) 1/3) (pow.f64 (cos.f64 y) 2)))) (*.f64 (pow.f64 (*.f64 1 (*.f64 z (sin.f64 y))) 1/3) (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2)))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3) (pow.f64 (cos.f64 y) 2))))) (cbrt.f64 -1))))) (pow.f64 x 2)))))
(fma.f64 -1 (*.f64 z (sin.f64 y)) (fma.f64 (+.f64 (*.f64 -2/27 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)) (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))))) (fma.f64 1/3 (*.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18)) (*.f64 (pow.f64 (cos.f64 y) 2) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))))) -1/9) (*.f64 (cos.f64 y) (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18) (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18)) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)))))) (fma.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (cbrt.f64 -1) (fma.f64 -2/3 (/.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))) (fma.f64 1/27 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)) (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)))) (*.f64 -2/9 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)) (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))))))) (cbrt.f64 -1)) (*.f64 2/27 (/.f64 (/.f64 (pow.f64 (cos.f64 y) 3) z) (sin.f64 y))))) (*.f64 -1/3 (fma.f64 1/27 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)) (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)))) (*.f64 -2/9 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)) (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)))))))))) (pow.f64 x 3) (fma.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4)) (cos.f64 y))) 1) x (*.f64 (fma.f64 -1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 z (sin.f64 y))) 1/18) (pow.f64 (/.f64 1 (*.f64 z (sin.f64 y))) 1/18)) (*.f64 (cbrt.f64 (/.f64 1 (cbrt.f64 -1))) (pow.f64 (cos.f64 y) 2))) (fma.f64 2/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 z (sin.f64 y))) 1/18) (pow.f64 (/.f64 1 (*.f64 z (sin.f64 y))) 1/18)) (*.f64 (cbrt.f64 (/.f64 1 (cbrt.f64 -1))) (pow.f64 (cos.f64 y) 2))) (*.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (cbrt.f64 -1) (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18)) (*.f64 (pow.f64 (cos.f64 y) 2) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))))) -1/9))))) (*.f64 x x)))))
(-.f64 (fma.f64 (fma.f64 -2/27 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)) (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)))) (fma.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/18) (*.f64 (pow.f64 (cos.f64 y) 2) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)))))) (*.f64 -1/9 (*.f64 (cos.f64 y) (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18) (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18)) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))))))) (fma.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (cbrt.f64 -1) (fma.f64 (*.f64 -2/3 (cbrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y)))) (/.f64 (*.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)) (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)))) -5/27) (cbrt.f64 -1)) (/.f64 (*.f64 2/27 (pow.f64 (cos.f64 y) 3)) (*.f64 z (sin.f64 y))))) (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)) (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)))) -5/27) -1/3)))) (pow.f64 x 3) (fma.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4)) (cos.f64 y)) (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18)) (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18)) x (*.f64 (+.f64 (*.f64 (cbrt.f64 -1) (*.f64 (*.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/18) (*.f64 (pow.f64 (cos.f64 y) 2) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))))))) -1/9)) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (cbrt.f64 -1))) (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 (pow.f64 (/.f64 (/.f64 1 z) (sin.f64 y)) 1/18) (pow.f64 (/.f64 (/.f64 1 z) (sin.f64 y)) 1/18)))) 1/9)) (*.f64 x x)))) (*.f64 z (sin.f64 y)))
(-.f64 (fma.f64 (fma.f64 -2/27 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)) (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)))) (fma.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/18) (*.f64 (pow.f64 (cos.f64 y) 2) (cbrt.f64 (/.f64 1 (*.f64 -1 (cbrt.f64 -1))))))) (*.f64 -1/9 (*.f64 (cos.f64 y) (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18) (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18)) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))))))) (fma.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (cbrt.f64 -1) (fma.f64 (*.f64 -2/3 (cbrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y)))) (/.f64 (*.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)) (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)))) -5/27) (cbrt.f64 -1)) (*.f64 (pow.f64 (cos.f64 y) 3) (/.f64 2/27 (*.f64 z (sin.f64 y)))))) (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)) (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)))) -5/27) -1/3)))) (pow.f64 x 3) (*.f64 x (+.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 -1 (cbrt.f64 -1))) (cos.f64 y)) (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18)) (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18)) (*.f64 x (+.f64 (*.f64 (cbrt.f64 -1) (*.f64 (*.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/18) (*.f64 (pow.f64 (cos.f64 y) 2) (cbrt.f64 (/.f64 1 (*.f64 -1 (cbrt.f64 -1)))))))) -1/9)) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (cbrt.f64 -1))) (pow.f64 (cos.f64 y) 2)) (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 z) (sin.f64 y)) 1/18) (pow.f64 (/.f64 (/.f64 1 z) (sin.f64 y)) 1/18)) 1/9))))))) (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) x)
x
(+.f64 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) z)) (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) z))) y) (*.f64 (pow.f64 1 1/3) x))
(fma.f64 (*.f64 (*.f64 z (*.f64 (pow.f64 (pow.f64 x 4) 1/18) (pow.f64 (pow.f64 x 4) 1/18))) -1) y x)
(fma.f64 y (*.f64 z (*.f64 (*.f64 (pow.f64 (pow.f64 x 4) 1/18) (pow.f64 (pow.f64 x 4) 1/18)) -1)) x)
(fma.f64 y (*.f64 (*.f64 (pow.f64 (pow.f64 x 4) 1/18) (pow.f64 (pow.f64 x 4) 1/18)) (neg.f64 z)) x)
(+.f64 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) z)) (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) z))) y) (+.f64 (*.f64 (pow.f64 1 1/3) x) (*.f64 (pow.f64 y 2) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))))) (*.f64 (pow.f64 (*.f64 1 x) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2))))))))))
(+.f64 (fma.f64 (*.f64 (*.f64 z (*.f64 (pow.f64 (pow.f64 x 4) 1/18) (pow.f64 (pow.f64 x 4) 1/18))) -1) y x) (*.f64 (*.f64 y y) (fma.f64 2/9 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))) (+.f64 (*.f64 1/3 (+.f64 (*.f64 x -1/2) (*.f64 -1/3 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))))) (*.f64 (cbrt.f64 x) (fma.f64 2/3 (*.f64 (+.f64 (*.f64 x -1/2) (*.f64 -1/3 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))))) (cbrt.f64 (/.f64 1 x))) (*.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18))) (*.f64 z z))))))))
(fma.f64 y (*.f64 z (*.f64 (*.f64 (pow.f64 (pow.f64 x 4) 1/18) (pow.f64 (pow.f64 x 4) 1/18)) -1)) (fma.f64 (*.f64 y y) (fma.f64 2/9 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))) (fma.f64 (cbrt.f64 x) (fma.f64 1/9 (*.f64 z (*.f64 z (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18)))) (*.f64 (fma.f64 x -1/2 (*.f64 -1/3 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))))) (*.f64 2/3 (cbrt.f64 (/.f64 1 x))))) (*.f64 1/3 (fma.f64 x -1/2 (*.f64 -1/3 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))))))) x))
(fma.f64 y (*.f64 (*.f64 (pow.f64 (pow.f64 x 4) 1/18) (pow.f64 (pow.f64 x 4) 1/18)) (neg.f64 z)) (fma.f64 (*.f64 y y) (fma.f64 2/9 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))) (+.f64 (*.f64 (fma.f64 x -1/2 (*.f64 (*.f64 z z) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))))) (+.f64 1/3 (*.f64 (cbrt.f64 x) (*.f64 2/3 (cbrt.f64 (/.f64 1 x)))))) (*.f64 (cbrt.f64 x) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18)) (*.f64 (*.f64 z z) 1/9))))) x))
(+.f64 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) z)) (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) z))) y) (+.f64 (*.f64 (pow.f64 1 1/3) x) (+.f64 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1/6 z) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 z 3))) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))) z))))))) (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))) z))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9) (*.f64 z (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2))))))) (*.f64 (pow.f64 (*.f64 1 x) 1/3) (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (+.f64 (*.f64 -1/6 z) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 z 3))) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))) z))))))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))) z))))))))) (*.f64 (pow.f64 y 2) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))))) (*.f64 (pow.f64 (*.f64 1 x) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2)))))))))))
(+.f64 (fma.f64 (*.f64 (*.f64 z (*.f64 (pow.f64 (pow.f64 x 4) 1/18) (pow.f64 (pow.f64 x 4) 1/18))) -1) y x) (fma.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/3 (fma.f64 -1/6 z (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3)) (*.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18))) (*.f64 z (+.f64 (*.f64 x -1/2) (*.f64 -1/3 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))))))))) (fma.f64 -2/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18)) (*.f64 z (+.f64 (*.f64 x -1/2) (*.f64 -1/3 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))))))) (fma.f64 -1/3 (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18)) z) (fma.f64 2/3 (*.f64 (+.f64 (*.f64 x -1/2) (*.f64 -1/3 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))))) (cbrt.f64 (/.f64 1 x))) (*.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18))) (*.f64 z z)))) (*.f64 (cbrt.f64 x) (fma.f64 -2/3 (*.f64 (cbrt.f64 (/.f64 1 x)) (fma.f64 -1/6 z (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3)) (*.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18))) (*.f64 z (+.f64 (*.f64 x -1/2) (*.f64 -1/3 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))))))))) (*.f64 -2/9 (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18)) (+.f64 (*.f64 x -1/2) (*.f64 -1/3 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))))) z))))))) (*.f64 (*.f64 y y) (fma.f64 2/9 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))) (+.f64 (*.f64 1/3 (+.f64 (*.f64 x -1/2) (*.f64 -1/3 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))))) (*.f64 (cbrt.f64 x) (fma.f64 2/3 (*.f64 (+.f64 (*.f64 x -1/2) (*.f64 -1/3 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))))) (cbrt.f64 (/.f64 1 x))) (*.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18))) (*.f64 z z)))))))))
(+.f64 (fma.f64 y (*.f64 z (*.f64 (*.f64 (pow.f64 (pow.f64 x 4) 1/18) (pow.f64 (pow.f64 x 4) 1/18)) -1)) x) (fma.f64 (pow.f64 y 3) (fma.f64 -1/3 (fma.f64 z -1/6 (fma.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (*.f64 z (fma.f64 x -1/2 (*.f64 -1/3 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))))))) (*.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3))))) (fma.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (*.f64 z (fma.f64 x -1/2 (*.f64 -1/3 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))))))) (fma.f64 (cbrt.f64 x) (fma.f64 -2/3 (*.f64 (cbrt.f64 (/.f64 1 x)) (fma.f64 z -1/6 (fma.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (*.f64 z (fma.f64 x -1/2 (*.f64 -1/3 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))))))) (*.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3)))))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18) (*.f64 z (fma.f64 x -1/2 (*.f64 -1/3 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))))))))) (*.f64 (*.f64 z (fma.f64 1/9 (*.f64 z (*.f64 z (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18)))) (*.f64 (fma.f64 x -1/2 (*.f64 -1/3 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))))) (*.f64 2/3 (cbrt.f64 (/.f64 1 x)))))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18))))))) (*.f64 y (*.f64 y (fma.f64 2/9 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))) (fma.f64 (cbrt.f64 x) (fma.f64 1/9 (*.f64 z (*.f64 z (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18)))) (*.f64 (fma.f64 x -1/2 (*.f64 -1/3 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))))) (*.f64 2/3 (cbrt.f64 (/.f64 1 x))))) (*.f64 1/3 (fma.f64 x -1/2 (*.f64 -1/3 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))))))))))))
(+.f64 (fma.f64 y (*.f64 (*.f64 (pow.f64 (pow.f64 x 4) 1/18) (pow.f64 (pow.f64 x 4) 1/18)) (neg.f64 z)) x) (*.f64 (*.f64 y y) (+.f64 (fma.f64 2/9 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))) (+.f64 (*.f64 (fma.f64 x -1/2 (*.f64 (*.f64 z z) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))))) (+.f64 1/3 (*.f64 (cbrt.f64 x) (*.f64 2/3 (cbrt.f64 (/.f64 1 x)))))) (*.f64 (cbrt.f64 x) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18)) (*.f64 (*.f64 z z) 1/9))))) (*.f64 (fma.f64 -1/3 (fma.f64 z -1/6 (fma.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (*.f64 z (fma.f64 x -1/2 (*.f64 (*.f64 z z) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))))))) (*.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3))))) (fma.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (*.f64 z (fma.f64 x -1/2 (*.f64 (*.f64 z z) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))))))) (fma.f64 (cbrt.f64 x) (fma.f64 -2/3 (*.f64 (cbrt.f64 (/.f64 1 x)) (fma.f64 z -1/6 (fma.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (*.f64 z (fma.f64 x -1/2 (*.f64 (*.f64 z z) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))))))) (*.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3)))))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18) (*.f64 z (fma.f64 x -1/2 (*.f64 (*.f64 z z) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))))))))) (*.f64 (*.f64 z (fma.f64 1/9 (*.f64 z (*.f64 z (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18)))) (*.f64 (fma.f64 x -1/2 (*.f64 (*.f64 z z) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))))) (*.f64 2/3 (cbrt.f64 (/.f64 1 x)))))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18))))))) y))))
(*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(*.f64 1 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(*.f64 1 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(*.f64 1 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(*.f64 1 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(*.f64 1 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(*.f64 1 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(*.f64 1 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(*.f64 1 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x))
(*.f64 (cos.f64 y) x)
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (sin.f64 y))) (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (sin.f64 y)))) z) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)))
(fma.f64 (*.f64 (*.f64 (sin.f64 y) (*.f64 (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18) (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18))) -1) z (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.f64 (*.f64 (sin.f64 y) (*.f64 (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18) (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18))) (neg.f64 z)))
(fma.f64 z (neg.f64 (*.f64 (sin.f64 y) (*.f64 (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18) (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18)))) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (sin.f64 y))) (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (sin.f64 y)))) z) (+.f64 (*.f64 (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (cos.f64 y) x)) 1/9) (pow.f64 (sin.f64 y) 2))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (cos.f64 y) x)) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 (pow.f64 (*.f64 1 (*.f64 (cos.f64 y) x)) 1/3) (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2))))))) (pow.f64 z 2)) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x))))
(fma.f64 (*.f64 (*.f64 (sin.f64 y) (*.f64 (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18) (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18))) -1) z (fma.f64 (fma.f64 -1/9 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 1 (*.f64 (cos.f64 y) x)) 1/18) (pow.f64 (/.f64 1 (*.f64 (cos.f64 y) x)) 1/18))) (fma.f64 2/9 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 1 (*.f64 (cos.f64 y) x)) 1/18) (pow.f64 (/.f64 1 (*.f64 (cos.f64 y) x)) 1/18))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 y) x)) (*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4))) 1/18))) -1/9)))) (*.f64 z z) (*.f64 (cos.f64 y) x)))
(fma.f64 z (*.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18) (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18)) (*.f64 (sin.f64 y) -1)) (fma.f64 (*.f64 z z) (+.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18)) (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18)) (*.f64 -1/9 (cbrt.f64 (*.f64 (cos.f64 y) x)))) (*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 (/.f64 1 x) (cos.f64 y)) 1/18) (pow.f64 (/.f64 (/.f64 1 x) (cos.f64 y)) 1/18))) 1/9)) (*.f64 (cos.f64 y) x)))
(fma.f64 z (neg.f64 (*.f64 (sin.f64 y) (*.f64 (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18) (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18)))) (fma.f64 (*.f64 z z) (+.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18)) (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18)) (*.f64 -1/9 (cbrt.f64 (*.f64 (cos.f64 y) x)))) (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 x) (cos.f64 y)) 1/18) (pow.f64 (/.f64 (/.f64 1 x) (cos.f64 y)) 1/18)) 1/9))) (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (sin.f64 y))) (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (sin.f64 y)))) z) (+.f64 (*.f64 (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (cos.f64 y) x)) 1/9) (pow.f64 (sin.f64 y) 2))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (cos.f64 y) x)) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 (pow.f64 (*.f64 1 (*.f64 (cos.f64 y) x)) 1/3) (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2))))))) (pow.f64 z 2)) (+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) x)) (*.f64 (+.f64 (*.f64 2/27 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (pow.f64 (sin.f64 y) 3)))) (+.f64 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (cos.f64 y) x)) 1/3) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (pow.f64 (sin.f64 y) 3))) (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (pow.f64 (sin.f64 y) 3))))))) (*.f64 2/27 (*.f64 (pow.f64 1 1/9) (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (cos.f64 y) x))))) (pow.f64 (*.f64 1 (*.f64 (cos.f64 y) x)) 1/3)) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (pow.f64 (sin.f64 y) 3))) (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (pow.f64 (sin.f64 y) 3))))))) (*.f64 -1/3 (*.f64 (*.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 4) (pow.f64 x 4))) 1/9) (pow.f64 (sin.f64 y) 2)))) (sin.f64 y)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/9)))))) (pow.f64 z 3)))))
(fma.f64 (*.f64 (*.f64 (sin.f64 y) (*.f64 (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18) (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18))) -1) z (+.f64 (fma.f64 (fma.f64 -1/9 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 1 (*.f64 (cos.f64 y) x)) 1/18) (pow.f64 (/.f64 1 (*.f64 (cos.f64 y) x)) 1/18))) (fma.f64 2/9 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 1 (*.f64 (cos.f64 y) x)) 1/18) (pow.f64 (/.f64 1 (*.f64 (cos.f64 y) x)) 1/18))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 y) x)) (*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4))) 1/18))) -1/9)))) (*.f64 z z) (*.f64 (cos.f64 y) x)) (*.f64 (pow.f64 z 3) (+.f64 (*.f64 2/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (pow.f64 (sin.f64 y) 3))) (fma.f64 (fma.f64 -2/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (cos.f64 y) x))) (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (pow.f64 (sin.f64 y) 3)) (*.f64 2/9 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (pow.f64 (sin.f64 y) 3))))) (*.f64 2/27 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (cos.f64 y) x)))) (cbrt.f64 (*.f64 (cos.f64 y) x)) (+.f64 (*.f64 -1/3 (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (pow.f64 (sin.f64 y) 3)) (*.f64 2/9 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (pow.f64 (sin.f64 y) 3))))) (*.f64 -1/3 (*.f64 (*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4))) 1/18))) -1/9) (*.f64 (sin.f64 y) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18)))))))))))
(fma.f64 z (*.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18) (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18)) (*.f64 (sin.f64 y) -1)) (fma.f64 (*.f64 z z) (+.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18)) (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18)) (*.f64 -1/9 (cbrt.f64 (*.f64 (cos.f64 y) x)))) (*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 (/.f64 1 x) (cos.f64 y)) 1/18) (pow.f64 (/.f64 (/.f64 1 x) (cos.f64 y)) 1/18))) 1/9)) (fma.f64 (pow.f64 z 3) (fma.f64 2/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (pow.f64 (sin.f64 y) 3)) (fma.f64 -1/3 (+.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (pow.f64 (sin.f64 y) 3)) 5/27) (*.f64 (sin.f64 y) (*.f64 (*.f64 -1/9 (*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18)) (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18))) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18))))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 y) x)) (fma.f64 -2/3 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 x) (cos.f64 y))) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (pow.f64 (sin.f64 y) 3)) 5/27)) (*.f64 2/27 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (cos.f64 y) x))))))) (*.f64 (cos.f64 y) x))))
(fma.f64 z (neg.f64 (*.f64 (sin.f64 y) (*.f64 (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18) (pow.f64 (*.f64 (pow.f64 x 4) (pow.f64 (cos.f64 y) 4)) 1/18)))) (fma.f64 (*.f64 z z) (+.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18)) (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18)) (*.f64 -1/9 (cbrt.f64 (*.f64 (cos.f64 y) x)))) (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 x) (cos.f64 y)) 1/18) (pow.f64 (/.f64 (/.f64 1 x) (cos.f64 y)) 1/18)) 1/9))) (fma.f64 (pow.f64 z 3) (fma.f64 2/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (pow.f64 (sin.f64 y) 3)) (fma.f64 -1/3 (+.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (pow.f64 (sin.f64 y) 3)) 5/27) (*.f64 (sin.f64 y) (*.f64 (*.f64 -1/9 (*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18)) (pow.f64 (/.f64 (/.f64 1 (pow.f64 x 4)) (pow.f64 (cos.f64 y) 4)) 1/18))) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18))))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 y) x)) (fma.f64 -2/3 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 x) (cos.f64 y))) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (pow.f64 (sin.f64 y) 3)) 5/27)) (*.f64 2/27 (/.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (cos.f64 y) x))))))) (*.f64 (cos.f64 y) x))))
(*.f64 (pow.f64 (*.f64 1 (*.f64 z (sin.f64 y))) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 -1) (cbrt.f64 (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 (pow.f64 (*.f64 1 (*.f64 z (sin.f64 y))) 1/3) (cbrt.f64 -1)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (*.f64 (cos.f64 y) x)))))
(fma.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (cbrt.f64 -1) (*.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18) (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))) (*.f64 (cos.f64 y) x))))
(fma.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18) (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))) (*.f64 (cos.f64 y) x))) (*.f64 (cbrt.f64 -1) (cbrt.f64 (*.f64 z (sin.f64 y)))))
(+.f64 (*.f64 (pow.f64 (*.f64 1 (*.f64 z (sin.f64 y))) 1/3) (cbrt.f64 -1)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (*.f64 (cos.f64 y) x)))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 7) (pow.f64 (sin.f64 y) 7))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 7)) 1/3) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2)))))))
(fma.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (cbrt.f64 -1) (fma.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18) (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))) (*.f64 (cos.f64 y) x))) (*.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 7)) (pow.f64 (sin.f64 y) 7)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 7)) (pow.f64 (sin.f64 y) 7)) 1/18))) (*.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 7)))))))
(fma.f64 (cbrt.f64 -1) (cbrt.f64 (*.f64 z (sin.f64 y))) (fma.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18) (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))) (*.f64 (cos.f64 y) x))) (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 7)) (pow.f64 (sin.f64 y) 7)) 1/18) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 7)) (pow.f64 (sin.f64 y) 7)) 1/18) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 7))))) (*.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)) -1/9))))
(+.f64 (*.f64 (pow.f64 (*.f64 1 (*.f64 z (sin.f64 y))) 1/3) (cbrt.f64 -1)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)) 1/3) (*.f64 (cos.f64 y) x)))) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 7) (pow.f64 (sin.f64 y) 7))) 1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 7)) 1/3) (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3) (/.f64 (*.f64 (+.f64 (*.f64 1/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3) (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 -2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3))))) (pow.f64 x 3)) (pow.f64 (cbrt.f64 -1) 2)))))))
(fma.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (cbrt.f64 -1) (fma.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18) (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))) (*.f64 (cos.f64 y) x))) (fma.f64 -1/9 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 7)) (pow.f64 (sin.f64 y) 7)) 1/18) (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 7)) (pow.f64 (sin.f64 y) 7)) 1/18)) (*.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 7))))) (*.f64 (*.f64 -1/3 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)))) (/.f64 (fma.f64 1/27 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)) (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)))) (*.f64 -2/9 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)) (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)))))) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 x 3)))))))
(fma.f64 (cbrt.f64 -1) (cbrt.f64 (*.f64 z (sin.f64 y))) (fma.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18) (pow.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)) 1/18)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))) (*.f64 (cos.f64 y) x))) (fma.f64 -1/9 (*.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 7)) (pow.f64 (sin.f64 y) 7)) 1/18) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 7)) (pow.f64 (sin.f64 y) 7)) 1/18) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 7)))))) (*.f64 (*.f64 (/.f64 (*.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 (cbrt.f64 -1) 2)) (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)))) -5/27) (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 x 3)) (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) -1/3)))))
(pow.f64 x 1/3)
(cbrt.f64 x)
(+.f64 (pow.f64 x 1/3) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9) (*.f64 y z))))
(+.f64 (cbrt.f64 x) (*.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18))) (*.f64 z y)))
(fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (*.f64 z y))) (cbrt.f64 x))
(+.f64 (pow.f64 x 1/3) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2))))))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9) (*.f64 y z)))))
(+.f64 (cbrt.f64 x) (fma.f64 1/3 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (*.f64 y y)) (+.f64 (*.f64 x -1/2) (*.f64 -1/3 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))))) (*.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18))) (*.f64 z y))))
(+.f64 (fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (*.f64 z y))) (cbrt.f64 x)) (*.f64 (*.f64 (*.f64 y y) (cbrt.f64 (/.f64 1 (*.f64 x x)))) (*.f64 1/3 (fma.f64 x -1/2 (*.f64 -1/3 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))))))))
(+.f64 (fma.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (*.f64 z y))) (cbrt.f64 x)) (*.f64 (*.f64 (*.f64 y y) (cbrt.f64 (/.f64 1 (*.f64 x x)))) (*.f64 1/3 (fma.f64 x -1/2 (*.f64 (*.f64 z z) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))))))))
(+.f64 (pow.f64 x 1/3) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2))))))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9) (*.f64 y z))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/6 z) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 z 3))) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 x) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))) z)))))))))))
(+.f64 (cbrt.f64 x) (fma.f64 1/3 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (*.f64 y y)) (+.f64 (*.f64 x -1/2) (*.f64 -1/3 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))))) (*.f64 -1/3 (+.f64 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18)) (*.f64 z y)) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 y 3)) (fma.f64 -1/6 z (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3)) (*.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18))) (*.f64 z (+.f64 (*.f64 x -1/2) (*.f64 -1/3 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))))))))))))))
(+.f64 (cbrt.f64 x) (fma.f64 -1/3 (fma.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18)) (*.f64 z y) (*.f64 (pow.f64 y 3) (*.f64 (fma.f64 z -1/6 (fma.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (*.f64 z (fma.f64 x -1/2 (*.f64 -1/3 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))))))) (*.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3))))) (cbrt.f64 (/.f64 1 (*.f64 x x)))))) (*.f64 (*.f64 (*.f64 y y) (cbrt.f64 (/.f64 1 (*.f64 x x)))) (*.f64 1/3 (fma.f64 x -1/2 (*.f64 -1/3 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))))))))
(+.f64 (cbrt.f64 x) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (*.f64 z y)))) (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (+.f64 (*.f64 1/3 (*.f64 (*.f64 y y) (fma.f64 x -1/2 (*.f64 (*.f64 z z) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))))))) (*.f64 (pow.f64 y 3) (*.f64 -1/3 (fma.f64 z -1/6 (fma.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/18) (*.f64 z (fma.f64 x -1/2 (*.f64 (*.f64 z z) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)))))))) (*.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3)))))))))))
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(cbrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(cbrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(cbrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(cbrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(cbrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(cbrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(cbrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(pow.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) 1/3)
(cbrt.f64 (-.f64 (*.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(pow.f64 (*.f64 (cos.f64 y) x) 1/3)
(cbrt.f64 (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/9) (*.f64 z (sin.f64 y)))) (pow.f64 (*.f64 (cos.f64 y) x) 1/3))
(fma.f64 -1/3 (*.f64 (*.f64 z (sin.f64 y)) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18))) (cbrt.f64 (*.f64 (cos.f64 y) x)))
(fma.f64 -1/3 (*.f64 z (*.f64 (sin.f64 y) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18)))) (cbrt.f64 (*.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 7) (pow.f64 x 7))) 1/9) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/9) (*.f64 z (sin.f64 y)))) (pow.f64 (*.f64 (cos.f64 y) x) 1/3)))
(fma.f64 -1/9 (*.f64 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 7) (pow.f64 x 7))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 7) (pow.f64 x 7))) 1/18))) (fma.f64 -1/3 (*.f64 (*.f64 z (sin.f64 y)) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18))) (cbrt.f64 (*.f64 (cos.f64 y) x))))
(fma.f64 -1/9 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 7) (pow.f64 x 7))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 7) (pow.f64 x 7))) 1/18)))) (fma.f64 -1/3 (*.f64 z (*.f64 (sin.f64 y) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18)))) (cbrt.f64 (*.f64 (cos.f64 y) x))))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (*.f64 (pow.f64 z 3) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (pow.f64 (sin.f64 y) 3))) (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/3) (pow.f64 (sin.f64 y) 3)))))))) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 7) (pow.f64 x 7))) 1/9) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 x 2))) 1/9) (*.f64 z (sin.f64 y)))) (pow.f64 (*.f64 (cos.f64 y) x) 1/3))))
(fma.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (*.f64 (pow.f64 z 3) (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (pow.f64 (sin.f64 y) 3)) (*.f64 2/9 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (pow.f64 (sin.f64 y) 3)))))) (fma.f64 -1/9 (*.f64 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 7) (pow.f64 x 7))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 7) (pow.f64 x 7))) 1/18))) (fma.f64 -1/3 (*.f64 (*.f64 z (sin.f64 y)) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18))) (cbrt.f64 (*.f64 (cos.f64 y) x)))))
(fma.f64 -1/3 (*.f64 (pow.f64 z 3) (*.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))) (pow.f64 (sin.f64 y) 3)) 5/27) (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x)))))) (fma.f64 -1/9 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 7) (pow.f64 x 7))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 7) (pow.f64 x 7))) 1/18)))) (fma.f64 -1/3 (*.f64 z (*.f64 (sin.f64 y) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x x))) 1/18)))) (cbrt.f64 (*.f64 (cos.f64 y) x)))))

localize28.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 x (cos.f64 y))
0.3b
(pow.f64 (pow.f64 (*.f64 z (sin.f64 y)) 1/4) 2)
0.3b
(pow.f64 (pow.f64 (pow.f64 (*.f64 z (sin.f64 y)) 1/4) 2) 2)
7.1b
(pow.f64 (*.f64 z (sin.f64 y)) 1/4)
Compiler

Compiled 59 to 28 computations (52.5% saved)

series244.0ms (2%)

Counts
3 → 64
Calls

18 calls:

TimeVariablePointExpression
128.0ms
y
@-inf
(pow.f64 (*.f64 z (sin.f64 y)) 1/4)
31.0ms
z
@-inf
(pow.f64 (*.f64 z (sin.f64 y)) 1/4)
30.0ms
y
@inf
(pow.f64 (*.f64 z (sin.f64 y)) 1/4)
26.0ms
z
@0
(pow.f64 (*.f64 z (sin.f64 y)) 1/4)
13.0ms
z
@inf
(pow.f64 (*.f64 z (sin.f64 y)) 1/4)

rewrite73.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
801×pow1_binary64
743×add-log-exp_binary64
743×log1p-expm1-u_binary64
743×expm1-log1p-u_binary64
721×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify77.0ms (0.6%)

Algorithm
egg-herbie
Rules
690×fma-def_binary64
650×distribute-rgt-in_binary64
626×distribute-lft-in_binary64
593×associate-*l*_binary64
559×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01021675
12971449
29791157
35043804
Stop Event
node limit
Counts
140 → 115
Calls
Call 1
Inputs
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))))
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (sin.f64 y)))))
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (sin.f64 y)))))
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (sin.f64 y)))))
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (sin.f64 y)))))
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (*.f64 -1 (sin.f64 y))))))
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (*.f64 -1 (sin.f64 y))))))
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (*.f64 -1 (sin.f64 y))))))
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (*.f64 -1 (sin.f64 y))))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y))))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) (*.f64 -1/24 (*.f64 (pow.f64 y 2) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))))))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 y 2) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))))) (*.f64 -1/1920 (*.f64 (pow.f64 y 4) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y))))))))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 y 2) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))))) (+.f64 (*.f64 -1/1920 (*.f64 (pow.f64 y 4) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))))) (*.f64 -41/967680 (*.f64 (pow.f64 y 6) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))))))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 (sin.f64 y))))) 4)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 (sin.f64 y))))) 4)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 (sin.f64 y))))) 4)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 (sin.f64 y))))) 4)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (sin.f64 y))))) 4)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (sin.f64 y))))) 4)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (sin.f64 y))))) 4)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (sin.f64 y))))) 4)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (*.f64 -1 (sin.f64 y)))))) 4)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (*.f64 -1 (sin.f64 y)))))) 4)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (*.f64 -1 (sin.f64 y)))))) 4)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (*.f64 -1 (sin.f64 y)))))) 4)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 4)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 4))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 4))
(+.f64 (*.f64 (pow.f64 y 4) (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/576 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2)) (*.f64 -1/960 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2))) (*.f64 1/144 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 4)))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 4))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 4)))
(+.f64 (*.f64 (pow.f64 y 4) (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/576 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2)) (*.f64 -1/960 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2))) (*.f64 1/144 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 4)))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 4))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 4) (*.f64 (pow.f64 y 6) (+.f64 (*.f64 (+.f64 (*.f64 -41/483840 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2)) (*.f64 1/23040 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2)) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/576 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2)) (*.f64 -1/960 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2))) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2) (+.f64 (*.f64 -41/483840 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2)) (*.f64 1/23040 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2))))))))))
(*.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))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 (sin.f64 y))))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 (sin.f64 y))))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 (sin.f64 y))))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 (sin.f64 y))))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (sin.f64 y))))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (sin.f64 y))))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (sin.f64 y))))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (sin.f64 y))))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (*.f64 -1 (sin.f64 y)))))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (*.f64 -1 (sin.f64 y)))))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (*.f64 -1 (sin.f64 y)))))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (*.f64 -1 (sin.f64 y)))))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2)
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 y 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 y 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2) (*.f64 (+.f64 (*.f64 1/576 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2)) (*.f64 -1/960 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2))) (pow.f64 y 4))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 y 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2) (+.f64 (*.f64 (pow.f64 y 6) (+.f64 (*.f64 -41/483840 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2)) (*.f64 1/23040 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2)))) (*.f64 (+.f64 (*.f64 1/576 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2)) (*.f64 -1/960 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2))) (pow.f64 y 4)))))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(sqrt.f64 (*.f64 z (sin.f64 y)))
Outputs
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y))))
(*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4))
(pow.f64 (*.f64 (sin.f64 y) z) 1/4)
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y))))
(*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4))
(pow.f64 (*.f64 (sin.f64 y) z) 1/4)
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y))))
(*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4))
(pow.f64 (*.f64 (sin.f64 y) z) 1/4)
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y))))
(*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4))
(pow.f64 (*.f64 (sin.f64 y) z) 1/4)
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (sin.f64 y)))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y))))
(*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4))
(pow.f64 (*.f64 (sin.f64 y) z) 1/4)
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (sin.f64 y)))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y))))
(*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4))
(pow.f64 (*.f64 (sin.f64 y) z) 1/4)
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (sin.f64 y)))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y))))
(*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4))
(pow.f64 (*.f64 (sin.f64 y) z) 1/4)
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (sin.f64 y)))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y))))
(*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4))
(pow.f64 (*.f64 (sin.f64 y) z) 1/4)
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (*.f64 -1 (sin.f64 y))))))
(pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (neg.f64 (sin.f64 y)))))
(pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (sin.f64 y))) (log.f64 (/.f64 -1 z))))
(*.f64 (pow.f64 (/.f64 -1 z) -1/4) (pow.f64 (neg.f64 (sin.f64 y)) 1/4))
(pow.f64 (/.f64 (neg.f64 (sin.f64 y)) (/.f64 -1 z)) 1/4)
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (*.f64 -1 (sin.f64 y))))))
(pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (neg.f64 (sin.f64 y)))))
(pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (sin.f64 y))) (log.f64 (/.f64 -1 z))))
(*.f64 (pow.f64 (/.f64 -1 z) -1/4) (pow.f64 (neg.f64 (sin.f64 y)) 1/4))
(pow.f64 (/.f64 (neg.f64 (sin.f64 y)) (/.f64 -1 z)) 1/4)
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (*.f64 -1 (sin.f64 y))))))
(pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (neg.f64 (sin.f64 y)))))
(pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (sin.f64 y))) (log.f64 (/.f64 -1 z))))
(*.f64 (pow.f64 (/.f64 -1 z) -1/4) (pow.f64 (neg.f64 (sin.f64 y)) 1/4))
(pow.f64 (/.f64 (neg.f64 (sin.f64 y)) (/.f64 -1 z)) 1/4)
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (*.f64 -1 (sin.f64 y))))))
(pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (neg.f64 (sin.f64 y)))))
(pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (sin.f64 y))) (log.f64 (/.f64 -1 z))))
(*.f64 (pow.f64 (/.f64 -1 z) -1/4) (pow.f64 (neg.f64 (sin.f64 y)) 1/4))
(pow.f64 (/.f64 (neg.f64 (sin.f64 y)) (/.f64 -1 z)) 1/4)
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y)))
(*.f64 (pow.f64 z 1/4) (pow.f64 y 1/4))
(pow.f64 (*.f64 y z) 1/4)
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) (*.f64 -1/24 (*.f64 (pow.f64 y 2) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))))))
(+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) (*.f64 -1/24 (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) (*.f64 y y))))
(*.f64 (+.f64 (*.f64 -1/24 (*.f64 y y)) 1) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))))
(*.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 y 1/4)) (fma.f64 -1/24 (*.f64 y y) 1))
(*.f64 (pow.f64 (*.f64 y z) 1/4) (fma.f64 -1/24 (*.f64 y y) 1))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 y 2) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))))) (*.f64 -1/1920 (*.f64 (pow.f64 y 4) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y))))))))
(+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) (fma.f64 -1/24 (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) (*.f64 y y)) (*.f64 (*.f64 -1/1920 (pow.f64 y 4)) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))))))
(+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) (+.f64 (*.f64 -1/24 (*.f64 y y)) (*.f64 -1/1920 (pow.f64 y 4)))))
(*.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 y 1/4)) (+.f64 (fma.f64 -1/24 (*.f64 y y) 1) (*.f64 -1/1920 (pow.f64 y 4))))
(*.f64 (pow.f64 (*.f64 y z) 1/4) (+.f64 (*.f64 -1/1920 (pow.f64 y 4)) (fma.f64 -1/24 (*.f64 y y) 1)))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 y 2) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))))) (+.f64 (*.f64 -1/1920 (*.f64 (pow.f64 y 4) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))))) (*.f64 -41/967680 (*.f64 (pow.f64 y 6) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))))))))
(+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) (fma.f64 -1/24 (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) (*.f64 y y)) (fma.f64 -1/1920 (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) (pow.f64 y 4)) (*.f64 (*.f64 -41/967680 (pow.f64 y 6)) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y)))))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/24 (*.f64 y y)) 1) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y)))) (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) (+.f64 (*.f64 -1/1920 (pow.f64 y 4)) (*.f64 -41/967680 (pow.f64 y 6)))))
(fma.f64 (pow.f64 z 1/4) (pow.f64 y 1/4) (*.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 y 1/4)) (+.f64 (*.f64 -1/24 (*.f64 y y)) (fma.f64 -1/1920 (pow.f64 y 4) (*.f64 -41/967680 (pow.f64 y 6))))))
(fma.f64 (pow.f64 (*.f64 y z) 1/4) (fma.f64 -1/1920 (pow.f64 y 4) (*.f64 -41/967680 (pow.f64 y 6))) (*.f64 (pow.f64 (*.f64 y z) 1/4) (fma.f64 -1/24 (*.f64 y y) 1)))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 (sin.f64 y))))) 4)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))) 4)
(pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4)) 4)
(pow.f64 (*.f64 (sin.f64 y) z) 1)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 (sin.f64 y))))) 4)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))) 4)
(pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4)) 4)
(pow.f64 (*.f64 (sin.f64 y) z) 1)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 (sin.f64 y))))) 4)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))) 4)
(pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4)) 4)
(pow.f64 (*.f64 (sin.f64 y) z) 1)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 (sin.f64 y))))) 4)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))) 4)
(pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4)) 4)
(pow.f64 (*.f64 (sin.f64 y) z) 1)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (sin.f64 y))))) 4)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))) 4)
(pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4)) 4)
(pow.f64 (*.f64 (sin.f64 y) z) 1)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (sin.f64 y))))) 4)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))) 4)
(pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4)) 4)
(pow.f64 (*.f64 (sin.f64 y) z) 1)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (sin.f64 y))))) 4)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))) 4)
(pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4)) 4)
(pow.f64 (*.f64 (sin.f64 y) z) 1)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (sin.f64 y))))) 4)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))) 4)
(pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4)) 4)
(pow.f64 (*.f64 (sin.f64 y) z) 1)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (*.f64 -1 (sin.f64 y)))))) 4)
(pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (neg.f64 (sin.f64 y))))) 4)
(pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (sin.f64 y))) (log.f64 (/.f64 -1 z)))) 4)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 z) -1/4) (pow.f64 (neg.f64 (sin.f64 y)) 1/4)) 4)
(pow.f64 (/.f64 (neg.f64 (sin.f64 y)) (/.f64 -1 z)) 1)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (*.f64 -1 (sin.f64 y)))))) 4)
(pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (neg.f64 (sin.f64 y))))) 4)
(pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (sin.f64 y))) (log.f64 (/.f64 -1 z)))) 4)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 z) -1/4) (pow.f64 (neg.f64 (sin.f64 y)) 1/4)) 4)
(pow.f64 (/.f64 (neg.f64 (sin.f64 y)) (/.f64 -1 z)) 1)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (*.f64 -1 (sin.f64 y)))))) 4)
(pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (neg.f64 (sin.f64 y))))) 4)
(pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (sin.f64 y))) (log.f64 (/.f64 -1 z)))) 4)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 z) -1/4) (pow.f64 (neg.f64 (sin.f64 y)) 1/4)) 4)
(pow.f64 (/.f64 (neg.f64 (sin.f64 y)) (/.f64 -1 z)) 1)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (*.f64 -1 (sin.f64 y)))))) 4)
(pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (neg.f64 (sin.f64 y))))) 4)
(pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (sin.f64 y))) (log.f64 (/.f64 -1 z)))) 4)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 z) -1/4) (pow.f64 (neg.f64 (sin.f64 y)) 1/4)) 4)
(pow.f64 (/.f64 (neg.f64 (sin.f64 y)) (/.f64 -1 z)) 1)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 4)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 4)
(pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 y 1/4)) 4)
(pow.f64 (*.f64 y z) 1)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 4))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 4))
(fma.f64 -1/6 (*.f64 (*.f64 y y) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 4)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 4))
(*.f64 (+.f64 (*.f64 (*.f64 y y) -1/6) 1) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 4))
(*.f64 (pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 y 1/4)) 4) (fma.f64 (*.f64 y y) -1/6 1))
(*.f64 (pow.f64 (*.f64 y z) 1) (fma.f64 (*.f64 y y) -1/6 1))
(+.f64 (*.f64 (pow.f64 y 4) (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/576 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2)) (*.f64 -1/960 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2))) (*.f64 1/144 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 4)))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 4))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 4)))
(fma.f64 (pow.f64 y 4) (fma.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 2) 1/1440)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 4) 1/144)) (fma.f64 -1/6 (*.f64 (*.f64 y y) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 4)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 4)))
(fma.f64 (pow.f64 y 4) (fma.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 4) 1/1440) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 4) 1/144)) (*.f64 (+.f64 (*.f64 (*.f64 y y) -1/6) 1) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 4)))
(fma.f64 (pow.f64 y 4) (*.f64 (pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 y 1/4)) 4) 1/720) (*.f64 (pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 y 1/4)) 4) (+.f64 (*.f64 (pow.f64 y 4) 1/144) (fma.f64 (*.f64 y y) -1/6 1))))
(fma.f64 (pow.f64 y 4) (*.f64 (pow.f64 (*.f64 y z) 1) 1/720) (*.f64 (pow.f64 (*.f64 y z) 1) (+.f64 (fma.f64 (*.f64 y y) -1/6 1) (*.f64 (pow.f64 y 4) 1/144))))
(+.f64 (*.f64 (pow.f64 y 4) (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/576 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2)) (*.f64 -1/960 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2))) (*.f64 1/144 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 4)))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 4))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 4) (*.f64 (pow.f64 y 6) (+.f64 (*.f64 (+.f64 (*.f64 -41/483840 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2)) (*.f64 1/23040 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2)) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/576 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2)) (*.f64 -1/960 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2))) (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2) (+.f64 (*.f64 -41/483840 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2)) (*.f64 1/23040 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2))))))))))
(fma.f64 (pow.f64 y 4) (fma.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 2) 1/1440)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 4) 1/144)) (+.f64 (fma.f64 -1/6 (*.f64 (*.f64 y y) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 4)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 4)) (*.f64 (pow.f64 y 6) (fma.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 2) -1/24192) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 2) (fma.f64 -1/6 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 2) 1/1440)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 2) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 2) -1/24192)))))))
(+.f64 (fma.f64 (pow.f64 y 4) (fma.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 4) 1/1440) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 4) 1/144)) (*.f64 (+.f64 (*.f64 (*.f64 y y) -1/6) 1) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 4))) (*.f64 (pow.f64 y 6) (+.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 4) -1/24192) (fma.f64 -1/6 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 4) 1/1440) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 4) -1/24192)))))
(+.f64 (fma.f64 (pow.f64 y 4) (*.f64 (pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 y 1/4)) 4) 1/720) (*.f64 (pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 y 1/4)) 4) (+.f64 (*.f64 (pow.f64 y 4) 1/144) (fma.f64 (*.f64 y y) -1/6 1)))) (*.f64 (pow.f64 y 6) (+.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 y 1/4)) 4) -1/8640) (*.f64 (pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 y 1/4)) 4) -1/12096))))
(fma.f64 (fma.f64 (*.f64 y y) -1/6 1) (pow.f64 (*.f64 y z) 1) (fma.f64 (pow.f64 y 6) (+.f64 (*.f64 (pow.f64 (*.f64 y z) 1) -1/8640) (*.f64 (pow.f64 (*.f64 y z) 1) -1/12096)) (*.f64 (pow.f64 y 4) (fma.f64 (pow.f64 (*.f64 y z) 1) 1/144 (*.f64 (pow.f64 (*.f64 y z) 1) 1/720)))))
(*.f64 z (sin.f64 y))
(*.f64 (sin.f64 y) z)
(*.f64 z (sin.f64 y))
(*.f64 (sin.f64 y) z)
(*.f64 z (sin.f64 y))
(*.f64 (sin.f64 y) z)
(*.f64 z (sin.f64 y))
(*.f64 (sin.f64 y) z)
(*.f64 z (sin.f64 y))
(*.f64 (sin.f64 y) z)
(*.f64 z (sin.f64 y))
(*.f64 (sin.f64 y) z)
(*.f64 z (sin.f64 y))
(*.f64 (sin.f64 y) z)
(*.f64 z (sin.f64 y))
(*.f64 (sin.f64 y) z)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 (sin.f64 y))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))) 2)
(pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4)) 2)
(sqrt.f64 (*.f64 (sin.f64 y) z))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 (sin.f64 y))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))) 2)
(pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4)) 2)
(sqrt.f64 (*.f64 (sin.f64 y) z))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 (sin.f64 y))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))) 2)
(pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4)) 2)
(sqrt.f64 (*.f64 (sin.f64 y) z))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 (sin.f64 y))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))) 2)
(pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4)) 2)
(sqrt.f64 (*.f64 (sin.f64 y) z))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (sin.f64 y))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))) 2)
(pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4)) 2)
(sqrt.f64 (*.f64 (sin.f64 y) z))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (sin.f64 y))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))) 2)
(pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4)) 2)
(sqrt.f64 (*.f64 (sin.f64 y) z))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (sin.f64 y))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))) 2)
(pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4)) 2)
(sqrt.f64 (*.f64 (sin.f64 y) z))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 z))) (log.f64 (sin.f64 y))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))) 2)
(pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4)) 2)
(sqrt.f64 (*.f64 (sin.f64 y) z))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (*.f64 -1 (sin.f64 y)))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (sin.f64 y))) (log.f64 (/.f64 -1 z)))) 2)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 z) -1/4) (pow.f64 (neg.f64 (sin.f64 y)) 1/4)) 2)
(sqrt.f64 (/.f64 (neg.f64 (sin.f64 y)) (/.f64 -1 z)))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (*.f64 -1 (sin.f64 y)))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (sin.f64 y))) (log.f64 (/.f64 -1 z)))) 2)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 z) -1/4) (pow.f64 (neg.f64 (sin.f64 y)) 1/4)) 2)
(sqrt.f64 (/.f64 (neg.f64 (sin.f64 y)) (/.f64 -1 z)))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (*.f64 -1 (sin.f64 y)))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (sin.f64 y))) (log.f64 (/.f64 -1 z)))) 2)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 z) -1/4) (pow.f64 (neg.f64 (sin.f64 y)) 1/4)) 2)
(sqrt.f64 (/.f64 (neg.f64 (sin.f64 y)) (/.f64 -1 z)))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 z))) (log.f64 (*.f64 -1 (sin.f64 y)))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 z)) (log.f64 (neg.f64 (sin.f64 y))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (neg.f64 (sin.f64 y))) (log.f64 (/.f64 -1 z)))) 2)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 z) -1/4) (pow.f64 (neg.f64 (sin.f64 y)) 1/4)) 2)
(sqrt.f64 (/.f64 (neg.f64 (sin.f64 y)) (/.f64 -1 z)))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 2)
(pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 y 1/4)) 2)
(sqrt.f64 (*.f64 y z))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 y 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2))
(fma.f64 -1/12 (*.f64 (*.f64 y y) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 2)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 2))
(*.f64 (+.f64 (*.f64 (*.f64 y y) -1/12) 1) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 2))
(*.f64 (pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 y 1/4)) 2) (fma.f64 (*.f64 y y) -1/12 1))
(*.f64 (sqrt.f64 (*.f64 y z)) (fma.f64 (*.f64 y y) -1/12 1))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 y 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2) (*.f64 (+.f64 (*.f64 1/576 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2)) (*.f64 -1/960 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2))) (pow.f64 y 4))))
(+.f64 (fma.f64 -1/12 (*.f64 (*.f64 y y) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 2)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 2)) (*.f64 (pow.f64 y 4) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 2) 1/1440)))
(+.f64 (*.f64 (+.f64 (*.f64 (*.f64 y y) -1/12) 1) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 2)) (*.f64 (pow.f64 y 4) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 2) 1/1440)))
(fma.f64 (pow.f64 y 4) (*.f64 (pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 y 1/4)) 2) 1/1440) (*.f64 (pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 y 1/4)) 2) (fma.f64 (*.f64 y y) -1/12 1)))
(fma.f64 (fma.f64 (*.f64 y y) -1/12 1) (sqrt.f64 (*.f64 y z)) (*.f64 (sqrt.f64 (*.f64 y z)) (*.f64 (pow.f64 y 4) 1/1440)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 y 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2) (+.f64 (*.f64 (pow.f64 y 6) (+.f64 (*.f64 -41/483840 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2)) (*.f64 1/23040 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2)))) (*.f64 (+.f64 (*.f64 1/576 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2)) (*.f64 -1/960 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 z) (log.f64 y)))) 2))) (pow.f64 y 4)))))
(+.f64 (fma.f64 -1/12 (*.f64 (*.f64 y y) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 2)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 2)) (fma.f64 (pow.f64 y 6) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 2) -1/24192) (*.f64 (pow.f64 y 4) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 2) 1/1440))))
(+.f64 (*.f64 (+.f64 (*.f64 (*.f64 y y) -1/12) 1) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 2)) (fma.f64 (pow.f64 y 4) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 2) 1/1440) (*.f64 (pow.f64 y 6) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 y))) 2) -1/24192))))
(fma.f64 (fma.f64 (*.f64 y y) -1/12 1) (pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 y 1/4)) 2) (*.f64 (pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 y 1/4)) 2) (+.f64 (*.f64 (pow.f64 y 4) 1/1440) (*.f64 (pow.f64 y 6) -1/24192))))
(fma.f64 (fma.f64 (*.f64 y y) -1/12 1) (sqrt.f64 (*.f64 y z)) (*.f64 (sqrt.f64 (*.f64 y z)) (+.f64 (*.f64 (pow.f64 y 4) 1/1440) (*.f64 (pow.f64 y 6) -1/24192))))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))) 2)
(pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4)) 2)
(sqrt.f64 (*.f64 (sin.f64 y) z))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))) 2)
(pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4)) 2)
(sqrt.f64 (*.f64 (sin.f64 y) z))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))) 2)
(pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4)) 2)
(sqrt.f64 (*.f64 (sin.f64 y) z))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))) 2)
(pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4)) 2)
(sqrt.f64 (*.f64 (sin.f64 y) z))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))) 2)
(pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4)) 2)
(sqrt.f64 (*.f64 (sin.f64 y) z))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))) 2)
(pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4)) 2)
(sqrt.f64 (*.f64 (sin.f64 y) z))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))) 2)
(pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4)) 2)
(sqrt.f64 (*.f64 (sin.f64 y) z))
(sqrt.f64 (*.f64 z (sin.f64 y)))
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 z) (log.f64 (sin.f64 y)))) 2)
(pow.f64 (*.f64 (pow.f64 z 1/4) (pow.f64 (sin.f64 y) 1/4)) 2)
(sqrt.f64 (*.f64 (sin.f64 y) z))

eval574.0ms (4.7%)

Compiler

Compiled 22822 to 10320 computations (54.8% saved)

prune309.0ms (2.5%)

Pruning

34 alts after pruning (27 fresh and 7 done)

PrunedKeptTotal
New95620976
Fresh11718
Picked101
Done4711
Total972341006
Error
0.0b
Counts
1006 → 34
Alt Table
Click to see full alt table
StatusErrorProgram
0.3b
(fma.f64 (*.f64 x (cbrt.f64 (pow.f64 (cos.f64 y) 2))) (cbrt.f64 (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
44.9b
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 z (neg.f64 y)) (*.f64 z (neg.f64 y)))) (-.f64 x (*.f64 z (neg.f64 y))))
0.1b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
42.6b
(+.f64 x (*.f64 y z))
34.4b
(-.f64 x (cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))
36.7b
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) 2)
14.5b
(+.f64 x (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))
0.2b
(-.f64 (*.f64 x (log.f64 (exp.f64 (cos.f64 y)))) (*.f64 z (sin.f64 y)))
32.3b
(fma.f64 y (neg.f64 z) x)
28.1b
(*.f64 (cos.f64 y) x)
32.4b
(-.f64 x (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
0.3b
(-.f64 (+.f64 (*.f64 (+.f64 1 (cos.f64 y)) x) (*.f64 -1 x)) (*.f64 z (sin.f64 y)))
0.2b
(-.f64 (*.f64 x (cbrt.f64 (pow.f64 (cos.f64 y) 3))) (*.f64 z (sin.f64 y)))
21.0b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 (cbrt.f64 (*.f64 z z)) (*.f64 (cbrt.f64 z) (sin.f64 y))))
14.5b
(-.f64 x (*.f64 (sin.f64 y) z))
42.8b
(pow.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 2)
32.5b
(-.f64 x (pow.f64 (pow.f64 (pow.f64 (*.f64 z (sin.f64 y)) 1/4) 2) 2))
41.7b
x
0.2b
(-.f64 (*.f64 x (cos.f64 y)) (pow.f64 (/.f64 (neg.f64 (sin.f64 y)) (/.f64 -1 z)) 1))
34.8b
(*.f64 (sin.f64 y) (neg.f64 z))
31.0b
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (sin.f64 y) (neg.f64 z)))
52.1b
(*.f64 y (neg.f64 z))
2.5b
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))) 3) 3)
0.3b
(-.f64 (*.f64 x (-.f64 (-.f64 (+.f64 (+.f64 1 (cos.f64 y)) 1) 1) 1)) (*.f64 z (sin.f64 y)))
0.2b
(-.f64 (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 y))) 1)) (*.f64 z (sin.f64 y)))
28.7b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) x)) 3)
40.8b
(-.f64 x (*.f64 (*.f64 (sin.f64 y) (sqrt.f64 z)) (sqrt.f64 z)))
15.4b
(pow.f64 (cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 3)
43.7b
(+.f64 x (*.f64 y (*.f64 y (*.f64 x 1/2))))
0.4b
(-.f64 (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 y)) 3)) (*.f64 z (sin.f64 y)))
43.7b
(+.f64 x (*.f64 y (*.f64 -1/2 (*.f64 y x))))
0.9b
(-.f64 (*.f64 x (-.f64 (pow.f64 (sqrt.f64 (+.f64 1 (cos.f64 y))) 2) 1)) (*.f64 z (sin.f64 y)))
0.8b
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
32.3b
(-.f64 x (*.f64 y z))
Compiler

Compiled 461 to 320 computations (30.6% saved)

regimes276.0ms (2.3%)

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

5 calls:

92.0ms
z
60.0ms
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
41.0ms
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
34.0ms
x
29.0ms
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 691 to 250 computations (63.8% saved)

regimes93.0ms (0.8%)

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

4 calls:

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

Compiled 227 to 102 computations (55.1% saved)

regimes173.0ms (1.4%)

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

3 calls:

68.0ms
z
53.0ms
y
46.0ms
x
Results
ErrorSegmentsBranch
9.0b3x
11.9b5y
3.9b7z
Compiler

Compiled 131 to 59 computations (55% saved)

bsearch553.0ms (4.6%)

Algorithm
binary-search
Steps
TimeLeftRight
58.0ms
6.346609771289541e-75
2.0034994127818026e-70
92.0ms
1.3431943441470405e-118
3.300257962750949e-115
98.0ms
5.6296287302526506e-145
5.6881035784240744e-129
102.0ms
-5.07117478959281e-89
-1.508523340639381e-102
90.0ms
-0.0006250749902912553
-6.582803330243139e-15
113.0ms
-1.0534156578752266e+85
-4.329251279680388e+84
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes156.0ms (1.3%)

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

3 calls:

83.0ms
z
38.0ms
y
31.0ms
x
Results
ErrorSegmentsBranch
13.5b3x
14.5b5y
10.4b7z
Compiler

Compiled 111 to 53 computations (52.3% saved)

bsearch406.0ms (3.3%)

Algorithm
binary-search
Steps
TimeLeftRight
67.0ms
6.346609771289541e-75
2.0034994127818026e-70
59.0ms
1.3431943441470405e-118
3.300257962750949e-115
70.0ms
5.6296287302526506e-145
5.6881035784240744e-129
64.0ms
-6.260393229177624e-38
-2.5922424577211068e-49
80.0ms
-0.0006250749902912553
-6.582803330243139e-15
66.0ms
-1.0534156578752266e+85
-4.329251279680388e+84
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes77.0ms (0.6%)

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

3 calls:

28.0ms
x
24.0ms
z
21.0ms
y
Results
ErrorSegmentsBranch
22.0b3x
17.9b3y
20.6b3z
Compiler

Compiled 101 to 49 computations (51.5% saved)

bsearch144.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
35.0ms
1.9709589350215084e-6
4.061146230053281
108.0ms
-4.773562577435384e-7
-3.7524582276412786e-20
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes113.0ms (0.9%)

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

3 calls:

67.0ms
y
22.0ms
z
21.0ms
x
Results
ErrorSegmentsBranch
22.0b3x
17.9b3y
20.6b3z
Compiler

Compiled 96 to 48 computations (50% saved)

bsearch70.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
33.0ms
1.9709589350215084e-6
4.061146230053281
36.0ms
-219.7734271665244
-4.773562577435384e-7
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes28.0ms (0.2%)

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

3 calls:

9.0ms
z
9.0ms
x
7.0ms
y
Results
ErrorSegmentsBranch
32.3b1x
32.3b1y
32.3b1z
Compiler

Compiled 92 to 46 computations (50% saved)

regimes49.0ms (0.4%)

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

3 calls:

27.0ms
y
12.0ms
x
8.0ms
z
Results
ErrorSegmentsBranch
36.6b3x
40.0b3y
38.3b2z
Compiler

Compiled 27 to 16 computations (40.7% saved)

bsearch279.0ms (2.3%)

Algorithm
binary-search
Steps
TimeLeftRight
189.0ms
9.40598540089577e-104
6.578056474974997e-91
89.0ms
-3.150219895453394e-100
-1.5131722150409817e-103
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes23.0ms (0.2%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0.0b (-0%)

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

3 calls:

15.0ms
x
4.0ms
y
4.0ms
z
Results
ErrorSegmentsBranch
41.7b1x
41.7b1y
41.7b1z
Compiler

Compiled 18 to 12 computations (33.3% saved)

simplify17.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
068302
198302
2115302
3124302
4128302
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 z -10534156578752265976675101202204290385762507306394592203912830865647131065580527812608) (-.f64 x (*.f64 (sin.f64 y) z)) (if (<=.f64 z -5765299186389635/9223372036854775808) (*.f64 (cos.f64 y) x) (if (<=.f64 z -3634603862929641/71671831749689734737838152978190216899892655911508785116799651230841339877765150252188079784691427704832) (-.f64 x (*.f64 (sin.f64 y) z)) (if (<=.f64 z 3957377242607867/7029552803973744348141466418259346654483901747346744739219930582205996219799199797373501072037329464296751422864876398630012915711709843264075804970101818523648) (*.f64 (cos.f64 y) x) (if (<=.f64 z 6101785397380683/45427420268475430659332737993000283397102585042957378767593137448789955507087370207886940669610222847547657600391636120845912601788416) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 z 3232068107968195/509258994083621521567111422102344540262867098416484062659035112338595324940834176545849344) (*.f64 (cos.f64 y) x) (-.f64 x (*.f64 (sin.f64 y) z))))))))
(if (<=.f64 z -10534156578752265976675101202204290385762507306394592203912830865647131065580527812608) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 z -5765299186389635/9223372036854775808) (*.f64 (cos.f64 y) x) (if (<=.f64 z -2998132721181785/47890485652059026823698344598447161988085597568237568) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 z 3957377242607867/7029552803973744348141466418259346654483901747346744739219930582205996219799199797373501072037329464296751422864876398630012915711709843264075804970101818523648) (*.f64 (cos.f64 y) x) (if (<=.f64 z 6101785397380683/45427420268475430659332737993000283397102585042957378767593137448789955507087370207886940669610222847547657600391636120845912601788416) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 z 3232068107968195/509258994083621521567111422102344540262867098416484062659035112338595324940834176545849344) (*.f64 (cos.f64 y) x) (*.f64 (sin.f64 y) (neg.f64 z))))))))
(if (<=.f64 y -4508502383912339/9444732965739290427392) (*.f64 (cos.f64 y) x) (if (<=.f64 y 4653795206929011/2361183241434822606848) (fma.f64 y (neg.f64 z) x) (*.f64 (cos.f64 y) x)))
(if (<=.f64 y -3866295018332407/17592186044416) (*.f64 (cos.f64 y) x) (if (<=.f64 y 4653795206929011/2361183241434822606848) (+.f64 x (*.f64 y (-.f64 (*.f64 x (*.f64 y -1/2)) z))) (*.f64 (cos.f64 y) x)))
(-.f64 x (*.f64 y z))
(if (<=.f64 x -3103124596016495/9850501549098619803069760025035903451269934817616361666987073351061430442874302652853566563721228910201656997576704) x (if (<=.f64 x 7590188954609483/80695308690215893426747474125094121072803306025913234775958104891895238188026287332176417290004307232371974124148359168) (*.f64 y (neg.f64 z)) x))
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 z -10534156578752265976675101202204290385762507306394592203912830865647131065580527812608) (-.f64 x (*.f64 (sin.f64 y) z)) (if (<=.f64 z -5765299186389635/9223372036854775808) (*.f64 (cos.f64 y) x) (if (<=.f64 z -3634603862929641/71671831749689734737838152978190216899892655911508785116799651230841339877765150252188079784691427704832) (-.f64 x (*.f64 (sin.f64 y) z)) (if (<=.f64 z 3957377242607867/7029552803973744348141466418259346654483901747346744739219930582205996219799199797373501072037329464296751422864876398630012915711709843264075804970101818523648) (*.f64 (cos.f64 y) x) (if (<=.f64 z 6101785397380683/45427420268475430659332737993000283397102585042957378767593137448789955507087370207886940669610222847547657600391636120845912601788416) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 z 3232068107968195/509258994083621521567111422102344540262867098416484062659035112338595324940834176545849344) (*.f64 (cos.f64 y) x) (-.f64 x (*.f64 (sin.f64 y) z))))))))
(if (<=.f64 z -10534156578752265976675101202204290385762507306394592203912830865647131065580527812608) (-.f64 x (*.f64 (sin.f64 y) z)) (if (<=.f64 z -5765299186389635/9223372036854775808) (*.f64 x (cos.f64 y)) (if (<=.f64 z -3634603862929641/71671831749689734737838152978190216899892655911508785116799651230841339877765150252188079784691427704832) (-.f64 x (*.f64 (sin.f64 y) z)) (if (<=.f64 z 3957377242607867/7029552803973744348141466418259346654483901747346744739219930582205996219799199797373501072037329464296751422864876398630012915711709843264075804970101818523648) (*.f64 x (cos.f64 y)) (if (<=.f64 z 6101785397380683/45427420268475430659332737993000283397102585042957378767593137448789955507087370207886940669610222847547657600391636120845912601788416) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 z 3232068107968195/509258994083621521567111422102344540262867098416484062659035112338595324940834176545849344) (*.f64 x (cos.f64 y)) (-.f64 x (*.f64 (sin.f64 y) z))))))))
(if (<=.f64 z -10534156578752265976675101202204290385762507306394592203912830865647131065580527812608) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 z -5765299186389635/9223372036854775808) (*.f64 (cos.f64 y) x) (if (<=.f64 z -2998132721181785/47890485652059026823698344598447161988085597568237568) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 z 3957377242607867/7029552803973744348141466418259346654483901747346744739219930582205996219799199797373501072037329464296751422864876398630012915711709843264075804970101818523648) (*.f64 (cos.f64 y) x) (if (<=.f64 z 6101785397380683/45427420268475430659332737993000283397102585042957378767593137448789955507087370207886940669610222847547657600391636120845912601788416) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 z 3232068107968195/509258994083621521567111422102344540262867098416484062659035112338595324940834176545849344) (*.f64 (cos.f64 y) x) (*.f64 (sin.f64 y) (neg.f64 z))))))))
(if (<=.f64 z -10534156578752265976675101202204290385762507306394592203912830865647131065580527812608) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 z -5765299186389635/9223372036854775808) (*.f64 x (cos.f64 y)) (if (<=.f64 z -2998132721181785/47890485652059026823698344598447161988085597568237568) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 z 3957377242607867/7029552803973744348141466418259346654483901747346744739219930582205996219799199797373501072037329464296751422864876398630012915711709843264075804970101818523648) (*.f64 x (cos.f64 y)) (if (<=.f64 z 6101785397380683/45427420268475430659332737993000283397102585042957378767593137448789955507087370207886940669610222847547657600391636120845912601788416) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 z 3232068107968195/509258994083621521567111422102344540262867098416484062659035112338595324940834176545849344) (*.f64 x (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z))))))))
(if (<=.f64 y -4508502383912339/9444732965739290427392) (*.f64 (cos.f64 y) x) (if (<=.f64 y 4653795206929011/2361183241434822606848) (fma.f64 y (neg.f64 z) x) (*.f64 (cos.f64 y) x)))
(if (<=.f64 y -4508502383912339/9444732965739290427392) (*.f64 x (cos.f64 y)) (if (<=.f64 y 4653795206929011/2361183241434822606848) (fma.f64 y (neg.f64 z) x) (*.f64 x (cos.f64 y))))
(if (<=.f64 y -3866295018332407/17592186044416) (*.f64 (cos.f64 y) x) (if (<=.f64 y 4653795206929011/2361183241434822606848) (+.f64 x (*.f64 y (-.f64 (*.f64 x (*.f64 y -1/2)) z))) (*.f64 (cos.f64 y) x)))
(if (<=.f64 y -3866295018332407/17592186044416) (*.f64 x (cos.f64 y)) (if (<=.f64 y 4653795206929011/2361183241434822606848) (+.f64 x (*.f64 y (-.f64 (*.f64 x (*.f64 y -1/2)) z))) (*.f64 x (cos.f64 y))))
(-.f64 x (*.f64 y z))
(if (<=.f64 x -3103124596016495/9850501549098619803069760025035903451269934817616361666987073351061430442874302652853566563721228910201656997576704) x (if (<=.f64 x 7590188954609483/80695308690215893426747474125094121072803306025913234775958104891895238188026287332176417290004307232371974124148359168) (*.f64 y (neg.f64 z)) x))
x
Compiler

Compiled 228 to 119 computations (47.8% saved)

soundness0.0ms (0%)

end87.0ms (0.7%)

Compiler

Compiled 204 to 76 computations (62.7% saved)

Profiling

Loading profile data...