Details

Time bar (total: 11.3s)

analyze334.0ms (3%)

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

Compiled 13 to 9 computations (30.8% saved)

sample3.7s (32.5%)

Results
2.6s6278×body256valid
685.0ms1296×body1024valid
413.0ms682×body512valid

preprocess83.0ms (0.7%)

Algorithm
egg-herbie
Rules
792×fma-neg_binary64
609×fma-def_binary64
208×cancel-sign-sub-inv_binary64
156×distribute-rgt-in_binary64
147×associate--r+_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02256
15756
212856
323756
442856
570056
6122956
7210156
8277356
9315656
10318856
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 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (cos.f64 y) (-.f64 (*.f64 z (sin.f64 y)) x))
(-.f64 (+.f64 y (cos.f64 x)) (*.f64 z (sin.f64 x)))
(+.f64 y (-.f64 (cos.f64 x) (*.f64 z (sin.f64 x))))
(+.f64 (cos.f64 x) (-.f64 y (*.f64 z (sin.f64 x))))
(-.f64 (+.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y)))
(+.f64 z (-.f64 (cos.f64 y) (*.f64 x (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) z) (*.f64 x (sin.f64 y)))
(-.f64 (cos.f64 y) (fma.f64 x (sin.f64 y) (neg.f64 z)))
(+.f64 (cos.f64 y) (-.f64 z (*.f64 x (sin.f64 y))))
(-.f64 (+.f64 x (cos.f64 z)) (*.f64 y (sin.f64 z)))
(+.f64 x (-.f64 (cos.f64 z) (*.f64 y (sin.f64 z))))
(+.f64 (cos.f64 z) (-.f64 x (*.f64 y (sin.f64 z))))
Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify154.0ms (1.4%)

Algorithm
egg-herbie
Rules
228×fma-def_binary64
171×fma-neg_binary64
68×cancel-sign-sub-inv_binary64
43×distribute-rgt-in_binary64
39×associate--r+_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0914
11814
23814
36714
411814
518314
632214
753214
868314
984814
1095214
1196214
Stop Event
saturated
Counts
1 → 2
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)))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))

eval1.0ms (0%)

Compiler

Compiled 21 to 11 computations (47.6% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.1b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
0.1b
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
Compiler

Compiled 24 to 16 computations (33.3% saved)

localize13.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 29 to 8 computations (72.4% saved)

series7.0ms (0.1%)

Counts
2 → 60
Calls

15 calls:

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

rewrite69.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
954×pow1_binary64
880×add-log-exp_binary64
879×log1p-expm1-u_binary64
879×expm1-log1p-u_binary64
103×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify74.0ms (0.7%)

Algorithm
egg-herbie
Rules
866×cancel-sign-sub-inv_binary64
807×fma-def_binary64
680×fma-neg_binary64
375×sub-neg_binary64
331×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
048708
1141702
2342694
3967683
43346683
57384683
Stop Event
node limit
Counts
120 → 87
Calls
Call 1
Inputs
(*.f64 -1 (cos.f64 y))
(+.f64 (*.f64 -1 (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (cos.f64 y)) (*.f64 z (sin.f64 y)))
(*.f64 z (sin.f64 y))
(+.f64 (*.f64 -1 (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (cos.f64 y)) (*.f64 z (sin.f64 y)))
(*.f64 z (sin.f64 y))
(+.f64 (*.f64 -1 (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (cos.f64 y)) (*.f64 z (sin.f64 y)))
-1
(-.f64 (*.f64 y z) 1)
(-.f64 (+.f64 (*.f64 y z) (*.f64 1/2 (pow.f64 y 2))) 1)
(-.f64 (+.f64 (*.f64 y z) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 1/2 (pow.f64 y 2)))) 1)
(-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))
(-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))
(-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))
(-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))
(-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))
(-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))
(-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))
(-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))
(-.f64 (cos.f64 y) (*.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)))
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)))
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 (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 x)
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.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)))
Outputs
(*.f64 -1 (cos.f64 y))
(neg.f64 (cos.f64 y))
(+.f64 (*.f64 -1 (cos.f64 y)) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))
(fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y)))
(+.f64 (*.f64 -1 (cos.f64 y)) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))
(fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y)))
(+.f64 (*.f64 -1 (cos.f64 y)) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))
(fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y)))
(*.f64 z (sin.f64 y))
(+.f64 (*.f64 -1 (cos.f64 y)) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))
(fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y)))
(+.f64 (*.f64 -1 (cos.f64 y)) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))
(fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y)))
(+.f64 (*.f64 -1 (cos.f64 y)) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))
(fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y)))
(*.f64 z (sin.f64 y))
(+.f64 (*.f64 -1 (cos.f64 y)) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))
(fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y)))
(+.f64 (*.f64 -1 (cos.f64 y)) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))
(fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y)))
(+.f64 (*.f64 -1 (cos.f64 y)) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))
(fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y)))
-1
(-.f64 (*.f64 y z) 1)
(fma.f64 y z -1)
(-.f64 (+.f64 (*.f64 y z) (*.f64 1/2 (pow.f64 y 2))) 1)
(+.f64 (fma.f64 y z (*.f64 1/2 (*.f64 y y))) -1)
(fma.f64 y z (fma.f64 1/2 (*.f64 y y) -1))
(fma.f64 y z (fma.f64 y (*.f64 y 1/2) -1))
(fma.f64 y (fma.f64 y 1/2 z) -1)
(-.f64 (+.f64 (*.f64 y z) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 1/2 (pow.f64 y 2)))) 1)
(+.f64 (fma.f64 y z (fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 1/2 (*.f64 y y)))) -1)
(+.f64 (*.f64 z (+.f64 y (*.f64 -1/6 (pow.f64 y 3)))) (fma.f64 1/2 (*.f64 y y) -1))
(fma.f64 z (+.f64 y (*.f64 -1/6 (pow.f64 y 3))) (fma.f64 y (*.f64 y 1/2) -1))
(fma.f64 y (*.f64 y 1/2) (fma.f64 z (fma.f64 -1/6 (pow.f64 y 3) y) -1))
(-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))
(fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y)))
(-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))
(fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y)))
(-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))
(fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y)))
(-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))
(fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y)))
(-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))
(fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y)))
(-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))
(fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y)))
(-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))
(fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y)))
(-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))
(fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y)))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
(-.f64 (cos.f64 y) (-.f64 (*.f64 z (sin.f64 y)) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
(-.f64 (cos.f64 y) (-.f64 (*.f64 z (sin.f64 y)) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
(-.f64 (cos.f64 y) (-.f64 (*.f64 z (sin.f64 y)) x))
x
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
(-.f64 (cos.f64 y) (-.f64 (*.f64 z (sin.f64 y)) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
(-.f64 (cos.f64 y) (-.f64 (*.f64 z (sin.f64 y)) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
(-.f64 (cos.f64 y) (-.f64 (*.f64 z (sin.f64 y)) x))
x
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
(-.f64 (cos.f64 y) (-.f64 (*.f64 z (sin.f64 y)) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
(-.f64 (cos.f64 y) (-.f64 (*.f64 z (sin.f64 y)) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
(-.f64 (cos.f64 y) (-.f64 (*.f64 z (sin.f64 y)) x))
(+.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
(-.f64 (cos.f64 y) (-.f64 (*.f64 z (sin.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 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
(-.f64 (cos.f64 y) (-.f64 (*.f64 z (sin.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 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
(-.f64 (cos.f64 y) (-.f64 (*.f64 z (sin.f64 y)) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
(-.f64 (cos.f64 y) (-.f64 (*.f64 z (sin.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 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
(-.f64 (cos.f64 y) (-.f64 (*.f64 z (sin.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 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
(-.f64 (cos.f64 y) (-.f64 (*.f64 z (sin.f64 y)) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
(-.f64 (cos.f64 y) (-.f64 (*.f64 z (sin.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 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
(-.f64 (cos.f64 y) (-.f64 (*.f64 z (sin.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 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
(-.f64 (cos.f64 y) (-.f64 (*.f64 z (sin.f64 y)) x))
(+.f64 1 x)
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (fma.f64 -1 (*.f64 y z) x))
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 x (fma.f64 y z -1))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)))
(+.f64 1 (fma.f64 -1 (*.f64 y z) (fma.f64 -1/2 (*.f64 y y) x)))
(+.f64 (fma.f64 (*.f64 y y) -1/2 x) (-.f64 1 (*.f64 y z)))
(-.f64 (fma.f64 (*.f64 y y) -1/2 x) (fma.f64 y z -1))
(-.f64 x (fma.f64 y (fma.f64 y 1/2 z) -1))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x))))
(+.f64 1 (fma.f64 -1 (*.f64 y z) (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) x))))
(+.f64 (fma.f64 (*.f64 y y) -1/2 (fma.f64 (*.f64 z (pow.f64 y 3)) 1/6 x)) (-.f64 1 (*.f64 y z)))
(-.f64 (fma.f64 y (*.f64 y -1/2) (fma.f64 z (*.f64 (pow.f64 y 3) 1/6) x)) (fma.f64 y z -1))
(-.f64 (fma.f64 (*.f64 y y) -1/2 x) (fma.f64 z (fma.f64 -1/6 (pow.f64 y 3) y) -1))
(-.f64 x (fma.f64 y (*.f64 y 1/2) (fma.f64 z (fma.f64 -1/6 (pow.f64 y 3) y) -1)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
(-.f64 (cos.f64 y) (-.f64 (*.f64 z (sin.f64 y)) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
(-.f64 (cos.f64 y) (-.f64 (*.f64 z (sin.f64 y)) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
(-.f64 (cos.f64 y) (-.f64 (*.f64 z (sin.f64 y)) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
(-.f64 (cos.f64 y) (-.f64 (*.f64 z (sin.f64 y)) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
(-.f64 (cos.f64 y) (-.f64 (*.f64 z (sin.f64 y)) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
(-.f64 (cos.f64 y) (-.f64 (*.f64 z (sin.f64 y)) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
(-.f64 (cos.f64 y) (-.f64 (*.f64 z (sin.f64 y)) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
(-.f64 (cos.f64 y) (-.f64 (*.f64 z (sin.f64 y)) x))

localize15.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 27 to 8 computations (70.4% saved)

series8.0ms (0.1%)

Counts
3 → 64
Calls

21 calls:

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

rewrite94.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
521×log-prod_binary64
455×fma-def_binary64
372×pow-prod-down_binary64
286×pow2_binary64
217×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify146.0ms (1.3%)

Algorithm
egg-herbie
Rules
683×associate-*l*_binary64
658×cancel-sign-sub-inv_binary64
521×associate-*r*_binary64
506×unswap-sqr_binary64
391×fma-neg_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
066701
1188695
2507684
31572677
44531674
Stop Event
node limit
Counts
274 → 239
Calls
Call 1
Inputs
(*.f64 y z)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (*.f64 1/120 (*.f64 (pow.f64 y 5) z))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 7) z)) (*.f64 1/120 (*.f64 (pow.f64 y 5) z)))))
(-.f64 (cos.f64 y) (*.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)))
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)))
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 1 x)
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.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))
(cos.f64 y)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
x
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
x
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 1 x)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) 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
(*.f64 y z)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z))
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y z))
(*.f64 z (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (*.f64 1/120 (*.f64 (pow.f64 y 5) z))))
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (fma.f64 y z (*.f64 1/120 (*.f64 z (pow.f64 y 5)))))
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 z (+.f64 y (*.f64 1/120 (pow.f64 y 5)))))
(*.f64 z (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (fma.f64 1/120 (pow.f64 y 5) y)))
(*.f64 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/5040 (pow.f64 y 7) (*.f64 1/120 (pow.f64 y 5))) (fma.f64 -1/6 (pow.f64 y 3) y)))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
x
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
x
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 1 x)
(+.f64 x 1)
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (fma.f64 -1 (*.f64 y z) x))
(+.f64 x (-.f64 1 (*.f64 y z)))
(fma.f64 y (neg.f64 z) (+.f64 x 1))
(-.f64 x (fma.f64 y z -1))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)))
(+.f64 1 (fma.f64 -1 (*.f64 y z) (fma.f64 -1/2 (*.f64 y y) x)))
(+.f64 (fma.f64 -1/2 (*.f64 y y) x) (-.f64 1 (*.f64 y z)))
(+.f64 1 (-.f64 (fma.f64 y (*.f64 y -1/2) x) (*.f64 y z)))
(-.f64 (fma.f64 y (*.f64 y -1/2) x) (fma.f64 y z -1))
(-.f64 x (fma.f64 y (+.f64 z (*.f64 y 1/2)) -1))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x))))
(+.f64 1 (fma.f64 -1 (*.f64 y z) (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) x))))
(+.f64 (fma.f64 -1/2 (*.f64 y y) (fma.f64 (*.f64 z (pow.f64 y 3)) 1/6 x)) (-.f64 1 (*.f64 y z)))
(+.f64 1 (-.f64 (fma.f64 y (*.f64 y -1/2) (fma.f64 z (*.f64 (pow.f64 y 3) 1/6) x)) (*.f64 y z)))
(+.f64 (fma.f64 y (*.f64 y -1/2) x) (-.f64 1 (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))))
(-.f64 (fma.f64 y (*.f64 y -1/2) x) (fma.f64 z (fma.f64 -1/6 (pow.f64 y 3) y) -1))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 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 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (-.f64 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 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (-.f64 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 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(cos.f64 y)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
x
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
x
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 1 x)
(+.f64 x 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))
(+.f64 1 (fma.f64 -1/2 (*.f64 y y) x))
(+.f64 x (fma.f64 -1/2 (*.f64 y y) 1))
(fma.f64 y (*.f64 y -1/2) (+.f64 x 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))
(+.f64 1 (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) x)))
(+.f64 1 (fma.f64 y (*.f64 y -1/2) (fma.f64 1/24 (pow.f64 y 4) x)))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))))
(fma.f64 -1/720 (pow.f64 y 6) (+.f64 1 (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) x))))
(+.f64 (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) x)) (fma.f64 -1/720 (pow.f64 y 6) 1))
(+.f64 (fma.f64 1/24 (pow.f64 y 4) x) (fma.f64 -1/720 (pow.f64 y 6) (fma.f64 -1/2 (*.f64 y y) 1)))
(+.f64 (fma.f64 1/24 (pow.f64 y 4) x) (fma.f64 -1/720 (pow.f64 y 6) (fma.f64 y (*.f64 y -1/2) 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)

eval74.0ms (0.7%)

Compiler

Compiled 5387 to 1504 computations (72.1% saved)

prune69.0ms (0.6%)

Pruning

19 alts after pruning (18 fresh and 1 done)

PrunedKeptTotal
New30818326
Fresh000
Picked101
Done011
Total30919328
Error
0.0b
Counts
328 → 19
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
31.2b
(fma.f64 (-.f64 (pow.f64 (+.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (sin.f64 y) (+.f64 x (cos.f64 y))) (pow.f64 (+.f64 x (cos.f64 y)) 2))) (fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 z (sin.f64 y))))
34.3b
(-.f64 (log1p.f64 (expm1.f64 (+.f64 x (cos.f64 y)))) (*.f64 z (sin.f64 y)))
36.8b
x
18.6b
(+.f64 (cos.f64 y) x)
14.3b
(-.f64 (+.f64 x (cos.f64 y)) (cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))
24.5b
(pow.f64 (sqrt.f64 (+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) 2)
44.4b
(*.f64 (sin.f64 y) (neg.f64 z))
31.3b
(fma.f64 (*.f64 (neg.f64 z) (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) (+.f64 x (cos.f64 y)))
1.1b
(pow.f64 (cbrt.f64 (+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) 3)
30.6b
(-.f64 (+.f64 x (cos.f64 y)) (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
0.5b
(fma.f64 (*.f64 (neg.f64 z) (cbrt.f64 (pow.f64 (sin.f64 y) 2))) (cbrt.f64 (sin.f64 y)) (+.f64 x (cos.f64 y)))
26.5b
(-.f64 (+.f64 x (cos.f64 y)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z)))
22.2b
(-.f64 x (-.f64 (*.f64 y z) 1))
23.8b
(-.f64 x -1)
18.8b
(-.f64 x (*.f64 z (sin.f64 y)))
43.7b
(/.f64 1 (/.f64 (+.f64 (fma.f64 z (sin.f64 y) (cos.f64 y)) x) (-.f64 (*.f64 x x) (pow.f64 (fma.f64 z (sin.f64 y) (cos.f64 y)) 2))))
18.6b
(-.f64 (expm1.f64 (log1p.f64 (+.f64 x (cos.f64 y)))) (*.f64 z (sin.f64 y)))
26.1b
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
Compiler

Compiled 548 to 353 computations (35.6% saved)

localize26.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 53 to 23 computations (56.6% saved)

series22.0ms (0.2%)

Counts
4 → 40
Calls

15 calls:

TimeVariablePointExpression
5.0ms
z
@0
(*.f64 (neg.f64 z) (cbrt.f64 (pow.f64 (sin.f64 y) 2)))
2.0ms
y
@0
(pow.f64 (sin.f64 y) 2)
2.0ms
y
@inf
(cbrt.f64 (pow.f64 (sin.f64 y) 2))
2.0ms
y
@-inf
(*.f64 (neg.f64 z) (cbrt.f64 (pow.f64 (sin.f64 y) 2)))
2.0ms
y
@inf
(*.f64 (neg.f64 z) (cbrt.f64 (pow.f64 (sin.f64 y) 2)))

rewrite69.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
746×pow1_binary64
688×add-log-exp_binary64
687×log1p-expm1-u_binary64
687×expm1-log1p-u_binary64
670×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify102.0ms (0.9%)

Algorithm
egg-herbie
Rules
715×distribute-rgt-out_binary64
449×unswap-sqr_binary64
393×sqr-pow_binary64
387×associate-*l*_binary64
381×*-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
034424
184422
2185422
3499422
42163422
54748422
65252422
75901422
86948422
Stop Event
node limit
Counts
118 → 90
Calls
Call 1
Inputs
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/3)
(pow.f64 (sin.f64 y) 1/3)
(pow.f64 (sin.f64 y) 1/3)
(pow.f64 (sin.f64 y) 1/3)
(pow.f64 (sin.f64 y) 1/3)
(pow.f64 (sin.f64 y) 1/3)
(pow.f64 (sin.f64 y) 1/3)
(pow.f64 (sin.f64 y) 1/3)
(pow.f64 (sin.f64 y) 1/3)
(pow.f64 y 2)
(+.f64 (*.f64 -1/3 (pow.f64 y 4)) (pow.f64 y 2))
(+.f64 (*.f64 -1/3 (pow.f64 y 4)) (+.f64 (*.f64 2/45 (pow.f64 y 6)) (pow.f64 y 2)))
(+.f64 (*.f64 -1/3 (pow.f64 y 4)) (+.f64 (*.f64 2/45 (pow.f64 y 6)) (+.f64 (pow.f64 y 2) (*.f64 -1/315 (pow.f64 y 8)))))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
Outputs
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (sin.f64 y) 2))
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (sin.f64 y) 2))
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (sin.f64 y) 2))
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (sin.f64 y) 2))
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (sin.f64 y) 2))
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (sin.f64 y) 2))
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (sin.f64 y) 2))
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (sin.f64 y) 2))
(pow.f64 (sin.f64 y) 1/3)
(cbrt.f64 (sin.f64 y))
(pow.f64 (sin.f64 y) 1/3)
(cbrt.f64 (sin.f64 y))
(pow.f64 (sin.f64 y) 1/3)
(cbrt.f64 (sin.f64 y))
(pow.f64 (sin.f64 y) 1/3)
(cbrt.f64 (sin.f64 y))
(pow.f64 (sin.f64 y) 1/3)
(cbrt.f64 (sin.f64 y))
(pow.f64 (sin.f64 y) 1/3)
(cbrt.f64 (sin.f64 y))
(pow.f64 (sin.f64 y) 1/3)
(cbrt.f64 (sin.f64 y))
(pow.f64 (sin.f64 y) 1/3)
(cbrt.f64 (sin.f64 y))
(pow.f64 y 2)
(*.f64 y y)
(+.f64 (*.f64 -1/3 (pow.f64 y 4)) (pow.f64 y 2))
(fma.f64 -1/3 (pow.f64 y 4) (*.f64 y y))
(fma.f64 y y (*.f64 -1/3 (pow.f64 y 4)))
(+.f64 (*.f64 -1/3 (pow.f64 y 4)) (+.f64 (*.f64 2/45 (pow.f64 y 6)) (pow.f64 y 2)))
(fma.f64 -1/3 (pow.f64 y 4) (fma.f64 2/45 (pow.f64 y 6) (*.f64 y y)))
(fma.f64 -1/3 (pow.f64 y 4) (fma.f64 y y (*.f64 2/45 (pow.f64 y 6))))
(fma.f64 y y (fma.f64 -1/3 (pow.f64 y 4) (*.f64 2/45 (pow.f64 y 6))))
(+.f64 (*.f64 -1/3 (pow.f64 y 4)) (+.f64 (*.f64 2/45 (pow.f64 y 6)) (+.f64 (pow.f64 y 2) (*.f64 -1/315 (pow.f64 y 8)))))
(fma.f64 -1/3 (pow.f64 y 4) (+.f64 (fma.f64 2/45 (pow.f64 y 6) (*.f64 y y)) (*.f64 -1/315 (pow.f64 y 8))))
(fma.f64 -1/3 (pow.f64 y 4) (fma.f64 2/45 (pow.f64 y 6) (fma.f64 y y (*.f64 -1/315 (pow.f64 y 8)))))
(fma.f64 -1/3 (pow.f64 y 4) (fma.f64 2/45 (pow.f64 y 6) (fma.f64 -1/315 (pow.f64 y 8) (*.f64 y y))))
(fma.f64 (pow.f64 y 4) (fma.f64 (pow.f64 y 4) -1/315 -1/3) (fma.f64 2/45 (pow.f64 y 6) (*.f64 y y)))
(fma.f64 y y (fma.f64 -1/3 (pow.f64 y 4) (fma.f64 2/45 (pow.f64 y 6) (*.f64 -1/315 (pow.f64 y 8)))))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(neg.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) z))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) (neg.f64 z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(neg.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) z))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) (neg.f64 z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(neg.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) z))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) (neg.f64 z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(neg.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) z))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) (neg.f64 z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(neg.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) z))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) (neg.f64 z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(neg.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) z))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) (neg.f64 z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(neg.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) z))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) (neg.f64 z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(neg.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) z))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) (neg.f64 z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(neg.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) z))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) (neg.f64 z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(neg.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) z))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) (neg.f64 z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(neg.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) z))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) (neg.f64 z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(neg.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) z))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) (neg.f64 z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(neg.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) z))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) (neg.f64 z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(neg.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) z))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) (neg.f64 z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(neg.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) z))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) (neg.f64 z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(neg.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) z))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) (neg.f64 z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(neg.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) z))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) (neg.f64 z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(neg.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) z))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) (neg.f64 z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(neg.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) z))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) (neg.f64 z))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 y) 2)) 1/3) z))
(neg.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) z))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 2)) (neg.f64 z))

localize3.0ms (0%)

Compiler

Compiled 8 to 6 computations (25% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 18 to 6 computations (66.7% saved)

series3.0ms (0%)

Counts
1 → 28
Calls

9 calls:

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

rewrite55.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

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

simplify73.0ms (0.6%)

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

Useful iterations: 4 (0.0ms)

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

localize20.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 40 to 10 computations (75% saved)

series7.0ms (0.1%)

Counts
3 → 84
Calls

21 calls:

TimeVariablePointExpression
1.0ms
x
@0
(expm1.f64 (+.f64 x (cos.f64 y)))
1.0ms
y
@0
(expm1.f64 (+.f64 x (cos.f64 y)))
0.0ms
x
@inf
(log1p.f64 (expm1.f64 (+.f64 x (cos.f64 y))))
0.0ms
y
@inf
(expm1.f64 (+.f64 x (cos.f64 y)))
0.0ms
x
@inf
(expm1.f64 (+.f64 x (cos.f64 y)))

rewrite94.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
555×log-prod_binary64
408×fma-def_binary64
369×pow-prod-down_binary64
303×pow2_binary64
212×pow-to-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify83.0ms (0.7%)

Algorithm
egg-herbie
Rules
553×sub-neg_binary64
527×fma-def_binary64
492×*-commutative_binary64
477×fma-neg_binary64
304×+-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
090980
1269950
2750917
32900894
46982894
Stop Event
node limit
Counts
282 → 238
Calls
Call 1
Inputs
(-.f64 (exp.f64 (cos.f64 y)) 1)
(-.f64 (+.f64 (exp.f64 (cos.f64 y)) (*.f64 (exp.f64 (cos.f64 y)) x)) 1)
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (exp.f64 (cos.f64 y)) (pow.f64 x 2))) (+.f64 (exp.f64 (cos.f64 y)) (*.f64 (exp.f64 (cos.f64 y)) x))) 1)
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (exp.f64 (cos.f64 y)) (pow.f64 x 2))) (+.f64 (exp.f64 (cos.f64 y)) (+.f64 (*.f64 (exp.f64 (cos.f64 y)) x) (*.f64 1/6 (*.f64 (exp.f64 (cos.f64 y)) (pow.f64 x 3)))))) 1)
(-.f64 (exp.f64 (+.f64 (cos.f64 y) x)) 1)
(-.f64 (exp.f64 (+.f64 (cos.f64 y) x)) 1)
(-.f64 (exp.f64 (+.f64 (cos.f64 y) x)) 1)
(-.f64 (exp.f64 (+.f64 (cos.f64 y) x)) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 y) (*.f64 -1 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 y) (*.f64 -1 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 y) (*.f64 -1 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 y) (*.f64 -1 x))) 1)
(-.f64 (exp.f64 (+.f64 1 x)) 1)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (exp.f64 (+.f64 1 x)))) (exp.f64 (+.f64 1 x))) 1)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (exp.f64 (+.f64 1 x)))) (+.f64 (exp.f64 (+.f64 1 x)) (*.f64 1/6 (*.f64 (pow.f64 y 4) (exp.f64 (+.f64 1 x)))))) 1)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (exp.f64 (+.f64 1 x)))) (+.f64 (exp.f64 (+.f64 1 x)) (+.f64 (*.f64 -31/720 (*.f64 (pow.f64 y 6) (exp.f64 (+.f64 1 x)))) (*.f64 1/6 (*.f64 (pow.f64 y 4) (exp.f64 (+.f64 1 x))))))) 1)
(-.f64 (exp.f64 (+.f64 (cos.f64 y) x)) 1)
(-.f64 (exp.f64 (+.f64 (cos.f64 y) x)) 1)
(-.f64 (exp.f64 (+.f64 (cos.f64 y) x)) 1)
(-.f64 (exp.f64 (+.f64 (cos.f64 y) x)) 1)
(-.f64 (exp.f64 (+.f64 (cos.f64 y) x)) 1)
(-.f64 (exp.f64 (+.f64 (cos.f64 y) x)) 1)
(-.f64 (exp.f64 (+.f64 (cos.f64 y) x)) 1)
(-.f64 (exp.f64 (+.f64 (cos.f64 y) x)) 1)
(cos.f64 y)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
x
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
x
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 1 x)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) 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) (*.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)))
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)))
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 1 x)
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
Outputs
(-.f64 (exp.f64 (cos.f64 y)) 1)
(expm1.f64 (cos.f64 y))
(-.f64 (+.f64 (exp.f64 (cos.f64 y)) (*.f64 (exp.f64 (cos.f64 y)) x)) 1)
(+.f64 (exp.f64 (cos.f64 y)) (-.f64 (*.f64 (exp.f64 (cos.f64 y)) x) 1))
(+.f64 (*.f64 (+.f64 1 x) (exp.f64 (cos.f64 y))) -1)
(fma.f64 (+.f64 1 x) (exp.f64 (cos.f64 y)) -1)
(fma.f64 (exp.f64 (cos.f64 y)) (+.f64 1 x) -1)
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (exp.f64 (cos.f64 y)) (pow.f64 x 2))) (+.f64 (exp.f64 (cos.f64 y)) (*.f64 (exp.f64 (cos.f64 y)) x))) 1)
(+.f64 (fma.f64 1/2 (*.f64 (exp.f64 (cos.f64 y)) (*.f64 x x)) (+.f64 (exp.f64 (cos.f64 y)) (*.f64 (exp.f64 (cos.f64 y)) x))) -1)
(fma.f64 (*.f64 (exp.f64 (cos.f64 y)) 1/2) (*.f64 x x) (+.f64 (*.f64 (+.f64 1 x) (exp.f64 (cos.f64 y))) -1))
(+.f64 (*.f64 (exp.f64 (cos.f64 y)) (+.f64 (+.f64 1 x) (*.f64 x (*.f64 x 1/2)))) -1)
(fma.f64 (exp.f64 (cos.f64 y)) (+.f64 (+.f64 1 x) (*.f64 x (*.f64 x 1/2))) -1)
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (exp.f64 (cos.f64 y)) (pow.f64 x 2))) (+.f64 (exp.f64 (cos.f64 y)) (+.f64 (*.f64 (exp.f64 (cos.f64 y)) x) (*.f64 1/6 (*.f64 (exp.f64 (cos.f64 y)) (pow.f64 x 3)))))) 1)
(+.f64 (fma.f64 1/2 (*.f64 (exp.f64 (cos.f64 y)) (*.f64 x x)) (+.f64 (exp.f64 (cos.f64 y)) (fma.f64 (exp.f64 (cos.f64 y)) x (*.f64 1/6 (*.f64 (exp.f64 (cos.f64 y)) (pow.f64 x 3)))))) -1)
(fma.f64 1/2 (*.f64 (exp.f64 (cos.f64 y)) (*.f64 x x)) (+.f64 (fma.f64 (exp.f64 (cos.f64 y)) x (*.f64 (exp.f64 (cos.f64 y)) (*.f64 (pow.f64 x 3) 1/6))) (expm1.f64 (cos.f64 y))))
(+.f64 (fma.f64 (+.f64 1 x) (exp.f64 (cos.f64 y)) -1) (*.f64 (exp.f64 (cos.f64 y)) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (*.f64 x (*.f64 x 1/2)))))
(+.f64 (*.f64 (exp.f64 (cos.f64 y)) (+.f64 (+.f64 1 x) (*.f64 (*.f64 x x) (+.f64 (*.f64 x 1/6) 1/2)))) -1)
(-.f64 (exp.f64 (+.f64 (cos.f64 y) x)) 1)
(expm1.f64 (+.f64 (cos.f64 y) x))
(-.f64 (exp.f64 (+.f64 (cos.f64 y) x)) 1)
(expm1.f64 (+.f64 (cos.f64 y) x))
(-.f64 (exp.f64 (+.f64 (cos.f64 y) x)) 1)
(expm1.f64 (+.f64 (cos.f64 y) x))
(-.f64 (exp.f64 (+.f64 (cos.f64 y) x)) 1)
(expm1.f64 (+.f64 (cos.f64 y) x))
(-.f64 (exp.f64 (-.f64 (cos.f64 y) (*.f64 -1 x))) 1)
(expm1.f64 (+.f64 (cos.f64 y) x))
(-.f64 (exp.f64 (-.f64 (cos.f64 y) (*.f64 -1 x))) 1)
(expm1.f64 (+.f64 (cos.f64 y) x))
(-.f64 (exp.f64 (-.f64 (cos.f64 y) (*.f64 -1 x))) 1)
(expm1.f64 (+.f64 (cos.f64 y) x))
(-.f64 (exp.f64 (-.f64 (cos.f64 y) (*.f64 -1 x))) 1)
(expm1.f64 (+.f64 (cos.f64 y) x))
(-.f64 (exp.f64 (+.f64 1 x)) 1)
(expm1.f64 (+.f64 1 x))
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (exp.f64 (+.f64 1 x)))) (exp.f64 (+.f64 1 x))) 1)
(+.f64 (*.f64 -1/2 (*.f64 (exp.f64 (+.f64 1 x)) (*.f64 y y))) (expm1.f64 (+.f64 1 x)))
(+.f64 -1 (*.f64 (+.f64 1 (*.f64 y (*.f64 y -1/2))) (exp.f64 (+.f64 1 x))))
(fma.f64 (fma.f64 y (*.f64 y -1/2) 1) (exp.f64 (+.f64 1 x)) -1)
(fma.f64 (exp.f64 (+.f64 1 x)) (fma.f64 -1/2 (*.f64 y y) 1) -1)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (exp.f64 (+.f64 1 x)))) (+.f64 (exp.f64 (+.f64 1 x)) (*.f64 1/6 (*.f64 (pow.f64 y 4) (exp.f64 (+.f64 1 x)))))) 1)
(+.f64 (+.f64 (fma.f64 -1/2 (*.f64 (exp.f64 (+.f64 1 x)) (*.f64 y y)) (exp.f64 (+.f64 1 x))) (*.f64 (*.f64 1/6 (pow.f64 y 4)) (exp.f64 (+.f64 1 x)))) -1)
(+.f64 -1 (fma.f64 -1/2 (*.f64 y (*.f64 y (exp.f64 (+.f64 1 x)))) (*.f64 (+.f64 (*.f64 1/6 (pow.f64 y 4)) 1) (exp.f64 (+.f64 1 x)))))
(+.f64 -1 (*.f64 (exp.f64 (+.f64 1 x)) (+.f64 (*.f64 y (*.f64 y -1/2)) (fma.f64 1/6 (pow.f64 y 4) 1))))
(fma.f64 (exp.f64 (+.f64 1 x)) (+.f64 (*.f64 1/6 (pow.f64 y 4)) (fma.f64 -1/2 (*.f64 y y) 1)) -1)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (exp.f64 (+.f64 1 x)))) (+.f64 (exp.f64 (+.f64 1 x)) (+.f64 (*.f64 -31/720 (*.f64 (pow.f64 y 6) (exp.f64 (+.f64 1 x)))) (*.f64 1/6 (*.f64 (pow.f64 y 4) (exp.f64 (+.f64 1 x))))))) 1)
(+.f64 (+.f64 (fma.f64 -1/2 (*.f64 (exp.f64 (+.f64 1 x)) (*.f64 y y)) (exp.f64 (+.f64 1 x))) (fma.f64 -31/720 (*.f64 (exp.f64 (+.f64 1 x)) (pow.f64 y 6)) (*.f64 (*.f64 1/6 (pow.f64 y 4)) (exp.f64 (+.f64 1 x))))) -1)
(+.f64 -1 (+.f64 (*.f64 (+.f64 1 (*.f64 y (*.f64 y -1/2))) (exp.f64 (+.f64 1 x))) (*.f64 (exp.f64 (+.f64 1 x)) (+.f64 (*.f64 1/6 (pow.f64 y 4)) (*.f64 -31/720 (pow.f64 y 6))))))
(fma.f64 (fma.f64 y (*.f64 y -1/2) 1) (exp.f64 (+.f64 1 x)) (fma.f64 (exp.f64 (+.f64 1 x)) (fma.f64 1/6 (pow.f64 y 4) (*.f64 -31/720 (pow.f64 y 6))) -1))
(+.f64 -1 (*.f64 (exp.f64 (+.f64 1 x)) (+.f64 (fma.f64 -1/2 (*.f64 y y) 1) (fma.f64 1/6 (pow.f64 y 4) (*.f64 -31/720 (pow.f64 y 6))))))
(-.f64 (exp.f64 (+.f64 (cos.f64 y) x)) 1)
(expm1.f64 (+.f64 (cos.f64 y) x))
(-.f64 (exp.f64 (+.f64 (cos.f64 y) x)) 1)
(expm1.f64 (+.f64 (cos.f64 y) x))
(-.f64 (exp.f64 (+.f64 (cos.f64 y) x)) 1)
(expm1.f64 (+.f64 (cos.f64 y) x))
(-.f64 (exp.f64 (+.f64 (cos.f64 y) x)) 1)
(expm1.f64 (+.f64 (cos.f64 y) x))
(-.f64 (exp.f64 (+.f64 (cos.f64 y) x)) 1)
(expm1.f64 (+.f64 (cos.f64 y) x))
(-.f64 (exp.f64 (+.f64 (cos.f64 y) x)) 1)
(expm1.f64 (+.f64 (cos.f64 y) x))
(-.f64 (exp.f64 (+.f64 (cos.f64 y) x)) 1)
(expm1.f64 (+.f64 (cos.f64 y) x))
(-.f64 (exp.f64 (+.f64 (cos.f64 y) x)) 1)
(expm1.f64 (+.f64 (cos.f64 y) x))
(cos.f64 y)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
x
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
x
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 1 x)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))
(+.f64 1 (fma.f64 -1/2 (*.f64 y y) x))
(+.f64 x (fma.f64 y (*.f64 y -1/2) 1))
(+.f64 x (fma.f64 -1/2 (*.f64 y y) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))
(+.f64 1 (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) x)))
(+.f64 1 (fma.f64 -1/2 (*.f64 y y) (fma.f64 (pow.f64 y 4) 1/24 x)))
(+.f64 1 (fma.f64 (pow.f64 y 4) 1/24 (fma.f64 y (*.f64 y -1/2) x)))
(+.f64 (fma.f64 (pow.f64 y 4) 1/24 x) (fma.f64 -1/2 (*.f64 y y) 1))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))))
(fma.f64 -1/720 (pow.f64 y 6) (+.f64 1 (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) x))))
(+.f64 (fma.f64 -1/2 (*.f64 y y) (fma.f64 (pow.f64 y 4) 1/24 x)) (fma.f64 (pow.f64 y 6) -1/720 1))
(+.f64 (fma.f64 (pow.f64 y 4) 1/24 (fma.f64 y (*.f64 y -1/2) x)) (fma.f64 (pow.f64 y 6) -1/720 1))
(fma.f64 (pow.f64 y 6) -1/720 (+.f64 (fma.f64 (pow.f64 y 4) 1/24 x) (fma.f64 -1/2 (*.f64 y y) 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 (cos.f64 y) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
x
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
x
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(+.f64 1 x)
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (fma.f64 -1 (*.f64 y z) x))
(+.f64 1 (-.f64 x (*.f64 y z)))
(fma.f64 y (neg.f64 z) (+.f64 1 x))
(-.f64 x (fma.f64 y z -1))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)))
(+.f64 1 (fma.f64 -1 (*.f64 y z) (fma.f64 -1/2 (*.f64 y y) x)))
(+.f64 1 (-.f64 (fma.f64 -1/2 (*.f64 y y) x) (*.f64 y z)))
(-.f64 (+.f64 x (fma.f64 y (*.f64 y -1/2) 1)) (*.f64 y z))
(+.f64 1 (fma.f64 y (-.f64 (*.f64 y -1/2) z) x))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x))))
(+.f64 1 (fma.f64 -1 (*.f64 y z) (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) x))))
(+.f64 1 (-.f64 (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) x)) (*.f64 y z)))
(+.f64 (fma.f64 z (*.f64 1/6 (pow.f64 y 3)) (fma.f64 y (*.f64 y -1/2) x)) (-.f64 1 (*.f64 y z)))
(-.f64 (fma.f64 z (*.f64 1/6 (pow.f64 y 3)) (fma.f64 y (*.f64 y -1/2) x)) (fma.f64 y z -1))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(+.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 53 to 12 computations (77.4% saved)

series27.0ms (0.2%)

Counts
3 → 56
Calls

24 calls:

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

rewrite95.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
578×log-prod_binary64
434×fma-def_binary64
399×pow-prod-down_binary64
324×pow2_binary64
222×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify79.0ms (0.7%)

Algorithm
egg-herbie
Rules
580×distribute-rgt-in_binary64
416×associate-+l+_binary64
390×*-commutative_binary64
330×associate-+r+_binary64
316×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01611521
15141488
218141345
351261193
Stop Event
node limit
Counts
263 → 260
Calls
Call 1
Inputs
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x (*.f64 (+.f64 (*.f64 1/64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3))) (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3)))) 2))) (*.f64 1/16 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3))))) (pow.f64 x 4)))) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x (*.f64 (+.f64 (*.f64 1/64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3))) (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3)))) 2))) (*.f64 1/16 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3))))) (pow.f64 x 4)))) (*.f64 z (sin.f64 y)))
(+.f64 1 x)
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 (pow.f64 y 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 z 2) (+.f64 1 x))) (*.f64 -1 (+.f64 1/2 (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1 x))) z)) 2))))) x)))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1 (+.f64 (*.f64 -1/6 z) (*.f64 1/2 (/.f64 (*.f64 z (+.f64 1/2 (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1 x))) z)) 2))) (+.f64 1 x))))) (*.f64 1/2 (/.f64 (*.f64 z (+.f64 1/2 (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1 x))) z)) 2))) (+.f64 1 x))))) (+.f64 (*.f64 (pow.f64 y 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 z 2) (+.f64 1 x))) (*.f64 -1 (+.f64 1/2 (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1 x))) z)) 2))))) x))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) (+.f64 (*.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (sin.f64 y) 2) (+.f64 (cos.f64 y) x))) (*.f64 -1/4 (/.f64 (pow.f64 (sin.f64 y) 2) (+.f64 (cos.f64 y) x)))) (pow.f64 z 2)) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 (+.f64 (cos.f64 y) x) 2))) (*.f64 -1/8 (/.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 (+.f64 (cos.f64 y) x) 2)))) (pow.f64 z 3)) (+.f64 (cos.f64 y) (+.f64 (*.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (sin.f64 y) 2) (+.f64 (cos.f64 y) x))) (*.f64 -1/4 (/.f64 (pow.f64 (sin.f64 y) 2) (+.f64 (cos.f64 y) x)))) (pow.f64 z 2)) x))))
(sqrt.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) x)) (sqrt.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) x)) (+.f64 (sqrt.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3))) (pow.f64 x 2)))))
(+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 5))) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) x)) (+.f64 (sqrt.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3))) (pow.f64 x 2))))))
(sqrt.f64 (+.f64 1 x))
(+.f64 (sqrt.f64 (+.f64 1 x)) (*.f64 -1/2 (*.f64 (*.f64 y z) (sqrt.f64 (/.f64 1 (+.f64 1 x))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 y 2) (+.f64 1/2 (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1 x))) z)) 2))) (sqrt.f64 (/.f64 1 (+.f64 1 x))))) (+.f64 (sqrt.f64 (+.f64 1 x)) (*.f64 -1/2 (*.f64 (*.f64 y z) (sqrt.f64 (/.f64 1 (+.f64 1 x)))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 y 2) (+.f64 1/2 (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1 x))) z)) 2))) (sqrt.f64 (/.f64 1 (+.f64 1 x))))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/6 z) (*.f64 1/2 (/.f64 (*.f64 z (+.f64 1/2 (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1 x))) z)) 2))) (+.f64 1 x))))) (sqrt.f64 (/.f64 1 (+.f64 1 x))))) (+.f64 (sqrt.f64 (+.f64 1 x)) (*.f64 -1/2 (*.f64 (*.f64 y z) (sqrt.f64 (/.f64 1 (+.f64 1 x))))))))
(sqrt.f64 (-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (+.f64 (cos.f64 y) x))
(+.f64 (sqrt.f64 (+.f64 (cos.f64 y) x)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 y) x))) (*.f64 z (sin.f64 y)))))
(+.f64 (sqrt.f64 (+.f64 (cos.f64 y) x)) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 y) x))) (*.f64 z (sin.f64 y)))) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 y) x) 3))) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))))
(+.f64 (sqrt.f64 (+.f64 (cos.f64 y) x)) (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 y) x) 5))) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 y) x))) (*.f64 z (sin.f64 y)))) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 y) x) 3))) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))))))
1
(+.f64 1 (*.f64 -1 (*.f64 y z)))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (pow.f64 y 2))))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))))
(cos.f64 y)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
Outputs
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x (*.f64 (+.f64 (*.f64 1/64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3))) (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3)))) 2))) (*.f64 1/16 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3))))) (pow.f64 x 4)))) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x (*.f64 (+.f64 (/.f64 1/64 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3)) (fma.f64 -1 (+.f64 (/.f64 1/16 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3)) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3)))) 2)) (/.f64 1/16 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3)))) (pow.f64 x 4))) (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (-.f64 (fma.f64 (+.f64 (/.f64 1/64 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3)) (-.f64 (/.f64 1/16 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3)) (+.f64 (/.f64 1/16 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3)) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3)))) 2)))) (pow.f64 x 4) x) (*.f64 z (sin.f64 y))))
(+.f64 (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)) (fma.f64 (-.f64 (*.f64 (/.f64 1 (pow.f64 (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)) 3)) 5/64) (*.f64 (/.f64 1 (pow.f64 (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)) 3)) 5/64)) (pow.f64 x 4) x))
(+.f64 (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)) (fma.f64 (pow.f64 x 4) 0 x))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x (*.f64 (+.f64 (*.f64 1/64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3))) (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3)))) 2))) (*.f64 1/16 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3))))) (pow.f64 x 4)))) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x (*.f64 (+.f64 (/.f64 1/64 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3)) (fma.f64 -1 (+.f64 (/.f64 1/16 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3)) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3)))) 2)) (/.f64 1/16 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3)))) (pow.f64 x 4))) (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (-.f64 (fma.f64 (+.f64 (/.f64 1/64 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3)) (-.f64 (/.f64 1/16 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3)) (+.f64 (/.f64 1/16 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3)) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3)))) 2)))) (pow.f64 x 4) x) (*.f64 z (sin.f64 y))))
(+.f64 (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)) (fma.f64 (-.f64 (*.f64 (/.f64 1 (pow.f64 (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)) 3)) 5/64) (*.f64 (/.f64 1 (pow.f64 (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)) 3)) 5/64)) (pow.f64 x 4) x))
(+.f64 (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)) (fma.f64 (pow.f64 x 4) 0 x))
(+.f64 1 x)
(+.f64 x 1)
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (fma.f64 -1 (*.f64 y z) x))
(+.f64 x (-.f64 1 (*.f64 y z)))
(-.f64 x (fma.f64 y z -1))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 (pow.f64 y 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 z 2) (+.f64 1 x))) (*.f64 -1 (+.f64 1/2 (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1 x))) z)) 2))))) x)))
(+.f64 1 (fma.f64 -1 (*.f64 y z) (fma.f64 (*.f64 y y) (fma.f64 1/4 (/.f64 (*.f64 z z) (+.f64 x 1)) (neg.f64 (+.f64 1/2 (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 (+.f64 x 1))))) 2)))) x)))
(+.f64 (fma.f64 (*.f64 y y) (-.f64 (/.f64 (*.f64 (*.f64 1/4 z) z) (+.f64 x 1)) (+.f64 1/2 (pow.f64 (*.f64 z (*.f64 -1/2 (sqrt.f64 (/.f64 1 (+.f64 x 1))))) 2))) x) (-.f64 1 (*.f64 y z)))
(+.f64 (fma.f64 (*.f64 y y) (fma.f64 1/4 (/.f64 (*.f64 z z) (+.f64 x 1)) (-.f64 -1/2 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 x 1))) (*.f64 z -1/2)) 2))) x) (-.f64 1 (*.f64 y z)))
(-.f64 (fma.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 (*.f64 z z) (-.f64 (/.f64 1/4 (+.f64 x 1)) (*.f64 1/4 (/.f64 1 (+.f64 x 1)))))) x) (fma.f64 y z -1))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1 (+.f64 (*.f64 -1/6 z) (*.f64 1/2 (/.f64 (*.f64 z (+.f64 1/2 (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1 x))) z)) 2))) (+.f64 1 x))))) (*.f64 1/2 (/.f64 (*.f64 z (+.f64 1/2 (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1 x))) z)) 2))) (+.f64 1 x))))) (+.f64 (*.f64 (pow.f64 y 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 z 2) (+.f64 1 x))) (*.f64 -1 (+.f64 1/2 (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1 x))) z)) 2))))) x))))
(+.f64 1 (fma.f64 -1 (*.f64 y z) (fma.f64 (pow.f64 y 3) (fma.f64 -1 (fma.f64 -1/6 z (*.f64 1/2 (/.f64 z (/.f64 (+.f64 x 1) (+.f64 1/2 (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 (+.f64 x 1))))) 2)))))) (*.f64 1/2 (/.f64 z (/.f64 (+.f64 x 1) (+.f64 1/2 (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 (+.f64 x 1))))) 2)))))) (fma.f64 (*.f64 y y) (fma.f64 1/4 (/.f64 (*.f64 z z) (+.f64 x 1)) (neg.f64 (+.f64 1/2 (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 (+.f64 x 1))))) 2)))) x))))
(+.f64 (fma.f64 (pow.f64 y 3) (-.f64 (*.f64 1/2 (*.f64 (/.f64 z (+.f64 x 1)) (+.f64 1/2 (pow.f64 (*.f64 z (*.f64 -1/2 (sqrt.f64 (/.f64 1 (+.f64 x 1))))) 2)))) (fma.f64 1/2 (*.f64 (/.f64 z (+.f64 x 1)) (+.f64 1/2 (pow.f64 (*.f64 z (*.f64 -1/2 (sqrt.f64 (/.f64 1 (+.f64 x 1))))) 2))) (*.f64 z -1/6))) (fma.f64 (*.f64 y y) (-.f64 (/.f64 (*.f64 (*.f64 1/4 z) z) (+.f64 x 1)) (+.f64 1/2 (pow.f64 (*.f64 z (*.f64 -1/2 (sqrt.f64 (/.f64 1 (+.f64 x 1))))) 2))) x)) (-.f64 1 (*.f64 y z)))
(+.f64 (fma.f64 (pow.f64 y 3) (+.f64 (*.f64 z 1/6) (*.f64 (*.f64 (+.f64 1/2 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 x 1))) (*.f64 z -1/2)) 2)) (/.f64 z (+.f64 x 1))) 0)) (fma.f64 (*.f64 y y) (fma.f64 1/4 (/.f64 (*.f64 z z) (+.f64 x 1)) (-.f64 -1/2 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 x 1))) (*.f64 z -1/2)) 2))) x)) (-.f64 1 (*.f64 y z)))
(-.f64 (fma.f64 (pow.f64 y 3) (*.f64 z 1/6) (fma.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 (*.f64 z z) (-.f64 (/.f64 1/4 (+.f64 x 1)) (*.f64 1/4 (/.f64 1 (+.f64 x 1)))))) x)) (fma.f64 y z -1))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 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 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) (+.f64 (*.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (sin.f64 y) 2) (+.f64 (cos.f64 y) x))) (*.f64 -1/4 (/.f64 (pow.f64 (sin.f64 y) 2) (+.f64 (cos.f64 y) x)))) (pow.f64 z 2)) x)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 (+.f64 (cos.f64 y) x) 2))) (*.f64 -1/8 (/.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 (+.f64 (cos.f64 y) x) 2)))) (pow.f64 z 3)) (+.f64 (cos.f64 y) (+.f64 (*.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (sin.f64 y) 2) (+.f64 (cos.f64 y) x))) (*.f64 -1/4 (/.f64 (pow.f64 (sin.f64 y) 2) (+.f64 (cos.f64 y) x)))) (pow.f64 z 2)) x))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(sqrt.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(sqrt.f64 (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) x)) (sqrt.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))))
(fma.f64 1/2 (*.f64 x (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))))) (sqrt.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))))
(fma.f64 1/2 (*.f64 x (sqrt.f64 (/.f64 1 (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y))))) (sqrt.f64 (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) x)) (+.f64 (sqrt.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3))) (pow.f64 x 2)))))
(+.f64 (fma.f64 1/2 (*.f64 x (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))))) (sqrt.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3))) (*.f64 x x))))
(fma.f64 1/2 (*.f64 x (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))))) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3))) (*.f64 x x)) (sqrt.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))))
(fma.f64 1/2 (*.f64 x (sqrt.f64 (/.f64 1 (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y))))) (fma.f64 -1/8 (*.f64 x (*.f64 x (sqrt.f64 (/.f64 1 (pow.f64 (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)) 3))))) (sqrt.f64 (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)))))
(+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 5))) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) x)) (+.f64 (sqrt.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3))) (pow.f64 x 2))))))
(fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 5))) (pow.f64 x 3)) (+.f64 (fma.f64 1/2 (*.f64 x (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))))) (sqrt.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3))) (*.f64 x x)))))
(fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 5))) (pow.f64 x 3)) (fma.f64 1/2 (*.f64 x (sqrt.f64 (/.f64 1 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))))) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 3))) (*.f64 x x)) (sqrt.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))))))
(fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)) 5))) (pow.f64 x 3)) (fma.f64 1/2 (*.f64 x (sqrt.f64 (/.f64 1 (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y))))) (fma.f64 -1/8 (*.f64 x (*.f64 x (sqrt.f64 (/.f64 1 (pow.f64 (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)) 3))))) (sqrt.f64 (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y))))))
(sqrt.f64 (+.f64 1 x))
(sqrt.f64 (+.f64 x 1))
(+.f64 (sqrt.f64 (+.f64 1 x)) (*.f64 -1/2 (*.f64 (*.f64 y z) (sqrt.f64 (/.f64 1 (+.f64 1 x))))))
(+.f64 (sqrt.f64 (+.f64 x 1)) (*.f64 -1/2 (*.f64 y (*.f64 z (sqrt.f64 (/.f64 1 (+.f64 x 1)))))))
(fma.f64 -1/2 (*.f64 (*.f64 y z) (sqrt.f64 (/.f64 1 (+.f64 x 1)))) (sqrt.f64 (+.f64 x 1)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 y 2) (+.f64 1/2 (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1 x))) z)) 2))) (sqrt.f64 (/.f64 1 (+.f64 1 x))))) (+.f64 (sqrt.f64 (+.f64 1 x)) (*.f64 -1/2 (*.f64 (*.f64 y z) (sqrt.f64 (/.f64 1 (+.f64 1 x)))))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 x 1))) (*.f64 (*.f64 y y) (+.f64 1/2 (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 (+.f64 x 1))))) 2)))) (+.f64 (sqrt.f64 (+.f64 x 1)) (*.f64 -1/2 (*.f64 y (*.f64 z (sqrt.f64 (/.f64 1 (+.f64 x 1))))))))
(fma.f64 -1/2 (*.f64 (+.f64 1/2 (pow.f64 (*.f64 z (*.f64 -1/2 (sqrt.f64 (/.f64 1 (+.f64 x 1))))) 2)) (*.f64 (*.f64 y y) (sqrt.f64 (/.f64 1 (+.f64 x 1))))) (fma.f64 -1/2 (*.f64 (*.f64 y z) (sqrt.f64 (/.f64 1 (+.f64 x 1)))) (sqrt.f64 (+.f64 x 1))))
(+.f64 (sqrt.f64 (+.f64 x 1)) (*.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (+.f64 x 1)))) (+.f64 (*.f64 y z) (*.f64 y (*.f64 y (+.f64 1/2 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 x 1))) (*.f64 z -1/2)) 2)))))))
(+.f64 (sqrt.f64 (+.f64 x 1)) (*.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (+.f64 x 1)))) (*.f64 y (+.f64 (*.f64 y (+.f64 1/2 (*.f64 1/4 (*.f64 (*.f64 z z) (/.f64 1 (+.f64 x 1)))))) z))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 y 2) (+.f64 1/2 (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1 x))) z)) 2))) (sqrt.f64 (/.f64 1 (+.f64 1 x))))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/6 z) (*.f64 1/2 (/.f64 (*.f64 z (+.f64 1/2 (pow.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1 x))) z)) 2))) (+.f64 1 x))))) (sqrt.f64 (/.f64 1 (+.f64 1 x))))) (+.f64 (sqrt.f64 (+.f64 1 x)) (*.f64 -1/2 (*.f64 (*.f64 y z) (sqrt.f64 (/.f64 1 (+.f64 1 x))))))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 x 1))) (*.f64 (*.f64 y y) (+.f64 1/2 (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 (+.f64 x 1))))) 2)))) (fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 x 1))) (*.f64 (pow.f64 y 3) (fma.f64 -1/6 z (*.f64 1/2 (/.f64 z (/.f64 (+.f64 x 1) (+.f64 1/2 (pow.f64 (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 (+.f64 x 1))))) 2)))))))) (+.f64 (sqrt.f64 (+.f64 x 1)) (*.f64 -1/2 (*.f64 y (*.f64 z (sqrt.f64 (/.f64 1 (+.f64 x 1)))))))))
(+.f64 (fma.f64 -1/2 (*.f64 (*.f64 y z) (sqrt.f64 (/.f64 1 (+.f64 x 1)))) (sqrt.f64 (+.f64 x 1))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 x 1))) (+.f64 (*.f64 (*.f64 y (*.f64 y -1/2)) (+.f64 1/2 (pow.f64 (*.f64 z (*.f64 -1/2 (sqrt.f64 (/.f64 1 (+.f64 x 1))))) 2))) (*.f64 -1/2 (*.f64 (pow.f64 y 3) (fma.f64 1/2 (*.f64 (/.f64 z (+.f64 x 1)) (+.f64 1/2 (pow.f64 (*.f64 z (*.f64 -1/2 (sqrt.f64 (/.f64 1 (+.f64 x 1))))) 2))) (*.f64 z -1/6)))))))
(+.f64 (sqrt.f64 (+.f64 x 1)) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 x 1))) (+.f64 (*.f64 -1/2 (+.f64 (*.f64 y (*.f64 y (+.f64 1/2 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 x 1))) (*.f64 z -1/2)) 2)))) (*.f64 (pow.f64 y 3) (fma.f64 z -1/6 (/.f64 (+.f64 1/4 (*.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 x 1))) (*.f64 z -1/2)) 2) 1/2)) (/.f64 (+.f64 x 1) z)))))) (*.f64 z (*.f64 y -1/2)))))
(+.f64 (sqrt.f64 (+.f64 x 1)) (*.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (+.f64 x 1)))) (+.f64 (*.f64 (*.f64 y y) (+.f64 (+.f64 1/2 (*.f64 1/4 (*.f64 (*.f64 z z) (/.f64 1 (+.f64 x 1))))) (*.f64 y (fma.f64 z -1/6 (/.f64 (+.f64 1/4 (*.f64 (*.f64 1/4 (*.f64 (*.f64 z z) (/.f64 1 (+.f64 x 1)))) 1/2)) (/.f64 (+.f64 x 1) z)))))) (*.f64 y z))))
(sqrt.f64 (-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))
(sqrt.f64 (-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))
(sqrt.f64 (-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))
(sqrt.f64 (-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))
(sqrt.f64 (-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))
(sqrt.f64 (-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))
(sqrt.f64 (-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))
(sqrt.f64 (-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))))
(sqrt.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))
(sqrt.f64 (+.f64 (cos.f64 y) x))
(+.f64 (sqrt.f64 (+.f64 (cos.f64 y) x)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 y) x))) (*.f64 z (sin.f64 y)))))
(+.f64 (sqrt.f64 (+.f64 (cos.f64 y) x)) (*.f64 -1/2 (*.f64 (*.f64 z (sin.f64 y)) (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 y) x))))))
(fma.f64 -1/2 (*.f64 z (*.f64 (sin.f64 y) (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 y) x))))) (sqrt.f64 (+.f64 (cos.f64 y) x)))
(+.f64 (sqrt.f64 (+.f64 (cos.f64 y) x)) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 y) x))) (*.f64 z (sin.f64 y)))) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 y) x) 3))) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))))
(+.f64 (sqrt.f64 (+.f64 (cos.f64 y) x)) (fma.f64 -1/2 (*.f64 (*.f64 z (sin.f64 y)) (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 y) x)))) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 y) x) 3))) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))))))
(+.f64 (sqrt.f64 (+.f64 (cos.f64 y) x)) (fma.f64 -1/8 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (sin.f64 y) 2) (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 y) x) 3))))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 y) x))) (*.f64 (*.f64 z (sin.f64 y)) -1/2))))
(+.f64 (sqrt.f64 (+.f64 (cos.f64 y) x)) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 y) x) 3))) (*.f64 z (*.f64 z (pow.f64 (sin.f64 y) 2)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 y) x))) (*.f64 (*.f64 z (sin.f64 y)) -1/2))))
(+.f64 (sqrt.f64 (+.f64 (cos.f64 y) x)) (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 y) x) 5))) (*.f64 (pow.f64 z 3) (pow.f64 (sin.f64 y) 3)))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 y) x))) (*.f64 z (sin.f64 y)))) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 y) x) 3))) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))))))
(+.f64 (sqrt.f64 (+.f64 (cos.f64 y) x)) (fma.f64 -1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 y) x) 5))) (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 z 3))) (fma.f64 -1/2 (*.f64 (*.f64 z (sin.f64 y)) (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 y) x)))) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 y) x) 3))) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))))))
(+.f64 (sqrt.f64 (+.f64 (cos.f64 y) x)) (fma.f64 -1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 y) x) 5))) (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 z 3))) (fma.f64 -1/8 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (sin.f64 y) 2) (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 y) x) 3))))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 y) x))) (*.f64 (*.f64 z (sin.f64 y)) -1/2)))))
(+.f64 (sqrt.f64 (+.f64 (cos.f64 y) x)) (fma.f64 -1/16 (*.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (pow.f64 z 3) (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 y) x) 5))))) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (cos.f64 y) x) 3))) (*.f64 z (*.f64 z (pow.f64 (sin.f64 y) 2)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (cos.f64 y) x))) (*.f64 (*.f64 z (sin.f64 y)) -1/2)))))
1
(+.f64 1 (*.f64 -1 (*.f64 y z)))
(+.f64 1 (neg.f64 (*.f64 y z)))
(-.f64 1 (*.f64 y z))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (pow.f64 y 2))))
(+.f64 1 (fma.f64 -1 (*.f64 y z) (*.f64 (*.f64 y y) -1/2)))
(+.f64 1 (-.f64 (*.f64 y (*.f64 y -1/2)) (*.f64 y z)))
(+.f64 1 (*.f64 y (-.f64 (*.f64 y -1/2) z)))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))))
(+.f64 1 (fma.f64 -1 (*.f64 y z) (fma.f64 -1/2 (*.f64 y y) (*.f64 1/6 (*.f64 z (pow.f64 y 3))))))
(+.f64 (-.f64 1 (*.f64 y z)) (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) (*.f64 y (*.f64 y -1/2))))
(+.f64 1 (+.f64 (*.f64 y (-.f64 (*.f64 y -1/2) z)) (*.f64 z (*.f64 (pow.f64 y 3) 1/6))))
(+.f64 1 (fma.f64 y (*.f64 y -1/2) (*.f64 z (-.f64 (*.f64 (pow.f64 y 3) 1/6) y))))
(cos.f64 y)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y))

eval254.0ms (2.2%)

Compiler

Compiled 13775 to 4809 computations (65.1% saved)

prune230.0ms (2%)

Pruning

24 alts after pruning (20 fresh and 4 done)

PrunedKeptTotal
New70815723
Fresh8513
Picked101
Done145
Total71824742
Error
0b
Counts
742 → 24
Alt Table
Click to see full alt table
StatusErrorProgram
34.8b
(-.f64 x (*.f64 y z))
0.5b
(fma.f64 (*.f64 (neg.f64 z) (cbrt.f64 (pow.f64 (sin.f64 y) 2))) (cbrt.f64 (sin.f64 y)) (+.f64 x (cos.f64 y)))
31.6b
(fma.f64 (*.f64 (neg.f64 z) (pow.f64 (sin.f64 y) 2/3)) (cbrt.f64 (sin.f64 y)) (+.f64 x (cos.f64 y)))
39.9b
(-.f64 x (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z)))
5.1b
(fma.f64 (*.f64 (neg.f64 z) (cbrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y)))))) (cbrt.f64 (sin.f64 y)) (+.f64 x (cos.f64 y)))
23.8b
(-.f64 x -1)
31.1b
(*.f64 (+.f64 (pow.f64 x 3) (pow.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (cos.f64 y)) 3)) (/.f64 1 (fma.f64 x x (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (cos.f64 y)) (-.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (cos.f64 y)) x)))))
19.7b
(pow.f64 (cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 3)
18.6b
(+.f64 (cos.f64 y) x)
34.3b
(-.f64 (log1p.f64 (expm1.f64 (+.f64 x (cos.f64 y)))) (*.f64 z (sin.f64 y)))
14.3b
(-.f64 (+.f64 x (cos.f64 y)) (cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))
26.1b
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
18.6b
(-.f64 (expm1.f64 (log1p.f64 (+.f64 x (cos.f64 y)))) (*.f64 z (sin.f64 y)))
26.1b
(fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y))
0.6b
(fma.f64 (*.f64 (neg.f64 z) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 2) 3)) (cbrt.f64 (sin.f64 y)) (+.f64 x (cos.f64 y)))
44.4b
(*.f64 (sin.f64 y) (neg.f64 z))
42.0b
(-.f64 x (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
31.3b
(fma.f64 (*.f64 (neg.f64 z) (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) (+.f64 x (cos.f64 y)))
43.1b
(/.f64 1 (/.f64 (+.f64 x (*.f64 z (sin.f64 y))) (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (sin.f64 y)) 2))))
33.1b
(-.f64 x (cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))
22.2b
(-.f64 x (-.f64 (*.f64 y z) 1))
18.8b
(-.f64 x (*.f64 z (sin.f64 y)))
39.6b
(pow.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 2)
36.8b
x
Compiler

Compiled 626 to 419 computations (33.1% saved)

localize53.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 2)
0.6b
(cbrt.f64 (cbrt.f64 (sin.f64 y)))
0.7b
(cbrt.f64 (sin.f64 y))
0.8b
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 2) 3)
Compiler

Compiled 69 to 28 computations (59.4% saved)

series112.0ms (1%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
72.0ms
y
@inf
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 2) 3)
29.0ms
y
@-inf
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 2) 3)
7.0ms
y
@0
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 2) 3)
1.0ms
y
@0
(cbrt.f64 (cbrt.f64 (sin.f64 y)))
1.0ms
y
@0
(pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 2)

rewrite96.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
666×pow1_binary64
626×add-log-exp_binary64
625×log1p-expm1-u_binary64
625×expm1-log1p-u_binary64
608×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0927
118825
2188825
Stop Event
node limit
Counts
3 → 60
Calls
Call 1
Inputs
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 2) 3)
(cbrt.f64 (cbrt.f64 (sin.f64 y)))
(pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 y)) (cbrt.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) (*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (cbrt.f64 (sin.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 4) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 4)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y)))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 y)) (pow.f64 (sin.f64 y) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 y) 1/6) (*.f64 (pow.f64 (sin.f64 y) 1/6) (cbrt.f64 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y)))) 2) 6) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y)))) 6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 1/6) 6) (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 1/6) 6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 4)) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 4) (cbrt.f64 (cbrt.f64 (sin.f64 y)))) (cbrt.f64 (cbrt.f64 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 4) 1) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 4) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 4))) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 2)) (cbrt.f64 (cbrt.f64 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (sin.f64 y) (cbrt.f64 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 (sin.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (cbrt.f64 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y)))) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y)))) 2) (cbrt.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 1/6) (pow.f64 (cbrt.f64 (sin.f64 y)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (cbrt.f64 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (sin.f64 y) 1/6) 1/3) (pow.f64 (pow.f64 (sin.f64 y) 1/6) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 y) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sin.f64 y)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) (cbrt.f64 (cbrt.f64 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y)))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y)))) (cbrt.f64 (cbrt.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 1/6) (*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 1/6) (cbrt.f64 (cbrt.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 y) 1/6) (pow.f64 (cbrt.f64 (sin.f64 y)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y)))) 2)) (cbrt.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))))))))))

simplify205.0ms (1.8%)

Algorithm
egg-herbie
Rules
1476×distribute-rgt-in_binary64
995×fma-def_binary64
415×distribute-lft-out_binary64
413×associate-+l+_binary64
370×associate-+r+_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01071329
13731276
214061201
352541115
456471107
561551107
668901107
769931107
871161107
Stop Event
node limit
Counts
96 → 88
Calls
Call 1
Inputs
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 y 2) 1/3))
(+.f64 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 y 2) 1/3)) (*.f64 (pow.f64 y 2) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 y 2) 1/3))) (*.f64 -2/27 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 y 2) 1/3))))))
(+.f64 (*.f64 (pow.f64 y 4) (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9) (+.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9) (+.f64 (*.f64 -13/14580 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)) (*.f64 1/2916 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9))))) (*.f64 1/729 (pow.f64 (*.f64 1 (pow.f64 y 4)) 1/9)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 y 4)) 1/9) (+.f64 (*.f64 -13/14580 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)) (*.f64 1/2916 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)))) (*.f64 2/729 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 y 2) 1/3)))))) (+.f64 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 y 2) 1/3)) (*.f64 (pow.f64 y 2) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 y 2) 1/3))) (*.f64 -2/27 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 y 2) 1/3)))))))
(+.f64 (*.f64 (pow.f64 y 4) (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9) (+.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9) (+.f64 (*.f64 -13/14580 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)) (*.f64 1/2916 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9))))) (*.f64 1/729 (pow.f64 (*.f64 1 (pow.f64 y 4)) 1/9)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 y 4)) 1/9) (+.f64 (*.f64 -13/14580 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)) (*.f64 1/2916 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)))) (*.f64 2/729 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 y 2) 1/3)))))) (+.f64 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 y 2) 1/3)) (+.f64 (*.f64 (pow.f64 y 2) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 y 2) 1/3))) (*.f64 -2/27 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 y 2) 1/3))))) (*.f64 (pow.f64 y 6) (+.f64 (*.f64 -2/27 (*.f64 (pow.f64 (*.f64 1 (pow.f64 y 4)) 1/9) (+.f64 (*.f64 -13/14580 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)) (*.f64 1/2916 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9))))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9) (+.f64 (*.f64 -2/27 (*.f64 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9) (+.f64 (*.f64 -13/14580 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)) (*.f64 1/2916 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9))))) (*.f64 2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9) (+.f64 (*.f64 13/787320 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)) (*.f64 -953/16533720 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9))))))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 y 4)) 1/9) (+.f64 (*.f64 13/787320 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)) (*.f64 -953/16533720 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)))) (*.f64 -1/27 (*.f64 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9) (+.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9) (+.f64 (*.f64 -13/14580 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)) (*.f64 1/2916 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9))))) (*.f64 1/729 (pow.f64 (*.f64 1 (pow.f64 y 4)) 1/9))))))))))))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 (sin.f64 y) 2) 1/3))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 (sin.f64 y) 2) 1/3))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 (sin.f64 y) 2) 1/3))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 (sin.f64 y) 2) 1/3))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 (sin.f64 y) 2) 1/3))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 (sin.f64 y) 2) 1/3))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 (sin.f64 y) 2) 1/3))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 (sin.f64 y) 2) 1/3))
(pow.f64 y 1/9)
(+.f64 (*.f64 -1/54 (pow.f64 (*.f64 1 (pow.f64 y 19)) 1/9)) (pow.f64 y 1/9))
(+.f64 (*.f64 -1/54 (pow.f64 (*.f64 1 (pow.f64 y 19)) 1/9)) (+.f64 (pow.f64 y 1/9) (*.f64 -13/29160 (pow.f64 (*.f64 1 (pow.f64 y 37)) 1/9))))
(+.f64 (*.f64 -1/54 (pow.f64 (*.f64 1 (pow.f64 y 19)) 1/9)) (+.f64 (*.f64 -953/33067440 (pow.f64 (*.f64 1 (pow.f64 y 55)) 1/9)) (+.f64 (pow.f64 y 1/9) (*.f64 -13/29160 (pow.f64 (*.f64 1 (pow.f64 y 37)) 1/9)))))
(pow.f64 (sin.f64 y) 1/9)
(pow.f64 (sin.f64 y) 1/9)
(pow.f64 (sin.f64 y) 1/9)
(pow.f64 (sin.f64 y) 1/9)
(pow.f64 (sin.f64 y) 1/9)
(pow.f64 (sin.f64 y) 1/9)
(pow.f64 (sin.f64 y) 1/9)
(pow.f64 (sin.f64 y) 1/9)
(pow.f64 (pow.f64 y 2) 1/9)
(+.f64 (pow.f64 (pow.f64 y 2) 1/9) (*.f64 -1/27 (pow.f64 (*.f64 1 (pow.f64 y 20)) 1/9)))
(+.f64 (*.f64 (+.f64 (*.f64 -13/14580 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)) (*.f64 1/2916 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9))) (pow.f64 y 4)) (+.f64 (pow.f64 (pow.f64 y 2) 1/9) (*.f64 -1/27 (pow.f64 (*.f64 1 (pow.f64 y 20)) 1/9))))
(+.f64 (*.f64 (+.f64 (*.f64 -13/14580 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)) (*.f64 1/2916 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9))) (pow.f64 y 4)) (+.f64 (pow.f64 (pow.f64 y 2) 1/9) (+.f64 (*.f64 (pow.f64 y 6) (+.f64 (*.f64 13/787320 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)) (*.f64 -953/16533720 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)))) (*.f64 -1/27 (pow.f64 (*.f64 1 (pow.f64 y 20)) 1/9)))))
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/9)
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/9)
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/9)
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/9)
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/9)
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/9)
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/9)
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/9)
Outputs
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 y 2) 1/3))
(*.f64 1 (cbrt.f64 (*.f64 y y)))
(cbrt.f64 (*.f64 y y))
(+.f64 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 y 2) 1/3)) (*.f64 (pow.f64 y 2) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 y 2) 1/3))) (*.f64 -2/27 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 y 2) 1/3))))))
(fma.f64 1 (cbrt.f64 (*.f64 y y)) (*.f64 (*.f64 y y) (*.f64 (*.f64 1 (cbrt.f64 (*.f64 y y))) -1/9)))
(fma.f64 (*.f64 y y) (*.f64 (cbrt.f64 (*.f64 y y)) -1/9) (cbrt.f64 (*.f64 y y)))
(*.f64 (cbrt.f64 (*.f64 y y)) (+.f64 1 (*.f64 (*.f64 y y) -1/9)))
(+.f64 (*.f64 (pow.f64 y 4) (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9) (+.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9) (+.f64 (*.f64 -13/14580 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)) (*.f64 1/2916 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9))))) (*.f64 1/729 (pow.f64 (*.f64 1 (pow.f64 y 4)) 1/9)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 y 4)) 1/9) (+.f64 (*.f64 -13/14580 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)) (*.f64 1/2916 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)))) (*.f64 2/729 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 y 2) 1/3)))))) (+.f64 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 y 2) 1/3)) (*.f64 (pow.f64 y 2) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 y 2) 1/3))) (*.f64 -2/27 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 y 2) 1/3)))))))
(fma.f64 (pow.f64 y 4) (fma.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (fma.f64 2 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645)) (*.f64 1/729 (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18)))) (fma.f64 (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18)) (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645) (*.f64 2/729 (cbrt.f64 (*.f64 y y))))) (fma.f64 1 (cbrt.f64 (*.f64 y y)) (*.f64 (*.f64 y y) (*.f64 (*.f64 1 (cbrt.f64 (*.f64 y y))) -1/9))))
(fma.f64 (pow.f64 y 4) (fma.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (fma.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18))) (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645) (*.f64 1/729 (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18)))) (fma.f64 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645) (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18)) (*.f64 (cbrt.f64 (*.f64 y y)) 2/729))) (fma.f64 (*.f64 y y) (*.f64 (cbrt.f64 (*.f64 y y)) -1/9) (cbrt.f64 (*.f64 y y))))
(fma.f64 (pow.f64 y 4) (fma.f64 (cbrt.f64 (*.f64 y y)) 2/729 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (+.f64 (fma.f64 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645) (*.f64 2 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18))) (*.f64 1/729 (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18)))) (*.f64 (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18)) -2/3645)))) (*.f64 (cbrt.f64 (*.f64 y y)) (+.f64 1 (*.f64 (*.f64 y y) -1/9))))
(fma.f64 (pow.f64 y 4) (fma.f64 (cbrt.f64 (*.f64 y y)) 2/729 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (+.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645))) (*.f64 (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18)) 1/1215)))) (*.f64 (cbrt.f64 (*.f64 y y)) (+.f64 1 (*.f64 (*.f64 y y) -1/9))))
(fma.f64 (pow.f64 y 4) (fma.f64 (cbrt.f64 (*.f64 y y)) 2/729 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (+.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645) (*.f64 2 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)))) (*.f64 (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18)) 1/1215)))) (*.f64 (cbrt.f64 (*.f64 y y)) (+.f64 1 (*.f64 (*.f64 y y) -1/9))))
(+.f64 (*.f64 (pow.f64 y 4) (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9) (+.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9) (+.f64 (*.f64 -13/14580 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)) (*.f64 1/2916 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9))))) (*.f64 1/729 (pow.f64 (*.f64 1 (pow.f64 y 4)) 1/9)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 y 4)) 1/9) (+.f64 (*.f64 -13/14580 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)) (*.f64 1/2916 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)))) (*.f64 2/729 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 y 2) 1/3)))))) (+.f64 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 y 2) 1/3)) (+.f64 (*.f64 (pow.f64 y 2) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 y 2) 1/3))) (*.f64 -2/27 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 y 2) 1/3))))) (*.f64 (pow.f64 y 6) (+.f64 (*.f64 -2/27 (*.f64 (pow.f64 (*.f64 1 (pow.f64 y 4)) 1/9) (+.f64 (*.f64 -13/14580 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)) (*.f64 1/2916 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9))))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9) (+.f64 (*.f64 -2/27 (*.f64 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9) (+.f64 (*.f64 -13/14580 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)) (*.f64 1/2916 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9))))) (*.f64 2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9) (+.f64 (*.f64 13/787320 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)) (*.f64 -953/16533720 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9))))))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 y 4)) 1/9) (+.f64 (*.f64 13/787320 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)) (*.f64 -953/16533720 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)))) (*.f64 -1/27 (*.f64 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9) (+.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9) (+.f64 (*.f64 -13/14580 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)) (*.f64 1/2916 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9))))) (*.f64 1/729 (pow.f64 (*.f64 1 (pow.f64 y 4)) 1/9))))))))))))
(fma.f64 (pow.f64 y 4) (fma.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (fma.f64 2 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645)) (*.f64 1/729 (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18)))) (fma.f64 (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18)) (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645) (*.f64 2/729 (cbrt.f64 (*.f64 y y))))) (fma.f64 1 (cbrt.f64 (*.f64 y y)) (fma.f64 (*.f64 y y) (*.f64 (*.f64 1 (cbrt.f64 (*.f64 y y))) -1/9) (*.f64 (pow.f64 y 6) (fma.f64 -2/27 (*.f64 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645) (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18))) (fma.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (fma.f64 -2/27 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645)) (*.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18))) (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -17/413343))) (fma.f64 (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18)) (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -17/413343) (*.f64 (*.f64 -1/27 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18))) (fma.f64 2 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645)) (*.f64 1/729 (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18))))))))))))
(+.f64 (fma.f64 (pow.f64 y 6) (fma.f64 -2/27 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (*.f64 -2/3645 (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18)))) (fma.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (fma.f64 2 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -17/413343)) (*.f64 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645) (*.f64 (*.f64 -2/27 (pow.f64 (*.f64 y y) 1/18)) (pow.f64 (*.f64 y y) 1/18)))) (fma.f64 (*.f64 -1/27 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18))) (fma.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18))) (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645) (*.f64 1/729 (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18)))) (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (*.f64 -17/413343 (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18))))))) (*.f64 y (*.f64 y (*.f64 (cbrt.f64 (*.f64 y y)) -1/9)))) (fma.f64 (pow.f64 y 4) (fma.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (fma.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18))) (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645) (*.f64 1/729 (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18)))) (fma.f64 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645) (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18)) (*.f64 (cbrt.f64 (*.f64 y y)) 2/729))) (cbrt.f64 (*.f64 y y))))
(fma.f64 (pow.f64 y 4) (fma.f64 (cbrt.f64 (*.f64 y y)) 2/729 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (+.f64 (fma.f64 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645) (*.f64 2 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18))) (*.f64 1/729 (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18)))) (*.f64 (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18)) -2/3645)))) (fma.f64 (pow.f64 y 6) (fma.f64 -2/27 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (*.f64 (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18)) -2/3645)) (fma.f64 -1/27 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (fma.f64 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645) (*.f64 2 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18))) (*.f64 1/729 (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18))))) (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (+.f64 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (+.f64 (*.f64 -2/27 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645)) (*.f64 2 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -17/413343)))) (*.f64 (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18)) -17/413343))))) (*.f64 (cbrt.f64 (*.f64 y y)) (+.f64 1 (*.f64 (*.f64 y y) -1/9)))))
(fma.f64 (pow.f64 y 4) (fma.f64 (cbrt.f64 (*.f64 y y)) 2/729 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (+.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645))) (*.f64 (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18)) 1/1215)))) (fma.f64 (pow.f64 y 6) (fma.f64 -2/27 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (*.f64 (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18)) -2/3645)) (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (+.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18)) -17/413343) (+.f64 (*.f64 -1/27 (fma.f64 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645) (*.f64 2 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18))) (*.f64 1/729 (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18))))) (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (+.f64 (*.f64 -2/27 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645)) (*.f64 2 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -17/413343)))))))) (*.f64 (cbrt.f64 (*.f64 y y)) (+.f64 1 (*.f64 (*.f64 y y) -1/9)))))
(fma.f64 (pow.f64 y 4) (fma.f64 (cbrt.f64 (*.f64 y y)) 2/729 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (+.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645) (*.f64 2 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)))) (*.f64 (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18)) 1/1215)))) (fma.f64 (pow.f64 y 6) (fma.f64 -2/27 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (*.f64 (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18)) -2/3645)) (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (+.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18)) -17/413343) (+.f64 (*.f64 -1/27 (fma.f64 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645) (*.f64 2 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18))) (*.f64 1/729 (*.f64 (pow.f64 (pow.f64 y 4) 1/18) (pow.f64 (pow.f64 y 4) 1/18))))) (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (+.f64 (*.f64 -2/27 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645)) (*.f64 2 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -17/413343)))))))) (*.f64 (cbrt.f64 (*.f64 y y)) (+.f64 1 (*.f64 (*.f64 y y) -1/9)))))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 (sin.f64 y) 2) 1/3))
(*.f64 1 (cbrt.f64 (pow.f64 (sin.f64 y) 2)))
(cbrt.f64 (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 (sin.f64 y) 2) 1/3))
(*.f64 1 (cbrt.f64 (pow.f64 (sin.f64 y) 2)))
(cbrt.f64 (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 (sin.f64 y) 2) 1/3))
(*.f64 1 (cbrt.f64 (pow.f64 (sin.f64 y) 2)))
(cbrt.f64 (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 (sin.f64 y) 2) 1/3))
(*.f64 1 (cbrt.f64 (pow.f64 (sin.f64 y) 2)))
(cbrt.f64 (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 (sin.f64 y) 2) 1/3))
(*.f64 1 (cbrt.f64 (pow.f64 (sin.f64 y) 2)))
(cbrt.f64 (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 (sin.f64 y) 2) 1/3))
(*.f64 1 (cbrt.f64 (pow.f64 (sin.f64 y) 2)))
(cbrt.f64 (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 (sin.f64 y) 2) 1/3))
(*.f64 1 (cbrt.f64 (pow.f64 (sin.f64 y) 2)))
(cbrt.f64 (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (pow.f64 (sin.f64 y) 2) 1/3))
(*.f64 1 (cbrt.f64 (pow.f64 (sin.f64 y) 2)))
(cbrt.f64 (pow.f64 (sin.f64 y) 2))
(pow.f64 y 1/9)
(*.f64 (pow.f64 y 1/18) (pow.f64 y 1/18))
(+.f64 (*.f64 -1/54 (pow.f64 (*.f64 1 (pow.f64 y 19)) 1/9)) (pow.f64 y 1/9))
(fma.f64 -1/54 (*.f64 (pow.f64 (pow.f64 y 19) 1/18) (pow.f64 (pow.f64 y 19) 1/18)) (*.f64 (pow.f64 y 1/18) (pow.f64 y 1/18)))
(+.f64 (*.f64 -1/54 (pow.f64 (*.f64 1 (pow.f64 y 19)) 1/9)) (+.f64 (pow.f64 y 1/9) (*.f64 -13/29160 (pow.f64 (*.f64 1 (pow.f64 y 37)) 1/9))))
(+.f64 (fma.f64 -1/54 (*.f64 (pow.f64 (pow.f64 y 19) 1/18) (pow.f64 (pow.f64 y 19) 1/18)) (*.f64 (pow.f64 y 1/18) (pow.f64 y 1/18))) (*.f64 -13/29160 (*.f64 (pow.f64 (pow.f64 y 37) 1/18) (pow.f64 (pow.f64 y 37) 1/18))))
(fma.f64 -1/54 (*.f64 (pow.f64 (pow.f64 y 19) 1/18) (pow.f64 (pow.f64 y 19) 1/18)) (fma.f64 -13/29160 (*.f64 (pow.f64 (pow.f64 y 37) 1/18) (pow.f64 (pow.f64 y 37) 1/18)) (*.f64 (pow.f64 y 1/18) (pow.f64 y 1/18))))
(fma.f64 -1/54 (*.f64 (pow.f64 (pow.f64 y 19) 1/18) (pow.f64 (pow.f64 y 19) 1/18)) (fma.f64 (pow.f64 (pow.f64 y 37) 1/18) (*.f64 -13/29160 (pow.f64 (pow.f64 y 37) 1/18)) (*.f64 (pow.f64 y 1/18) (pow.f64 y 1/18))))
(+.f64 (*.f64 -1/54 (pow.f64 (*.f64 1 (pow.f64 y 19)) 1/9)) (+.f64 (*.f64 -953/33067440 (pow.f64 (*.f64 1 (pow.f64 y 55)) 1/9)) (+.f64 (pow.f64 y 1/9) (*.f64 -13/29160 (pow.f64 (*.f64 1 (pow.f64 y 37)) 1/9)))))
(fma.f64 -1/54 (*.f64 (pow.f64 (pow.f64 y 19) 1/18) (pow.f64 (pow.f64 y 19) 1/18)) (fma.f64 -953/33067440 (*.f64 (pow.f64 (pow.f64 y 55) 1/18) (pow.f64 (pow.f64 y 55) 1/18)) (+.f64 (*.f64 (pow.f64 y 1/18) (pow.f64 y 1/18)) (*.f64 -13/29160 (*.f64 (pow.f64 (pow.f64 y 37) 1/18) (pow.f64 (pow.f64 y 37) 1/18))))))
(fma.f64 -1/54 (*.f64 (pow.f64 (pow.f64 y 19) 1/18) (pow.f64 (pow.f64 y 19) 1/18)) (fma.f64 -953/33067440 (*.f64 (pow.f64 (pow.f64 y 55) 1/18) (pow.f64 (pow.f64 y 55) 1/18)) (fma.f64 -13/29160 (*.f64 (pow.f64 (pow.f64 y 37) 1/18) (pow.f64 (pow.f64 y 37) 1/18)) (*.f64 (pow.f64 y 1/18) (pow.f64 y 1/18)))))
(fma.f64 -1/54 (*.f64 (pow.f64 (pow.f64 y 19) 1/18) (pow.f64 (pow.f64 y 19) 1/18)) (fma.f64 -13/29160 (*.f64 (pow.f64 (pow.f64 y 37) 1/18) (pow.f64 (pow.f64 y 37) 1/18)) (fma.f64 -953/33067440 (*.f64 (pow.f64 (pow.f64 y 55) 1/18) (pow.f64 (pow.f64 y 55) 1/18)) (*.f64 (pow.f64 y 1/18) (pow.f64 y 1/18)))))
(fma.f64 (pow.f64 (pow.f64 y 19) 1/18) (*.f64 -1/54 (pow.f64 (pow.f64 y 19) 1/18)) (fma.f64 -13/29160 (*.f64 (pow.f64 (pow.f64 y 37) 1/18) (pow.f64 (pow.f64 y 37) 1/18)) (fma.f64 -953/33067440 (*.f64 (pow.f64 (pow.f64 y 55) 1/18) (pow.f64 (pow.f64 y 55) 1/18)) (*.f64 (pow.f64 y 1/18) (pow.f64 y 1/18)))))
(pow.f64 (sin.f64 y) 1/9)
(*.f64 (pow.f64 (sin.f64 y) 1/18) (pow.f64 (sin.f64 y) 1/18))
(pow.f64 (sin.f64 y) 1/9)
(*.f64 (pow.f64 (sin.f64 y) 1/18) (pow.f64 (sin.f64 y) 1/18))
(pow.f64 (sin.f64 y) 1/9)
(*.f64 (pow.f64 (sin.f64 y) 1/18) (pow.f64 (sin.f64 y) 1/18))
(pow.f64 (sin.f64 y) 1/9)
(*.f64 (pow.f64 (sin.f64 y) 1/18) (pow.f64 (sin.f64 y) 1/18))
(pow.f64 (sin.f64 y) 1/9)
(*.f64 (pow.f64 (sin.f64 y) 1/18) (pow.f64 (sin.f64 y) 1/18))
(pow.f64 (sin.f64 y) 1/9)
(*.f64 (pow.f64 (sin.f64 y) 1/18) (pow.f64 (sin.f64 y) 1/18))
(pow.f64 (sin.f64 y) 1/9)
(*.f64 (pow.f64 (sin.f64 y) 1/18) (pow.f64 (sin.f64 y) 1/18))
(pow.f64 (sin.f64 y) 1/9)
(*.f64 (pow.f64 (sin.f64 y) 1/18) (pow.f64 (sin.f64 y) 1/18))
(pow.f64 (pow.f64 y 2) 1/9)
(*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18))
(+.f64 (pow.f64 (pow.f64 y 2) 1/9) (*.f64 -1/27 (pow.f64 (*.f64 1 (pow.f64 y 20)) 1/9)))
(+.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (*.f64 -1/27 (*.f64 (pow.f64 (pow.f64 y 20) 1/18) (pow.f64 (pow.f64 y 20) 1/18))))
(fma.f64 -1/27 (*.f64 (pow.f64 (pow.f64 y 20) 1/18) (pow.f64 (pow.f64 y 20) 1/18)) (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)))
(+.f64 (*.f64 (+.f64 (*.f64 -13/14580 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)) (*.f64 1/2916 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9))) (pow.f64 y 4)) (+.f64 (pow.f64 (pow.f64 y 2) 1/9) (*.f64 -1/27 (pow.f64 (*.f64 1 (pow.f64 y 20)) 1/9))))
(fma.f64 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645) (pow.f64 y 4) (+.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (*.f64 -1/27 (*.f64 (pow.f64 (pow.f64 y 20) 1/18) (pow.f64 (pow.f64 y 20) 1/18)))))
(fma.f64 (pow.f64 y 4) (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645) (fma.f64 -1/27 (*.f64 (pow.f64 (pow.f64 y 20) 1/18) (pow.f64 (pow.f64 y 20) 1/18)) (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18))))
(fma.f64 -1/27 (*.f64 (pow.f64 (pow.f64 y 20) 1/18) (pow.f64 (pow.f64 y 20) 1/18)) (fma.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (*.f64 (pow.f64 y 4) -2/3645) (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18))))
(fma.f64 -1/27 (*.f64 (pow.f64 (pow.f64 y 20) 1/18) (pow.f64 (pow.f64 y 20) 1/18)) (*.f64 (+.f64 (*.f64 (pow.f64 y 4) -2/3645) 1) (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18))))
(+.f64 (*.f64 (+.f64 (*.f64 -13/14580 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)) (*.f64 1/2916 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9))) (pow.f64 y 4)) (+.f64 (pow.f64 (pow.f64 y 2) 1/9) (+.f64 (*.f64 (pow.f64 y 6) (+.f64 (*.f64 13/787320 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)) (*.f64 -953/16533720 (pow.f64 (*.f64 1 (pow.f64 y 2)) 1/9)))) (*.f64 -1/27 (pow.f64 (*.f64 1 (pow.f64 y 20)) 1/9)))))
(fma.f64 (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645) (pow.f64 y 4) (+.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (fma.f64 (pow.f64 y 6) (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -17/413343) (*.f64 -1/27 (*.f64 (pow.f64 (pow.f64 y 20) 1/18) (pow.f64 (pow.f64 y 20) 1/18))))))
(fma.f64 (pow.f64 y 4) (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645) (fma.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18) (fma.f64 -1/27 (*.f64 (pow.f64 (pow.f64 y 20) 1/18) (pow.f64 (pow.f64 y 20) 1/18)) (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (*.f64 -17/413343 (pow.f64 y 6))))))
(fma.f64 (pow.f64 y 4) (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) -2/3645) (fma.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (*.f64 (pow.f64 y 6) -17/413343) (fma.f64 -1/27 (*.f64 (pow.f64 (pow.f64 y 20) 1/18) (pow.f64 (pow.f64 y 20) 1/18)) (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)))))
(fma.f64 (*.f64 (pow.f64 (*.f64 y y) 19/18) (pow.f64 (*.f64 y y) 19/18)) -2/3645 (fma.f64 -1/27 (*.f64 (pow.f64 (pow.f64 y 20) 1/18) (pow.f64 (pow.f64 y 20) 1/18)) (*.f64 (+.f64 (*.f64 (pow.f64 y 6) -17/413343) 1) (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)))))
(+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (pow.f64 y 20) 1/18) (pow.f64 (pow.f64 y 20) 1/18))) (*.f64 (*.f64 (pow.f64 (*.f64 y y) 1/18) (pow.f64 (*.f64 y y) 1/18)) (+.f64 (*.f64 (pow.f64 y 4) -2/3645) (+.f64 (*.f64 (pow.f64 y 6) -17/413343) 1))))
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/9)
(*.f64 (pow.f64 (pow.f64 (sin.f64 y) 2) 1/18) (pow.f64 (pow.f64 (sin.f64 y) 2) 1/18))
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/9)
(*.f64 (pow.f64 (pow.f64 (sin.f64 y) 2) 1/18) (pow.f64 (pow.f64 (sin.f64 y) 2) 1/18))
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/9)
(*.f64 (pow.f64 (pow.f64 (sin.f64 y) 2) 1/18) (pow.f64 (pow.f64 (sin.f64 y) 2) 1/18))
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/9)
(*.f64 (pow.f64 (pow.f64 (sin.f64 y) 2) 1/18) (pow.f64 (pow.f64 (sin.f64 y) 2) 1/18))
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/9)
(*.f64 (pow.f64 (pow.f64 (sin.f64 y) 2) 1/18) (pow.f64 (pow.f64 (sin.f64 y) 2) 1/18))
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/9)
(*.f64 (pow.f64 (pow.f64 (sin.f64 y) 2) 1/18) (pow.f64 (pow.f64 (sin.f64 y) 2) 1/18))
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/9)
(*.f64 (pow.f64 (pow.f64 (sin.f64 y) 2) 1/18) (pow.f64 (pow.f64 (sin.f64 y) 2) 1/18))
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/9)
(*.f64 (pow.f64 (pow.f64 (sin.f64 y) 2) 1/18) (pow.f64 (pow.f64 (sin.f64 y) 2) 1/18))

localize12.0ms (0.1%)

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)

series8.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

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

rewrite74.0ms (0.7%)

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

simplify27.0ms (0.2%)

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

Useful iterations: 1 (0.0ms)

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

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 50 to 29 computations (42% saved)

series14.0ms (0.1%)

Counts
4 → 57
Calls

27 calls:

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

rewrite116.0ms (1%)

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

Useful iterations: 2 (0.0ms)

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

simplify154.0ms (1.4%)

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

Useful iterations: 1 (0.0ms)

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

localize28.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.2b
(pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2)
7.4b
(sqrt.f64 (*.f64 z (sin.f64 y)))
Compiler

Compiled 34 to 12 computations (64.7% saved)

series18.0ms (0.2%)

Counts
3 → 30
Calls

21 calls:

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

rewrite72.0ms (0.6%)

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

simplify29.0ms (0.3%)

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
010213
121213
237213
350213
466213
5100213
6155213
7205213
8270213
9344213
10394213
11400213
Stop Event
saturated
Counts
120 → 96
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))
(*.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 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 -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)
(-.f64 x (*.f64 z (sin.f64 y)))
(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 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 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 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 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 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 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 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 z (neg.f64 (sin.f64 y)) x)
x
x
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 z (neg.f64 (sin.f64 y)) x)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 40 to 10 computations (75% saved)

series83.0ms (0.7%)

Counts
3 → 84
Calls

21 calls:

TimeVariablePointExpression
56.0ms
y
@inf
(log1p.f64 (+.f64 x (cos.f64 y)))
17.0ms
y
@-inf
(log1p.f64 (+.f64 x (cos.f64 y)))
3.0ms
y
@0
(log1p.f64 (+.f64 x (cos.f64 y)))
1.0ms
x
@0
(log1p.f64 (+.f64 x (cos.f64 y)))
1.0ms
x
@inf
(log1p.f64 (+.f64 x (cos.f64 y)))

rewrite96.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
555×log-prod_binary64
408×fma-def_binary64
369×pow-prod-down_binary64
303×pow2_binary64
212×pow-to-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify75.0ms (0.7%)

Algorithm
egg-herbie
Rules
462×distribute-rgt-in_binary64
458×distribute-lft-in_binary64
430×fma-def_binary64
393×associate-+l+_binary64
351×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01231209
13581168
210721159
344631151
Stop Event
node limit
Counts
292 → 261
Calls
Call 1
Inputs
(cos.f64 y)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
x
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
x
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 1 x)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) 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)
(log.f64 (+.f64 1 (cos.f64 y)))
(+.f64 (/.f64 x (+.f64 1 (cos.f64 y))) (log.f64 (+.f64 1 (cos.f64 y))))
(+.f64 (/.f64 x (+.f64 1 (cos.f64 y))) (+.f64 (log.f64 (+.f64 1 (cos.f64 y))) (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 (+.f64 1 (cos.f64 y)) 2)))))
(+.f64 (/.f64 x (+.f64 1 (cos.f64 y))) (+.f64 (*.f64 1/3 (/.f64 (pow.f64 x 3) (pow.f64 (+.f64 1 (cos.f64 y)) 3))) (+.f64 (log.f64 (+.f64 1 (cos.f64 y))) (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 (+.f64 1 (cos.f64 y)) 2))))))
(*.f64 -1 (log.f64 (/.f64 1 x)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (+.f64 (/.f64 (cos.f64 y) x) (/.f64 1 x)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (cos.f64 y)) 2) (pow.f64 x 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (+.f64 (/.f64 1 x) (/.f64 (cos.f64 y) x))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (cos.f64 y)) 2) (pow.f64 x 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (+.f64 (/.f64 1 x) (+.f64 (/.f64 (cos.f64 y) x) (*.f64 1/3 (/.f64 (pow.f64 (+.f64 1 (cos.f64 y)) 3) (pow.f64 x 3)))))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 -1))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (+.f64 (log.f64 -1) (+.f64 (/.f64 (cos.f64 y) x) (/.f64 1 x))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (cos.f64 y)) 2) (pow.f64 x 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (+.f64 (log.f64 -1) (+.f64 (/.f64 1 x) (/.f64 (cos.f64 y) x)))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (cos.f64 y)) 2) (pow.f64 x 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (+.f64 (log.f64 -1) (+.f64 (/.f64 1 x) (+.f64 (/.f64 (cos.f64 y) x) (*.f64 1/3 (/.f64 (pow.f64 (+.f64 1 (cos.f64 y)) 3) (pow.f64 x 3))))))))
(log.f64 (+.f64 2 x))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 y 2) (+.f64 2 x))) (log.f64 (+.f64 2 x)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 y 2) (+.f64 2 x))) (+.f64 (log.f64 (+.f64 2 x)) (*.f64 1/24 (*.f64 (pow.f64 y 4) (-.f64 (/.f64 1 (+.f64 2 x)) (*.f64 3 (/.f64 1 (pow.f64 (+.f64 2 x) 2))))))))
(+.f64 (*.f64 1/720 (*.f64 (-.f64 (*.f64 15 (/.f64 1 (pow.f64 (+.f64 2 x) 2))) (+.f64 (*.f64 30 (/.f64 1 (pow.f64 (+.f64 2 x) 3))) (/.f64 1 (+.f64 2 x)))) (pow.f64 y 6))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 y 2) (+.f64 2 x))) (+.f64 (log.f64 (+.f64 2 x)) (*.f64 1/24 (*.f64 (pow.f64 y 4) (-.f64 (/.f64 1 (+.f64 2 x)) (*.f64 3 (/.f64 1 (pow.f64 (+.f64 2 x) 2)))))))))
(log.f64 (+.f64 1 (+.f64 (cos.f64 y) x)))
(log.f64 (+.f64 1 (+.f64 (cos.f64 y) x)))
(log.f64 (+.f64 1 (+.f64 (cos.f64 y) x)))
(log.f64 (+.f64 1 (+.f64 (cos.f64 y) x)))
(log.f64 (+.f64 1 (+.f64 (cos.f64 y) x)))
(log.f64 (+.f64 1 (+.f64 (cos.f64 y) x)))
(log.f64 (+.f64 1 (+.f64 (cos.f64 y) x)))
(log.f64 (+.f64 1 (+.f64 (cos.f64 y) x)))
(-.f64 (cos.f64 y) (*.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)))
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)))
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 1 x)
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
Outputs
(cos.f64 y)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
x
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
x
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 1 x)
(+.f64 x 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))
(+.f64 1 (fma.f64 -1/2 (*.f64 y y) x))
(+.f64 x (fma.f64 -1/2 (*.f64 y y) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))
(+.f64 1 (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) x)))
(+.f64 1 (fma.f64 y (*.f64 y -1/2) (fma.f64 1/24 (pow.f64 y 4) x)))
(+.f64 (fma.f64 1/24 (pow.f64 y 4) x) (fma.f64 -1/2 (*.f64 y y) 1))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))))
(fma.f64 -1/720 (pow.f64 y 6) (+.f64 1 (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) x))))
(+.f64 (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) x)) (fma.f64 -1/720 (pow.f64 y 6) 1))
(+.f64 1 (fma.f64 -1/720 (pow.f64 y 6) (fma.f64 y (*.f64 y -1/2) (fma.f64 1/24 (pow.f64 y 4) x))))
(fma.f64 -1/720 (pow.f64 y 6) (+.f64 (fma.f64 1/24 (pow.f64 y 4) x) (fma.f64 -1/2 (*.f64 y y) 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)
(log.f64 (+.f64 1 (cos.f64 y)))
(log1p.f64 (cos.f64 y))
(+.f64 (/.f64 x (+.f64 1 (cos.f64 y))) (log.f64 (+.f64 1 (cos.f64 y))))
(+.f64 (log1p.f64 (cos.f64 y)) (/.f64 x (+.f64 (cos.f64 y) 1)))
(+.f64 (/.f64 x (+.f64 1 (cos.f64 y))) (+.f64 (log.f64 (+.f64 1 (cos.f64 y))) (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 (+.f64 1 (cos.f64 y)) 2)))))
(+.f64 (+.f64 (log1p.f64 (cos.f64 y)) (/.f64 x (+.f64 (cos.f64 y) 1))) (/.f64 (*.f64 -1/2 (*.f64 x x)) (pow.f64 (+.f64 (cos.f64 y) 1) 2)))
(+.f64 (/.f64 x (+.f64 (cos.f64 y) 1)) (fma.f64 -1/2 (/.f64 (*.f64 x x) (pow.f64 (+.f64 (cos.f64 y) 1) 2)) (log1p.f64 (cos.f64 y))))
(+.f64 (log1p.f64 (cos.f64 y)) (fma.f64 -1/2 (*.f64 (/.f64 x (pow.f64 (+.f64 (cos.f64 y) 1) 2)) x) (/.f64 x (+.f64 (cos.f64 y) 1))))
(+.f64 (log1p.f64 (cos.f64 y)) (*.f64 (+.f64 (/.f64 (*.f64 x -1/2) (+.f64 (cos.f64 y) 1)) 1) (/.f64 x (+.f64 (cos.f64 y) 1))))
(+.f64 (/.f64 x (+.f64 1 (cos.f64 y))) (+.f64 (*.f64 1/3 (/.f64 (pow.f64 x 3) (pow.f64 (+.f64 1 (cos.f64 y)) 3))) (+.f64 (log.f64 (+.f64 1 (cos.f64 y))) (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 (+.f64 1 (cos.f64 y)) 2))))))
(+.f64 (/.f64 x (+.f64 (cos.f64 y) 1)) (fma.f64 1/3 (/.f64 (pow.f64 x 3) (pow.f64 (+.f64 (cos.f64 y) 1) 3)) (+.f64 (log1p.f64 (cos.f64 y)) (/.f64 (*.f64 -1/2 (*.f64 x x)) (pow.f64 (+.f64 (cos.f64 y) 1) 2)))))
(+.f64 (/.f64 x (+.f64 (cos.f64 y) 1)) (fma.f64 1/3 (/.f64 (pow.f64 x 3) (pow.f64 (+.f64 (cos.f64 y) 1) 3)) (fma.f64 -1/2 (/.f64 (*.f64 x x) (pow.f64 (+.f64 (cos.f64 y) 1) 2)) (log1p.f64 (cos.f64 y)))))
(+.f64 (/.f64 x (+.f64 (cos.f64 y) 1)) (fma.f64 -1/2 (*.f64 (/.f64 x (pow.f64 (+.f64 (cos.f64 y) 1) 2)) x) (fma.f64 1/3 (pow.f64 (/.f64 x (+.f64 (cos.f64 y) 1)) 3) (log1p.f64 (cos.f64 y)))))
(+.f64 (fma.f64 1/3 (pow.f64 (/.f64 x (+.f64 (cos.f64 y) 1)) 3) (log1p.f64 (cos.f64 y))) (*.f64 (+.f64 (/.f64 (*.f64 x -1/2) (+.f64 (cos.f64 y) 1)) 1) (/.f64 x (+.f64 (cos.f64 y) 1))))
(*.f64 -1 (log.f64 (/.f64 1 x)))
(neg.f64 (neg.f64 (log.f64 x)))
(log.f64 x)
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (+.f64 (/.f64 (cos.f64 y) x) (/.f64 1 x)))
(fma.f64 -1 (neg.f64 (log.f64 x)) (+.f64 (/.f64 1 x) (/.f64 (cos.f64 y) x)))
(+.f64 (/.f64 1 x) (+.f64 (log.f64 x) (/.f64 (cos.f64 y) x)))
(+.f64 (log.f64 x) (+.f64 (/.f64 1 x) (/.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (cos.f64 y)) 2) (pow.f64 x 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (+.f64 (/.f64 1 x) (/.f64 (cos.f64 y) x))))
(fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 (cos.f64 y) 1) 2) (*.f64 x x)) (fma.f64 -1 (neg.f64 (log.f64 x)) (+.f64 (/.f64 1 x) (/.f64 (cos.f64 y) x))))
(fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 (cos.f64 y) 1) 2) (*.f64 x x)) (+.f64 (/.f64 1 x) (+.f64 (log.f64 x) (/.f64 (cos.f64 y) x))))
(+.f64 (+.f64 (/.f64 1 x) (/.f64 (cos.f64 y) x)) (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 (cos.f64 y) 1) 2) (*.f64 x x)) (log.f64 x)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (cos.f64 y)) 2) (pow.f64 x 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (+.f64 (/.f64 1 x) (+.f64 (/.f64 (cos.f64 y) x) (*.f64 1/3 (/.f64 (pow.f64 (+.f64 1 (cos.f64 y)) 3) (pow.f64 x 3)))))))
(fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 (cos.f64 y) 1) 2) (*.f64 x x)) (fma.f64 -1 (neg.f64 (log.f64 x)) (+.f64 (+.f64 (/.f64 1 x) (/.f64 (cos.f64 y) x)) (*.f64 1/3 (/.f64 (pow.f64 (+.f64 (cos.f64 y) 1) 3) (pow.f64 x 3))))))
(+.f64 (+.f64 (/.f64 1 x) (fma.f64 1/3 (/.f64 (pow.f64 (+.f64 (cos.f64 y) 1) 3) (pow.f64 x 3)) (/.f64 (cos.f64 y) x))) (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 (cos.f64 y) 1) 2) (*.f64 x x)) (log.f64 x)))
(+.f64 (/.f64 1 x) (+.f64 (fma.f64 1/3 (pow.f64 (/.f64 (+.f64 (cos.f64 y) 1) x) 3) (/.f64 (cos.f64 y) x)) (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 (cos.f64 y) 1) 2) (*.f64 x x)) (log.f64 x))))
(fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 (cos.f64 y) 1) 2) (*.f64 x x)) (+.f64 (/.f64 (cos.f64 y) x) (+.f64 (/.f64 1 x) (fma.f64 1/3 (pow.f64 (/.f64 (+.f64 (cos.f64 y) 1) x) 3) (log.f64 x)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 -1))
(neg.f64 (neg.f64 (log.f64 x)))
(log.f64 x)
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (+.f64 (log.f64 -1) (+.f64 (/.f64 (cos.f64 y) x) (/.f64 1 x))))
(fma.f64 -1 (neg.f64 (log.f64 x)) (+.f64 (/.f64 1 x) (/.f64 (cos.f64 y) x)))
(+.f64 (/.f64 1 x) (+.f64 (log.f64 x) (/.f64 (cos.f64 y) x)))
(+.f64 (log.f64 x) (+.f64 (/.f64 1 x) (/.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (cos.f64 y)) 2) (pow.f64 x 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (+.f64 (log.f64 -1) (+.f64 (/.f64 1 x) (/.f64 (cos.f64 y) x)))))
(fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 (cos.f64 y) 1) 2) (*.f64 x x)) (fma.f64 -1 (neg.f64 (log.f64 x)) (+.f64 (/.f64 1 x) (/.f64 (cos.f64 y) x))))
(fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 (cos.f64 y) 1) 2) (*.f64 x x)) (+.f64 (/.f64 1 x) (+.f64 (log.f64 x) (/.f64 (cos.f64 y) x))))
(+.f64 (+.f64 (/.f64 1 x) (/.f64 (cos.f64 y) x)) (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 (cos.f64 y) 1) 2) (*.f64 x x)) (log.f64 x)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (cos.f64 y)) 2) (pow.f64 x 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (+.f64 (log.f64 -1) (+.f64 (/.f64 1 x) (+.f64 (/.f64 (cos.f64 y) x) (*.f64 1/3 (/.f64 (pow.f64 (+.f64 1 (cos.f64 y)) 3) (pow.f64 x 3))))))))
(fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 (cos.f64 y) 1) 2) (*.f64 x x)) (fma.f64 -1 (neg.f64 (log.f64 x)) (+.f64 (+.f64 (/.f64 1 x) (/.f64 (cos.f64 y) x)) (*.f64 1/3 (/.f64 (pow.f64 (+.f64 (cos.f64 y) 1) 3) (pow.f64 x 3))))))
(+.f64 (+.f64 (/.f64 1 x) (fma.f64 1/3 (/.f64 (pow.f64 (+.f64 (cos.f64 y) 1) 3) (pow.f64 x 3)) (/.f64 (cos.f64 y) x))) (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 (cos.f64 y) 1) 2) (*.f64 x x)) (log.f64 x)))
(+.f64 (/.f64 1 x) (+.f64 (fma.f64 1/3 (pow.f64 (/.f64 (+.f64 (cos.f64 y) 1) x) 3) (/.f64 (cos.f64 y) x)) (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 (cos.f64 y) 1) 2) (*.f64 x x)) (log.f64 x))))
(fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 (cos.f64 y) 1) 2) (*.f64 x x)) (+.f64 (/.f64 (cos.f64 y) x) (+.f64 (/.f64 1 x) (fma.f64 1/3 (pow.f64 (/.f64 (+.f64 (cos.f64 y) 1) x) 3) (log.f64 x)))))
(log.f64 (+.f64 2 x))
(log.f64 (+.f64 x 2))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 y 2) (+.f64 2 x))) (log.f64 (+.f64 2 x)))
(fma.f64 -1/2 (/.f64 (*.f64 y y) (+.f64 x 2)) (log.f64 (+.f64 x 2)))
(fma.f64 -1/2 (/.f64 y (/.f64 (+.f64 x 2) y)) (log.f64 (+.f64 x 2)))
(fma.f64 -1/2 (*.f64 (/.f64 y (+.f64 x 2)) y) (log.f64 (+.f64 x 2)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 y 2) (+.f64 2 x))) (+.f64 (log.f64 (+.f64 2 x)) (*.f64 1/24 (*.f64 (pow.f64 y 4) (-.f64 (/.f64 1 (+.f64 2 x)) (*.f64 3 (/.f64 1 (pow.f64 (+.f64 2 x) 2))))))))
(+.f64 (fma.f64 -1/2 (/.f64 (*.f64 y y) (+.f64 x 2)) (log.f64 (+.f64 x 2))) (*.f64 (*.f64 1/24 (pow.f64 y 4)) (-.f64 (/.f64 1 (+.f64 x 2)) (/.f64 3 (pow.f64 (+.f64 x 2) 2)))))
(fma.f64 -1/2 (/.f64 y (/.f64 (+.f64 x 2) y)) (fma.f64 1/24 (*.f64 (pow.f64 y 4) (-.f64 (/.f64 1 (+.f64 x 2)) (/.f64 3 (pow.f64 (+.f64 x 2) 2)))) (log.f64 (+.f64 x 2))))
(fma.f64 (*.f64 1/24 (pow.f64 y 4)) (-.f64 (/.f64 1 (+.f64 x 2)) (/.f64 3 (pow.f64 (+.f64 x 2) 2))) (fma.f64 -1/2 (*.f64 (/.f64 y (+.f64 x 2)) y) (log.f64 (+.f64 x 2))))
(fma.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 (/.f64 1 (+.f64 x 2)) (/.f64 -3 (pow.f64 (+.f64 x 2) 2))) (fma.f64 -1/2 (*.f64 (/.f64 y (+.f64 x 2)) y) (log.f64 (+.f64 x 2))))
(+.f64 (*.f64 1/720 (*.f64 (-.f64 (*.f64 15 (/.f64 1 (pow.f64 (+.f64 2 x) 2))) (+.f64 (*.f64 30 (/.f64 1 (pow.f64 (+.f64 2 x) 3))) (/.f64 1 (+.f64 2 x)))) (pow.f64 y 6))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 y 2) (+.f64 2 x))) (+.f64 (log.f64 (+.f64 2 x)) (*.f64 1/24 (*.f64 (pow.f64 y 4) (-.f64 (/.f64 1 (+.f64 2 x)) (*.f64 3 (/.f64 1 (pow.f64 (+.f64 2 x) 2)))))))))
(fma.f64 1/720 (*.f64 (pow.f64 y 6) (-.f64 (/.f64 15 (pow.f64 (+.f64 x 2) 2)) (+.f64 (/.f64 1 (+.f64 x 2)) (/.f64 30 (pow.f64 (+.f64 x 2) 3))))) (+.f64 (fma.f64 -1/2 (/.f64 (*.f64 y y) (+.f64 x 2)) (log.f64 (+.f64 x 2))) (*.f64 (*.f64 1/24 (pow.f64 y 4)) (-.f64 (/.f64 1 (+.f64 x 2)) (/.f64 3 (pow.f64 (+.f64 x 2) 2))))))
(fma.f64 1/720 (*.f64 (pow.f64 y 6) (-.f64 (/.f64 15 (pow.f64 (+.f64 x 2) 2)) (+.f64 (/.f64 1 (+.f64 x 2)) (/.f64 30 (pow.f64 (+.f64 x 2) 3))))) (fma.f64 -1/2 (/.f64 y (/.f64 (+.f64 x 2) y)) (fma.f64 1/24 (*.f64 (pow.f64 y 4) (-.f64 (/.f64 1 (+.f64 x 2)) (/.f64 3 (pow.f64 (+.f64 x 2) 2)))) (log.f64 (+.f64 x 2)))))
(fma.f64 (pow.f64 y 6) (+.f64 (*.f64 -1/720 (+.f64 (/.f64 1 (+.f64 x 2)) (/.f64 30 (pow.f64 (+.f64 x 2) 3)))) (/.f64 1/48 (pow.f64 (+.f64 x 2) 2))) (fma.f64 (*.f64 1/24 (pow.f64 y 4)) (-.f64 (/.f64 1 (+.f64 x 2)) (/.f64 3 (pow.f64 (+.f64 x 2) 2))) (fma.f64 -1/2 (*.f64 (/.f64 y (+.f64 x 2)) y) (log.f64 (+.f64 x 2)))))
(fma.f64 (pow.f64 y 6) (+.f64 (*.f64 1/720 (+.f64 (/.f64 -30 (pow.f64 (+.f64 x 2) 3)) (/.f64 -1 (+.f64 x 2)))) (/.f64 1/48 (pow.f64 (+.f64 x 2) 2))) (fma.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 (/.f64 1 (+.f64 x 2)) (/.f64 -3 (pow.f64 (+.f64 x 2) 2))) (fma.f64 -1/2 (*.f64 (/.f64 y (+.f64 x 2)) y) (log.f64 (+.f64 x 2)))))
(log.f64 (+.f64 1 (+.f64 (cos.f64 y) x)))
(log1p.f64 (+.f64 (cos.f64 y) x))
(log.f64 (+.f64 1 (+.f64 (cos.f64 y) x)))
(log1p.f64 (+.f64 (cos.f64 y) x))
(log.f64 (+.f64 1 (+.f64 (cos.f64 y) x)))
(log1p.f64 (+.f64 (cos.f64 y) x))
(log.f64 (+.f64 1 (+.f64 (cos.f64 y) x)))
(log1p.f64 (+.f64 (cos.f64 y) x))
(log.f64 (+.f64 1 (+.f64 (cos.f64 y) x)))
(log1p.f64 (+.f64 (cos.f64 y) x))
(log.f64 (+.f64 1 (+.f64 (cos.f64 y) x)))
(log1p.f64 (+.f64 (cos.f64 y) x))
(log.f64 (+.f64 1 (+.f64 (cos.f64 y) x)))
(log1p.f64 (+.f64 (cos.f64 y) x))
(log.f64 (+.f64 1 (+.f64 (cos.f64 y) x)))
(log1p.f64 (+.f64 (cos.f64 y) x))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y))
(fma.f64 (sin.f64 y) (neg.f64 z) (cos.f64 y))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
x
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
x
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(+.f64 1 x)
(+.f64 x 1)
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (fma.f64 -1 (*.f64 y z) x))
(+.f64 x (-.f64 1 (*.f64 y z)))
(+.f64 1 (fma.f64 z (neg.f64 y) x))
(-.f64 x (fma.f64 y z -1))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)))
(+.f64 1 (fma.f64 -1 (*.f64 y z) (fma.f64 -1/2 (*.f64 y y) x)))
(+.f64 1 (-.f64 (fma.f64 -1/2 (*.f64 y y) x) (*.f64 y z)))
(+.f64 1 (-.f64 (fma.f64 y (*.f64 y -1/2) x) (*.f64 y z)))
(-.f64 (fma.f64 -1/2 (*.f64 y y) x) (fma.f64 y z -1))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x))))
(+.f64 1 (fma.f64 -1 (*.f64 y z) (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) x))))
(+.f64 1 (-.f64 (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) x)) (*.f64 y z)))
(+.f64 1 (-.f64 (fma.f64 y (*.f64 y -1/2) (fma.f64 z (*.f64 1/6 (pow.f64 y 3)) x)) (*.f64 y z)))
(-.f64 (fma.f64 z (*.f64 1/6 (pow.f64 y 3)) (fma.f64 -1/2 (*.f64 y y) x)) (fma.f64 y z -1))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(+.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) 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 x (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) 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 x (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) 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 x (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) 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 x (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) 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 x (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) 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 x (fma.f64 (neg.f64 z) (sin.f64 y) (cos.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (fma.f64 (sin.f64 y) (neg.f64 z) x))

eval426.0ms (3.8%)

Compiler

Compiled 17279 to 8107 computations (53.1% saved)

prune173.0ms (1.5%)

Pruning

27 alts after pruning (19 fresh and 8 done)

PrunedKeptTotal
New8429851
Fresh51015
Picked101
Done088
Total84827875
Error
0b
Counts
875 → 27
Alt Table
Click to see full alt table
StatusErrorProgram
34.8b
(-.f64 x (*.f64 y z))
0.5b
(fma.f64 (*.f64 (neg.f64 z) (cbrt.f64 (pow.f64 (sin.f64 y) 2))) (cbrt.f64 (sin.f64 y)) (+.f64 x (cos.f64 y)))
31.6b
(fma.f64 (*.f64 (neg.f64 z) (pow.f64 (sin.f64 y) 2/3)) (cbrt.f64 (sin.f64 y)) (+.f64 x (cos.f64 y)))
39.9b
(-.f64 x (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z)))
40.4b
(-.f64 x (*.f64 (*.f64 z (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y))))
57.5b
(*.f64 y (neg.f64 z))
23.8b
(-.f64 x -1)
31.1b
(*.f64 (+.f64 (pow.f64 x 3) (pow.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (cos.f64 y)) 3)) (/.f64 1 (fma.f64 x x (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (cos.f64 y)) (-.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (cos.f64 y)) x)))))
18.8b
(-.f64 x (*.f64 z (sin.f64 y)))
49.7b
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 z (neg.f64 y)) (*.f64 z (neg.f64 y)))) (-.f64 x (*.f64 z (neg.f64 y))))
39.6b
(pow.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 2)
19.1b
(-.f64 x (*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) z)))
19.7b
(pow.f64 (cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 3)
18.6b
(+.f64 (cos.f64 y) x)
34.3b
(-.f64 (log1p.f64 (expm1.f64 (+.f64 x (cos.f64 y)))) (*.f64 z (sin.f64 y)))
33.1b
(-.f64 x (cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))
14.3b
(-.f64 (+.f64 x (cos.f64 y)) (cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))
0.1b
(-.f64 (-.f64 (+.f64 (+.f64 x (cos.f64 y)) 1) 1) (*.f64 z (sin.f64 y)))
44.4b
(*.f64 (sin.f64 y) (neg.f64 z))
0.6b
(fma.f64 (*.f64 (neg.f64 z) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 y))) 2) 3)) (cbrt.f64 (sin.f64 y)) (+.f64 x (cos.f64 y)))
26.1b
(fma.f64 (sin.f64 y) (neg.f64 z) (cos.f64 y))
42.0b
(-.f64 x (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
39.1b
(-.f64 x (*.f64 (*.f64 (sin.f64 y) (sqrt.f64 z)) (sqrt.f64 z)))
22.2b
(-.f64 x (-.f64 (*.f64 y z) 1))
36.8b
x
43.1b
(/.f64 1 (/.f64 (+.f64 (*.f64 z (sin.f64 y)) x) (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (sin.f64 y)) 2))))
26.1b
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
Compiler

Compiled 638 to 409 computations (35.9% saved)

localize22.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 46 to 19 computations (58.7% saved)

series7.0ms (0.1%)

Counts
3 → 84
Calls

21 calls:

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

rewrite130.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
799×fma-def_binary64
615×log-prod_binary64
430×fma-neg_binary64
236×expm1-udef_binary64
236×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify96.0ms (0.9%)

Algorithm
egg-herbie
Rules
620×cancel-sign-sub-inv_binary64
467×unswap-sqr_binary64
463×associate-*l*_binary64
364×associate-+l+_binary64
361×fma-neg_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
054844
1154841
2402841
31214835
43599833
57474833
Stop Event
node limit
Counts
443 → 391
Calls
Call 1
Inputs
(+.f64 1 (cos.f64 y))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
x
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
x
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 2 x)
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(cos.f64 y)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
x
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
x
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 1 x)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) 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) (*.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)))
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)))
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 1 x)
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
Outputs
(+.f64 1 (cos.f64 y))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 1 x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 1 x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 1 x))
x
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 1 x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 1 x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 1 x))
x
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 1 x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 1 x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 1 x))
(+.f64 2 x)
(+.f64 x 2)
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))
(+.f64 2 (fma.f64 -1/2 (*.f64 y y) x))
(+.f64 2 (fma.f64 y (*.f64 y -1/2) x))
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))
(+.f64 2 (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) x)))
(+.f64 2 (fma.f64 y (*.f64 y -1/2) (fma.f64 1/24 (pow.f64 y 4) x)))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))))
(fma.f64 -1/720 (pow.f64 y 6) (+.f64 2 (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) x))))
(+.f64 (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) x)) (fma.f64 -1/720 (pow.f64 y 6) 2))
(+.f64 2 (fma.f64 -1/720 (pow.f64 y 6) (fma.f64 y (*.f64 y -1/2) (fma.f64 1/24 (pow.f64 y 4) x))))
(+.f64 (fma.f64 1/24 (pow.f64 y 4) x) (fma.f64 -1/720 (pow.f64 y 6) (fma.f64 y (*.f64 y -1/2) 2)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 1 x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 1 x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 1 x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 1 x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 1 x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 1 x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 1 x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 1 x))
(cos.f64 y)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
x
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
x
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 1 x)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))
(+.f64 1 (fma.f64 -1/2 (*.f64 y y) x))
(+.f64 1 (fma.f64 y (*.f64 y -1/2) x))
(+.f64 x (fma.f64 y (*.f64 y -1/2) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))
(+.f64 1 (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) x)))
(+.f64 1 (fma.f64 y (*.f64 y -1/2) (fma.f64 1/24 (pow.f64 y 4) x)))
(+.f64 (fma.f64 1/24 (pow.f64 y 4) x) (fma.f64 y (*.f64 y -1/2) 1))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))))
(fma.f64 -1/720 (pow.f64 y 6) (+.f64 1 (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) x))))
(+.f64 (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) x)) (fma.f64 -1/720 (pow.f64 y 6) 1))
(+.f64 1 (fma.f64 -1/720 (pow.f64 y 6) (fma.f64 y (*.f64 y -1/2) (fma.f64 1/24 (pow.f64 y 4) x))))
(+.f64 (fma.f64 1/24 (pow.f64 y 4) x) (fma.f64 -1/720 (pow.f64 y 6) (fma.f64 y (*.f64 y -1/2) 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 (cos.f64 y) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (cos.f64 y) (fma.f64 z (sin.f64 y) (neg.f64 x)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (cos.f64 y) (fma.f64 z (sin.f64 y) (neg.f64 x)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (cos.f64 y) (fma.f64 z (sin.f64 y) (neg.f64 x)))
x
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (cos.f64 y) (fma.f64 z (sin.f64 y) (neg.f64 x)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (cos.f64 y) (fma.f64 z (sin.f64 y) (neg.f64 x)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (cos.f64 y) (fma.f64 z (sin.f64 y) (neg.f64 x)))
x
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (cos.f64 y) (fma.f64 z (sin.f64 y) (neg.f64 x)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (cos.f64 y) (fma.f64 z (sin.f64 y) (neg.f64 x)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (cos.f64 y) (fma.f64 z (sin.f64 y) (neg.f64 x)))
(+.f64 1 x)
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (fma.f64 -1 (*.f64 y z) x))
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 x (fma.f64 y z -1))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)))
(+.f64 1 (fma.f64 -1 (*.f64 y z) (fma.f64 -1/2 (*.f64 y y) x)))
(+.f64 1 (-.f64 (fma.f64 -1/2 (*.f64 y y) x) (*.f64 y z)))
(+.f64 1 (-.f64 (fma.f64 y (*.f64 y -1/2) x) (*.f64 y z)))
(-.f64 (fma.f64 y (*.f64 y -1/2) x) (fma.f64 y z -1))
(-.f64 x (fma.f64 y (-.f64 z (*.f64 y -1/2)) -1))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x))))
(+.f64 1 (fma.f64 -1 (*.f64 y z) (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) x))))
(+.f64 (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) x)) (-.f64 1 (*.f64 y z)))
(+.f64 1 (-.f64 (fma.f64 y (*.f64 y -1/2) (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) x)) (*.f64 y z)))
(-.f64 (fma.f64 y (*.f64 y -1/2) (fma.f64 z (*.f64 1/6 (pow.f64 y 3)) x)) (fma.f64 y z -1))
(-.f64 (fma.f64 z (*.f64 1/6 (pow.f64 y 3)) x) (fma.f64 y (-.f64 z (*.f64 y -1/2)) -1))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (cos.f64 y) (fma.f64 z (sin.f64 y) (neg.f64 x)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (cos.f64 y) (fma.f64 z (sin.f64 y) (neg.f64 x)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (cos.f64 y) (fma.f64 z (sin.f64 y) (neg.f64 x)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (cos.f64 y) (fma.f64 z (sin.f64 y) (neg.f64 x)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (cos.f64 y) (fma.f64 z (sin.f64 y) (neg.f64 x)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (cos.f64 y) (fma.f64 z (sin.f64 y) (neg.f64 x)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (cos.f64 y) (fma.f64 z (sin.f64 y) (neg.f64 x)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (cos.f64 y) (fma.f64 z (sin.f64 y) (neg.f64 x)))
(+.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (cos.f64 y) (fma.f64 z (sin.f64 y) (neg.f64 x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (cos.f64 y) (fma.f64 z (sin.f64 y) (neg.f64 x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (cos.f64 y) (fma.f64 z (sin.f64 y) (neg.f64 x)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (cos.f64 y) (fma.f64 z (sin.f64 y) (neg.f64 x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (cos.f64 y) (fma.f64 z (sin.f64 y) (neg.f64 x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (cos.f64 y) (fma.f64 z (sin.f64 y) (neg.f64 x)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (cos.f64 y) (fma.f64 z (sin.f64 y) (neg.f64 x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (cos.f64 y) (fma.f64 z (sin.f64 y) (neg.f64 x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (cos.f64 y) (fma.f64 z (sin.f64 y) (neg.f64 x)))

localize5.0ms (0%)

Compiler

Compiled 11 to 5 computations (54.5% saved)

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 14 to 6 computations (57.1% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite44.0ms (0.4%)

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

Useful iterations: 1 (0.0ms)

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

simplify97.0ms (0.9%)

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

Useful iterations: 3 (0.0ms)

IterNodesCost
028247
178241
2218228
3635226
42085226
54311226
66266226
77823226
Stop Event
node limit
Counts
37 → 23
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z))))
(+.f64 (*.f64 1/5040 (*.f64 (pow.f64 y 7) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
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)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))
(fma.f64 -1 (*.f64 y z) (*.f64 1/6 (*.f64 z (pow.f64 y 3))))
(*.f64 z (+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3))))
(*.f64 z (-.f64 (*.f64 1/6 (pow.f64 y 3)) y))
(*.f64 z (fma.f64 1/6 (pow.f64 y 3) (neg.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z))))
(fma.f64 -1 (*.f64 y z) (fma.f64 -1/120 (*.f64 z (pow.f64 y 5)) (*.f64 1/6 (*.f64 z (pow.f64 y 3)))))
(-.f64 (*.f64 z (+.f64 (*.f64 -1/120 (pow.f64 y 5)) (*.f64 1/6 (pow.f64 y 3)))) (*.f64 y z))
(*.f64 z (-.f64 (fma.f64 1/6 (pow.f64 y 3) (*.f64 -1/120 (pow.f64 y 5))) y))
(*.f64 z (fma.f64 1/6 (pow.f64 y 3) (fma.f64 -1/120 (pow.f64 y 5) (neg.f64 y))))
(+.f64 (*.f64 1/5040 (*.f64 (pow.f64 y 7) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))))
(fma.f64 1/5040 (*.f64 z (pow.f64 y 7)) (fma.f64 -1 (*.f64 y z) (fma.f64 -1/120 (*.f64 z (pow.f64 y 5)) (*.f64 1/6 (*.f64 z (pow.f64 y 3))))))
(fma.f64 1/5040 (*.f64 z (pow.f64 y 7)) (-.f64 (*.f64 z (+.f64 (*.f64 -1/120 (pow.f64 y 5)) (*.f64 1/6 (pow.f64 y 3)))) (*.f64 y z)))
(*.f64 z (+.f64 (fma.f64 1/6 (pow.f64 y 3) (*.f64 -1/120 (pow.f64 y 5))) (-.f64 (*.f64 1/5040 (pow.f64 y 7)) y)))
(*.f64 z (-.f64 (fma.f64 1/5040 (pow.f64 y 7) (fma.f64 1/6 (pow.f64 y 3) (*.f64 -1/120 (pow.f64 y 5)))) y))
(*.f64 z (fma.f64 1/5040 (pow.f64 y 7) (fma.f64 1/6 (pow.f64 y 3) (fma.f64 -1/120 (pow.f64 y 5) (neg.f64 y)))))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.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)))

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 35 to 10 computations (71.4% saved)

series31.0ms (0.3%)

Counts
2 → 40
Calls

18 calls:

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

rewrite92.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
649×prod-diff_binary64
462×log-prod_binary64
299×pow-prod-down_binary64
251×pow2_binary64
237×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify83.0ms (0.7%)

Algorithm
egg-herbie
Rules
761×distribute-lft-in_binary64
761×distribute-rgt-in_binary64
430×associate-*r*_binary64
353×associate-*l*_binary64
318×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02762932
19962528
238892412
Stop Event
node limit
Counts
234 → 241
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 2/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3))) (*.f64 1/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3)))) x))
(+.f64 (*.f64 (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 z (sin.f64 y))) 1/9) (pow.f64 (/.f64 1 (cbrt.f64 -1)) 1/3))) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 z (sin.f64 y))) 1/9) (pow.f64 (/.f64 1 (cbrt.f64 -1)) 1/3))) (*.f64 (pow.f64 (*.f64 1 (*.f64 z (sin.f64 y))) 1/3) (*.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3)))) (cbrt.f64 -1))))) (pow.f64 x 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))) (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3))) (*.f64 1/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3)))) x)))
(+.f64 (*.f64 (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 z (sin.f64 y))) 1/9) (pow.f64 (/.f64 1 (cbrt.f64 -1)) 1/3))) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 z (sin.f64 y))) 1/9) (pow.f64 (/.f64 1 (cbrt.f64 -1)) 1/3))) (*.f64 (pow.f64 (*.f64 1 (*.f64 z (sin.f64 y))) 1/3) (*.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3)))) (cbrt.f64 -1))))) (pow.f64 x 2)) (+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 (*.f64 1 (*.f64 z (sin.f64 y))) 1/3) (*.f64 (cbrt.f64 -1) (+.f64 (*.f64 -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 1 (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 -2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (/.f64 1 (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)) (pow.f64 (/.f64 1 (*.f64 z (sin.f64 y))) 1/3))) (+.f64 (*.f64 2/27 (*.f64 (pow.f64 1 1/9) (/.f64 1 (*.f64 z (sin.f64 y))))) (*.f64 -1/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 1 (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 -2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (/.f64 1 (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 (*.f64 -2/27 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (/.f64 1 (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 (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 1 (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 -2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3))))))) (*.f64 1/3 (*.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3)))) (*.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))))))) (pow.f64 x 3)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))) (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3))) (*.f64 1/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3)))) x))))
(*.f64 (pow.f64 1 1/3) x)
(+.f64 (*.f64 (pow.f64 1 1/3) x) (*.f64 z (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) (sin.f64 y))) (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) (sin.f64 y))))))
(+.f64 (*.f64 (pow.f64 1 1/3) x) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (*.f64 1 x) 1/3)) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 (sin.f64 y) 2))))) (pow.f64 z 2)) (*.f64 z (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) (sin.f64 y))) (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) (sin.f64 y)))))))
(+.f64 (*.f64 (pow.f64 1 1/3) x) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (*.f64 1 x) 1/3)) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 (sin.f64 y) 2))))) (pow.f64 z 2)) (+.f64 (*.f64 z (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) (sin.f64 y))) (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) (sin.f64 y))))) (*.f64 (+.f64 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3)))) (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (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) x))))) (+.f64 (*.f64 -1/3 (*.f64 (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 (sin.f64 y) 2)))) (sin.f64 y)) (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9))) (+.f64 (*.f64 2/27 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3)))) (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3)))) (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 (sin.f64 y) 3))))))))) (pow.f64 z 3)))))
(*.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 (pow.f64 (*.f64 1 x) 1/3) (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2))))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 x) 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 2) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2))) (+.f64 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2))))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))))) (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1/6 z) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 z 3) (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3)))) (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 z 3))))))) (+.f64 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (+.f64 (*.f64 -1/6 z) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 z 3) (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3)))) (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 z 3))))))) (*.f64 2/27 (*.f64 (pow.f64 1 1/9) (/.f64 (pow.f64 z 3) x))))) (+.f64 (*.f64 2/27 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 z 3) (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3)))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9) (*.f64 z (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2))))))))))))))
(*.f64 (pow.f64 1 1/3) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 (pow.f64 1 1/3) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 (pow.f64 1 1/3) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 (pow.f64 1 1/3) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 (pow.f64 1 1/3) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 (pow.f64 1 1/3) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 (pow.f64 1 1/3) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 (pow.f64 1 1/3) (-.f64 x (*.f64 z (sin.f64 y))))
(*.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) 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) (pow.f64 x 2)))) (+.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) 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) (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) x))) (*.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 1 (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 -2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (/.f64 1 (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 z (sin.f64 y)))))
(+.f64 (pow.f64 x 1/3) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9) (*.f64 z (sin.f64 y)))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/9) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))))
(+.f64 (pow.f64 x 1/3) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9) (*.f64 z (sin.f64 y)))) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/9) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (*.f64 (pow.f64 z 3) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3)))) (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 (sin.f64 y) 3))))))))))
(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 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/9) (*.f64 (pow.f64 y 2) (pow.f64 z 2)))) (+.f64 (pow.f64 x 1/3) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9) (*.f64 y z)))))
(+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/9) (*.f64 (pow.f64 y 2) (pow.f64 z 2)))) (+.f64 (pow.f64 x 1/3) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/6 z) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 z 3) (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3)))) (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 z 3)))))))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9) (*.f64 y z))))))
(pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 1/3)
(pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 1/3)
(pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 1/3)
(pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 1/3)
(pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 1/3)
(pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 1/3)
(pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 1/3)
(pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 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 2/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3))) (*.f64 1/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3)))) 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)) (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4))) 1) x))
(-.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)) (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4))) x) (*.f64 z (sin.f64 y)))
(-.f64 (*.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18) (*.f64 (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18) (cbrt.f64 (*.f64 -1 (cbrt.f64 -1))))) x) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 z (sin.f64 y))) 1/9) (pow.f64 (/.f64 1 (cbrt.f64 -1)) 1/3))) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 z (sin.f64 y))) 1/9) (pow.f64 (/.f64 1 (cbrt.f64 -1)) 1/3))) (*.f64 (pow.f64 (*.f64 1 (*.f64 z (sin.f64 y))) 1/3) (*.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3)))) (cbrt.f64 -1))))) (pow.f64 x 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))) (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3))) (*.f64 1/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3)))) x)))
(fma.f64 (fma.f64 2/9 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 z) (sin.f64 y)) 1/18) (pow.f64 (/.f64 (/.f64 1 z) (sin.f64 y)) 1/18)) (cbrt.f64 (/.f64 1 (cbrt.f64 -1)))) (fma.f64 -1/9 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 z) (sin.f64 y)) 1/18) (pow.f64 (/.f64 (/.f64 1 z) (sin.f64 y)) 1/18)) (cbrt.f64 (/.f64 1 (cbrt.f64 -1)))) (*.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (cbrt.f64 -1) (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/18)) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)))) -1/9))))) (*.f64 x 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)) (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4))) 1) x)))
(fma.f64 (+.f64 (*.f64 (cbrt.f64 -1) (*.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (*.f64 -1/9 (*.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) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)))))))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 z (sin.f64 y))) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 z (sin.f64 y))) 1/18) (cbrt.f64 (/.f64 1 (cbrt.f64 -1))))) 1/9)) (*.f64 x x) (-.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)) (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4))) x) (*.f64 z (sin.f64 y))))
(-.f64 (*.f64 x (+.f64 (*.f64 x (+.f64 (*.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18) (cbrt.f64 (/.f64 1 (*.f64 -1 (cbrt.f64 -1)))))) (*.f64 -1/9 (cbrt.f64 -1)))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 z (sin.f64 y))) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 z (sin.f64 y))) 1/18) (cbrt.f64 (/.f64 1 (cbrt.f64 -1))))) 1/9))) (*.f64 (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18) (*.f64 (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18) (cbrt.f64 (*.f64 -1 (cbrt.f64 -1))))))) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 z (sin.f64 y))) 1/9) (pow.f64 (/.f64 1 (cbrt.f64 -1)) 1/3))) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 z (sin.f64 y))) 1/9) (pow.f64 (/.f64 1 (cbrt.f64 -1)) 1/3))) (*.f64 (pow.f64 (*.f64 1 (*.f64 z (sin.f64 y))) 1/3) (*.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3)))) (cbrt.f64 -1))))) (pow.f64 x 2)) (+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 (*.f64 1 (*.f64 z (sin.f64 y))) 1/3) (*.f64 (cbrt.f64 -1) (+.f64 (*.f64 -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 1 (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 -2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (/.f64 1 (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)) (pow.f64 (/.f64 1 (*.f64 z (sin.f64 y))) 1/3))) (+.f64 (*.f64 2/27 (*.f64 (pow.f64 1 1/9) (/.f64 1 (*.f64 z (sin.f64 y))))) (*.f64 -1/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 1 (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 -2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (/.f64 1 (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 (*.f64 -2/27 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (/.f64 1 (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 (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 1 (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 -2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))) 1/3))))))) (*.f64 1/3 (*.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)) 1/3)))) (*.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))))))) (pow.f64 x 3)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 z (sin.f64 y)))) (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3))) (*.f64 1/3 (*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -1) 4) 1/3)))) x))))
(fma.f64 (fma.f64 2/9 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 z) (sin.f64 y)) 1/18) (pow.f64 (/.f64 (/.f64 1 z) (sin.f64 y)) 1/18)) (cbrt.f64 (/.f64 1 (cbrt.f64 -1)))) (fma.f64 -1/9 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 z) (sin.f64 y)) 1/18) (pow.f64 (/.f64 (/.f64 1 z) (sin.f64 y)) 1/18)) (cbrt.f64 (/.f64 1 (cbrt.f64 -1)))) (*.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (cbrt.f64 -1) (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/18)) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)))) -1/9))))) (*.f64 x x) (fma.f64 (fma.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (cbrt.f64 -1) (fma.f64 -1/3 (*.f64 (/.f64 (fma.f64 1/27 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))) (*.f64 -2/9 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))))) (cbrt.f64 -1)) (cbrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y)))) (fma.f64 2/27 (/.f64 (/.f64 1 z) (sin.f64 y)) (*.f64 (*.f64 -1/3 (/.f64 (fma.f64 1/27 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))) (*.f64 -2/9 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))))) (cbrt.f64 -1))) (cbrt.f64 (/.f64 (/.f64 1 z) (sin.f64 y))))))) (+.f64 (+.f64 (*.f64 -2/27 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 -1/3 (fma.f64 1/27 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))) (*.f64 -2/9 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))))))) (*.f64 1/3 (*.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4))) 1/18)) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)))) -1/9) (*.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)))))))) (pow.f64 x 3) (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)) (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4))) 1) x))))
(fma.f64 (+.f64 (*.f64 (cbrt.f64 -1) (*.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (*.f64 -1/9 (*.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) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)))))))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 z (sin.f64 y))) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 z (sin.f64 y))) 1/18) (cbrt.f64 (/.f64 1 (cbrt.f64 -1))))) 1/9)) (*.f64 x x) (fma.f64 (fma.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (cbrt.f64 -1) (fma.f64 -1/3 (/.f64 (*.f64 (/.f64 (cbrt.f64 (/.f64 1 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (cbrt.f64 -1) 2)) -5/27) (/.f64 (cbrt.f64 -1) (cbrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))))) (fma.f64 -1/3 (/.f64 (*.f64 (/.f64 (cbrt.f64 (/.f64 1 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (cbrt.f64 -1) 2)) -5/27) (/.f64 (cbrt.f64 -1) (cbrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))))) (/.f64 2/27 (*.f64 z (sin.f64 y)))))) (fma.f64 (/.f64 (cbrt.f64 (/.f64 1 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (cbrt.f64 -1) 2)) -2/27 (fma.f64 1/3 (*.f64 (*.f64 -1/9 (*.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) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)))))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))) 1/18) (pow.f64 (/.f64 1 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))) 1/18)) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))))) (*.f64 -1/3 (*.f64 (/.f64 (cbrt.f64 (/.f64 1 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (cbrt.f64 -1) 2)) -5/27))))) (pow.f64 x 3) (-.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)) (cbrt.f64 (pow.f64 (cbrt.f64 -1) 4))) x) (*.f64 z (sin.f64 y)))))
(fma.f64 (+.f64 (*.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18) (cbrt.f64 (/.f64 1 (*.f64 -1 (cbrt.f64 -1)))))) (*.f64 -1/9 (cbrt.f64 -1)))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 z (sin.f64 y))) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 z (sin.f64 y))) 1/18) (cbrt.f64 (/.f64 1 (cbrt.f64 -1))))) 1/9)) (*.f64 x x) (fma.f64 (fma.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (cbrt.f64 -1) (+.f64 (/.f64 2/27 (*.f64 z (sin.f64 y))) (*.f64 (*.f64 (/.f64 (cbrt.f64 (/.f64 1 (*.f64 z (sin.f64 y)))) (cbrt.f64 -1)) (*.f64 (/.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (pow.f64 (cbrt.f64 -1) 2)) -5/27)) -2/3))) (fma.f64 (/.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (pow.f64 (cbrt.f64 -1) 2)) -2/27 (fma.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18) (*.f64 (pow.f64 (/.f64 (/.f64 1 (pow.f64 z 4)) (pow.f64 (sin.f64 y) 4)) 1/18) (cbrt.f64 (/.f64 1 (*.f64 -1 (cbrt.f64 -1)))))) (*.f64 -1/9 (*.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)))))) (*.f64 -1/3 (*.f64 (/.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (pow.f64 (cbrt.f64 -1) 2)) -5/27))))) (pow.f64 x 3) (-.f64 (*.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18) (*.f64 (pow.f64 (*.f64 (pow.f64 z 4) (pow.f64 (sin.f64 y) 4)) 1/18) (cbrt.f64 (*.f64 -1 (cbrt.f64 -1))))) x) (*.f64 z (sin.f64 y)))))
(*.f64 (pow.f64 1 1/3) x)
x
(+.f64 (*.f64 (pow.f64 1 1/3) x) (*.f64 z (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) (sin.f64 y))) (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) (sin.f64 y))))))
(+.f64 x (*.f64 z (*.f64 (*.f64 (sin.f64 y) (*.f64 (pow.f64 (pow.f64 x 4) 1/18) (pow.f64 (pow.f64 x 4) 1/18))) -1)))
(fma.f64 z (*.f64 -1 (*.f64 (sin.f64 y) (*.f64 (pow.f64 (pow.f64 x 4) 1/18) (pow.f64 (pow.f64 x 4) 1/18)))) x)
(fma.f64 z (neg.f64 (*.f64 (sin.f64 y) (*.f64 (pow.f64 (pow.f64 x 4) 1/18) (pow.f64 (pow.f64 x 4) 1/18)))) x)
(+.f64 (*.f64 (pow.f64 1 1/3) x) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (*.f64 1 x) 1/3)) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 (sin.f64 y) 2))))) (pow.f64 z 2)) (*.f64 z (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) (sin.f64 y))) (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) (sin.f64 y)))))))
(+.f64 x (fma.f64 (fma.f64 (*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18))) -1/9) (cbrt.f64 x) (*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))) 1/9)) (*.f64 z z) (*.f64 z (*.f64 (*.f64 (sin.f64 y) (*.f64 (pow.f64 (pow.f64 x 4) 1/18) (pow.f64 (pow.f64 x 4) 1/18))) -1))))
(+.f64 x (fma.f64 (*.f64 z z) (fma.f64 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18)) (*.f64 (pow.f64 (sin.f64 y) 2) -1/9)) (cbrt.f64 x) (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)) 1/9))) (*.f64 (*.f64 (sin.f64 y) (*.f64 (pow.f64 (pow.f64 x 4) 1/18) (pow.f64 (pow.f64 x 4) 1/18))) (neg.f64 z))))
(+.f64 x (*.f64 z (+.f64 (neg.f64 (*.f64 (sin.f64 y) (*.f64 (pow.f64 (pow.f64 x 4) 1/18) (pow.f64 (pow.f64 x 4) 1/18)))) (*.f64 (fma.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (sin.f64 y) 2)))) (cbrt.f64 x) (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)) 1/9))) z))))
(+.f64 (*.f64 (pow.f64 1 1/3) x) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (*.f64 1 x) 1/3)) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 (sin.f64 y) 2))))) (pow.f64 z 2)) (+.f64 (*.f64 z (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) (sin.f64 y))) (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 4)) 1/9) (sin.f64 y))))) (*.f64 (+.f64 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3)))) (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (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) x))))) (+.f64 (*.f64 -1/3 (*.f64 (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 (sin.f64 y) 2))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 (sin.f64 y) 2)))) (sin.f64 y)) (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9))) (+.f64 (*.f64 2/27 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3)))) (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3)))) (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 (sin.f64 y) 3))))))))) (pow.f64 z 3)))))
(+.f64 x (fma.f64 (fma.f64 (*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18))) -1/9) (cbrt.f64 x) (*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))) 1/9)) (*.f64 z z) (fma.f64 z (*.f64 (*.f64 (sin.f64 y) (*.f64 (pow.f64 (pow.f64 x 4) 1/18) (pow.f64 (pow.f64 x 4) 1/18))) -1) (*.f64 (fma.f64 (cbrt.f64 x) (fma.f64 -2/3 (*.f64 (cbrt.f64 (/.f64 1 x)) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (sin.f64 y) 3) (cbrt.f64 (/.f64 1 (*.f64 x x))))) (*.f64 (*.f64 -1/27 (cbrt.f64 (/.f64 1 (*.f64 x x)))) (pow.f64 (sin.f64 y) 3)))) (*.f64 2/27 (/.f64 (pow.f64 (sin.f64 y) 3) x))) (fma.f64 -1/3 (*.f64 (*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18))) -1/9) (*.f64 (sin.f64 y) (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18)))) (+.f64 (*.f64 2/27 (*.f64 (pow.f64 (sin.f64 y) 3) (cbrt.f64 (/.f64 1 (*.f64 x x))))) (*.f64 -1/3 (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (sin.f64 y) 3) (cbrt.f64 (/.f64 1 (*.f64 x x))))) (*.f64 (*.f64 -1/27 (cbrt.f64 (/.f64 1 (*.f64 x x)))) (pow.f64 (sin.f64 y) 3))))))) (pow.f64 z 3)))))
(+.f64 x (fma.f64 (*.f64 z z) (fma.f64 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18)) (*.f64 (pow.f64 (sin.f64 y) 2) -1/9)) (cbrt.f64 x) (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)) 1/9))) (fma.f64 (fma.f64 (cbrt.f64 x) (fma.f64 2/27 (/.f64 (pow.f64 (sin.f64 y) 3) x) (*.f64 -2/3 (*.f64 (cbrt.f64 (/.f64 1 x)) (*.f64 (*.f64 (pow.f64 (sin.f64 y) 3) (cbrt.f64 (/.f64 1 (*.f64 x x)))) 5/27)))) (fma.f64 (*.f64 (*.f64 -1/3 (sin.f64 y)) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18)) (*.f64 (pow.f64 (sin.f64 y) 2) -1/9))) (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18)) (fma.f64 -1/3 (*.f64 (*.f64 (pow.f64 (sin.f64 y) 3) (cbrt.f64 (/.f64 1 (*.f64 x x)))) 5/27) (*.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) 2/27))))) (pow.f64 z 3) (*.f64 (*.f64 (sin.f64 y) (*.f64 (pow.f64 (pow.f64 x 4) 1/18) (pow.f64 (pow.f64 x 4) 1/18))) (neg.f64 z)))))
(+.f64 x (fma.f64 (*.f64 z z) (fma.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (sin.f64 y) 2)))) (cbrt.f64 x) (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)) 1/9))) (fma.f64 z (neg.f64 (*.f64 (sin.f64 y) (*.f64 (pow.f64 (pow.f64 x 4) 1/18) (pow.f64 (pow.f64 x 4) 1/18)))) (*.f64 (fma.f64 (cbrt.f64 x) (fma.f64 -2/3 (*.f64 (*.f64 (*.f64 (pow.f64 (sin.f64 y) 3) (cbrt.f64 (/.f64 1 (*.f64 x x)))) (cbrt.f64 (/.f64 1 x))) 5/27) (*.f64 (pow.f64 (sin.f64 y) 3) (/.f64 2/27 x))) (fma.f64 -1/3 (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (sin.f64 y) 2))) (*.f64 -1/9 (sin.f64 y))) (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18))) (fma.f64 -1/3 (*.f64 (*.f64 (pow.f64 (sin.f64 y) 3) (cbrt.f64 (/.f64 1 (*.f64 x x)))) 5/27) (*.f64 (pow.f64 (sin.f64 y) 3) (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) 2/27))))) (pow.f64 z 3)))))
(*.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 (*.f64 (pow.f64 (pow.f64 x 4) 1/18) (pow.f64 (pow.f64 x 4) 1/18)) (*.f64 z -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 (pow.f64 (*.f64 1 x) 1/3) (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2))))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 x) 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))) (fma.f64 (cbrt.f64 x) (*.f64 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18))) -1/9) (*.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))) (*.f64 z z))))))
(fma.f64 y (*.f64 (*.f64 (pow.f64 (pow.f64 x 4) 1/18) (pow.f64 (pow.f64 x 4) 1/18)) (*.f64 z -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 -1/9 (*.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 (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))
(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) (+.f64 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (*.f64 z z))) (*.f64 -1/9 (cbrt.f64 x))) (*.f64 (*.f64 z z) (*.f64 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)) 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 2) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2))) (+.f64 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2))))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 x) 1/9) (pow.f64 z 2)))))) (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1/6 z) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 z 3) (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3)))) (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 z 3))))))) (+.f64 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 x) 1/3) (+.f64 (*.f64 -1/6 z) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 z 3) (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3)))) (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 z 3))))))) (*.f64 2/27 (*.f64 (pow.f64 1 1/9) (/.f64 (pow.f64 z 3) x))))) (+.f64 (*.f64 2/27 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 z 3) (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3)))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9) (*.f64 z (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9) (pow.f64 z 2))) (*.f64 -2/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 (*.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) (*.f64 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18))) -1/9) (*.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18))) (*.f64 z z)))) (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/3 (fma.f64 -1/6 z (+.f64 (*.f64 2/9 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3))) (*.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3)))))) (fma.f64 (cbrt.f64 x) (fma.f64 -2/3 (*.f64 (cbrt.f64 (/.f64 1 x)) (fma.f64 -1/6 z (+.f64 (*.f64 2/9 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3))) (*.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3)))))) (*.f64 2/27 (/.f64 (pow.f64 z 3) x))) (+.f64 (*.f64 2/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3))) (*.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 (*.f64 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18))) -1/9)))))))))
(+.f64 (fma.f64 y (*.f64 (*.f64 (pow.f64 (pow.f64 x 4) 1/18) (pow.f64 (pow.f64 x 4) 1/18)) (*.f64 z -1)) x) (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 -1/9 (*.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 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18)) (*.f64 (*.f64 z z) -1/9))))) (*.f64 (pow.f64 y 3) (fma.f64 -1/3 (fma.f64 z -1/6 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3)) 5/27)) (fma.f64 (cbrt.f64 x) (fma.f64 2/27 (/.f64 (pow.f64 z 3) x) (*.f64 (fma.f64 z -1/6 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3)) 5/27)) (*.f64 -2/3 (cbrt.f64 (/.f64 1 x))))) (fma.f64 -1/3 (*.f64 z (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18)) (*.f64 (*.f64 z z) -1/9)) (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18)))) (*.f64 2/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3)))))))))
(+.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 (+.f64 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (*.f64 z z))) (*.f64 -1/9 (cbrt.f64 x))) (*.f64 (*.f64 z z) (*.f64 (*.f64 (pow.f64 (/.f64 1 x) 1/18) (pow.f64 (/.f64 1 x) 1/18)) 1/9))) (*.f64 (+.f64 (fma.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18)) (*.f64 (pow.f64 z 3) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18)) -1/9))) (*.f64 2/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3)))) (+.f64 (*.f64 (fma.f64 z -1/6 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3)) 5/27)) (+.f64 -1/3 (*.f64 (cbrt.f64 x) (*.f64 -2/3 (cbrt.f64 (/.f64 1 x)))))) (*.f64 (cbrt.f64 x) (*.f64 (pow.f64 z 3) (/.f64 2/27 x))))) y))))
(*.f64 (pow.f64 1 1/3) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (*.f64 z (sin.f64 y)))
(*.f64 (pow.f64 1 1/3) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 x (*.f64 z (sin.f64 y)))
(*.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) x))))
(fma.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (cbrt.f64 -1) (*.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 x (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)))))))
(fma.f64 (cbrt.f64 -1) (cbrt.f64 (*.f64 z (sin.f64 y))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))) 1/18) (pow.f64 (/.f64 1 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))) 1/18)) (*.f64 (*.f64 x (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)))) 1/3)))
(fma.f64 1/3 (*.f64 (*.f64 (*.f64 x (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)))) (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 -1) (cbrt.f64 (*.f64 z (sin.f64 y)))))
(+.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) (pow.f64 x 2)))) (+.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) 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 x x) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 7))))) (fma.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) (cbrt.f64 -1) (*.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 x (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))))))))
(fma.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 7) (pow.f64 (sin.f64 y) 7))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 7) (pow.f64 (sin.f64 y) 7))) 1/18))) (*.f64 (*.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))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))) 1/18) (pow.f64 (/.f64 1 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))) 1/18)) (*.f64 (*.f64 x (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)))) 1/3))))
(fma.f64 -1/9 (*.f64 (*.f64 x x) (*.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)) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 7))))) (fma.f64 1/3 (*.f64 (*.f64 (*.f64 x (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)))) (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 -1) (cbrt.f64 (*.f64 z (sin.f64 y))))))
(+.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) (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) x))) (*.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 1 (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 -2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (/.f64 1 (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 -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 x x) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 7))))) (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 x (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))))) (*.f64 (*.f64 -1/3 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2)))) (/.f64 (fma.f64 1/27 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))) (*.f64 -2/9 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))))) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 x 3)))))))
(fma.f64 -1/9 (*.f64 (*.f64 x x) (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 7) (pow.f64 (sin.f64 y) 7))) 1/18) (pow.f64 (/.f64 1 (*.f64 (pow.f64 z 7) (pow.f64 (sin.f64 y) 7))) 1/18)) (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 x (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))) 1/18) (pow.f64 (/.f64 1 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2))) 1/18)) (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2))))) (*.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))) (/.f64 (*.f64 (/.f64 (cbrt.f64 (/.f64 1 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))) (pow.f64 (cbrt.f64 -1) 2)) -5/27) (/.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 x 3))))))))
(fma.f64 -1/9 (*.f64 (*.f64 x x) (*.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)) (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 (*.f64 x (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)))) (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 (*.f64 (/.f64 (pow.f64 x 3) (pow.f64 (cbrt.f64 -1) 2)) (*.f64 (/.f64 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))) (pow.f64 (cbrt.f64 -1) 2)) -5/27)) (*.f64 -1/3 (cbrt.f64 (/.f64 (/.f64 1 (*.f64 z z)) (pow.f64 (sin.f64 y) 2))))))))
(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 z (sin.f64 y)))))
(+.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 (sin.f64 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 (sin.f64 y)))) (cbrt.f64 x))
(fma.f64 -1/3 (*.f64 (sin.f64 y) (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) z))) (cbrt.f64 x))
(+.f64 (pow.f64 x 1/3) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9) (*.f64 z (sin.f64 y)))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/9) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2))))))
(+.f64 (cbrt.f64 x) (fma.f64 -1/3 (*.f64 (*.f64 z (sin.f64 y)) (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18))) (*.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/18))) (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)))))
(+.f64 (cbrt.f64 x) (fma.f64 -1/9 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/18)))) (*.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 (sin.f64 y)))))))
(+.f64 (fma.f64 -1/3 (*.f64 (sin.f64 y) (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) z))) (cbrt.f64 x)) (*.f64 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/18)))))
(+.f64 (pow.f64 x 1/3) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9) (*.f64 z (sin.f64 y)))) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/9) (*.f64 (pow.f64 z 2) (pow.f64 (sin.f64 y) 2)))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (*.f64 (pow.f64 z 3) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3)))) (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 (sin.f64 y) 3))))))))))
(+.f64 (cbrt.f64 x) (fma.f64 -1/3 (*.f64 (*.f64 z (sin.f64 y)) (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18))) (fma.f64 -1/9 (*.f64 (*.f64 (*.f64 z z) (pow.f64 (sin.f64 y) 2)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/18))) (*.f64 -1/3 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3)) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (sin.f64 y) 3) (cbrt.f64 (/.f64 1 (*.f64 x x))))) (*.f64 (*.f64 -1/27 (cbrt.f64 (/.f64 1 (*.f64 x x)))) (pow.f64 (sin.f64 y) 3))))))))
(+.f64 (cbrt.f64 x) (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 (sin.f64 y)))) (fma.f64 -1/9 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/18)))) (*.f64 -1/3 (*.f64 (*.f64 (*.f64 (pow.f64 (sin.f64 y) 3) (cbrt.f64 (/.f64 1 (*.f64 x x)))) 5/27) (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3)))))))
(+.f64 (fma.f64 -1/3 (*.f64 (sin.f64 y) (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) z))) (cbrt.f64 x)) (fma.f64 -1/9 (*.f64 (*.f64 z z) (*.f64 (pow.f64 (sin.f64 y) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/18)))) (*.f64 (*.f64 (*.f64 (pow.f64 z 3) (*.f64 (pow.f64 (sin.f64 y) 3) (cbrt.f64 (/.f64 1 (*.f64 x x))))) 5/27) (*.f64 -1/3 (cbrt.f64 (/.f64 1 (*.f64 x x)))))))
(pow.f64 x 1/3)
(cbrt.f64 x)
(+.f64 (pow.f64 x 1/3) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9) (*.f64 y z))))
(+.f64 (cbrt.f64 x) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18)) (*.f64 z y))))
(fma.f64 -1/3 (*.f64 y (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) z))) (cbrt.f64 x))
(+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/9) (*.f64 (pow.f64 y 2) (pow.f64 z 2)))) (+.f64 (pow.f64 x 1/3) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9) (*.f64 y z)))))
(fma.f64 -1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/18)) (*.f64 (*.f64 z z) (*.f64 y y))) (+.f64 (cbrt.f64 x) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18)) (*.f64 z y)))))
(fma.f64 -1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/18)) (*.f64 (*.f64 z y) (*.f64 z y))) (fma.f64 -1/3 (*.f64 y (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) z))) (cbrt.f64 x)))
(fma.f64 -1/9 (*.f64 (*.f64 (*.f64 z (*.f64 z (*.f64 y y))) (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/18)) (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/18)) (fma.f64 -1/3 (*.f64 y (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) z))) (cbrt.f64 x)))
(+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/9) (*.f64 (pow.f64 y 2) (pow.f64 z 2)))) (+.f64 (pow.f64 x 1/3) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (*.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/6 z) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (pow.f64 z 3) (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3)))) (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) (pow.f64 z 3)))))))) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9) (*.f64 y z))))))
(fma.f64 -1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/18)) (*.f64 (*.f64 z z) (*.f64 y y))) (+.f64 (cbrt.f64 x) (*.f64 -1/3 (+.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (*.f64 (pow.f64 y 3) (fma.f64 -1/6 z (+.f64 (*.f64 2/9 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3))) (*.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3))))))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18)) (*.f64 z y))))))
(fma.f64 -1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/18)) (*.f64 (*.f64 z y) (*.f64 z y))) (fma.f64 -1/3 (fma.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (*.f64 (pow.f64 y 3) (fma.f64 z -1/6 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3)) 5/27))) (*.f64 y (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) z)))) (cbrt.f64 x)))
(fma.f64 -1/9 (*.f64 (*.f64 (*.f64 z (*.f64 z (*.f64 y y))) (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/18)) (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/18)) (fma.f64 -1/3 (fma.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (*.f64 (pow.f64 y 3) (fma.f64 z -1/6 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 x x))) (pow.f64 z 3)) 5/27))) (*.f64 y (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) z)))) (cbrt.f64 x)))
(pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 1/3)
(cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y))))
(pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 1/3)
(cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y))))
(pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 1/3)
(cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y))))
(pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 1/3)
(cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y))))
(pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 1/3)
(cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y))))
(pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 1/3)
(cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y))))
(pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 1/3)
(cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y))))
(pow.f64 (-.f64 x (*.f64 z (sin.f64 y))) 1/3)
(cbrt.f64 (-.f64 x (*.f64 z (sin.f64 y))))

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 36 to 8 computations (77.8% saved)

series22.0ms (0.2%)

Counts
4 → 60
Calls

24 calls:

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

rewrite141.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
761×prod-diff_binary64
514×log-prod_binary64
353×pow-prod-down_binary64
255×pow2_binary64
245×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify149.0ms (1.3%)

Algorithm
egg-herbie
Rules
466×distribute-rgt-neg-in_binary64
435×unsub-neg_binary64
426×unswap-sqr_binary64
408×distribute-rgt-in_binary64
358×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
042512
1124506
2343490
3996488
42054488
53815488
65399488
77423488
Stop Event
node limit
Counts
300 → 261
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))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.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 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
x
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
x
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
x
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x)))
(-.f64 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 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z))
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 z y))
(*.f64 z (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (*.f64 1/120 (*.f64 (pow.f64 y 5) z))))
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (fma.f64 y z (*.f64 1/120 (*.f64 z (pow.f64 y 5)))))
(fma.f64 -1/6 (*.f64 z (pow.f64 y 3)) (*.f64 z (+.f64 y (*.f64 1/120 (pow.f64 y 5)))))
(*.f64 z (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (fma.f64 1/120 (pow.f64 y 5) y)))
(*.f64 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 z y (*.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/5040 (pow.f64 y 7) (*.f64 1/120 (pow.f64 y 5)))))
(*.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 (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 z (sin.f64 y))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
x
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
x
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
x
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(fma.f64 -1 (*.f64 z y) x)
(-.f64 x (*.f64 z y))
(fma.f64 y (neg.f64 z) x)
(fma.f64 z (neg.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x))
(fma.f64 -1 (*.f64 z y) (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) x))
(-.f64 (fma.f64 (*.f64 z (pow.f64 y 3)) 1/6 x) (*.f64 z y))
(fma.f64 z (fma.f64 y -1 (*.f64 (pow.f64 y 3) 1/6)) x)
(-.f64 x (*.f64 z (fma.f64 -1/6 (pow.f64 y 3) y)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x)))
(fma.f64 -1 (*.f64 z y) (fma.f64 -1/120 (*.f64 z (pow.f64 y 5)) (fma.f64 1/6 (*.f64 z (pow.f64 y 3)) x)))
(-.f64 (fma.f64 (*.f64 (pow.f64 y 5) -1/120) z (fma.f64 (*.f64 z (pow.f64 y 3)) 1/6 x)) (*.f64 z y))
(fma.f64 z (fma.f64 (pow.f64 y 5) -1/120 (*.f64 (pow.f64 y 3) 1/6)) (fma.f64 y (neg.f64 z) x))
(+.f64 x (*.f64 z (-.f64 (fma.f64 (pow.f64 y 5) -1/120 (*.f64 (pow.f64 y 3) 1/6)) y)))
(-.f64 x (*.f64 z (+.f64 (*.f64 1/120 (pow.f64 y 5)) (fma.f64 -1/6 (pow.f64 y 3) y))))
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)
(-.f64 x (*.f64 z (sin.f64 y)))
(fma.f64 (sin.f64 y) (neg.f64 z) x)

eval442.0ms (3.9%)

Compiler

Compiled 24004 to 9541 computations (60.3% saved)

prune175.0ms (1.6%)

Pruning

27 alts after pruning (19 fresh and 8 done)

PrunedKeptTotal
New104381051
Fresh31114
Picked011
Done5712
Total1051271078
Error
0b
Counts
1078 → 27
Alt Table
Click to see full alt table
StatusErrorProgram
39.1b
(-.f64 x (*.f64 (*.f64 (sin.f64 y) (sqrt.f64 z)) (sqrt.f64 z)))
44.7b
(pow.f64 (cbrt.f64 (*.f64 z (neg.f64 (sin.f64 y)))) 3)
39.9b
(-.f64 x (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z)))
40.4b
(-.f64 x (*.f64 (*.f64 z (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y))))
57.5b
(*.f64 y (neg.f64 z))
19.3b
(fma.f64 (*.f64 (neg.f64 z) (cbrt.f64 (pow.f64 (sin.f64 y) 2))) (cbrt.f64 (sin.f64 y)) x)
22.2b
(-.f64 x (-.f64 (*.f64 y z) 1))
0.1b
(-.f64 (-.f64 (+.f64 (cos.f64 y) (+.f64 1 x)) 1) (*.f64 z (sin.f64 y)))
39.9b
(pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 2)) 3)
23.8b
(-.f64 x -1)
31.1b
(*.f64 (+.f64 (pow.f64 x 3) (pow.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (cos.f64 y)) 3)) (/.f64 1 (fma.f64 x x (*.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (cos.f64 y)) (-.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (cos.f64 y)) x)))))
18.8b
(-.f64 x (*.f64 z (sin.f64 y)))
26.1b
(-.f64 (-.f64 (+.f64 1 (cos.f64 y)) 1) (*.f64 z (sin.f64 y)))
49.7b
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 z (neg.f64 y)) (*.f64 z (neg.f64 y)))) (-.f64 x (*.f64 z (neg.f64 y))))
39.6b
(pow.f64 (sqrt.f64 (-.f64 x (*.f64 z (sin.f64 y)))) 2)
33.1b
(-.f64 x (cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))
18.6b
(+.f64 (cos.f64 y) x)
14.3b
(-.f64 (+.f64 x (cos.f64 y)) (cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))
26.1b
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
19.3b
(-.f64 x (pow.f64 (*.f64 (cbrt.f64 (sin.f64 y)) (cbrt.f64 z)) 3))
26.1b
(fma.f64 (sin.f64 y) (neg.f64 z) (cos.f64 y))
42.0b
(-.f64 x (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
40.4b
(-.f64 x (*.f64 (*.f64 z (sqrt.f64 (sin.f64 y))) (pow.f64 (cbrt.f64 (sin.f64 y)) 3/2)))
34.8b
(-.f64 x (*.f64 y z))
36.8b
x
43.1b
(/.f64 1 (/.f64 (+.f64 (*.f64 z (sin.f64 y)) x) (-.f64 (*.f64 x x) (pow.f64 (*.f64 z (sin.f64 y)) 2))))
44.4b
(*.f64 (sin.f64 y) (neg.f64 z))
Compiler

Compiled 358 to 238 computations (33.5% saved)

regimes121.0ms (1.1%)

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

4 calls:

28.0ms
x
28.0ms
z
26.0ms
y
22.0ms
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
Results
ErrorSegmentsBranch
0.1b1x
0.1b1y
0.1b1z
0.1b1(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
Compiler

Compiled 645 to 235 computations (63.6% saved)

regimes69.0ms (0.6%)

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

4 calls:

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

Compiled 248 to 104 computations (58.1% saved)

regimes87.0ms (0.8%)

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

3 calls:

35.0ms
z
25.0ms
x
23.0ms
y
Results
ErrorSegmentsBranch
0.8b3x
6.2b3y
2.8b5z
Compiler

Compiled 98 to 42 computations (57.1% saved)

bsearch118.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
60.0ms
0.023382197811077386
3370624133234.774
58.0ms
-2263007.935109674
-167138.45325893688
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes90.0ms (0.8%)

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

3 calls:

40.0ms
x
26.0ms
z
21.0ms
y
Results
ErrorSegmentsBranch
9.7b5x
6.2b3y
5.2b3z
Compiler

Compiled 84 to 41 computations (51.2% saved)

bsearch309.0ms (2.7%)

Algorithm
binary-search
Steps
TimeLeftRight
225.0ms
901.4964957225062
58423.09575961166
84.0ms
-3.129823936231271e+22
-30338140109.621147
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes77.0ms (0.7%)

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

3 calls:

32.0ms
y
24.0ms
z
18.0ms
x
Results
ErrorSegmentsBranch
17.3b3x
12.0b5y
11.0b3z
Compiler

Compiled 65 to 32 computations (50.8% saved)

bsearch105.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
49.0ms
5.914108039000788e+72
1.8887775815060596e+74
56.0ms
-3.561976126371877e+175
-1.7882597674183293e+170
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes42.0ms (0.4%)

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

3 calls:

17.0ms
y
17.0ms
z
6.0ms
x
Results
ErrorSegmentsBranch
18.6b1x
13.7b3y
15.2b3z
Compiler

Compiled 60 to 30 computations (50% saved)

bsearch74.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
35.0ms
1.2966822269877143e-14
2.9304107160500146e-10
39.0ms
-77290300315584860.0
-307455861613.32837
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes43.0ms (0.4%)

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

3 calls:

15.0ms
y
15.0ms
z
10.0ms
x
Results
ErrorSegmentsBranch
21.1b2x
18.9b3y
20.4b3z
Compiler

Compiled 56 to 28 computations (50% saved)

bsearch73.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
35.0ms
1.2966822269877143e-14
2.9304107160500146e-10
38.0ms
-77290300315584860.0
-307455861613.32837
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes20.0ms (0.2%)

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

3 calls:

9.0ms
z
5.0ms
y
5.0ms
x
Results
ErrorSegmentsBranch
23.8b1x
23.8b1y
22.2b2z
Compiler

Compiled 29 to 18 computations (37.9% saved)

bsearch55.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
55.0ms
2.6472241617781067e+248
3.245657311018726e+248
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes19.0ms (0.2%)

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

3 calls:

8.0ms
z
5.0ms
y
4.0ms
x
Results
ErrorSegmentsBranch
23.8b1x
23.8b1y
22.4b2z
Compiler

Compiled 24 to 16 computations (33.3% saved)

bsearch60.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
60.0ms
2.6472241617781067e+248
3.245657311018726e+248
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes15.0ms (0.1%)

Counts
3 → 1
Calls
Call 1
Inputs
x
x
(-.f64 x -1)
Outputs
(-.f64 x -1)
Calls

3 calls:

6.0ms
x
4.0ms
y
4.0ms
z
Results
ErrorSegmentsBranch
23.8b1x
23.8b1y
23.8b1z
Compiler

Compiled 20 to 14 computations (30% saved)

regimes13.0ms (0.1%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0.0b (-0%)

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

3 calls:

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

Compiled 17 to 12 computations (29.4% saved)

simplify17.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
056241
193241
2123241
3138241
4146241
5147241
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(if (<=.f64 x -9719545071884540/4294967296) (-.f64 x (*.f64 z (sin.f64 y))) (if (<=.f64 x 431325418901796224/18446744073709551616) (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) (-.f64 x (*.f64 z (sin.f64 y)))))
(if (<=.f64 z -31298239362312710389760) (-.f64 x (*.f64 z (sin.f64 y))) (if (<=.f64 z 7929647035569701/8796093022208) (+.f64 (cos.f64 y) x) (-.f64 x (*.f64 z (sin.f64 y)))))
(if (<=.f64 z -35619761263718767661620417645368222586316535060715050101043212951779148310253473353805502994517051424487252125978481359202772520390865236638788991634612266963543852771318956032) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 z 5914108039000788023987110075045137712323037335604210498119018143887130624) (+.f64 (cos.f64 y) x) (*.f64 (sin.f64 y) (neg.f64 z))))
(if (<=.f64 y -77290300315584864) (+.f64 (cos.f64 y) x) (if (<=.f64 y 4109350008365633/316912650057057350374175801344) (-.f64 x (-.f64 (*.f64 y z) 1)) (+.f64 (cos.f64 y) x)))
(if (<=.f64 y -77290300315584864) (-.f64 x -1) (if (<=.f64 y 4109350008365633/316912650057057350374175801344) (-.f64 x (-.f64 (*.f64 y z) 1)) (-.f64 x -1)))
(if (<=.f64 z 264722416177810667776844442578711627581466852335808285305598992329542182520627721251890775541248478022192218907014136316384162221159335215202769842743906747252998209445925160192418256160298254415684340534620887487917565859397706777498129785541361664) (-.f64 x -1) (-.f64 x (*.f64 y z)))
(if (<=.f64 z 264722416177810667776844442578711627581466852335808285305598992329542182520627721251890775541248478022192218907014136316384162221159335215202769842743906747252998209445925160192418256160298254415684340534620887487917565859397706777498129785541361664) (-.f64 x -1) (*.f64 y (neg.f64 z)))
(-.f64 x -1)
x
Outputs
(-.f64 x (fma.f64 z (sin.f64 y) (neg.f64 (cos.f64 y))))
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(if (<=.f64 x -9719545071884540/4294967296) (-.f64 x (*.f64 z (sin.f64 y))) (if (<=.f64 x 431325418901796224/18446744073709551616) (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) (-.f64 x (*.f64 z (sin.f64 y)))))
(if (<=.f64 x -2429886267971135/1073741824) (-.f64 x (*.f64 z (sin.f64 y))) (if (<=.f64 x 3369729835170283/144115188075855872) (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) (-.f64 x (*.f64 z (sin.f64 y)))))
(if (<=.f64 z -31298239362312710389760) (-.f64 x (*.f64 z (sin.f64 y))) (if (<=.f64 z 7929647035569701/8796093022208) (+.f64 (cos.f64 y) x) (-.f64 x (*.f64 z (sin.f64 y)))))
(if (<=.f64 z -31298239362312710389760) (-.f64 x (*.f64 z (sin.f64 y))) (if (<=.f64 z 7929647035569701/8796093022208) (+.f64 x (cos.f64 y)) (-.f64 x (*.f64 z (sin.f64 y)))))
(if (<=.f64 z -35619761263718767661620417645368222586316535060715050101043212951779148310253473353805502994517051424487252125978481359202772520390865236638788991634612266963543852771318956032) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 z 5914108039000788023987110075045137712323037335604210498119018143887130624) (+.f64 (cos.f64 y) x) (*.f64 (sin.f64 y) (neg.f64 z))))
(if (<=.f64 z -35619761263718767661620417645368222586316535060715050101043212951779148310253473353805502994517051424487252125978481359202772520390865236638788991634612266963543852771318956032) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 z 5914108039000788023987110075045137712323037335604210498119018143887130624) (+.f64 x (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z))))
(if (<=.f64 y -77290300315584864) (+.f64 (cos.f64 y) x) (if (<=.f64 y 4109350008365633/316912650057057350374175801344) (-.f64 x (-.f64 (*.f64 y z) 1)) (+.f64 (cos.f64 y) x)))
(if (<=.f64 y -77290300315584864) (+.f64 x (cos.f64 y)) (if (<=.f64 y 4109350008365633/316912650057057350374175801344) (-.f64 x (+.f64 (*.f64 z y) -1)) (+.f64 x (cos.f64 y))))
(if (<=.f64 y -77290300315584864) (-.f64 x -1) (if (<=.f64 y 4109350008365633/316912650057057350374175801344) (-.f64 x (-.f64 (*.f64 y z) 1)) (-.f64 x -1)))
(if (<=.f64 y -77290300315584864) (-.f64 x -1) (if (<=.f64 y 4109350008365633/316912650057057350374175801344) (-.f64 x (+.f64 (*.f64 z y) -1)) (-.f64 x -1)))
(if (<=.f64 z 264722416177810667776844442578711627581466852335808285305598992329542182520627721251890775541248478022192218907014136316384162221159335215202769842743906747252998209445925160192418256160298254415684340534620887487917565859397706777498129785541361664) (-.f64 x -1) (-.f64 x (*.f64 y z)))
(if (<=.f64 z 264722416177810667776844442578711627581466852335808285305598992329542182520627721251890775541248478022192218907014136316384162221159335215202769842743906747252998209445925160192418256160298254415684340534620887487917565859397706777498129785541361664) (-.f64 x -1) (-.f64 x (*.f64 z y)))
(if (<=.f64 z 264722416177810667776844442578711627581466852335808285305598992329542182520627721251890775541248478022192218907014136316384162221159335215202769842743906747252998209445925160192418256160298254415684340534620887487917565859397706777498129785541361664) (-.f64 x -1) (*.f64 y (neg.f64 z)))
(if (<=.f64 z 264722416177810667776844442578711627581466852335808285305598992329542182520627721251890775541248478022192218907014136316384162221159335215202769842743906747252998209445925160192418256160298254415684340534620887487917565859397706777498129785541361664) (-.f64 x -1) (neg.f64 (*.f64 z y)))
(-.f64 x -1)
x
Compiler

Compiled 195 to 118 computations (39.5% saved)

soundness76.0ms (0.7%)

Algorithm
egg-herbie
Rules
228×fma-def_binary64
171×fma-neg_binary64
68×cancel-sign-sub-inv_binary64
43×distribute-rgt-in_binary64
39×associate--r+_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0914
11814
23814
36714
411814
518314
632214
753214
868314
984814
1095214
1196214
Stop Event
saturated
Compiler

Compiled 100 to 68 computations (32% saved)

end234.0ms (2.1%)

Compiler

Compiled 165 to 70 computations (57.6% saved)

Profiling

Loading profile data...