Details

Time bar (total: 11.4s)

analyze268.0ms (2.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
6.2%93.7%0.1%6
37.5%62.4%0.1%7
37.5%62.4%0.1%8
43.7%45.3%11%9
43.7%44.5%11.8%10
46.8%35.5%17.7%11
46.8%34.9%18.2%12
Compiler

Compiled 10 to 7 computations (30% saved)

sample4.2s (37%)

Results
1.2s1932×body1024invalid
1.1s2039×body1024valid
917.0ms5179×body256valid
360.0ms1030×body512valid
349.0ms2059×body256invalid
288.0ms999×body512invalid
6.0msbody2048valid
1.0msbody2048invalid

preprocess69.0ms (0.6%)

Algorithm
egg-herbie
Rules
740×fma-neg_binary64
620×fma-def_binary64
554×div-sub_binary64
485×associate-*l/_binary64
400×associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01122
12822
26322
314422
432922
583922
6256622
7674422
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 (sinh.f64 x) x))
Outputs
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
(/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) y)
(*.f64 (sinh.f64 y) (/.f64 (sin.f64 x) y))
(/.f64 (sinh.f64 y) (/.f64 y (sin.f64 x)))
(*.f64 (sin.f64 y) (/.f64 (sinh.f64 x) x))
Compiler

Compiled 11 to 8 computations (27.3% saved)

simplify49.0ms (0.4%)

Algorithm
egg-herbie
Rules
804×fma-neg_binary64
491×times-frac_binary64
419×associate-/l*_binary64
357×div-sub_binary64
352×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
11611
23511
37711
417111
542811
6129511
7509211
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
Outputs
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
(/.f64 (sin.f64 x) (/.f64 y (sinh.f64 y)))
(*.f64 (sinh.f64 y) (/.f64 (sin.f64 x) y))

eval1.0ms (0%)

Compiler

Compiled 16 to 8 computations (50% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
0.3b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.3b
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
Compiler

Compiled 9 to 6 computations (33.3% saved)

localize123.0ms (1.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (sinh.f64 y) y)
0.2b
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
Compiler

Compiled 19 to 6 computations (68.4% saved)

series13.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
3.0ms
y
@-inf
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
2.0ms
y
@inf
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
2.0ms
x
@inf
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
2.0ms
y
@0
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
1.0ms
x
@0
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))

rewrite59.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
822×pow1_binary64
761×add-log-exp_binary64
760×log1p-expm1-u_binary64
760×expm1-log1p-u_binary64
743×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
114817
2199817
Stop Event
node limit
Counts
2 → 53
Calls
Call 1
Inputs
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
(/.f64 (sinh.f64 y) y)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 x) (/.f64 y (sinh.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 y (*.f64 (sin.f64 x) (sinh.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sin.f64 x) (sinh.f64 y))) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) 1) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) (sqrt.f64 y)) (sqrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sinh.f64 y)) (sin.f64 x)) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 x) (neg.f64 (sinh.f64 y))) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) y) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) y)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) y)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (/.f64 (sinh.f64 y) y) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (sinh.f64 y) y) 3) (pow.f64 (sin.f64 x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) y)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) y)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (sinh.f64 y) y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sinh.f64 y) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sinh.f64 y) y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sinh.f64 y) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (sinh.f64 y) y)) (pow.f64 (cbrt.f64 (/.f64 (sinh.f64 y) y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (sinh.f64 y) y)) 2) (cbrt.f64 (/.f64 (sinh.f64 y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sinh.f64 y)) 2) (*.f64 (cbrt.f64 (sinh.f64 y)) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sinh.f64 y) y)) (sqrt.f64 (/.f64 (sinh.f64 y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sinh.f64 y)) (*.f64 (sqrt.f64 (sinh.f64 y)) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sinh.f64 y)) (/.f64 1 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (sinh.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sinh.f64 y)) 2) 1) (/.f64 (cbrt.f64 (sinh.f64 y)) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sinh.f64 y)) 1) (/.f64 (sqrt.f64 (sinh.f64 y)) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 y) 2)) (/.f64 (sinh.f64 y) (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sinh.f64 y)) 2) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (/.f64 (sinh.f64 y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sinh.f64 y)) (pow.f64 (cbrt.f64 y) 2)) (/.f64 (sqrt.f64 (sinh.f64 y)) (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 y)) (/.f64 (sinh.f64 y) (sqrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sinh.f64 y)) 2) (sqrt.f64 y)) (/.f64 (cbrt.f64 (sinh.f64 y)) (sqrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sinh.f64 y) y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sinh.f64 y) y) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sinh.f64 y) y)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sinh.f64 y) y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 y (sinh.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sinh.f64 y) (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (sinh.f64 y) y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (sinh.f64 y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sinh.f64 y) y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (sinh.f64 y) 3) (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sinh.f64 y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sinh.f64 y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sinh.f64 y) y)))))))

simplify62.0ms (0.5%)

Algorithm
egg-herbie
Rules
395×associate-/l*_binary64
391×times-frac_binary64
343×*-commutative_binary64
276×associate-/r*_binary64
229×distribute-lft-out_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
068814
1187799
2525757
31922706
45587678
Stop Event
node limit
Counts
89 → 79
Calls
Call 1
Inputs
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(+.f64 (*.f64 -1/12 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) (pow.f64 x 3)) y)) (*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)))
(+.f64 (*.f64 -1/12 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) (pow.f64 x 3)) y)) (+.f64 (*.f64 1/240 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) (pow.f64 x 5)) y)) (*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))))
(+.f64 (*.f64 -1/12 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) (pow.f64 x 3)) y)) (+.f64 (*.f64 -1/10080 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) (pow.f64 x 7)) y)) (+.f64 (*.f64 1/240 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) (pow.f64 x 5)) y)) (*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(sin.f64 x)
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x))) (+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x))) (+.f64 (sin.f64 x) (+.f64 (*.f64 1/5040 (*.f64 (pow.f64 y 6) (sin.f64 x))) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
1
(+.f64 1 (*.f64 1/6 (pow.f64 y 2)))
(+.f64 1 (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4))))
(+.f64 1 (+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
Outputs
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x)))
(*.f64 1/2 (*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) x))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) x)
(*.f64 x (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y))
(+.f64 (*.f64 -1/12 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) (pow.f64 x 3)) y)) (*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)))
(fma.f64 -1/12 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y (pow.f64 x 3))) (*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x))))
(fma.f64 1/2 (*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) x) (*.f64 -1/12 (*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) (pow.f64 x 3))))
(fma.f64 -1/12 (*.f64 (pow.f64 x 3) (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y)) (*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) x))
(*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) (+.f64 (*.f64 1/2 x) (*.f64 -1/12 (pow.f64 x 3))))
(+.f64 (*.f64 -1/12 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) (pow.f64 x 3)) y)) (+.f64 (*.f64 1/240 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) (pow.f64 x 5)) y)) (*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))))
(fma.f64 -1/12 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y (pow.f64 x 3))) (fma.f64 1/240 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y (pow.f64 x 5))) (*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x)))))
(fma.f64 -1/12 (*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) (pow.f64 x 3)) (fma.f64 1/2 (*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) x) (*.f64 1/240 (*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) (pow.f64 x 5)))))
(fma.f64 -1/12 (*.f64 (pow.f64 x 3) (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y)) (fma.f64 1/240 (*.f64 (/.f64 (pow.f64 x 5) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) (*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) x)))
(fma.f64 -1/12 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 (pow.f64 x 3) y)) (*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) (+.f64 (*.f64 1/2 x) (*.f64 1/240 (pow.f64 x 5)))))
(*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 -1/12 (pow.f64 x 3)) (*.f64 1/240 (pow.f64 x 5)))))
(+.f64 (*.f64 -1/12 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) (pow.f64 x 3)) y)) (+.f64 (*.f64 -1/10080 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) (pow.f64 x 7)) y)) (+.f64 (*.f64 1/240 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) (pow.f64 x 5)) y)) (*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)))))
(fma.f64 -1/12 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y (pow.f64 x 3))) (fma.f64 -1/10080 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y (pow.f64 x 7))) (fma.f64 1/240 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y (pow.f64 x 5))) (*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x))))))
(fma.f64 -1/12 (*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) (pow.f64 x 3)) (fma.f64 -1/10080 (*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) (pow.f64 x 7)) (fma.f64 1/2 (*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) x) (*.f64 1/240 (*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) (pow.f64 x 5))))))
(fma.f64 -1/12 (*.f64 (pow.f64 x 3) (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y)) (fma.f64 -1/10080 (*.f64 (/.f64 (pow.f64 x 7) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) (fma.f64 1/240 (*.f64 (/.f64 (pow.f64 x 5) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) (*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) x))))
(+.f64 (*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) (+.f64 (*.f64 1/2 x) (*.f64 -1/12 (pow.f64 x 3)))) (*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) (+.f64 (*.f64 1/240 (pow.f64 x 5)) (*.f64 -1/10080 (pow.f64 x 7)))))
(*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) (+.f64 (+.f64 (*.f64 1/2 x) (*.f64 -1/12 (pow.f64 x 3))) (+.f64 (*.f64 1/240 (pow.f64 x 5)) (*.f64 -1/10080 (pow.f64 x 7)))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(sin.f64 x)
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (sin.f64 x) (*.f64 y y))))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) 1))
(*.f64 (sin.f64 x) (fma.f64 y (*.f64 y 1/6) 1))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x))) (+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))))
(fma.f64 1/120 (*.f64 (sin.f64 x) (pow.f64 y 4)) (+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (sin.f64 x) (*.f64 y y)))))
(fma.f64 1/120 (*.f64 (sin.f64 x) (pow.f64 y 4)) (*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x)))
(*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)))
(*.f64 (sin.f64 x) (fma.f64 y (*.f64 y 1/6) (fma.f64 1/120 (pow.f64 y 4) 1)))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x))) (+.f64 (sin.f64 x) (+.f64 (*.f64 1/5040 (*.f64 (pow.f64 y 6) (sin.f64 x))) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))))
(fma.f64 1/120 (*.f64 (sin.f64 x) (pow.f64 y 4)) (+.f64 (sin.f64 x) (fma.f64 1/5040 (*.f64 (sin.f64 x) (pow.f64 y 6)) (*.f64 1/6 (*.f64 (sin.f64 x) (*.f64 y y))))))
(+.f64 (*.f64 (sin.f64 x) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6)))) (*.f64 (+.f64 (*.f64 1/120 (pow.f64 y 4)) 1) (sin.f64 x)))
(+.f64 (sin.f64 x) (*.f64 (sin.f64 x) (fma.f64 y (*.f64 y 1/6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))
(*.f64 (sin.f64 x) (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (fma.f64 1/120 (pow.f64 y 4) 1))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
1
(+.f64 1 (*.f64 1/6 (pow.f64 y 2)))
(+.f64 1 (*.f64 1/6 (*.f64 y y)))
(fma.f64 1/6 (*.f64 y y) 1)
(fma.f64 y (*.f64 y 1/6) 1)
(+.f64 1 (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4))))
(+.f64 1 (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4))))
(fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1))
(fma.f64 y (*.f64 y 1/6) (fma.f64 1/120 (pow.f64 y 4) 1))
(+.f64 1 (+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))))
(+.f64 1 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))))
(fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)))
(fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (fma.f64 1/120 (pow.f64 y 4) 1)))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y))
(/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y)
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y))
(/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y)
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y))
(/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y)
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y))
(/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y)
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y))
(/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y)
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y))
(/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y)
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y))
(/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y)
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y))
(/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y)

eval50.0ms (0.4%)

Compiler

Compiled 1073 to 503 computations (53.1% saved)

prune15.0ms (0.1%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New74579
Fresh000
Picked011
Done000
Total74680
Error
0.2b
Counts
80 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
0.4b
(*.f64 (sin.f64 x) (*.f64 (/.f64 1 y) (sinh.f64 y)))
1.1b
(sin.f64 x)
0.3b
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
0.8b
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4))))))
0.9b
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))))
1.0b
(*.f64 (sin.f64 x) (fma.f64 y (*.f64 y 1/6) 1))
Compiler

Compiled 145 to 114 computations (21.4% saved)

localize42.0ms (0.4%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (/.f64 1 y) (sinh.f64 y))
0.2b
(*.f64 (sin.f64 x) (*.f64 (/.f64 1 y) (sinh.f64 y)))
Compiler

Compiled 27 to 14 computations (48.1% saved)

series3.0ms (0%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
x
@0
(*.f64 (sin.f64 x) (*.f64 (/.f64 1 y) (sinh.f64 y)))
0.0ms
y
@inf
(*.f64 (sin.f64 x) (*.f64 (/.f64 1 y) (sinh.f64 y)))
0.0ms
y
@-inf
(*.f64 (sin.f64 x) (*.f64 (/.f64 1 y) (sinh.f64 y)))
0.0ms
y
@0
(*.f64 (sin.f64 x) (*.f64 (/.f64 1 y) (sinh.f64 y)))
0.0ms
x
@inf
(*.f64 (sin.f64 x) (*.f64 (/.f64 1 y) (sinh.f64 y)))

rewrite64.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
893×pow1_binary64
824×add-log-exp_binary64
822×log1p-expm1-u_binary64
822×expm1-log1p-u_binary64
805×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
118217
2225817
Stop Event
node limit
Counts
2 → 46
Calls
Call 1
Inputs
(*.f64 (sin.f64 x) (*.f64 (/.f64 1 y) (sinh.f64 y)))
(*.f64 (/.f64 1 y) (sinh.f64 y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sinh.f64 y) (sin.f64 x)) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 x) (sinh.f64 y)) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (sin.f64 x) y) (*.f64 2 (sinh.f64 y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 x)) (/.f64 (sinh.f64 y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (/.f64 (sinh.f64 y) y) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (sinh.f64 y) y) 3) (pow.f64 (sin.f64 x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (sinh.f64 y) y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 y (sinh.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sinh.f64 y) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (sinh.f64 y)) 2) (/.f64 y (cbrt.f64 (sinh.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (sinh.f64 y)) (/.f64 y (sqrt.f64 (sinh.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sinh.f64 y)) (*.f64 y 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sinh.f64 y)) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (*.f64 2 (sinh.f64 y))) (*.f64 (neg.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (sinh.f64 y)) 1) (*.f64 2 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (sinh.f64 y)) -1) (*.f64 2 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sinh.f64 y) (sqrt.f64 y)) (sqrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sinh.f64 y) 1) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sinh.f64 y) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (sinh.f64 y)) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (sinh.f64 y)) (pow.f64 y -1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y -1) (*.f64 2 (sinh.f64 y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sinh.f64 y) -1) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sinh.f64 y) y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sinh.f64 y) y) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sinh.f64 y) y)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sinh.f64 y) y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (sinh.f64 y) y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (sinh.f64 y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sinh.f64 y) y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (sinh.f64 y) 3) (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (/.f64 (pow.f64 y -2) y) (pow.f64 (sinh.f64 y) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sinh.f64 y) 3) (/.f64 (pow.f64 y -2) y)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sinh.f64 y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sinh.f64 y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sinh.f64 y) y)))))))

simplify88.0ms (0.8%)

Algorithm
egg-herbie
Rules
395×associate-/l*_binary64
391×times-frac_binary64
343×*-commutative_binary64
276×associate-/r*_binary64
229×distribute-lft-out_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
068814
1187799
2525757
31922706
45587678
Stop Event
node limit
Counts
82 → 72
Calls
Call 1
Inputs
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(+.f64 (*.f64 -1/12 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) (pow.f64 x 3)) y)) (*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)))
(+.f64 (*.f64 -1/12 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) (pow.f64 x 3)) y)) (+.f64 (*.f64 1/240 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) (pow.f64 x 5)) y)) (*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))))
(+.f64 (*.f64 -1/12 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) (pow.f64 x 3)) y)) (+.f64 (*.f64 -1/10080 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) (pow.f64 x 7)) y)) (+.f64 (*.f64 1/240 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) (pow.f64 x 5)) y)) (*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(sin.f64 x)
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x))) (+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x))) (+.f64 (sin.f64 x) (+.f64 (*.f64 1/5040 (*.f64 (pow.f64 y 6) (sin.f64 x))) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
1
(+.f64 1 (*.f64 1/6 (pow.f64 y 2)))
(+.f64 1 (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4))))
(+.f64 1 (+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
Outputs
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x)))
(*.f64 1/2 (*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) x))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) x)
(*.f64 x (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y))
(+.f64 (*.f64 -1/12 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) (pow.f64 x 3)) y)) (*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)))
(fma.f64 -1/12 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y (pow.f64 x 3))) (*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x))))
(fma.f64 1/2 (*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) x) (*.f64 -1/12 (*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) (pow.f64 x 3))))
(fma.f64 -1/12 (*.f64 (pow.f64 x 3) (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y)) (*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) x))
(*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) (+.f64 (*.f64 1/2 x) (*.f64 -1/12 (pow.f64 x 3))))
(+.f64 (*.f64 -1/12 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) (pow.f64 x 3)) y)) (+.f64 (*.f64 1/240 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) (pow.f64 x 5)) y)) (*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))))
(fma.f64 -1/12 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y (pow.f64 x 3))) (fma.f64 1/240 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y (pow.f64 x 5))) (*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x)))))
(fma.f64 -1/12 (*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) (pow.f64 x 3)) (fma.f64 1/2 (*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) x) (*.f64 1/240 (*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) (pow.f64 x 5)))))
(fma.f64 -1/12 (*.f64 (pow.f64 x 3) (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y)) (fma.f64 1/240 (*.f64 (/.f64 (pow.f64 x 5) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) (*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) x)))
(fma.f64 -1/12 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 (pow.f64 x 3) y)) (*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) (+.f64 (*.f64 1/2 x) (*.f64 1/240 (pow.f64 x 5)))))
(*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) (+.f64 (*.f64 1/2 x) (+.f64 (*.f64 -1/12 (pow.f64 x 3)) (*.f64 1/240 (pow.f64 x 5)))))
(+.f64 (*.f64 -1/12 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) (pow.f64 x 3)) y)) (+.f64 (*.f64 -1/10080 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) (pow.f64 x 7)) y)) (+.f64 (*.f64 1/240 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) (pow.f64 x 5)) y)) (*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)))))
(fma.f64 -1/12 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y (pow.f64 x 3))) (fma.f64 -1/10080 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y (pow.f64 x 7))) (fma.f64 1/240 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y (pow.f64 x 5))) (*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x))))))
(fma.f64 -1/12 (*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) (pow.f64 x 3)) (fma.f64 -1/10080 (*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) (pow.f64 x 7)) (fma.f64 1/2 (*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) x) (*.f64 1/240 (*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) (pow.f64 x 5))))))
(fma.f64 -1/12 (*.f64 (pow.f64 x 3) (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y)) (fma.f64 -1/10080 (*.f64 (/.f64 (pow.f64 x 7) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) (fma.f64 1/240 (*.f64 (/.f64 (pow.f64 x 5) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) (*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) x))))
(+.f64 (*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) (+.f64 (*.f64 1/2 x) (*.f64 -1/12 (pow.f64 x 3)))) (*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) (+.f64 (*.f64 1/240 (pow.f64 x 5)) (*.f64 -1/10080 (pow.f64 x 7)))))
(*.f64 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y) (+.f64 (+.f64 (*.f64 1/2 x) (*.f64 -1/12 (pow.f64 x 3))) (+.f64 (*.f64 1/240 (pow.f64 x 5)) (*.f64 -1/10080 (pow.f64 x 7)))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(sin.f64 x)
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (sin.f64 x) (*.f64 y y))))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) 1))
(*.f64 (sin.f64 x) (fma.f64 y (*.f64 y 1/6) 1))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x))) (+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))))
(fma.f64 1/120 (*.f64 (sin.f64 x) (pow.f64 y 4)) (+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (sin.f64 x) (*.f64 y y)))))
(fma.f64 1/120 (*.f64 (sin.f64 x) (pow.f64 y 4)) (*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x)))
(*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)))
(*.f64 (sin.f64 x) (fma.f64 y (*.f64 y 1/6) (fma.f64 1/120 (pow.f64 y 4) 1)))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x))) (+.f64 (sin.f64 x) (+.f64 (*.f64 1/5040 (*.f64 (pow.f64 y 6) (sin.f64 x))) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))))
(fma.f64 1/120 (*.f64 (sin.f64 x) (pow.f64 y 4)) (+.f64 (sin.f64 x) (fma.f64 1/5040 (*.f64 (sin.f64 x) (pow.f64 y 6)) (*.f64 1/6 (*.f64 (sin.f64 x) (*.f64 y y))))))
(+.f64 (*.f64 (sin.f64 x) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6)))) (*.f64 (+.f64 (*.f64 1/120 (pow.f64 y 4)) 1) (sin.f64 x)))
(+.f64 (sin.f64 x) (*.f64 (sin.f64 x) (fma.f64 y (*.f64 y 1/6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))
(*.f64 (sin.f64 x) (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (fma.f64 1/120 (pow.f64 y 4) 1))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 x) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) y))
(*.f64 1/2 (/.f64 (sin.f64 x) (/.f64 y (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 x) y) (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))))
(*.f64 (/.f64 (sin.f64 x) y) (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))))
(*.f64 (/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y) (sin.f64 x))
1
(+.f64 1 (*.f64 1/6 (pow.f64 y 2)))
(+.f64 1 (*.f64 1/6 (*.f64 y y)))
(fma.f64 1/6 (*.f64 y y) 1)
(fma.f64 y (*.f64 y 1/6) 1)
(+.f64 1 (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4))))
(+.f64 1 (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4))))
(fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1))
(fma.f64 y (*.f64 y 1/6) (fma.f64 1/120 (pow.f64 y 4) 1))
(+.f64 1 (+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))))
(+.f64 1 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))))
(fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)))
(fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (fma.f64 1/120 (pow.f64 y 4) 1)))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y))
(/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y)
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y))
(/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y)
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y))
(/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y)
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y))
(/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y)
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y))
(/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y)
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y))
(/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y)
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y))
(/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y)
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) y))
(/.f64 (fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) y)

localize4.0ms (0%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize18.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (sin.f64 x) (fma.f64 y (*.f64 y 1/6) 1))
0.3b
(*.f64 y 1/6)
Compiler

Compiled 26 to 16 computations (38.5% saved)

series6.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@inf
(*.f64 (sin.f64 x) (fma.f64 y (*.f64 y 1/6) 1))
1.0ms
y
@inf
(*.f64 (sin.f64 x) (fma.f64 y (*.f64 y 1/6) 1))
1.0ms
y
@-inf
(*.f64 (sin.f64 x) (fma.f64 y (*.f64 y 1/6) 1))
1.0ms
x
@0
(*.f64 (sin.f64 x) (fma.f64 y (*.f64 y 1/6) 1))
1.0ms
y
@0
(*.f64 y 1/6)

rewrite67.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
117217
2191017
Stop Event
node limit
Counts
2 → 26
Calls
Call 1
Inputs
(*.f64 y 1/6)
(*.f64 (sin.f64 x) (fma.f64 y (*.f64 y 1/6) 1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 y 1/6)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y 1/6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 y 1/6) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 y 1/6)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 y 1/6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 y y) 1/36))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 y) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 y 1/6) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 y 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 y 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 y 1/6)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y (*.f64 y 1/6)) (sin.f64 x)) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 x) (*.f64 y (*.f64 y 1/6))) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sin.f64 x) (fma.f64 y (*.f64 y 1/6) 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 x) (fma.f64 y (*.f64 y 1/6) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 x) (fma.f64 y (*.f64 y 1/6) 1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (fma.f64 y (*.f64 y 1/6) 1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 x) (fma.f64 y (*.f64 y 1/6) 1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 x) (fma.f64 y (*.f64 y 1/6) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 x)) (fma.f64 y (*.f64 y 1/6) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (fma.f64 y (*.f64 y 1/6) 1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (fma.f64 y (*.f64 y 1/6) 1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 y (*.f64 y 1/6) 1) 3) (pow.f64 (sin.f64 x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 x) (fma.f64 y (*.f64 y 1/6) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 x) (fma.f64 y (*.f64 y 1/6) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 x) (fma.f64 y (*.f64 y 1/6) 1))))))))

simplify127.0ms (1.1%)

Algorithm
egg-herbie
Rules
943×fma-def_binary64
732×distribute-rgt-in_binary64
692×distribute-lft-in_binary64
464×unswap-sqr_binary64
442×associate-+l+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
036496
198442
2286411
31157386
43937386
54869386
65940386
77156386
87610386
97771386
107994386
Stop Event
node limit
Counts
62 → 41
Calls
Call 1
Inputs
(*.f64 1/6 y)
(*.f64 1/6 y)
(*.f64 1/6 y)
(*.f64 1/6 y)
(*.f64 1/6 y)
(*.f64 1/6 y)
(*.f64 1/6 y)
(*.f64 1/6 y)
(*.f64 1/6 y)
(*.f64 1/6 y)
(*.f64 1/6 y)
(*.f64 1/6 y)
(*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) x) (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) (pow.f64 x 3))))
(+.f64 (*.f64 1/120 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) (pow.f64 x 5))) (+.f64 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) x) (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) (pow.f64 x 3)))))
(+.f64 (*.f64 1/120 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) (pow.f64 x 5))) (+.f64 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) x) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) (pow.f64 x 3))) (*.f64 -1/5040 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) (pow.f64 x 7))))))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(sin.f64 x)
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
Outputs
(*.f64 1/6 y)
(*.f64 1/6 y)
(*.f64 1/6 y)
(*.f64 1/6 y)
(*.f64 1/6 y)
(*.f64 1/6 y)
(*.f64 1/6 y)
(*.f64 1/6 y)
(*.f64 1/6 y)
(*.f64 1/6 y)
(*.f64 1/6 y)
(*.f64 1/6 y)
(*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) x)
(*.f64 (+.f64 1 (*.f64 1/6 (*.f64 y y))) x)
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) x) (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) (pow.f64 x 3))))
(fma.f64 (+.f64 1 (*.f64 1/6 (*.f64 y y))) x (*.f64 (*.f64 -1/6 (+.f64 1 (*.f64 1/6 (*.f64 y y)))) (pow.f64 x 3)))
(fma.f64 (fma.f64 1/6 (*.f64 y y) 1) x (*.f64 (fma.f64 1/6 (*.f64 y y) 1) (*.f64 (pow.f64 x 3) -1/6)))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (fma.f64 -1/6 (pow.f64 x 3) x))
(+.f64 (*.f64 1/120 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) (pow.f64 x 5))) (+.f64 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) x) (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) (pow.f64 x 3)))))
(fma.f64 1/120 (*.f64 (+.f64 1 (*.f64 1/6 (*.f64 y y))) (pow.f64 x 5)) (fma.f64 (+.f64 1 (*.f64 1/6 (*.f64 y y))) x (*.f64 (*.f64 -1/6 (+.f64 1 (*.f64 1/6 (*.f64 y y)))) (pow.f64 x 3))))
(fma.f64 1/120 (*.f64 (fma.f64 1/6 (*.f64 y y) 1) (pow.f64 x 5)) (fma.f64 (fma.f64 1/6 (*.f64 y y) 1) x (*.f64 (fma.f64 1/6 (*.f64 y y) 1) (*.f64 (pow.f64 x 3) -1/6))))
(fma.f64 (pow.f64 x 5) (+.f64 1/120 (*.f64 (*.f64 y y) 1/720)) (*.f64 (fma.f64 1/6 (*.f64 y y) 1) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (+.f64 (fma.f64 1/120 (pow.f64 x 5) x) (*.f64 -1/6 (pow.f64 x 3))))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (fma.f64 1/120 (pow.f64 x 5) x)))
(+.f64 (*.f64 1/120 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) (pow.f64 x 5))) (+.f64 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) x) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) (pow.f64 x 3))) (*.f64 -1/5040 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) (pow.f64 x 7))))))
(fma.f64 1/120 (*.f64 (+.f64 1 (*.f64 1/6 (*.f64 y y))) (pow.f64 x 5)) (fma.f64 (+.f64 1 (*.f64 1/6 (*.f64 y y))) x (fma.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/6 (*.f64 y y))) (pow.f64 x 3)) (*.f64 -1/5040 (*.f64 (+.f64 1 (*.f64 1/6 (*.f64 y y))) (pow.f64 x 7))))))
(fma.f64 1/120 (*.f64 (fma.f64 1/6 (*.f64 y y) 1) (pow.f64 x 5)) (fma.f64 (fma.f64 1/6 (*.f64 y y) 1) x (fma.f64 -1/6 (*.f64 (fma.f64 1/6 (*.f64 y y) 1) (pow.f64 x 3)) (*.f64 (pow.f64 x 7) (*.f64 (fma.f64 1/6 (*.f64 y y) 1) -1/5040)))))
(+.f64 (*.f64 (fma.f64 1/6 (*.f64 y y) 1) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)) (*.f64 (fma.f64 1/6 (*.f64 y y) 1) (+.f64 (*.f64 -1/5040 (pow.f64 x 7)) (*.f64 1/120 (pow.f64 x 5)))))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (+.f64 (fma.f64 -1/6 (pow.f64 x 3) (*.f64 -1/5040 (pow.f64 x 7))) (fma.f64 1/120 (pow.f64 x 5) x)))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (+.f64 (fma.f64 1/120 (pow.f64 x 5) x) (fma.f64 -1/6 (pow.f64 x 3) (*.f64 -1/5040 (pow.f64 x 7)))))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (+.f64 1 (*.f64 1/6 (*.f64 y y))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (+.f64 1 (*.f64 1/6 (*.f64 y y))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (+.f64 1 (*.f64 1/6 (*.f64 y y))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (+.f64 1 (*.f64 1/6 (*.f64 y y))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (+.f64 1 (*.f64 1/6 (*.f64 y y))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (+.f64 1 (*.f64 1/6 (*.f64 y y))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (+.f64 1 (*.f64 1/6 (*.f64 y y))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (+.f64 1 (*.f64 1/6 (*.f64 y y))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(sin.f64 x)
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(*.f64 (+.f64 1 (*.f64 1/6 (*.f64 y y))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(*.f64 (+.f64 1 (*.f64 1/6 (*.f64 y y))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(*.f64 (+.f64 1 (*.f64 1/6 (*.f64 y y))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)))
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(*.f64 (+.f64 1 (*.f64 1/6 (*.f64 y y))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(*.f64 (+.f64 1 (*.f64 1/6 (*.f64 y y))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(*.f64 (+.f64 1 (*.f64 1/6 (*.f64 y y))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)))
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(*.f64 (+.f64 1 (*.f64 1/6 (*.f64 y y))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(*.f64 (+.f64 1 (*.f64 1/6 (*.f64 y y))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(*.f64 (+.f64 1 (*.f64 1/6 (*.f64 y y))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))

localize40.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))
0.0b
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))))
0.1b
(*.f64 1/120 (pow.f64 y 4))
0.2b
(*.f64 1/6 (pow.f64 y 2))
Compiler

Compiled 67 to 52 computations (22.4% saved)

series12.0ms (0.1%)

Counts
4 → 30
Calls

15 calls:

TimeVariablePointExpression
4.0ms
x
@-inf
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))))
1.0ms
x
@inf
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))))
1.0ms
x
@0
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))))
1.0ms
y
@0
(*.f64 1/6 (pow.f64 y 2))
1.0ms
y
@0
(*.f64 1/120 (pow.f64 y 4))

rewrite96.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
684×log-prod_binary64
555×fma-def_binary64
273×fma-neg_binary64
272×pow1/3_binary64
270×expm1-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01650
134650
2423848
Stop Event
node limit
Counts
4 → 167
Calls
Call 1
Inputs
(*.f64 1/6 (pow.f64 y 2))
(*.f64 1/120 (pow.f64 y 4))
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))))
(+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/6 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/6) (*.f64 y y))) (cbrt.f64 (pow.f64 (exp.f64 1/6) (*.f64 y y))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/6) (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/6) (*.f64 y y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/6) (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 1/6 (*.f64 y y) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/6 (*.f64 y y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/6 (*.f64 y y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (sqrt.f64 1/6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 y 6) 1/216) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 y 4) 1/36))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 1/6) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 1/6 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 y 6) 1/216))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/6 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/6 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/6 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 1/6 (*.f64 y y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 1/6 (*.f64 y y) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (fma.f64 1/6 (*.f64 y y) 1)) (cbrt.f64 (fma.f64 1/6 (*.f64 y y) 1))) (cbrt.f64 (fma.f64 1/6 (*.f64 y y) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 1 (*.f64 y (sqrt.f64 1/6))) (hypot.f64 1 (*.f64 y (sqrt.f64 1/6))) -1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/120 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 y 4)) 1/120)) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 y 4)) 1/120)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 y 4)) 1/120))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 y 4)) 1/120))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 y 4)) 1/120))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 1/120 (pow.f64 y 4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/120 (pow.f64 y 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/120 (pow.f64 y 4))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 y y) (sqrt.f64 1/120)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (pow.f64 y 4) 3) 1/1728000) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 y 8) 1/14400))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (pow.f64 y 4)) 1/120))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 1/120 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 y 4) 3) 1/1728000))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (fma.f64 4 (log.f64 y) (log1p.f64 -119/120)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (fma.f64 4 (log.f64 y) (log1p.f64 -119/120)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 x) (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 x) (*.f64 (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x)) (*.f64 (*.f64 1/120 (pow.f64 y 4)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) 1)) (*.f64 (sin.f64 x) (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1))) (sin.f64 x))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1))) (sin.f64 x))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1))) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1))) (sin.f64 x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1))) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) 3)) (+.f64 (pow.f64 (sin.f64 x) 2) (-.f64 (*.f64 (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))))) (*.f64 (sin.f64 x) (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (sin.f64 x) 2) (*.f64 (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))))) (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))) 3)) (sin.f64 x)) (fma.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))) (-.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))) 2)) (sin.f64 x)) (-.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 x) (+.f64 1 (pow.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))) 3))) (fma.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))) (-.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 x) (-.f64 1 (pow.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))) 2))) (-.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) 3) (pow.f64 (sin.f64 x) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1))) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 x))) (exp.f64 (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))))) (exp.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))))) (+.f64 1 (expm1.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) 3) (pow.f64 (sin.f64 x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) 1 (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) 1 (*.f64 (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) 1) (*.f64 (sin.f64 x) (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sin.f64 x) (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sin.f64 x) (*.f64 (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))) (sin.f64 x) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sin.f64 x)) (cbrt.f64 (pow.f64 (sin.f64 x) 2)) (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sin.f64 x)) (cbrt.f64 (pow.f64 (sin.f64 x) 2)) (*.f64 (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (sin.f64 x) 2)) (cbrt.f64 (sin.f64 x)) (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (sin.f64 x) 2)) (cbrt.f64 (sin.f64 x)) (*.f64 (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (sin.f64 x) 2)) (*.f64 (cbrt.f64 (sin.f64 x)) 1) (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (sin.f64 x) 2)) (*.f64 (cbrt.f64 (sin.f64 x)) 1) (*.f64 (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (sin.f64 x) 2)) (*.f64 (cbrt.f64 (sin.f64 x)) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) 2) (*.f64 (cbrt.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (sin.f64 x)) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (sqrt.f64 (sin.f64 x)) (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (sqrt.f64 (sin.f64 x)) (*.f64 (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) 1) (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) 1) (*.f64 (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (*.f64 (sqrt.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (sin.f64 x)) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x) (*.f64 (*.f64 1/120 (pow.f64 y 4)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))))) (cbrt.f64 (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))))) (cbrt.f64 (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))))) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))))) (sqrt.f64 (*.f64 (sin.f64 x) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))))) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (sqrt.f64 (sin.f64 x))) (*.f64 (sqrt.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (sqrt.f64 (sin.f64 x))) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sqrt.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))))) (*.f64 (sqrt.f64 (sin.f64 x)) (sqrt.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))))) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))) (cbrt.f64 (pow.f64 (sin.f64 x) 2))) (cbrt.f64 (sin.f64 x)) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))) (sqrt.f64 (sin.f64 x))) (sqrt.f64 (sin.f64 x)) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) 2)) (cbrt.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (sqrt.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))))) (sqrt.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (sin.f64 x))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (pow.f64 y 4) 1/36) (fma.f64 1/6 (*.f64 y y) (*.f64 -1/120 (pow.f64 y 4)))) (/.f64 (*.f64 (pow.f64 y 8) 1/14400) (fma.f64 1/6 (*.f64 y y) (*.f64 -1/120 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (pow.f64 (cbrt.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) 2) (cbrt.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (sqrt.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 (pow.f64 y 4) 3) 1/1728000 (*.f64 (pow.f64 y 6) 1/216)) (/.f64 1 (-.f64 (fma.f64 (pow.f64 y 4) 1/36 (*.f64 (pow.f64 y 8) 1/14400)) (*.f64 (*.f64 (*.f64 1/6 (*.f64 y y)) 1/120) (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (pow.f64 y 4) 1/36) (*.f64 (pow.f64 y 8) 1/14400)) (/.f64 1 (fma.f64 1/6 (*.f64 y y) (*.f64 -1/120 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 (pow.f64 y 4) 1/36 (*.f64 (pow.f64 y 8) 1/14400)) (*.f64 (*.f64 (*.f64 1/6 (*.f64 y y)) 1/120) (pow.f64 y 4))) (fma.f64 (pow.f64 (pow.f64 y 4) 3) 1/1728000 (*.f64 (pow.f64 y 6) 1/216))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 1/6 (*.f64 y y) (*.f64 -1/120 (pow.f64 y 4))) (-.f64 (*.f64 (pow.f64 y 4) 1/36) (*.f64 (pow.f64 y 8) 1/14400))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (pow.f64 y 4) 3) 1/1728000 (*.f64 (pow.f64 y 6) 1/216)) (-.f64 (fma.f64 (pow.f64 y 4) 1/36 (*.f64 (pow.f64 y 8) 1/14400)) (*.f64 (*.f64 (*.f64 1/6 (*.f64 y y)) 1/120) (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (pow.f64 y 4) 3) 1/1728000 (*.f64 (pow.f64 y 6) 1/216)) (fma.f64 (pow.f64 y 8) 1/14400 (-.f64 (*.f64 (pow.f64 y 4) 1/36) (*.f64 (*.f64 (*.f64 1/6 (*.f64 y y)) 1/120) (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 y 4) 1/36) (*.f64 (pow.f64 y 8) 1/14400)) (fma.f64 1/6 (*.f64 y y) (*.f64 -1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (pow.f64 (pow.f64 y 4) 3) 1/1728000 (*.f64 (pow.f64 y 6) 1/216))) (neg.f64 (-.f64 (fma.f64 (pow.f64 y 4) 1/36 (*.f64 (pow.f64 y 8) 1/14400)) (*.f64 (*.f64 (*.f64 1/6 (*.f64 y y)) 1/120) (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 y 4) 1/36) (*.f64 (pow.f64 y 8) 1/14400))) (neg.f64 (fma.f64 1/6 (*.f64 y y) (*.f64 -1/120 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 y 8) 1/14400) (*.f64 (pow.f64 y 4) 1/36)) (-.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (fma.f64 (pow.f64 y 4) 1/36 (*.f64 (pow.f64 y 8) 1/14400)) (*.f64 (*.f64 (*.f64 1/6 (*.f64 y y)) 1/120) (pow.f64 y 4))) (fma.f64 (pow.f64 (pow.f64 y 4) 3) 1/1728000 (*.f64 (pow.f64 y 6) 1/216))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 1/6 (*.f64 y y) (*.f64 -1/120 (pow.f64 y 4))) (-.f64 (*.f64 (pow.f64 y 4) 1/36) (*.f64 (pow.f64 y 8) 1/14400))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/6 (*.f64 y y)))) (pow.f64 (exp.f64 (pow.f64 y 4)) 1/120)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 1/6) (*.f64 y y)) (+.f64 1 (expm1.f64 (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/6 (*.f64 y y)))) (+.f64 1 (expm1.f64 (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/120 (pow.f64 y 4)))) (pow.f64 (exp.f64 1/6) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (pow.f64 y 4)) 1/120) (+.f64 1 (expm1.f64 (*.f64 1/6 (*.f64 y y))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/120 (pow.f64 y 4)))) (+.f64 1 (expm1.f64 (*.f64 1/6 (*.f64 y y))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log1p.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y y) 1/6 (*.f64 1/120 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y y) (*.f64 (*.f64 y y) 1/120) (*.f64 1/6 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/6 (*.f64 y y)) 1 (*.f64 1/120 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 y 4) 1/120 (*.f64 1/6 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/120 (pow.f64 y 4)) 1 (*.f64 1/6 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/6 (*.f64 y y)) (*.f64 1/120 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1))) (cbrt.f64 (pow.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) 2)) (cbrt.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 y 4)) (*.f64 (cbrt.f64 (*.f64 y y)) 1/6) (*.f64 1/120 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 y 8)) (*.f64 (cbrt.f64 (pow.f64 y 4)) 1/120) (*.f64 1/6 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/6 (*.f64 y y))) (cbrt.f64 (*.f64 (pow.f64 y 4) 1/36)) (*.f64 1/120 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 y 4) 1/36)) (cbrt.f64 (*.f64 1/6 (*.f64 y y))) (*.f64 1/120 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/120 (pow.f64 y 4))) (cbrt.f64 (*.f64 (pow.f64 y 8) 1/14400)) (*.f64 1/6 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 y 8) 1/14400)) (cbrt.f64 (*.f64 1/120 (pow.f64 y 4))) (*.f64 1/6 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1))) (sqrt.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 1/6)) (*.f64 y (sqrt.f64 1/6)) (*.f64 1/120 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 y y) (sqrt.f64 1/120)) (*.f64 (*.f64 y y) (sqrt.f64 1/120)) (*.f64 1/6 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (pow.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))) 3)) (/.f64 1 (fma.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))) (-.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))) 1) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (pow.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))) 2)) (/.f64 1 (-.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/120 (*.f64 y y)) (*.f64 y y) (*.f64 1/6 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/120 (cbrt.f64 (pow.f64 y 8))) (cbrt.f64 (pow.f64 y 4)) (*.f64 1/6 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/6 y) y (*.f64 1/120 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/6 (cbrt.f64 (pow.f64 y 4))) (cbrt.f64 (*.f64 y y)) (*.f64 1/120 (pow.f64 y 4)))))))

simplify118.0ms (1%)

Algorithm
egg-herbie
Rules
1138×distribute-rgt-in_binary64
1052×distribute-lft-in_binary64
596×unswap-sqr_binary64
411×*-commutative_binary64
280×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
047699
1135687
2457579
32251547
44150547
54486547
65578547
75688547
85813547
95972547
Stop Event
node limit
Counts
197 → 190
Calls
Call 1
Inputs
(*.f64 (+.f64 1 (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))) x)
(+.f64 (*.f64 (+.f64 1 (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))) x) (*.f64 -1/6 (*.f64 (+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))) (pow.f64 x 3))))
(+.f64 (*.f64 (+.f64 1 (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))) x) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))) (pow.f64 x 3))) (*.f64 1/120 (*.f64 (+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))) (pow.f64 x 5)))))
(+.f64 (*.f64 (+.f64 1 (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))) x) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))) (pow.f64 x 3))) (+.f64 (*.f64 1/120 (*.f64 (+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))) (pow.f64 x 5))) (*.f64 -1/5040 (*.f64 (+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))) (pow.f64 x 7))))))
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))))
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))))
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))))
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))))
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))))
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))))
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))))
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))))
(sin.f64 x)
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x))) (+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x))) (+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))))
(*.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x)))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x))) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(+.f64 (sin.f64 x) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x))) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))))
(+.f64 (sin.f64 x) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x))) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))))
(*.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x)))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x))) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(+.f64 (sin.f64 x) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x))) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))))
(+.f64 (sin.f64 x) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x))) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))))
(*.f64 1/6 (pow.f64 y 2))
(+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))
(+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))
(+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))
(*.f64 1/120 (pow.f64 y 4))
(*.f64 1/120 (pow.f64 y 4))
Outputs
(*.f64 (+.f64 1 (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))) x)
(*.f64 x (+.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))))
(*.f64 x (+.f64 1 (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))))
(*.f64 x (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)))
(*.f64 x (fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) 1)))
(+.f64 (*.f64 (+.f64 1 (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))) x) (*.f64 -1/6 (*.f64 (+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))) (pow.f64 x 3))))
(fma.f64 (+.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) x (*.f64 -1/6 (*.f64 (+.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (pow.f64 x 3))))
(fma.f64 x (+.f64 1 (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))) (*.f64 (+.f64 1 (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))) (*.f64 (pow.f64 x 3) -1/6)))
(*.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) (+.f64 x (*.f64 -1/6 (pow.f64 x 3))))
(*.f64 (fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) 1)) (+.f64 x (*.f64 -1/6 (pow.f64 x 3))))
(+.f64 (*.f64 (+.f64 1 (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))) x) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))) (pow.f64 x 3))) (*.f64 1/120 (*.f64 (+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))) (pow.f64 x 5)))))
(fma.f64 (+.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) x (fma.f64 -1/6 (*.f64 (+.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (pow.f64 x 3)) (*.f64 1/120 (*.f64 (+.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (pow.f64 x 5)))))
(fma.f64 x (+.f64 1 (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))) (fma.f64 1/120 (*.f64 (+.f64 1 (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))) (pow.f64 x 5)) (*.f64 (+.f64 1 (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))) (*.f64 (pow.f64 x 3) -1/6))))
(fma.f64 1/120 (*.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) (pow.f64 x 5)) (*.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))))
(*.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) (+.f64 x (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/6 (pow.f64 x 3)))))
(*.f64 (fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) 1)) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 x (*.f64 1/120 (pow.f64 x 5)))))
(+.f64 (*.f64 (+.f64 1 (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))) x) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))) (pow.f64 x 3))) (+.f64 (*.f64 1/120 (*.f64 (+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))) (pow.f64 x 5))) (*.f64 -1/5040 (*.f64 (+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))) (pow.f64 x 7))))))
(fma.f64 (+.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) x (fma.f64 -1/6 (*.f64 (+.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (pow.f64 x 3)) (fma.f64 1/120 (*.f64 (+.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (pow.f64 x 5)) (*.f64 -1/5040 (*.f64 (+.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (pow.f64 x 7))))))
(fma.f64 x (+.f64 1 (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))) (fma.f64 -1/6 (*.f64 (+.f64 1 (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))) (pow.f64 x 3)) (fma.f64 1/120 (*.f64 (+.f64 1 (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))) (pow.f64 x 5)) (*.f64 (+.f64 1 (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))) (*.f64 (pow.f64 x 7) -1/5040)))))
(+.f64 (*.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/5040 (pow.f64 x 7)))))
(*.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) (+.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/5040 (pow.f64 x 7)))))
(*.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) (+.f64 (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/5040 (pow.f64 x 7))) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))))
(*.f64 (fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) 1)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (+.f64 (*.f64 -1/5040 (pow.f64 x 7)) (+.f64 x (*.f64 -1/6 (pow.f64 x 3))))))
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))))
(*.f64 (+.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (sin.f64 x))
(*.f64 (+.f64 1 (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) (sin.f64 x))
(*.f64 (fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) 1)) (sin.f64 x))
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))))
(*.f64 (+.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (sin.f64 x))
(*.f64 (+.f64 1 (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) (sin.f64 x))
(*.f64 (fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) 1)) (sin.f64 x))
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))))
(*.f64 (+.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (sin.f64 x))
(*.f64 (+.f64 1 (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) (sin.f64 x))
(*.f64 (fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) 1)) (sin.f64 x))
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))))
(*.f64 (+.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (sin.f64 x))
(*.f64 (+.f64 1 (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) (sin.f64 x))
(*.f64 (fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) 1)) (sin.f64 x))
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))))
(*.f64 (+.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (sin.f64 x))
(*.f64 (+.f64 1 (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) (sin.f64 x))
(*.f64 (fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) 1)) (sin.f64 x))
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))))
(*.f64 (+.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (sin.f64 x))
(*.f64 (+.f64 1 (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) (sin.f64 x))
(*.f64 (fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) 1)) (sin.f64 x))
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))))
(*.f64 (+.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (sin.f64 x))
(*.f64 (+.f64 1 (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) (sin.f64 x))
(*.f64 (fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) 1)) (sin.f64 x))
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))))
(*.f64 (+.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (sin.f64 x))
(*.f64 (+.f64 1 (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) (sin.f64 x))
(*.f64 (fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) 1)) (sin.f64 x))
(sin.f64 x)
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x))))
(fma.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)) (sin.f64 x))
(*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) 1))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x))) (+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))))
(*.f64 (+.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (sin.f64 x))
(*.f64 (+.f64 1 (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) (sin.f64 x))
(*.f64 (fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) 1)) (sin.f64 x))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x))) (+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))))
(*.f64 (+.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (sin.f64 x))
(*.f64 (+.f64 1 (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) (sin.f64 x))
(*.f64 (fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) 1)) (sin.f64 x))
(*.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x)))
(*.f64 (*.f64 1/120 (pow.f64 y 4)) (sin.f64 x))
(*.f64 (pow.f64 y 4) (*.f64 1/120 (sin.f64 x)))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x))) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(fma.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x)) (*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x))))
(*.f64 (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4))) (sin.f64 x))
(*.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))) (sin.f64 x))
(+.f64 (sin.f64 x) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x))) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))))
(*.f64 (+.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (sin.f64 x))
(*.f64 (+.f64 1 (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) (sin.f64 x))
(*.f64 (fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) 1)) (sin.f64 x))
(+.f64 (sin.f64 x) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x))) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))))
(*.f64 (+.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (sin.f64 x))
(*.f64 (+.f64 1 (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) (sin.f64 x))
(*.f64 (fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) 1)) (sin.f64 x))
(*.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x)))
(*.f64 (*.f64 1/120 (pow.f64 y 4)) (sin.f64 x))
(*.f64 (pow.f64 y 4) (*.f64 1/120 (sin.f64 x)))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x))) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(fma.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x)) (*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x))))
(*.f64 (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4))) (sin.f64 x))
(*.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))) (sin.f64 x))
(+.f64 (sin.f64 x) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x))) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))))
(*.f64 (+.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (sin.f64 x))
(*.f64 (+.f64 1 (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) (sin.f64 x))
(*.f64 (fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) 1)) (sin.f64 x))
(+.f64 (sin.f64 x) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) (sin.f64 x))) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))))
(*.f64 (+.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))) (sin.f64 x))
(*.f64 (+.f64 1 (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) 1)) (sin.f64 x))
(*.f64 (fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) 1)) (sin.f64 x))
(*.f64 1/6 (pow.f64 y 2))
(*.f64 1/6 (*.f64 y y))
(+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))
(fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))
(+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))
(fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))
(+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))
(fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))
(*.f64 1/120 (pow.f64 y 4))
(*.f64 1/120 (pow.f64 y 4))

localize48.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4))))
0.1b
(*.f64 1/5040 (pow.f64 y 6))
0.1b
(*.f64 1/120 (pow.f64 y 4))
0.2b
(*.f64 1/6 (pow.f64 y 2))
Compiler

Compiled 106 to 84 computations (20.8% saved)

series3.0ms (0%)

Counts
2 → 12
Calls

6 calls:

TimeVariablePointExpression
1.0ms
y
@0
(*.f64 1/5040 (pow.f64 y 6))
1.0ms
y
@inf
(*.f64 1/5040 (pow.f64 y 6))
0.0ms
y
@inf
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4))))
0.0ms
y
@0
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4))))
0.0ms
y
@-inf
(*.f64 1/5040 (pow.f64 y 6))

rewrite90.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
662×log-prod_binary64
627×fma-def_binary64
330×fma-neg_binary64
271×expm1-udef_binary64
271×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01628
135828
2431928
Stop Event
node limit
Counts
2 → 106
Calls
Call 1
Inputs
(*.f64 1/5040 (pow.f64 y 6))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/5040 (pow.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 y 6)) 1/5040)) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 y 6)) 1/5040)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 y 6)) 1/5040))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 y 6)) 1/5040))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 y 6)) 1/5040))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 1/5040 (pow.f64 y 6)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/5040 (pow.f64 y 6)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 y y) (cbrt.f64 1/5040)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 y 3) (sqrt.f64 1/5040)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (pow.f64 y 6) 3) 1/128024064000) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/25401600 (pow.f64 y 12)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (pow.f64 y 6)) 1/5040))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 1/5040 (pow.f64 y 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 y 6) 3) 1/128024064000))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (fma.f64 6 (log.f64 y) (log1p.f64 -5039/5040)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (fma.f64 6 (log.f64 y) (log1p.f64 -5039/5040)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 1/25401600 (pow.f64 y 12)) (-.f64 (*.f64 1/5040 (pow.f64 y 6)) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) (/.f64 (pow.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 2) (-.f64 (*.f64 1/5040 (pow.f64 y 6)) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) (pow.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) 2) (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) (sqrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 (pow.f64 y 6) 3) 1/128024064000 (pow.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 3)) (/.f64 1 (fma.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) (-.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) (*.f64 1/5040 (pow.f64 y 6))) (*.f64 1/25401600 (pow.f64 y 12)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 1/25401600 (pow.f64 y 12)) (pow.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 2)) (/.f64 1 (-.f64 (*.f64 1/5040 (pow.f64 y 6)) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) (-.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) (*.f64 1/5040 (pow.f64 y 6))) (*.f64 1/25401600 (pow.f64 y 12))) (fma.f64 (pow.f64 (pow.f64 y 6) 3) 1/128024064000 (pow.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 1/5040 (pow.f64 y 6)) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) (-.f64 (*.f64 1/25401600 (pow.f64 y 12)) (pow.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (pow.f64 y 6) 3) 1/128024064000 (pow.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 3)) (fma.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) (-.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) (*.f64 1/5040 (pow.f64 y 6))) (*.f64 1/25401600 (pow.f64 y 12))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (pow.f64 y 6) 3) 1/128024064000 (pow.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 3)) (+.f64 (pow.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 2) (-.f64 (*.f64 1/25401600 (pow.f64 y 12)) (*.f64 (*.f64 1/5040 (pow.f64 y 6)) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 1/25401600 (pow.f64 y 12)) (pow.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 2)) (-.f64 (*.f64 1/5040 (pow.f64 y 6)) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (pow.f64 (pow.f64 y 6) 3) 1/128024064000 (pow.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 3))) (neg.f64 (fma.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) (-.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) (*.f64 1/5040 (pow.f64 y 6))) (*.f64 1/25401600 (pow.f64 y 12)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 1/25401600 (pow.f64 y 12)) (pow.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 2))) (neg.f64 (-.f64 (*.f64 1/5040 (pow.f64 y 6)) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))) 3) (*.f64 1/1728000 (pow.f64 y 12))) (fma.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))) (-.f64 (*.f64 1/14400 (pow.f64 y 8)) (*.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))) (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 2) (*.f64 1/25401600 (pow.f64 y 12))) (-.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6)))) (*.f64 1/14400 (pow.f64 y 8))) (-.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))) (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) (-.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) (*.f64 1/5040 (pow.f64 y 6))) (*.f64 1/25401600 (pow.f64 y 12))) (fma.f64 (pow.f64 (pow.f64 y 6) 3) 1/128024064000 (pow.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 1/5040 (pow.f64 y 6)) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) (-.f64 (*.f64 1/25401600 (pow.f64 y 12)) (pow.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/5040 (pow.f64 y 6)))) (exp.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (pow.f64 y 6)) 1/5040) (+.f64 1 (expm1.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/5040 (pow.f64 y 6)))) (+.f64 1 (expm1.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (pow.f64 y 4)) 1/120) (exp.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/120 (pow.f64 y 4)))) (exp.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (pow.f64 y 4)) 1/120) (*.f64 (pow.f64 (exp.f64 (pow.f64 y 6)) 1/5040) (pow.f64 (pow.f64 (exp.f64 y) y) 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/120 (pow.f64 y 4)))) (*.f64 (pow.f64 (exp.f64 (pow.f64 y 6)) 1/5040) (pow.f64 (pow.f64 (exp.f64 y) y) 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) (pow.f64 (exp.f64 (pow.f64 y 6)) 1/5040)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) (+.f64 1 (expm1.f64 (*.f64 1/5040 (pow.f64 y 6))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) (+.f64 1 (expm1.f64 (*.f64 1/5040 (pow.f64 y 6))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 (pow.f64 y 6)) 1/5040) (pow.f64 (pow.f64 (exp.f64 y) y) 1/6)) (pow.f64 (exp.f64 (pow.f64 y 4)) 1/120)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6)))) (+.f64 1 (expm1.f64 (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 (pow.f64 y 6)) 1/5040) (pow.f64 (pow.f64 (exp.f64 y) y) 1/6)) (+.f64 1 (expm1.f64 (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (*.f64 y 1/6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 y 6) 1/5040 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/5040 (pow.f64 y 6)) 1 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y y) 1/6 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y y) (*.f64 (*.f64 y y) 1/120) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (*.f64 y 1/6)) 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 y 4) 1/120 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 y 4) (*.f64 (*.f64 y y) 1/5040) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/120 (pow.f64 y 4)) 1 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 1 (*.f64 1/5040 (pow.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/5040 (pow.f64 y 6)) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y (*.f64 y 1/6)) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/120 (pow.f64 y 4)) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) (*.f64 1/5040 (pow.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))) (*.f64 1/120 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 y 3) (*.f64 (pow.f64 y 3) 1/5040) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) (pow.f64 (cbrt.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 2) (*.f64 1/5040 (pow.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 2) (cbrt.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) (*.f64 1/5040 (pow.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 y y) (cbrt.f64 1/5040)) (cbrt.f64 (*.f64 1/25401600 (pow.f64 y 12))) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/25401600 (pow.f64 y 12))) (*.f64 (*.f64 y y) (cbrt.f64 1/5040)) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/120 (pow.f64 y 4))) (cbrt.f64 (*.f64 1/14400 (pow.f64 y 8))) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/14400 (pow.f64 y 8))) (cbrt.f64 (*.f64 1/120 (pow.f64 y 4))) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 y 4)) (*.f64 (pow.f64 (cbrt.f64 y) 2) 1/6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 y 8)) (*.f64 (cbrt.f64 (pow.f64 y 4)) 1/120) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y (*.f64 y 1/6))) (cbrt.f64 (*.f64 (pow.f64 y 4) 1/36)) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 y 4) 1/36)) (cbrt.f64 (*.f64 y (*.f64 y 1/6))) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) (sqrt.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) (*.f64 1/5040 (pow.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 y 3) (sqrt.f64 1/5040)) (*.f64 (pow.f64 y 3) (sqrt.f64 1/5040)) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 y y) (sqrt.f64 1/120)) (*.f64 (*.f64 y y) (sqrt.f64 1/120)) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 1/6)) (*.f64 y (sqrt.f64 1/6)) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (pow.f64 y 6) 1/216 (*.f64 1/1728000 (pow.f64 y 12))) (/.f64 1 (fma.f64 (*.f64 1/120 (pow.f64 y 4)) (-.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 y (*.f64 y 1/6))) (*.f64 (pow.f64 y 4) 1/36))) (*.f64 1/5040 (pow.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 y 4) 1/36) (*.f64 1/14400 (pow.f64 y 8))) (/.f64 1 (fma.f64 1/6 (*.f64 y y) (*.f64 -1/120 (pow.f64 y 4)))) (*.f64 1/5040 (pow.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))) 1 (*.f64 1/120 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6)))) (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))) (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6)))) (*.f64 1/120 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6)))) (sqrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6)))) (*.f64 1/120 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/120 (*.f64 y y)) (*.f64 y y) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/120 (cbrt.f64 (pow.f64 y 8))) (cbrt.f64 (pow.f64 y 4)) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/5040 (pow.f64 y 4)) (*.f64 y y) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/5040 (pow.f64 y 3)) (pow.f64 y 3) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/6 y) y (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/6 (cbrt.f64 (pow.f64 y 4))) (pow.f64 (cbrt.f64 y) 2) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))))

simplify189.0ms (1.7%)

Algorithm
egg-herbie
Rules
1130×fma-def_binary64
726×sqr-pow_binary64
538×cube-prod_binary64
373×*-commutative_binary64
336×unpow3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
017189
138189
280189
3230189
4940189
52432189
63462189
73692189
83887189
94138189
104453189
114869189
125603189
136100189
146705189
156959189
167211189
177475189
187745189
Stop Event
node limit
Counts
118 → 115
Calls
Call 1
Inputs
(*.f64 1/6 (pow.f64 y 2))
(+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2))))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2))))
(*.f64 1/5040 (pow.f64 y 6))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (*.f64 1/120 (pow.f64 y 4)))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2))))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2))))
(*.f64 1/5040 (pow.f64 y 6))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (*.f64 1/120 (pow.f64 y 4)))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2))))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2))))
Outputs
(*.f64 1/6 (pow.f64 y 2))
(*.f64 1/6 (*.f64 y y))
(+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))
(fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))
(*.f64 y (*.f64 y (fma.f64 y (*.f64 y 1/120) 1/6)))
(*.f64 y (fma.f64 1/6 y (*.f64 1/120 (pow.f64 y 3))))
(*.f64 y (fma.f64 1/120 (pow.f64 y 3) (*.f64 1/6 y)))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2))))
(fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))))
(fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4))))
(fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) (*.f64 1/5040 (pow.f64 y 6))))
(fma.f64 (*.f64 y y) (fma.f64 y (*.f64 y 1/120) 1/6) (*.f64 1/5040 (pow.f64 y 6)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y (fma.f64 (pow.f64 y 4) 1/5040 1/6))))
(fma.f64 y (fma.f64 1/120 (pow.f64 y 3) (*.f64 1/6 y)) (*.f64 1/5040 (pow.f64 y 6)))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2))))
(fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))))
(fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4))))
(fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) (*.f64 1/5040 (pow.f64 y 6))))
(fma.f64 (*.f64 y y) (fma.f64 y (*.f64 y 1/120) 1/6) (*.f64 1/5040 (pow.f64 y 6)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y (fma.f64 (pow.f64 y 4) 1/5040 1/6))))
(fma.f64 y (fma.f64 1/120 (pow.f64 y 3) (*.f64 1/6 y)) (*.f64 1/5040 (pow.f64 y 6)))
(*.f64 1/5040 (pow.f64 y 6))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (*.f64 1/120 (pow.f64 y 4)))
(fma.f64 1/5040 (pow.f64 y 6) (*.f64 1/120 (pow.f64 y 4)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6)))
(*.f64 (pow.f64 y 4) (fma.f64 y (*.f64 y 1/5040) 1/120))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2))))
(fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))))
(fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4))))
(fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) (*.f64 1/5040 (pow.f64 y 6))))
(fma.f64 (*.f64 y y) (fma.f64 y (*.f64 y 1/120) 1/6) (*.f64 1/5040 (pow.f64 y 6)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y (fma.f64 (pow.f64 y 4) 1/5040 1/6))))
(fma.f64 y (fma.f64 1/120 (pow.f64 y 3) (*.f64 1/6 y)) (*.f64 1/5040 (pow.f64 y 6)))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2))))
(fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))))
(fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4))))
(fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) (*.f64 1/5040 (pow.f64 y 6))))
(fma.f64 (*.f64 y y) (fma.f64 y (*.f64 y 1/120) 1/6) (*.f64 1/5040 (pow.f64 y 6)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y (fma.f64 (pow.f64 y 4) 1/5040 1/6))))
(fma.f64 y (fma.f64 1/120 (pow.f64 y 3) (*.f64 1/6 y)) (*.f64 1/5040 (pow.f64 y 6)))
(*.f64 1/5040 (pow.f64 y 6))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (*.f64 1/120 (pow.f64 y 4)))
(fma.f64 1/5040 (pow.f64 y 6) (*.f64 1/120 (pow.f64 y 4)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6)))
(*.f64 (pow.f64 y 4) (fma.f64 y (*.f64 y 1/5040) 1/120))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2))))
(fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))))
(fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4))))
(fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) (*.f64 1/5040 (pow.f64 y 6))))
(fma.f64 (*.f64 y y) (fma.f64 y (*.f64 y 1/120) 1/6) (*.f64 1/5040 (pow.f64 y 6)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y (fma.f64 (pow.f64 y 4) 1/5040 1/6))))
(fma.f64 y (fma.f64 1/120 (pow.f64 y 3) (*.f64 1/6 y)) (*.f64 1/5040 (pow.f64 y 6)))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2))))
(fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))))
(fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4))))
(fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) (*.f64 1/5040 (pow.f64 y 6))))
(fma.f64 (*.f64 y y) (fma.f64 y (*.f64 y 1/120) 1/6) (*.f64 1/5040 (pow.f64 y 6)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y (fma.f64 (pow.f64 y 4) 1/5040 1/6))))
(fma.f64 y (fma.f64 1/120 (pow.f64 y 3) (*.f64 1/6 y)) (*.f64 1/5040 (pow.f64 y 6)))

eval532.0ms (4.7%)

Compiler

Compiled 10030 to 6839 computations (31.8% saved)

prune238.0ms (2.1%)

Pruning

12 alts after pruning (9 fresh and 3 done)

PrunedKeptTotal
New4449453
Fresh000
Picked101
Done235
Total44712459
Error
0.2b
Counts
459 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
0.8b
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (+.f64 0 (*.f64 1/6 (*.f64 y y))) (*.f64 1/120 (pow.f64 y 4))))))
0.4b
(*.f64 (sin.f64 x) (*.f64 (/.f64 1 y) (sinh.f64 y)))
1.1b
(sin.f64 x)
1.1b
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))))
60.7b
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
1.0b
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (*.f64 y y))))
0.3b
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
61.0b
(*.f64 (pow.f64 y 4) (*.f64 1/120 (sin.f64 x)))
0.8b
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/6 (pow.f64 y 2)) (expm1.f64 (log1p.f64 (*.f64 1/120 (pow.f64 y 4))))))))
1.1b
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 (pow.f64 y 4) (fma.f64 y (*.f64 y 1/5040) 1/120))))
30.7b
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) x)
0.8b
(*.f64 (sin.f64 x) (+.f64 1 (pow.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) 3)))
Compiler

Compiled 320 to 251 computations (21.6% saved)

localize91.0ms (0.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(expm1.f64 (log1p.f64 (*.f64 1/120 (pow.f64 y 4))))
0.1b
(*.f64 1/5040 (pow.f64 y 6))
0.1b
(*.f64 1/120 (pow.f64 y 4))
0.2b
(*.f64 1/6 (pow.f64 y 2))
Compiler

Compiled 127 to 103 computations (18.9% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
y
@0
(expm1.f64 (log1p.f64 (*.f64 1/120 (pow.f64 y 4))))
0.0ms
y
@inf
(expm1.f64 (log1p.f64 (*.f64 1/120 (pow.f64 y 4))))
0.0ms
y
@-inf
(expm1.f64 (log1p.f64 (*.f64 1/120 (pow.f64 y 4))))

rewrite195.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
579×pow1_binary64
541×expm1-log1p-u_binary64
540×add-log-exp_binary64
540×log1p-expm1-u_binary64
528×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
087
11477
215277
Stop Event
node limit
Counts
1 → 24
Calls
Call 1
Inputs
(expm1.f64 (log1p.f64 (*.f64 1/120 (pow.f64 y 4))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 1/120 (pow.f64 y 4)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 1/120 (pow.f64 y 4)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/120 (pow.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 y 4) 1/120)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/120 (pow.f64 y 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 1/120 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y y) (*.f64 (*.f64 y y) 1/120))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 1/120 (pow.f64 y 4))) (cbrt.f64 (*.f64 (pow.f64 y 8) 1/14400)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (pow.f64 y 8) 1/14400)) (cbrt.f64 (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 y 8)) (*.f64 (cbrt.f64 (pow.f64 y 4)) 1/120))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 y y) (sqrt.f64 1/120)) (*.f64 (*.f64 y y) (sqrt.f64 1/120)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/120 (cbrt.f64 (pow.f64 y 8))) (cbrt.f64 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/120 (*.f64 y y)) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 (*.f64 1/120 (pow.f64 y 4)) 1) 3) 1) (+.f64 (*.f64 (+.f64 (*.f64 1/120 (pow.f64 y 4)) 1) (+.f64 (*.f64 1/120 (pow.f64 y 4)) 1)) (+.f64 1 (*.f64 (+.f64 (*.f64 1/120 (pow.f64 y 4)) 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 (*.f64 1/120 (pow.f64 y 4)) 1) (+.f64 (*.f64 1/120 (pow.f64 y 4)) 1)) 1) (+.f64 (+.f64 (*.f64 1/120 (pow.f64 y 4)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/120 (pow.f64 y 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/120 (pow.f64 y 4)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/120 (pow.f64 y 4))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 y y) (sqrt.f64 1/120)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 y 8) 1/14400))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 1/120) (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 1/120 (pow.f64 y 4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/120 (pow.f64 y 4))))))))

simplify194.0ms (1.7%)

Algorithm
egg-herbie
Rules
1319×sqr-pow_binary64
659×pow-sqr_binary64
576×cube-prod_binary64
430×associate-*l*_binary64
399×fabs-mul_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0684
11184
22184
34384
410284
531084
6114784
7181584
8193984
9210884
10230784
11257884
12293784
13339084
14392184
15454584
16529884
17560484
18582684
19602684
20608084
21610284
22693684
23784984
Stop Event
node limit
Counts
36 → 24
Calls
Call 1
Inputs
(*.f64 1/120 (pow.f64 y 4))
(*.f64 1/120 (pow.f64 y 4))
(*.f64 1/120 (pow.f64 y 4))
(*.f64 1/120 (pow.f64 y 4))
(*.f64 1/120 (pow.f64 y 4))
(*.f64 1/120 (pow.f64 y 4))
(*.f64 1/120 (pow.f64 y 4))
(*.f64 1/120 (pow.f64 y 4))
(*.f64 1/120 (pow.f64 y 4))
(*.f64 1/120 (pow.f64 y 4))
(*.f64 1/120 (pow.f64 y 4))
(*.f64 1/120 (pow.f64 y 4))
Outputs
(*.f64 1/120 (pow.f64 y 4))
(*.f64 1/120 (pow.f64 y 4))
(*.f64 1/120 (pow.f64 y 4))
(*.f64 1/120 (pow.f64 y 4))
(*.f64 1/120 (pow.f64 y 4))
(*.f64 1/120 (pow.f64 y 4))
(*.f64 1/120 (pow.f64 y 4))
(*.f64 1/120 (pow.f64 y 4))
(*.f64 1/120 (pow.f64 y 4))
(*.f64 1/120 (pow.f64 y 4))
(*.f64 1/120 (pow.f64 y 4))
(*.f64 1/120 (pow.f64 y 4))

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 y (*.f64 y (sin.f64 x)))
0.1b
(*.f64 y (sin.f64 x))
0.1b
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
Compiler

Compiled 25 to 8 computations (68% saved)

series42.0ms (0.4%)

Counts
3 → 52
Calls

18 calls:

TimeVariablePointExpression
33.0ms
x
@0
(*.f64 y (*.f64 y (sin.f64 x)))
1.0ms
y
@inf
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
1.0ms
x
@0
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
1.0ms
x
@inf
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
1.0ms
x
@-inf
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))

rewrite131.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
758×pow1_binary64
697×add-log-exp_binary64
697×log1p-expm1-u_binary64
697×expm1-log1p-u_binary64
683×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0827
116127
2189927
Stop Event
node limit
Counts
3 → 37
Calls
Call 1
Inputs
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
(*.f64 y (sin.f64 x))
(*.f64 y (*.f64 y (sin.f64 x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 1/6) (*.f64 y (sqrt.f64 (sin.f64 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/36 (pow.f64 (*.f64 y (*.f64 y (sin.f64 x))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (*.f64 1/6 y)) (*.f64 y (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 y (sin.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (sin.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 y (sin.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 y (sin.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 y (sin.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 y (sin.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 x)) y))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 y (sin.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 y 3) (pow.f64 (sin.f64 x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 y (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 y (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 y (sin.f64 x))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 y (*.f64 y (sin.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (*.f64 y (sin.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 y (*.f64 y (sin.f64 x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 y (*.f64 y (sin.f64 x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (sqrt.f64 (sin.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 y (*.f64 y (sin.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 x)) y) y))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 y (*.f64 y (sin.f64 x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 y 3) (pow.f64 (*.f64 y (sin.f64 x)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 y (sin.f64 x)) 3) (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 y (*.f64 y (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 y (*.f64 y (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 y (*.f64 y (sin.f64 x)))))))))

simplify136.0ms (1.2%)

Algorithm
egg-herbie
Rules
1435×distribute-lft-out_binary64
856×unswap-sqr_binary64
659×*-commutative_binary64
410×fma-def_binary64
269×sqr-pow_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
054720
1158720
2475689
31767666
42974666
53600666
63717666
73807666
83911666
94034666
106629666
117724666
Stop Event
node limit
Counts
89 → 64
Calls
Call 1
Inputs
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (*.f64 -1/36 (*.f64 (pow.f64 y 2) (pow.f64 x 3))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 -1/36 (*.f64 (pow.f64 y 2) (pow.f64 x 3))) (*.f64 1/720 (*.f64 (pow.f64 y 2) (pow.f64 x 5)))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 -1/36 (*.f64 (pow.f64 y 2) (pow.f64 x 3))) (+.f64 (*.f64 -1/30240 (*.f64 (pow.f64 y 2) (pow.f64 x 7))) (*.f64 1/720 (*.f64 (pow.f64 y 2) (pow.f64 x 5))))))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 y x)
(+.f64 (*.f64 -1/6 (*.f64 y (pow.f64 x 3))) (*.f64 y x))
(+.f64 (*.f64 -1/6 (*.f64 y (pow.f64 x 3))) (+.f64 (*.f64 y x) (*.f64 1/120 (*.f64 y (pow.f64 x 5)))))
(+.f64 (*.f64 -1/6 (*.f64 y (pow.f64 x 3))) (+.f64 (*.f64 -1/5040 (*.f64 y (pow.f64 x 7))) (+.f64 (*.f64 y x) (*.f64 1/120 (*.f64 y (pow.f64 x 5))))))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (pow.f64 y 2) x)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) (pow.f64 x 3))) (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) (pow.f64 x 3))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 2) (pow.f64 x 5))) (*.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 2) (pow.f64 x 7))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) (pow.f64 x 3))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 2) (pow.f64 x 5))) (*.f64 (pow.f64 y 2) x))))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (pow.f64 y 2) (sin.f64 x))
Outputs
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)))
(*.f64 (sin.f64 x) (*.f64 1/6 (*.f64 y y)))
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
(*.f64 y (*.f64 1/6 (*.f64 y (sin.f64 x))))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)))
(*.f64 (sin.f64 x) (*.f64 1/6 (*.f64 y y)))
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
(*.f64 y (*.f64 1/6 (*.f64 y (sin.f64 x))))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)))
(*.f64 (sin.f64 x) (*.f64 1/6 (*.f64 y y)))
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
(*.f64 y (*.f64 1/6 (*.f64 y (sin.f64 x))))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)))
(*.f64 (sin.f64 x) (*.f64 1/6 (*.f64 y y)))
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
(*.f64 y (*.f64 1/6 (*.f64 y (sin.f64 x))))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)))
(*.f64 (sin.f64 x) (*.f64 1/6 (*.f64 y y)))
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
(*.f64 y (*.f64 1/6 (*.f64 y (sin.f64 x))))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)))
(*.f64 (sin.f64 x) (*.f64 1/6 (*.f64 y y)))
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
(*.f64 y (*.f64 1/6 (*.f64 y (sin.f64 x))))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)))
(*.f64 (sin.f64 x) (*.f64 1/6 (*.f64 y y)))
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
(*.f64 y (*.f64 1/6 (*.f64 y (sin.f64 x))))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)))
(*.f64 (sin.f64 x) (*.f64 1/6 (*.f64 y y)))
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
(*.f64 y (*.f64 1/6 (*.f64 y (sin.f64 x))))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)))
(*.f64 (sin.f64 x) (*.f64 1/6 (*.f64 y y)))
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
(*.f64 y (*.f64 1/6 (*.f64 y (sin.f64 x))))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)))
(*.f64 (sin.f64 x) (*.f64 1/6 (*.f64 y y)))
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
(*.f64 y (*.f64 1/6 (*.f64 y (sin.f64 x))))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)))
(*.f64 (sin.f64 x) (*.f64 1/6 (*.f64 y y)))
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
(*.f64 y (*.f64 1/6 (*.f64 y (sin.f64 x))))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)))
(*.f64 (sin.f64 x) (*.f64 1/6 (*.f64 y y)))
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
(*.f64 y (*.f64 1/6 (*.f64 y (sin.f64 x))))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (*.f64 y y) x))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 y (*.f64 x (*.f64 1/6 y)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (*.f64 -1/36 (*.f64 (pow.f64 y 2) (pow.f64 x 3))))
(fma.f64 1/6 (*.f64 (*.f64 y y) x) (*.f64 -1/36 (*.f64 (*.f64 y y) (pow.f64 x 3))))
(fma.f64 1/6 (*.f64 (*.f64 y y) x) (*.f64 (pow.f64 x 3) (*.f64 (*.f64 y y) -1/36)))
(*.f64 (*.f64 y y) (+.f64 (*.f64 1/6 x) (*.f64 -1/36 (pow.f64 x 3))))
(*.f64 (*.f64 y (*.f64 y x)) (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))))
(*.f64 (*.f64 (*.f64 y y) x) (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 -1/36 (*.f64 (pow.f64 y 2) (pow.f64 x 3))) (*.f64 1/720 (*.f64 (pow.f64 y 2) (pow.f64 x 5)))))
(fma.f64 1/6 (*.f64 (*.f64 y y) x) (fma.f64 -1/36 (*.f64 (*.f64 y y) (pow.f64 x 3)) (*.f64 1/720 (*.f64 (*.f64 y y) (pow.f64 x 5)))))
(fma.f64 1/6 (*.f64 (*.f64 y y) x) (fma.f64 1/720 (*.f64 y (*.f64 y (pow.f64 x 5))) (*.f64 (pow.f64 x 3) (*.f64 (*.f64 y y) -1/36))))
(fma.f64 1/6 (*.f64 y (*.f64 y x)) (*.f64 (*.f64 y y) (+.f64 (*.f64 -1/36 (pow.f64 x 3)) (*.f64 1/720 (pow.f64 x 5)))))
(*.f64 (*.f64 y y) (+.f64 (*.f64 -1/36 (pow.f64 x 3)) (+.f64 (*.f64 1/720 (pow.f64 x 5)) (*.f64 1/6 x))))
(*.f64 (*.f64 y y) (+.f64 (*.f64 1/720 (pow.f64 x 5)) (*.f64 x (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 -1/36 (*.f64 (pow.f64 y 2) (pow.f64 x 3))) (+.f64 (*.f64 -1/30240 (*.f64 (pow.f64 y 2) (pow.f64 x 7))) (*.f64 1/720 (*.f64 (pow.f64 y 2) (pow.f64 x 5))))))
(fma.f64 1/6 (*.f64 (*.f64 y y) x) (fma.f64 -1/36 (*.f64 (*.f64 y y) (pow.f64 x 3)) (fma.f64 -1/30240 (*.f64 (*.f64 y y) (pow.f64 x 7)) (*.f64 1/720 (*.f64 (*.f64 y y) (pow.f64 x 5))))))
(fma.f64 1/6 (*.f64 (*.f64 y y) x) (fma.f64 -1/36 (*.f64 y (*.f64 y (pow.f64 x 3))) (fma.f64 1/720 (*.f64 y (*.f64 y (pow.f64 x 5))) (*.f64 (pow.f64 x 7) (*.f64 (*.f64 y y) -1/30240)))))
(+.f64 (*.f64 (*.f64 y y) (+.f64 (*.f64 1/6 x) (*.f64 -1/36 (pow.f64 x 3)))) (*.f64 (*.f64 y y) (+.f64 (*.f64 1/720 (pow.f64 x 5)) (*.f64 -1/30240 (pow.f64 x 7)))))
(*.f64 (*.f64 y y) (+.f64 (*.f64 x (+.f64 (*.f64 -1/36 (*.f64 x x)) 1/6)) (+.f64 (*.f64 -1/30240 (pow.f64 x 7)) (*.f64 1/720 (pow.f64 x 5)))))
(*.f64 (*.f64 y y) (+.f64 (*.f64 -1/30240 (pow.f64 x 7)) (+.f64 (*.f64 1/720 (pow.f64 x 5)) (*.f64 x (+.f64 1/6 (*.f64 -1/36 (*.f64 x x)))))))
(*.f64 (*.f64 y y) (+.f64 (*.f64 -1/30240 (pow.f64 x 7)) (+.f64 (*.f64 -1/36 (pow.f64 x 3)) (+.f64 (*.f64 1/720 (pow.f64 x 5)) (*.f64 1/6 x)))))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)))
(*.f64 (sin.f64 x) (*.f64 1/6 (*.f64 y y)))
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
(*.f64 y (*.f64 1/6 (*.f64 y (sin.f64 x))))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)))
(*.f64 (sin.f64 x) (*.f64 1/6 (*.f64 y y)))
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
(*.f64 y (*.f64 1/6 (*.f64 y (sin.f64 x))))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)))
(*.f64 (sin.f64 x) (*.f64 1/6 (*.f64 y y)))
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
(*.f64 y (*.f64 1/6 (*.f64 y (sin.f64 x))))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)))
(*.f64 (sin.f64 x) (*.f64 1/6 (*.f64 y y)))
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
(*.f64 y (*.f64 1/6 (*.f64 y (sin.f64 x))))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)))
(*.f64 (sin.f64 x) (*.f64 1/6 (*.f64 y y)))
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
(*.f64 y (*.f64 1/6 (*.f64 y (sin.f64 x))))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)))
(*.f64 (sin.f64 x) (*.f64 1/6 (*.f64 y y)))
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
(*.f64 y (*.f64 1/6 (*.f64 y (sin.f64 x))))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)))
(*.f64 (sin.f64 x) (*.f64 1/6 (*.f64 y y)))
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
(*.f64 y (*.f64 1/6 (*.f64 y (sin.f64 x))))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)))
(*.f64 (sin.f64 x) (*.f64 1/6 (*.f64 y y)))
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
(*.f64 y (*.f64 1/6 (*.f64 y (sin.f64 x))))
(*.f64 y x)
(+.f64 (*.f64 -1/6 (*.f64 y (pow.f64 x 3))) (*.f64 y x))
(fma.f64 -1/6 (*.f64 y (pow.f64 x 3)) (*.f64 y x))
(*.f64 y (+.f64 x (*.f64 (pow.f64 x 3) -1/6)))
(+.f64 (*.f64 -1/6 (*.f64 y (pow.f64 x 3))) (+.f64 (*.f64 y x) (*.f64 1/120 (*.f64 y (pow.f64 x 5)))))
(fma.f64 -1/6 (*.f64 y (pow.f64 x 3)) (fma.f64 y x (*.f64 1/120 (*.f64 y (pow.f64 x 5)))))
(fma.f64 -1/6 (*.f64 y (pow.f64 x 3)) (fma.f64 y x (*.f64 (pow.f64 x 5) (*.f64 y 1/120))))
(fma.f64 y x (*.f64 y (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 1/120))))
(*.f64 y (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 1/120))))
(+.f64 (*.f64 -1/6 (*.f64 y (pow.f64 x 3))) (+.f64 (*.f64 -1/5040 (*.f64 y (pow.f64 x 7))) (+.f64 (*.f64 y x) (*.f64 1/120 (*.f64 y (pow.f64 x 5))))))
(fma.f64 -1/6 (*.f64 y (pow.f64 x 3)) (fma.f64 -1/5040 (*.f64 y (pow.f64 x 7)) (fma.f64 y x (*.f64 1/120 (*.f64 y (pow.f64 x 5))))))
(fma.f64 -1/6 (*.f64 y (pow.f64 x 3)) (fma.f64 -1/5040 (*.f64 y (pow.f64 x 7)) (fma.f64 y x (*.f64 (pow.f64 x 5) (*.f64 y 1/120)))))
(fma.f64 y (*.f64 (pow.f64 x 3) -1/6) (fma.f64 y (*.f64 (pow.f64 x 5) 1/120) (*.f64 y (+.f64 x (*.f64 (pow.f64 x 7) -1/5040)))))
(*.f64 y (+.f64 (+.f64 x (*.f64 (pow.f64 x 5) 1/120)) (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 7) -1/5040))))
(*.f64 y (+.f64 (*.f64 (pow.f64 x 3) -1/6) (+.f64 (*.f64 (pow.f64 x 5) 1/120) (+.f64 x (*.f64 (pow.f64 x 7) -1/5040)))))
(*.f64 y (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (+.f64 (*.f64 (pow.f64 x 7) -1/5040) (*.f64 (pow.f64 x 5) 1/120)))))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (*.f64 y y) (sin.f64 x))
(*.f64 y (*.f64 y (sin.f64 x)))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (*.f64 y y) (sin.f64 x))
(*.f64 y (*.f64 y (sin.f64 x)))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (*.f64 y y) (sin.f64 x))
(*.f64 y (*.f64 y (sin.f64 x)))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (*.f64 y y) (sin.f64 x))
(*.f64 y (*.f64 y (sin.f64 x)))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (*.f64 y y) (sin.f64 x))
(*.f64 y (*.f64 y (sin.f64 x)))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (*.f64 y y) (sin.f64 x))
(*.f64 y (*.f64 y (sin.f64 x)))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (*.f64 y y) (sin.f64 x))
(*.f64 y (*.f64 y (sin.f64 x)))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (*.f64 y y) (sin.f64 x))
(*.f64 y (*.f64 y (sin.f64 x)))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (*.f64 y y) (sin.f64 x))
(*.f64 y (*.f64 y (sin.f64 x)))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (*.f64 y y) (sin.f64 x))
(*.f64 y (*.f64 y (sin.f64 x)))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (*.f64 y y) (sin.f64 x))
(*.f64 y (*.f64 y (sin.f64 x)))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (*.f64 y y) (sin.f64 x))
(*.f64 y (*.f64 y (sin.f64 x)))
(*.f64 (pow.f64 y 2) x)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) (pow.f64 x 3))) (*.f64 (pow.f64 y 2) x))
(fma.f64 -1/6 (*.f64 (*.f64 y y) (pow.f64 x 3)) (*.f64 (*.f64 y y) x))
(fma.f64 (*.f64 (*.f64 y y) -1/6) (pow.f64 x 3) (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) (+.f64 x (*.f64 (pow.f64 x 3) -1/6)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) (pow.f64 x 3))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 2) (pow.f64 x 5))) (*.f64 (pow.f64 y 2) x)))
(fma.f64 -1/6 (*.f64 (*.f64 y y) (pow.f64 x 3)) (fma.f64 1/120 (*.f64 (*.f64 y y) (pow.f64 x 5)) (*.f64 (*.f64 y y) x)))
(fma.f64 (*.f64 y (*.f64 y (pow.f64 x 3))) -1/6 (fma.f64 (*.f64 y y) x (*.f64 (pow.f64 x 5) (*.f64 (*.f64 y y) 1/120))))
(fma.f64 y (*.f64 y x) (*.f64 (*.f64 y y) (+.f64 (*.f64 (pow.f64 x 5) 1/120) (*.f64 (pow.f64 x 3) -1/6))))
(*.f64 (*.f64 y y) (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 1/120))))
(+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 2) (pow.f64 x 7))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) (pow.f64 x 3))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 2) (pow.f64 x 5))) (*.f64 (pow.f64 y 2) x))))
(fma.f64 -1/5040 (*.f64 (*.f64 y y) (pow.f64 x 7)) (fma.f64 -1/6 (*.f64 (*.f64 y y) (pow.f64 x 3)) (fma.f64 1/120 (*.f64 (*.f64 y y) (pow.f64 x 5)) (*.f64 (*.f64 y y) x))))
(fma.f64 (*.f64 (*.f64 y y) (pow.f64 x 7)) -1/5040 (fma.f64 (*.f64 y (*.f64 y (pow.f64 x 3))) -1/6 (fma.f64 (*.f64 y y) x (*.f64 (pow.f64 x 5) (*.f64 (*.f64 y y) 1/120)))))
(+.f64 (*.f64 (*.f64 y y) (+.f64 (*.f64 (pow.f64 x 5) 1/120) (*.f64 (pow.f64 x 3) -1/6))) (*.f64 (*.f64 y y) (+.f64 x (*.f64 (pow.f64 x 7) -1/5040))))
(*.f64 (*.f64 y y) (+.f64 (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 7) -1/5040)) (+.f64 x (*.f64 (pow.f64 x 5) 1/120))))
(*.f64 (*.f64 y y) (+.f64 (*.f64 (pow.f64 x 3) -1/6) (+.f64 (*.f64 (pow.f64 x 5) 1/120) (+.f64 x (*.f64 (pow.f64 x 7) -1/5040)))))
(*.f64 (*.f64 y y) (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (+.f64 (*.f64 (pow.f64 x 7) -1/5040) (*.f64 (pow.f64 x 5) 1/120)))))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (*.f64 y y) (sin.f64 x))
(*.f64 y (*.f64 y (sin.f64 x)))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (*.f64 y y) (sin.f64 x))
(*.f64 y (*.f64 y (sin.f64 x)))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (*.f64 y y) (sin.f64 x))
(*.f64 y (*.f64 y (sin.f64 x)))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (*.f64 y y) (sin.f64 x))
(*.f64 y (*.f64 y (sin.f64 x)))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (*.f64 y y) (sin.f64 x))
(*.f64 y (*.f64 y (sin.f64 x)))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (*.f64 y y) (sin.f64 x))
(*.f64 y (*.f64 y (sin.f64 x)))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (*.f64 y y) (sin.f64 x))
(*.f64 y (*.f64 y (sin.f64 x)))
(*.f64 (pow.f64 y 2) (sin.f64 x))
(*.f64 (*.f64 y y) (sin.f64 x))
(*.f64 y (*.f64 y (sin.f64 x)))

localize14.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (*.f64 y y))))
0.2b
(*.f64 1/6 (*.f64 y y))
Compiler

Compiled 33 to 17 computations (48.5% saved)

series3.0ms (0%)

Counts
2 → 36
Calls

9 calls:

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

rewrite76.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
540×prod-diff_binary64
468×log-prod_binary64
359×fma-def_binary64
357×exp-prod_binary64
311×pow-prod-down_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01022
120820
2263520
Stop Event
node limit
Counts
2 → 101
Calls
Call 1
Inputs
(*.f64 1/6 (*.f64 y y))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (*.f64 y y))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/6 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (*.f64 1/6 y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (*.f64 1/6 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (*.f64 1/6 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (*.f64 1/6 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 1/6 (*.f64 y y) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/6 (*.f64 y y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (*.f64 1/6 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/36 (pow.f64 y 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/6 (*.f64 y y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (sqrt.f64 1/6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/216 (pow.f64 y 6)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/6 (*.f64 y y)))) 2)) (cbrt.f64 (log.f64 (*.f64 1/6 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/6 (*.f64 y y))))) (sqrt.f64 (log.f64 (*.f64 1/6 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/36 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 y) (*.f64 1/6 y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 1/6 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 1/216 (pow.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/6 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log1p.f64 (*.f64 1/6 (*.f64 y y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/6 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/6 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 1/6 (*.f64 y y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/6 (*.f64 y y)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 y (sqrt.f64 1/6))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 1/216 (pow.f64 y 6))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/6 (*.f64 y y))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/6 (*.f64 y y))) 3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 1/6 (*.f64 y y) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/6 (*.f64 y y) 1) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 1/6 (*.f64 y y) 1)) (cbrt.f64 (pow.f64 (fma.f64 1/6 (*.f64 y y) 1) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (fma.f64 1/6 (*.f64 y y) 1) 2)) (cbrt.f64 (fma.f64 1/6 (*.f64 y y) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 1 (*.f64 y (sqrt.f64 1/6))) (hypot.f64 1 (*.f64 y (sqrt.f64 1/6))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/216 (pow.f64 y 6) 1) (/.f64 1 (+.f64 1 (fma.f64 1/36 (pow.f64 y 4) (*.f64 -1/6 (*.f64 y y))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (*.f64 1/36 (pow.f64 y 4))) (/.f64 1 (+.f64 1 (*.f64 -1/6 (*.f64 y y)))) -1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 x) (*.f64 (*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x))) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (fma.f64 1/6 (*.f64 y y) 1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (fma.f64 1/6 (*.f64 y y) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (fma.f64 1/6 (*.f64 y y) 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (fma.f64 1/6 (*.f64 y y) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x))) 3)) (+.f64 (pow.f64 (sin.f64 x) 2) (-.f64 (pow.f64 (*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x))) 2) (*.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x))) 2)) (-.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 1/216 (pow.f64 y 6) 1) (sin.f64 x)) (+.f64 1 (fma.f64 1/36 (pow.f64 y 4) (*.f64 -1/6 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (*.f64 1/36 (pow.f64 y 4))) (sin.f64 x)) (+.f64 1 (*.f64 -1/6 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 x) (fma.f64 1/216 (pow.f64 y 6) 1)) (+.f64 1 (fma.f64 1/36 (pow.f64 y 4) (*.f64 -1/6 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 x) (-.f64 1 (*.f64 1/36 (pow.f64 y 4)))) (+.f64 1 (*.f64 -1/6 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) 1)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) 1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) 1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) 1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) 1)))) 2)) (cbrt.f64 (log.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) 1))))) (sqrt.f64 (log.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 x)) (fma.f64 1/6 (*.f64 y y) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 x))) (pow.f64 (pow.f64 (exp.f64 y) (*.f64 1/6 y)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 y) (*.f64 1/6 y)) (sin.f64 x)) (+.f64 1 (expm1.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) 1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) 1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) 1)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) 1)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) 1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 x) (fma.f64 1/6 (*.f64 y y) 1))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y y) (*.f64 1/6 (sin.f64 x)) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/6 (*.f64 y y)) (sin.f64 x) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) (*.f64 1/6 (*.f64 y y)) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) 1 (*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) 1 (*.f64 (*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sin.f64 x) (*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sin.f64 x) (*.f64 (*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x))) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/36 (pow.f64 y 4))) (*.f64 (cbrt.f64 (*.f64 1/6 (*.f64 y y))) (sin.f64 x)) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (cbrt.f64 (sin.f64 x)) (*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (cbrt.f64 (sin.f64 x)) (*.f64 (*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) (*.f64 1/6 (*.f64 y y))) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) 1) (*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) 1) (*.f64 (*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 1/6)) (*.f64 (*.f64 y (sqrt.f64 1/6)) (sin.f64 x)) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (sqrt.f64 (sin.f64 x)) (*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (sqrt.f64 (sin.f64 x)) (*.f64 (*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (*.f64 1/6 (*.f64 y y))) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) 1) (*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) 1) (*.f64 (*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/6 y) (*.f64 y (sin.f64 x)) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)))) 2) (cbrt.f64 (*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)))) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 y (sqrt.f64 1/6)) (sqrt.f64 (sin.f64 x))) (*.f64 (*.f64 y (sqrt.f64 1/6)) (sqrt.f64 (sin.f64 x))) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) 1/6) (*.f64 y y) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (*.f64 y y)) 1/6 (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (cbrt.f64 (*.f64 1/36 (pow.f64 y 4)))) (cbrt.f64 (*.f64 1/6 (*.f64 y y))) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (*.f64 y (sqrt.f64 1/6))) (*.f64 y (sqrt.f64 1/6)) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (*.f64 1/6 y)) y (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 (*.f64 y (sqrt.f64 1/6)) (cbrt.f64 (sin.f64 x))) 2) (cbrt.f64 (sin.f64 x)) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/6 (*.f64 y y)) (sqrt.f64 (sin.f64 x))) (sqrt.f64 (sin.f64 x)) (sin.f64 x))))))

simplify112.0ms (1%)

Algorithm
egg-herbie
Rules
943×fma-def_binary64
732×distribute-rgt-in_binary64
692×distribute-lft-in_binary64
464×unswap-sqr_binary64
443×associate-+l+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
035532
196478
2286447
31184422
43989422
54932422
65997422
77213422
87667422
97828422
Stop Event
node limit
Counts
137 → 117
Calls
Call 1
Inputs
(*.f64 1/6 (pow.f64 y 2))
(*.f64 1/6 (pow.f64 y 2))
(*.f64 1/6 (pow.f64 y 2))
(*.f64 1/6 (pow.f64 y 2))
(*.f64 1/6 (pow.f64 y 2))
(*.f64 1/6 (pow.f64 y 2))
(*.f64 1/6 (pow.f64 y 2))
(*.f64 1/6 (pow.f64 y 2))
(*.f64 1/6 (pow.f64 y 2))
(*.f64 1/6 (pow.f64 y 2))
(*.f64 1/6 (pow.f64 y 2))
(*.f64 1/6 (pow.f64 y 2))
(*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) x) (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) (pow.f64 x 3))))
(+.f64 (*.f64 1/120 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) (pow.f64 x 5))) (+.f64 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) x) (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) (pow.f64 x 3)))))
(+.f64 (*.f64 1/120 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) (pow.f64 x 5))) (+.f64 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) x) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) (pow.f64 x 3))) (*.f64 -1/5040 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) (pow.f64 x 7))))))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(sin.f64 x)
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
Outputs
(*.f64 1/6 (pow.f64 y 2))
(*.f64 1/6 (*.f64 y y))
(*.f64 1/6 (pow.f64 y 2))
(*.f64 1/6 (*.f64 y y))
(*.f64 1/6 (pow.f64 y 2))
(*.f64 1/6 (*.f64 y y))
(*.f64 1/6 (pow.f64 y 2))
(*.f64 1/6 (*.f64 y y))
(*.f64 1/6 (pow.f64 y 2))
(*.f64 1/6 (*.f64 y y))
(*.f64 1/6 (pow.f64 y 2))
(*.f64 1/6 (*.f64 y y))
(*.f64 1/6 (pow.f64 y 2))
(*.f64 1/6 (*.f64 y y))
(*.f64 1/6 (pow.f64 y 2))
(*.f64 1/6 (*.f64 y y))
(*.f64 1/6 (pow.f64 y 2))
(*.f64 1/6 (*.f64 y y))
(*.f64 1/6 (pow.f64 y 2))
(*.f64 1/6 (*.f64 y y))
(*.f64 1/6 (pow.f64 y 2))
(*.f64 1/6 (*.f64 y y))
(*.f64 1/6 (pow.f64 y 2))
(*.f64 1/6 (*.f64 y y))
(*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) x)
(*.f64 (+.f64 (*.f64 1/6 (*.f64 y y)) 1) x)
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) x)
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) x) (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) (pow.f64 x 3))))
(fma.f64 (+.f64 (*.f64 1/6 (*.f64 y y)) 1) x (*.f64 (*.f64 -1/6 (+.f64 (*.f64 1/6 (*.f64 y y)) 1)) (pow.f64 x 3)))
(fma.f64 (fma.f64 1/6 (*.f64 y y) 1) x (*.f64 (fma.f64 1/6 (*.f64 y y) 1) (*.f64 (pow.f64 x 3) -1/6)))
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3))))
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) (fma.f64 -1/6 (pow.f64 x 3) x))
(+.f64 (*.f64 1/120 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) (pow.f64 x 5))) (+.f64 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) x) (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) (pow.f64 x 3)))))
(fma.f64 1/120 (*.f64 (+.f64 (*.f64 1/6 (*.f64 y y)) 1) (pow.f64 x 5)) (fma.f64 (+.f64 (*.f64 1/6 (*.f64 y y)) 1) x (*.f64 (*.f64 -1/6 (+.f64 (*.f64 1/6 (*.f64 y y)) 1)) (pow.f64 x 3))))
(fma.f64 1/120 (*.f64 (fma.f64 1/6 (*.f64 y y) 1) (pow.f64 x 5)) (fma.f64 (fma.f64 1/6 (*.f64 y y) 1) x (*.f64 (fma.f64 1/6 (*.f64 y y) 1) (*.f64 (pow.f64 x 3) -1/6))))
(fma.f64 (pow.f64 x 3) (+.f64 -1/6 (*.f64 (*.f64 y y) -1/36)) (*.f64 (fma.f64 y (*.f64 1/6 y) 1) (+.f64 x (*.f64 1/120 (pow.f64 x 5)))))
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) (+.f64 (fma.f64 -1/6 (pow.f64 x 3) x) (*.f64 1/120 (pow.f64 x 5))))
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (fma.f64 -1/6 (pow.f64 x 3) x)))
(+.f64 (*.f64 1/120 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) (pow.f64 x 5))) (+.f64 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) x) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) (pow.f64 x 3))) (*.f64 -1/5040 (*.f64 (+.f64 1 (*.f64 1/6 (pow.f64 y 2))) (pow.f64 x 7))))))
(fma.f64 1/120 (*.f64 (+.f64 (*.f64 1/6 (*.f64 y y)) 1) (pow.f64 x 5)) (fma.f64 (+.f64 (*.f64 1/6 (*.f64 y y)) 1) x (fma.f64 -1/6 (*.f64 (+.f64 (*.f64 1/6 (*.f64 y y)) 1) (pow.f64 x 3)) (*.f64 -1/5040 (*.f64 (+.f64 (*.f64 1/6 (*.f64 y y)) 1) (pow.f64 x 7))))))
(fma.f64 1/120 (*.f64 (fma.f64 1/6 (*.f64 y y) 1) (pow.f64 x 5)) (fma.f64 (fma.f64 1/6 (*.f64 y y) 1) x (fma.f64 -1/5040 (*.f64 (fma.f64 1/6 (*.f64 y y) 1) (pow.f64 x 7)) (*.f64 (fma.f64 1/6 (*.f64 y y) 1) (*.f64 (pow.f64 x 3) -1/6)))))
(+.f64 (*.f64 (fma.f64 y (*.f64 1/6 y) 1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (fma.f64 y (*.f64 1/6 y) 1) (+.f64 (*.f64 -1/5040 (pow.f64 x 7)) (*.f64 1/120 (pow.f64 x 5)))))
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) (+.f64 (fma.f64 1/120 (pow.f64 x 5) (*.f64 -1/6 (pow.f64 x 3))) (fma.f64 -1/5040 (pow.f64 x 7) x)))
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) (+.f64 (fma.f64 -1/5040 (pow.f64 x 7) x) (fma.f64 1/120 (pow.f64 x 5) (*.f64 -1/6 (pow.f64 x 3)))))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (+.f64 (*.f64 1/6 (*.f64 y y)) 1) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) (sin.f64 x))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (+.f64 (*.f64 1/6 (*.f64 y y)) 1) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) (sin.f64 x))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (+.f64 (*.f64 1/6 (*.f64 y y)) 1) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) (sin.f64 x))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (+.f64 (*.f64 1/6 (*.f64 y y)) 1) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) (sin.f64 x))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (+.f64 (*.f64 1/6 (*.f64 y y)) 1) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) (sin.f64 x))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (+.f64 (*.f64 1/6 (*.f64 y y)) 1) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) (sin.f64 x))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (+.f64 (*.f64 1/6 (*.f64 y y)) 1) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) (sin.f64 x))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (pow.f64 y 2))))
(*.f64 (+.f64 (*.f64 1/6 (*.f64 y y)) 1) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) (sin.f64 x))
(sin.f64 x)
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(*.f64 (+.f64 (*.f64 1/6 (*.f64 y y)) 1) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) (sin.f64 x))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(*.f64 (+.f64 (*.f64 1/6 (*.f64 y y)) 1) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) (sin.f64 x))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(*.f64 (+.f64 (*.f64 1/6 (*.f64 y y)) 1) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) (sin.f64 x))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)))
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(*.f64 (+.f64 (*.f64 1/6 (*.f64 y y)) 1) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) (sin.f64 x))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(*.f64 (+.f64 (*.f64 1/6 (*.f64 y y)) 1) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) (sin.f64 x))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(*.f64 (+.f64 (*.f64 1/6 (*.f64 y y)) 1) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) (sin.f64 x))
(*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x)))
(*.f64 1/6 (*.f64 (*.f64 y y) (sin.f64 x)))
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(*.f64 (+.f64 (*.f64 1/6 (*.f64 y y)) 1) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) (sin.f64 x))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(*.f64 (+.f64 (*.f64 1/6 (*.f64 y y)) 1) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) (sin.f64 x))
(+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 y 2) (sin.f64 x))))
(*.f64 (+.f64 (*.f64 1/6 (*.f64 y y)) 1) (sin.f64 x))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) (sin.f64 x))
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) (sin.f64 x))

localize17.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))))
0.1b
(*.f64 1/5040 (pow.f64 y 6))
Compiler

Compiled 34 to 25 computations (26.5% saved)

series5.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@0
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))))
1.0ms
x
@inf
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))))
1.0ms
y
@inf
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))))
1.0ms
y
@0
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))))
0.0ms
x
@-inf
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))))

rewrite66.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
477×log-prod_binary64
408×prod-diff_binary64
302×fma-def_binary64
300×pow-prod-down_binary64
274×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01115
123213
2281613
Stop Event
node limit
Counts
1 → 63
Calls
Call 1
Inputs
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 x) (*.f64 (sin.f64 x) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 x) (*.f64 (*.f64 (sin.f64 x) (*.f64 1/5040 (pow.f64 y 6))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 x) (fma.f64 1/5040 (pow.f64 y 6) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 x) (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (fma.f64 1/5040 (pow.f64 y 6) 1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (fma.f64 1/5040 (pow.f64 y 6) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (fma.f64 1/5040 (pow.f64 y 6) 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (fma.f64 1/5040 (pow.f64 y 6) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 x) (fma.f64 1/5040 (pow.f64 y 6) 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (sin.f64 x) 3) (*.f64 (pow.f64 (sin.f64 x) 3) (*.f64 (pow.f64 y 18) 1/128024064000))) (+.f64 (pow.f64 (sin.f64 x) 2) (-.f64 (pow.f64 (*.f64 (sin.f64 x) (*.f64 1/5040 (pow.f64 y 6))) 2) (*.f64 (sin.f64 x) (*.f64 (sin.f64 x) (*.f64 1/5040 (pow.f64 y 6)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (*.f64 (sin.f64 x) (*.f64 1/5040 (pow.f64 y 6))) 2)) (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (*.f64 1/5040 (pow.f64 y 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (pow.f64 y 18) 1/128024064000 1) (sin.f64 x)) (+.f64 1 (fma.f64 (pow.f64 y 12) 1/25401600 (*.f64 -1/5040 (pow.f64 y 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (*.f64 (pow.f64 y 12) 1/25401600)) (sin.f64 x)) (+.f64 1 (*.f64 -1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 x) (fma.f64 (pow.f64 y 18) 1/128024064000 1)) (+.f64 1 (fma.f64 (pow.f64 y 12) 1/25401600 (*.f64 -1/5040 (pow.f64 y 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 x) (-.f64 1 (*.f64 (pow.f64 y 12) 1/25401600))) (+.f64 1 (*.f64 -1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 x) (fma.f64 1/5040 (pow.f64 y 6) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 x) (fma.f64 1/5040 (pow.f64 y 6) 1)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 x) (fma.f64 1/5040 (pow.f64 y 6) 1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (fma.f64 1/5040 (pow.f64 y 6) 1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 x) (fma.f64 1/5040 (pow.f64 y 6) 1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 x) (fma.f64 1/5040 (pow.f64 y 6) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 x)) (fma.f64 1/5040 (pow.f64 y 6) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (fma.f64 1/5040 (pow.f64 y 6) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 x))) (pow.f64 (pow.f64 (exp.f64 1/5040) (pow.f64 y 6)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/5040) (pow.f64 y 6)) (sin.f64 x)) (+.f64 1 (expm1.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (fma.f64 1/5040 (pow.f64 y 6) 1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 x) (fma.f64 1/5040 (pow.f64 y 6) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 x) (fma.f64 1/5040 (pow.f64 y 6) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 x) (fma.f64 1/5040 (pow.f64 y 6) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 x) (fma.f64 1/5040 (pow.f64 y 6) 1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sin.f64 x) (fma.f64 1/5040 (pow.f64 y 6) 1)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 x) (fma.f64 1/5040 (pow.f64 y 6) 1)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sin.f64 x) (fma.f64 1/5040 (pow.f64 y 6) 1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 x) (fma.f64 1/5040 (pow.f64 y 6) 1))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) 1 (*.f64 (sin.f64 x) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) 1 (*.f64 (*.f64 (sin.f64 x) (*.f64 1/5040 (pow.f64 y 6))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) (*.f64 1/5040 (pow.f64 y 6)) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sin.f64 x) (*.f64 (sin.f64 x) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sin.f64 x) (*.f64 (*.f64 (sin.f64 x) (*.f64 1/5040 (pow.f64 y 6))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (sin.f64 x) (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/5040 (*.f64 (pow.f64 y 6) (sin.f64 x)) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 y 6) (*.f64 1/5040 (sin.f64 x)) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/5040 (pow.f64 y 6)) (sin.f64 x) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 y 12) 1/25401600)) (*.f64 (*.f64 (*.f64 y y) (cbrt.f64 1/5040)) (sin.f64 x)) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (sin.f64 x) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (*.f64 (sin.f64 x) (*.f64 1/5040 (pow.f64 y 6))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (cbrt.f64 (sin.f64 x)) (*.f64 (sin.f64 x) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (cbrt.f64 (sin.f64 x)) (*.f64 (*.f64 (sin.f64 x) (*.f64 1/5040 (pow.f64 y 6))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) 1) (*.f64 (sin.f64 x) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) 1) (*.f64 (*.f64 (sin.f64 x) (*.f64 1/5040 (pow.f64 y 6))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 y 3) (sqrt.f64 1/5040)) (*.f64 (*.f64 (pow.f64 y 3) (sqrt.f64 1/5040)) (sin.f64 x)) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (sqrt.f64 (sin.f64 x)) (*.f64 (sin.f64 x) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (sqrt.f64 (sin.f64 x)) (*.f64 (*.f64 (sin.f64 x) (*.f64 1/5040 (pow.f64 y 6))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) 1) (*.f64 (sin.f64 x) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) 1) (*.f64 (*.f64 (sin.f64 x) (*.f64 1/5040 (pow.f64 y 6))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (*.f64 1/5040 (pow.f64 y 6)))) 2) (cbrt.f64 (*.f64 (sin.f64 x) (*.f64 1/5040 (pow.f64 y 6)))) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sin.f64 x) (*.f64 1/5040 (pow.f64 y 6)))) (sqrt.f64 (*.f64 (sin.f64 x) (*.f64 1/5040 (pow.f64 y 6)))) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) 1/5040) (pow.f64 y 6) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (pow.f64 y 6)) 1/5040 (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (cbrt.f64 (*.f64 (pow.f64 y 12) 1/25401600))) (*.f64 (*.f64 y y) (cbrt.f64 1/5040)) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (*.f64 (pow.f64 y 3) (sqrt.f64 1/5040))) (*.f64 (pow.f64 y 3) (sqrt.f64 1/5040)) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/5040 (pow.f64 y 6)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (cbrt.f64 (sin.f64 x)) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/5040 (pow.f64 y 6)) (sqrt.f64 (sin.f64 x))) (sqrt.f64 (sin.f64 x)) (sin.f64 x))))))

simplify106.0ms (0.9%)

Algorithm
egg-herbie
Rules
910×fma-def_binary64
729×distribute-rgt-in_binary64
696×distribute-lft-in_binary64
462×unswap-sqr_binary64
444×associate-+l+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
034448
186394
2275363
31144338
43982338
54916338
66020338
77208338
87673338
97838338
Stop Event
node limit
Counts
87 → 76
Calls
Call 1
Inputs
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) x) (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (pow.f64 x 3))))
(+.f64 (*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) x) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (pow.f64 x 3))) (*.f64 1/120 (*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (pow.f64 x 5)))))
(+.f64 (*.f64 -1/5040 (*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (pow.f64 x 7))) (+.f64 (*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) x) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (pow.f64 x 3))) (*.f64 1/120 (*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (pow.f64 x 5))))))
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))
(sin.f64 x)
(+.f64 (sin.f64 x) (*.f64 1/5040 (*.f64 (pow.f64 y 6) (sin.f64 x))))
(+.f64 (sin.f64 x) (*.f64 1/5040 (*.f64 (pow.f64 y 6) (sin.f64 x))))
(+.f64 (sin.f64 x) (*.f64 1/5040 (*.f64 (pow.f64 y 6) (sin.f64 x))))
(*.f64 1/5040 (*.f64 (pow.f64 y 6) (sin.f64 x)))
(+.f64 (sin.f64 x) (*.f64 1/5040 (*.f64 (pow.f64 y 6) (sin.f64 x))))
(+.f64 (sin.f64 x) (*.f64 1/5040 (*.f64 (pow.f64 y 6) (sin.f64 x))))
(+.f64 (sin.f64 x) (*.f64 1/5040 (*.f64 (pow.f64 y 6) (sin.f64 x))))
(*.f64 1/5040 (*.f64 (pow.f64 y 6) (sin.f64 x)))
(+.f64 (sin.f64 x) (*.f64 1/5040 (*.f64 (pow.f64 y 6) (sin.f64 x))))
(+.f64 (sin.f64 x) (*.f64 1/5040 (*.f64 (pow.f64 y 6) (sin.f64 x))))
(+.f64 (sin.f64 x) (*.f64 1/5040 (*.f64 (pow.f64 y 6) (sin.f64 x))))
Outputs
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) x)
(*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) x)
(fma.f64 (pow.f64 y 6) (*.f64 1/5040 x) x)
(+.f64 (*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) x) (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (pow.f64 x 3))))
(fma.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) x (*.f64 (*.f64 -1/6 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6)))) (pow.f64 x 3)))
(fma.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) x (*.f64 (pow.f64 x 3) (*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) -1/6)))
(*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x))
(*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (fma.f64 -1/6 (pow.f64 x 3) x))
(+.f64 (*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) x) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (pow.f64 x 3))) (*.f64 1/120 (*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (pow.f64 x 5)))))
(fma.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) x (fma.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (pow.f64 x 3)) (*.f64 1/120 (*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (pow.f64 x 5)))))
(fma.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) x (fma.f64 1/120 (*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (pow.f64 x 5)) (*.f64 (pow.f64 x 3) (*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) -1/6))))
(fma.f64 (pow.f64 x 3) (+.f64 -1/6 (*.f64 (pow.f64 y 6) -1/30240)) (*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (+.f64 x (*.f64 1/120 (pow.f64 x 5)))))
(*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (+.f64 x (fma.f64 -1/6 (pow.f64 x 3) (*.f64 1/120 (pow.f64 x 5)))))
(*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (fma.f64 -1/6 (pow.f64 x 3) x)))
(+.f64 (*.f64 -1/5040 (*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (pow.f64 x 7))) (+.f64 (*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) x) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (pow.f64 x 3))) (*.f64 1/120 (*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (pow.f64 x 5))))))
(fma.f64 -1/5040 (*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (pow.f64 x 7)) (fma.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) x (fma.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (pow.f64 x 3)) (*.f64 1/120 (*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (pow.f64 x 5))))))
(fma.f64 -1/5040 (*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (pow.f64 x 7)) (fma.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) x (fma.f64 1/120 (*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (pow.f64 x 5)) (*.f64 (pow.f64 x 3) (*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) -1/6)))))
(+.f64 (*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 1/120 (pow.f64 x 5)))) (*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (+.f64 x (*.f64 -1/5040 (pow.f64 x 7)))))
(*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (+.f64 (fma.f64 -1/6 (pow.f64 x 3) x) (fma.f64 1/120 (pow.f64 x 5) (*.f64 -1/5040 (pow.f64 x 7)))))
(*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (+.f64 (fma.f64 -1/5040 (pow.f64 x 7) x) (fma.f64 -1/6 (pow.f64 x 3) (*.f64 1/120 (pow.f64 x 5)))))
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))
(*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (sin.f64 x))
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))
(*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (sin.f64 x))
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))
(*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (sin.f64 x))
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))
(*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (sin.f64 x))
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))
(*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (sin.f64 x))
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))
(*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (sin.f64 x))
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))
(*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (sin.f64 x))
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))
(*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (sin.f64 x))
(sin.f64 x)
(+.f64 (sin.f64 x) (*.f64 1/5040 (*.f64 (pow.f64 y 6) (sin.f64 x))))
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))
(*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (sin.f64 x))
(+.f64 (sin.f64 x) (*.f64 1/5040 (*.f64 (pow.f64 y 6) (sin.f64 x))))
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))
(*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (sin.f64 x))
(+.f64 (sin.f64 x) (*.f64 1/5040 (*.f64 (pow.f64 y 6) (sin.f64 x))))
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))
(*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (sin.f64 x))
(*.f64 1/5040 (*.f64 (pow.f64 y 6) (sin.f64 x)))
(+.f64 (sin.f64 x) (*.f64 1/5040 (*.f64 (pow.f64 y 6) (sin.f64 x))))
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))
(*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (sin.f64 x))
(+.f64 (sin.f64 x) (*.f64 1/5040 (*.f64 (pow.f64 y 6) (sin.f64 x))))
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))
(*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (sin.f64 x))
(+.f64 (sin.f64 x) (*.f64 1/5040 (*.f64 (pow.f64 y 6) (sin.f64 x))))
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))
(*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (sin.f64 x))
(*.f64 1/5040 (*.f64 (pow.f64 y 6) (sin.f64 x)))
(+.f64 (sin.f64 x) (*.f64 1/5040 (*.f64 (pow.f64 y 6) (sin.f64 x))))
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))
(*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (sin.f64 x))
(+.f64 (sin.f64 x) (*.f64 1/5040 (*.f64 (pow.f64 y 6) (sin.f64 x))))
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))
(*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (sin.f64 x))
(+.f64 (sin.f64 x) (*.f64 1/5040 (*.f64 (pow.f64 y 6) (sin.f64 x))))
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) (sin.f64 x))
(*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) (sin.f64 x))

localize178.0ms (1.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (+.f64 0 (*.f64 1/6 (*.f64 y y))) (*.f64 1/120 (pow.f64 y 4))))
0.1b
(*.f64 1/5040 (pow.f64 y 6))
0.1b
(*.f64 1/120 (pow.f64 y 4))
0.2b
(*.f64 1/6 (*.f64 y y))
Compiler

Compiled 121 to 85 computations (29.8% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
y
@0
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (+.f64 0 (*.f64 1/6 (*.f64 y y))) (*.f64 1/120 (pow.f64 y 4))))
0.0ms
y
@inf
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (+.f64 0 (*.f64 1/6 (*.f64 y y))) (*.f64 1/120 (pow.f64 y 4))))
0.0ms
y
@-inf
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (+.f64 0 (*.f64 1/6 (*.f64 y y))) (*.f64 1/120 (pow.f64 y 4))))

rewrite87.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
816×fma-def_binary64
671×log-prod_binary64
404×fma-neg_binary64
269×expm1-udef_binary64
269×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01723
139021
2472921
Stop Event
node limit
Counts
1 → 93
Calls
Call 1
Inputs
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (+.f64 0 (*.f64 1/6 (*.f64 y y))) (*.f64 1/120 (pow.f64 y 4))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (pow.f64 y 12) 1/25401600) (-.f64 (*.f64 1/5040 (pow.f64 y 6)) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))) (/.f64 (pow.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))) 2) (-.f64 (*.f64 1/5040 (pow.f64 y 6)) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))) (pow.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))) 2) (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))) (sqrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 (pow.f64 y 6) 3) 1/128024064000 (pow.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))) 3)) (/.f64 1 (fma.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))) (-.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))) (*.f64 1/5040 (pow.f64 y 6))) (*.f64 (pow.f64 y 12) 1/25401600))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (pow.f64 y 12) 1/25401600) (pow.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))) 2)) (/.f64 1 (-.f64 (*.f64 1/5040 (pow.f64 y 6)) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))) (-.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))) (*.f64 1/5040 (pow.f64 y 6))) (*.f64 (pow.f64 y 12) 1/25401600)) (fma.f64 (pow.f64 (pow.f64 y 6) 3) 1/128024064000 (pow.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 1/5040 (pow.f64 y 6)) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6)))) (-.f64 (*.f64 (pow.f64 y 12) 1/25401600) (pow.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (pow.f64 y 6) 3) 1/128024064000 (pow.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))) 3)) (fma.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))) (-.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))) (*.f64 1/5040 (pow.f64 y 6))) (*.f64 (pow.f64 y 12) 1/25401600)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (pow.f64 y 6) 3) 1/128024064000 (pow.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))) 3)) (+.f64 (pow.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))) 2) (-.f64 (*.f64 (pow.f64 y 12) 1/25401600) (*.f64 1/5040 (*.f64 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 y 12) 1/25401600) (pow.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))) 2)) (-.f64 (*.f64 1/5040 (pow.f64 y 6)) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (pow.f64 (pow.f64 y 6) 3) 1/128024064000 (pow.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))) 3))) (neg.f64 (fma.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))) (-.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))) (*.f64 1/5040 (pow.f64 y 6))) (*.f64 (pow.f64 y 12) 1/25401600))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 y 12) 1/25401600) (pow.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))) 2))) (neg.f64 (-.f64 (*.f64 1/5040 (pow.f64 y 6)) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))) 3) (*.f64 1/1728000 (pow.f64 y 12))) (fma.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))) (-.f64 (*.f64 1/14400 (pow.f64 y 8)) (*.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))) (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))) 2) (*.f64 (pow.f64 y 12) 1/25401600)) (-.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))) (neg.f64 (*.f64 1/14400 (pow.f64 y 8)))) (-.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))) (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/5040 (pow.f64 y 6)))) (exp.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (pow.f64 y 6)) 1/5040) (+.f64 1 (expm1.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/5040 (pow.f64 y 6)))) (+.f64 1 (expm1.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 1/120) (pow.f64 y 4)) (exp.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/120 (pow.f64 y 4)))) (exp.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 1/120) (pow.f64 y 4)) (*.f64 (pow.f64 (exp.f64 (pow.f64 y 6)) 1/5040) (pow.f64 (pow.f64 (exp.f64 y) y) 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/120 (pow.f64 y 4)))) (*.f64 (pow.f64 (exp.f64 (pow.f64 y 6)) 1/5040) (pow.f64 (pow.f64 (exp.f64 y) y) 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))) (pow.f64 (exp.f64 (pow.f64 y 6)) 1/5040)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6)))) (+.f64 1 (expm1.f64 (*.f64 1/5040 (pow.f64 y 6))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))) (+.f64 1 (expm1.f64 (*.f64 1/5040 (pow.f64 y 6))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 (pow.f64 y 6)) 1/5040) (pow.f64 (pow.f64 (exp.f64 y) y) 1/6)) (pow.f64 (exp.f64 1/120) (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6)))) (+.f64 1 (expm1.f64 (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 (pow.f64 y 6)) 1/5040) (pow.f64 (pow.f64 (exp.f64 y) y) 1/6)) (+.f64 1 (expm1.f64 (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (*.f64 y 1/6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 y 6) 1/5040 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/5040 (pow.f64 y 6)) 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/6 (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y y) 1/6 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y y) (*.f64 (*.f64 y y) 1/120) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (*.f64 y 1/6)) 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 y 4) 1/120 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 y 4) (*.f64 (*.f64 y y) 1/5040) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/120 (pow.f64 y 4)) 1 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))) 1 (*.f64 1/5040 (pow.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/5040 (pow.f64 y 6)) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y (*.f64 y 1/6)) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/120 (pow.f64 y 4)) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))) (*.f64 1/5040 (pow.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))) (*.f64 1/120 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 y 3) (*.f64 (pow.f64 y 3) 1/5040) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/120 (pow.f64 y 4))) (cbrt.f64 (*.f64 1/14400 (pow.f64 y 8))) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/14400 (pow.f64 y 8))) (cbrt.f64 (*.f64 1/120 (pow.f64 y 4))) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 y y) (cbrt.f64 1/5040)) (cbrt.f64 (*.f64 (pow.f64 y 12) 1/25401600)) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 y 12) 1/25401600)) (*.f64 (*.f64 y y) (cbrt.f64 1/5040)) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 y 4)) (*.f64 (pow.f64 (cbrt.f64 y) 2) 1/6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 y 8)) (*.f64 (cbrt.f64 (pow.f64 y 4)) 1/120) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y (*.f64 y 1/6))) (cbrt.f64 (*.f64 (pow.f64 y 4) 1/36)) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 y 4) 1/36)) (cbrt.f64 (*.f64 y (*.f64 y 1/6))) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6)))) (cbrt.f64 (pow.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))) 2)) (*.f64 1/5040 (pow.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))) 2)) (cbrt.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6)))) (*.f64 1/5040 (pow.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 y y) (sqrt.f64 1/120)) (*.f64 (*.f64 y y) (sqrt.f64 1/120)) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 y 3) (sqrt.f64 1/5040)) (*.f64 (pow.f64 y 3) (sqrt.f64 1/5040)) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 1/6)) (*.f64 y (sqrt.f64 1/6)) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6)))) (sqrt.f64 (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6)))) (*.f64 1/5040 (pow.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 y 6) 1/216) (/.f64 1 (*.f64 (pow.f64 y 4) 1/36)) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (pow.f64 y 6) 1/216 (*.f64 1/1728000 (pow.f64 y 12))) (/.f64 1 (-.f64 (fma.f64 (pow.f64 y 4) 1/36 (*.f64 1/14400 (pow.f64 y 8))) (*.f64 1/6 (*.f64 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))))) (*.f64 1/5040 (pow.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 (pow.f64 y 4) 1/36)) (/.f64 1 (neg.f64 (*.f64 y (*.f64 y 1/6)))) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 y 4) 1/36) (*.f64 1/14400 (pow.f64 y 8))) (/.f64 1 (fma.f64 y (*.f64 y 1/6) (*.f64 -1/120 (pow.f64 y 4)))) (*.f64 1/5040 (pow.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y 1/6) y (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))) 1 (*.f64 1/120 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6)))) (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))) (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6)))) (*.f64 1/120 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6)))) (sqrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6)))) (*.f64 1/120 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/6 (cbrt.f64 (pow.f64 y 4))) (pow.f64 (cbrt.f64 y) 2) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 y 1/6) 1) y (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 y 1/6) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 y 1/6) (sqrt.f64 y)) (sqrt.f64 y) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/120 (*.f64 y y)) (*.f64 y y) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/120 (cbrt.f64 (pow.f64 y 8))) (cbrt.f64 (pow.f64 y 4)) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/5040 (pow.f64 y 4)) (*.f64 y y) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/5040 (pow.f64 y 3)) (pow.f64 y 3) (fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y 1/6))))))))

simplify178.0ms (1.6%)

Algorithm
egg-herbie
Rules
1130×fma-def_binary64
726×sqr-pow_binary64
538×cube-prod_binary64
373×*-commutative_binary64
336×unpow3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
017189
138189
280189
3230189
4940189
52432189
63462189
73692189
83887189
94138189
104453189
114869189
125603189
136100189
146705189
156959189
167211189
177475189
187745189
Stop Event
node limit
Counts
105 → 102
Calls
Call 1
Inputs
(*.f64 1/6 (pow.f64 y 2))
(+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2))))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2))))
(*.f64 1/5040 (pow.f64 y 6))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (*.f64 1/120 (pow.f64 y 4)))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2))))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2))))
(*.f64 1/5040 (pow.f64 y 6))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (*.f64 1/120 (pow.f64 y 4)))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2))))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2))))
Outputs
(*.f64 1/6 (pow.f64 y 2))
(*.f64 1/6 (*.f64 y y))
(+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y)))
(fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4)))
(*.f64 y (*.f64 y (fma.f64 y (*.f64 y 1/120) 1/6)))
(*.f64 y (fma.f64 1/6 y (*.f64 1/120 (pow.f64 y 3))))
(*.f64 y (fma.f64 1/120 (pow.f64 y 3) (*.f64 1/6 y)))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2))))
(fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))))
(fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4))))
(fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) (*.f64 1/5040 (pow.f64 y 6))))
(fma.f64 (*.f64 y y) (fma.f64 y (*.f64 y 1/120) 1/6) (*.f64 1/5040 (pow.f64 y 6)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y (fma.f64 (pow.f64 y 4) 1/5040 1/6))))
(fma.f64 y (fma.f64 1/120 (pow.f64 y 3) (*.f64 1/6 y)) (*.f64 1/5040 (pow.f64 y 6)))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2))))
(fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))))
(fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4))))
(fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) (*.f64 1/5040 (pow.f64 y 6))))
(fma.f64 (*.f64 y y) (fma.f64 y (*.f64 y 1/120) 1/6) (*.f64 1/5040 (pow.f64 y 6)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y (fma.f64 (pow.f64 y 4) 1/5040 1/6))))
(fma.f64 y (fma.f64 1/120 (pow.f64 y 3) (*.f64 1/6 y)) (*.f64 1/5040 (pow.f64 y 6)))
(*.f64 1/5040 (pow.f64 y 6))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (*.f64 1/120 (pow.f64 y 4)))
(fma.f64 1/5040 (pow.f64 y 6) (*.f64 1/120 (pow.f64 y 4)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6)))
(*.f64 (pow.f64 y 4) (fma.f64 y (*.f64 y 1/5040) 1/120))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2))))
(fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))))
(fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4))))
(fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) (*.f64 1/5040 (pow.f64 y 6))))
(fma.f64 (*.f64 y y) (fma.f64 y (*.f64 y 1/120) 1/6) (*.f64 1/5040 (pow.f64 y 6)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y (fma.f64 (pow.f64 y 4) 1/5040 1/6))))
(fma.f64 y (fma.f64 1/120 (pow.f64 y 3) (*.f64 1/6 y)) (*.f64 1/5040 (pow.f64 y 6)))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2))))
(fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))))
(fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4))))
(fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) (*.f64 1/5040 (pow.f64 y 6))))
(fma.f64 (*.f64 y y) (fma.f64 y (*.f64 y 1/120) 1/6) (*.f64 1/5040 (pow.f64 y 6)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y (fma.f64 (pow.f64 y 4) 1/5040 1/6))))
(fma.f64 y (fma.f64 1/120 (pow.f64 y 3) (*.f64 1/6 y)) (*.f64 1/5040 (pow.f64 y 6)))
(*.f64 1/5040 (pow.f64 y 6))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (*.f64 1/120 (pow.f64 y 4)))
(fma.f64 1/5040 (pow.f64 y 6) (*.f64 1/120 (pow.f64 y 4)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6)))
(*.f64 (pow.f64 y 4) (fma.f64 y (*.f64 y 1/5040) 1/120))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2))))
(fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))))
(fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4))))
(fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) (*.f64 1/5040 (pow.f64 y 6))))
(fma.f64 (*.f64 y y) (fma.f64 y (*.f64 y 1/120) 1/6) (*.f64 1/5040 (pow.f64 y 6)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y (fma.f64 (pow.f64 y 4) 1/5040 1/6))))
(fma.f64 y (fma.f64 1/120 (pow.f64 y 3) (*.f64 1/6 y)) (*.f64 1/5040 (pow.f64 y 6)))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2))))
(fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/6 (*.f64 y y))))
(fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4))))
(fma.f64 1/120 (pow.f64 y 4) (fma.f64 1/6 (*.f64 y y) (*.f64 1/5040 (pow.f64 y 6))))
(fma.f64 (*.f64 y y) (fma.f64 y (*.f64 y 1/120) 1/6) (*.f64 1/5040 (pow.f64 y 6)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 y (*.f64 y (fma.f64 (pow.f64 y 4) 1/5040 1/6))))
(fma.f64 y (fma.f64 1/120 (pow.f64 y 3) (*.f64 1/6 y)) (*.f64 1/5040 (pow.f64 y 6)))

eval392.0ms (3.4%)

Compiler

Compiled 11081 to 7748 computations (30.1% saved)

prune246.0ms (2.2%)

Pruning

14 alts after pruning (8 fresh and 6 done)

PrunedKeptTotal
New5116517
Fresh224
Picked011
Done257
Total51514529
Error
0.2b
Counts
529 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
0.8b
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (+.f64 0 (*.f64 1/6 (*.f64 y y))) (*.f64 1/120 (pow.f64 y 4))))))
0.4b
(*.f64 (sin.f64 x) (*.f64 (/.f64 1 y) (sinh.f64 y)))
1.1b
(sin.f64 x)
60.9b
(*.f64 1/6 (*.f64 y (*.f64 y x)))
60.7b
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
1.0b
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (*.f64 y y))))
61.6b
(*.f64 (*.f64 (*.f64 y y) x) (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))))
30.7b
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) x)
60.9b
(*.f64 y (*.f64 x (*.f64 1/6 y)))
0.3b
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
0.8b
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (+.f64 0 (*.f64 1/6 (*.f64 y y))) (expm1.f64 (log1p.f64 (*.f64 1/120 (pow.f64 y 4))))))))
1.1b
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 (pow.f64 y 4) (fma.f64 y (*.f64 y 1/5040) 1/120))))
30.8b
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) x)
0.8b
(*.f64 (sin.f64 x) (+.f64 1 (pow.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) 3)))
Compiler

Compiled 320 to 242 computations (24.4% saved)

localize78.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(expm1.f64 (log1p.f64 (*.f64 1/120 (pow.f64 y 4))))
0.1b
(*.f64 1/5040 (pow.f64 y 6))
0.1b
(*.f64 1/120 (pow.f64 y 4))
0.2b
(*.f64 1/6 (*.f64 y y))
Compiler

Compiled 142 to 104 computations (26.8% saved)

localize152.0ms (1.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 y (*.f64 y x))
0.2b
(*.f64 1/6 (*.f64 y (*.f64 y x)))
Compiler

Compiled 20 to 7 computations (65% saved)

series5.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite53.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
663×pow1_binary64
611×add-log-exp_binary64
611×log1p-expm1-u_binary64
611×expm1-log1p-u_binary64
599×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
114217
2167417
Stop Event
node limit
Counts
2 → 24
Calls
Call 1
Inputs
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 y (*.f64 y x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 1/6 (*.f64 y (*.f64 y x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/6 (*.f64 y (*.f64 y x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/6 (*.f64 y (*.f64 y x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/6 (*.f64 y (*.f64 y x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 1/6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 1/6 (*.f64 y (*.f64 y x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 y) (*.f64 y x)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 1/6 (*.f64 y (*.f64 y x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/6 (*.f64 y (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/6 (*.f64 y (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/6 (*.f64 y (*.f64 y x)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 y (*.f64 y x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (*.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 y (*.f64 y x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (sqrt.f64 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 y (*.f64 y x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 y) (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 y (*.f64 y x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 y 3) (pow.f64 (*.f64 y x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 y (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 y (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 y (*.f64 y x))))))))

simplify199.0ms (1.7%)

Algorithm
egg-herbie
Rules
2020×unswap-sqr_binary64
1080×sqr-pow_binary64
633×fabs-mul_binary64
612×pow-sqr_binary64
610×cube-prod_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08408
117408
237408
383408
4224408
5759408
61010408
71424408
81524408
91657408
101826408
112069408
122382408
132754408
143213408
153800408
164510408
175368408
185790408
196104408
206410408
216486408
226522408
Stop Event
node limit
Counts
72 → 28
Calls
Call 1
Inputs
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
Outputs
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (*.f64 y y) x))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 x (*.f64 y (*.f64 1/6 y)))
(*.f64 y (*.f64 y (*.f64 1/6 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (*.f64 y y) x))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 x (*.f64 y (*.f64 1/6 y)))
(*.f64 y (*.f64 y (*.f64 1/6 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (*.f64 y y) x))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 x (*.f64 y (*.f64 1/6 y)))
(*.f64 y (*.f64 y (*.f64 1/6 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (*.f64 y y) x))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 x (*.f64 y (*.f64 1/6 y)))
(*.f64 y (*.f64 y (*.f64 1/6 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (*.f64 y y) x))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 x (*.f64 y (*.f64 1/6 y)))
(*.f64 y (*.f64 y (*.f64 1/6 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (*.f64 y y) x))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 x (*.f64 y (*.f64 1/6 y)))
(*.f64 y (*.f64 y (*.f64 1/6 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (*.f64 y y) x))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 x (*.f64 y (*.f64 1/6 y)))
(*.f64 y (*.f64 y (*.f64 1/6 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (*.f64 y y) x))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 x (*.f64 y (*.f64 1/6 y)))
(*.f64 y (*.f64 y (*.f64 1/6 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (*.f64 y y) x))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 x (*.f64 y (*.f64 1/6 y)))
(*.f64 y (*.f64 y (*.f64 1/6 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (*.f64 y y) x))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 x (*.f64 y (*.f64 1/6 y)))
(*.f64 y (*.f64 y (*.f64 1/6 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (*.f64 y y) x))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 x (*.f64 y (*.f64 1/6 y)))
(*.f64 y (*.f64 y (*.f64 1/6 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (*.f64 y y) x))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 x (*.f64 y (*.f64 1/6 y)))
(*.f64 y (*.f64 y (*.f64 1/6 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (*.f64 y y) x))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 x (*.f64 y (*.f64 1/6 y)))
(*.f64 y (*.f64 y (*.f64 1/6 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (*.f64 y y) x))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 x (*.f64 y (*.f64 1/6 y)))
(*.f64 y (*.f64 y (*.f64 1/6 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (*.f64 y y) x))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 x (*.f64 y (*.f64 1/6 y)))
(*.f64 y (*.f64 y (*.f64 1/6 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (*.f64 y y) x))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 x (*.f64 y (*.f64 1/6 y)))
(*.f64 y (*.f64 y (*.f64 1/6 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (*.f64 y y) x))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 x (*.f64 y (*.f64 1/6 y)))
(*.f64 y (*.f64 y (*.f64 1/6 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (*.f64 y y) x))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 x (*.f64 y (*.f64 1/6 y)))
(*.f64 y (*.f64 y (*.f64 1/6 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (*.f64 y y) x))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 x (*.f64 y (*.f64 1/6 y)))
(*.f64 y (*.f64 y (*.f64 1/6 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (*.f64 y y) x))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 x (*.f64 y (*.f64 1/6 y)))
(*.f64 y (*.f64 y (*.f64 1/6 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (*.f64 y y) x))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 x (*.f64 y (*.f64 1/6 y)))
(*.f64 y (*.f64 y (*.f64 1/6 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (*.f64 y y) x))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 x (*.f64 y (*.f64 1/6 y)))
(*.f64 y (*.f64 y (*.f64 1/6 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (*.f64 y y) x))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 x (*.f64 y (*.f64 1/6 y)))
(*.f64 y (*.f64 y (*.f64 1/6 x)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (*.f64 y y) x))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 x (*.f64 y (*.f64 1/6 y)))
(*.f64 y (*.f64 y (*.f64 1/6 x)))
(*.f64 (pow.f64 y 2) x)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(*.f64 (pow.f64 y 2) x)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 1/6 (*.f64 -1/36 (*.f64 x x)))
0.2b
(*.f64 -1/36 (*.f64 x x))
7.6b
(*.f64 (*.f64 y y) x)
8.4b
(*.f64 (*.f64 (*.f64 y y) x) (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))))
Compiler

Compiled 42 to 18 computations (57.1% saved)

series8.0ms (0.1%)

Counts
4 → 72
Calls

18 calls:

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

rewrite118.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
610×log-prod_binary64
570×prod-diff_binary64
300×pow2_binary64
236×pow-unpow_binary64
226×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify161.0ms (1.4%)

Algorithm
egg-herbie
Rules
872×distribute-rgt-in_binary64
697×unswap-sqr_binary64
650×associate-*l*_binary64
588×sqr-pow_binary64
497×associate-*r*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
018792
148732
2135732
3493732
42565732
54829732
65675732
75947732
86237732
96514732
106840732
117231732
Stop Event
node limit
Counts
230 → 171
Calls
Call 1
Inputs
(*.f64 (+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2))) (*.f64 (pow.f64 y 2) x))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2))) (*.f64 (pow.f64 y 2) x))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2))) (*.f64 (pow.f64 y 2) x))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2))) (*.f64 (pow.f64 y 2) x))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2))) (*.f64 (pow.f64 y 2) x))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2))) (*.f64 (pow.f64 y 2) x))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2))) (*.f64 (pow.f64 y 2) x))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2))) (*.f64 (pow.f64 y 2) x))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2))) (*.f64 (pow.f64 y 2) x))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2))) (*.f64 (pow.f64 y 2) x))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2))) (*.f64 (pow.f64 y 2) x))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2))) (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (*.f64 -1/36 (*.f64 (pow.f64 y 2) (pow.f64 x 3))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (*.f64 -1/36 (*.f64 (pow.f64 y 2) (pow.f64 x 3))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (*.f64 -1/36 (*.f64 (pow.f64 y 2) (pow.f64 x 3))))
(*.f64 -1/36 (*.f64 (pow.f64 y 2) (pow.f64 x 3)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (*.f64 -1/36 (*.f64 (pow.f64 y 2) (pow.f64 x 3))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (*.f64 -1/36 (*.f64 (pow.f64 y 2) (pow.f64 x 3))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (*.f64 -1/36 (*.f64 (pow.f64 y 2) (pow.f64 x 3))))
(*.f64 -1/36 (*.f64 (pow.f64 y 2) (pow.f64 x 3)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (*.f64 -1/36 (*.f64 (pow.f64 y 2) (pow.f64 x 3))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (*.f64 -1/36 (*.f64 (pow.f64 y 2) (pow.f64 x 3))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (*.f64 -1/36 (*.f64 (pow.f64 y 2) (pow.f64 x 3))))
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 (pow.f64 y 2) x)
(*.f64 -1/36 (pow.f64 x 2))
(*.f64 -1/36 (pow.f64 x 2))
(*.f64 -1/36 (pow.f64 x 2))
(*.f64 -1/36 (pow.f64 x 2))
(*.f64 -1/36 (pow.f64 x 2))
(*.f64 -1/36 (pow.f64 x 2))
(*.f64 -1/36 (pow.f64 x 2))
(*.f64 -1/36 (pow.f64 x 2))
(*.f64 -1/36 (pow.f64 x 2))
(*.f64 -1/36 (pow.f64 x 2))
(*.f64 -1/36 (pow.f64 x 2))
(*.f64 -1/36 (pow.f64 x 2))
1/6
(+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2)))
(+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2)))
(+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2)))
(*.f64 -1/36 (pow.f64 x 2))
(+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2)))
(+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2)))
(+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2)))
(*.f64 -1/36 (pow.f64 x 2))
(+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2)))
(+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2)))
(+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2)))
Outputs
(*.f64 (+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2))) (*.f64 (pow.f64 y 2) x))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))) (*.f64 x (*.f64 y y)))
(*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 x (*.f64 y y)))
(*.f64 (*.f64 y y) (*.f64 x (fma.f64 -1/36 (*.f64 x x) 1/6)))
(*.f64 x (*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 y y)))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2))) (*.f64 (pow.f64 y 2) x))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))) (*.f64 x (*.f64 y y)))
(*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 x (*.f64 y y)))
(*.f64 (*.f64 y y) (*.f64 x (fma.f64 -1/36 (*.f64 x x) 1/6)))
(*.f64 x (*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 y y)))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2))) (*.f64 (pow.f64 y 2) x))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))) (*.f64 x (*.f64 y y)))
(*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 x (*.f64 y y)))
(*.f64 (*.f64 y y) (*.f64 x (fma.f64 -1/36 (*.f64 x x) 1/6)))
(*.f64 x (*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 y y)))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2))) (*.f64 (pow.f64 y 2) x))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))) (*.f64 x (*.f64 y y)))
(*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 x (*.f64 y y)))
(*.f64 (*.f64 y y) (*.f64 x (fma.f64 -1/36 (*.f64 x x) 1/6)))
(*.f64 x (*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 y y)))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2))) (*.f64 (pow.f64 y 2) x))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))) (*.f64 x (*.f64 y y)))
(*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 x (*.f64 y y)))
(*.f64 (*.f64 y y) (*.f64 x (fma.f64 -1/36 (*.f64 x x) 1/6)))
(*.f64 x (*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 y y)))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2))) (*.f64 (pow.f64 y 2) x))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))) (*.f64 x (*.f64 y y)))
(*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 x (*.f64 y y)))
(*.f64 (*.f64 y y) (*.f64 x (fma.f64 -1/36 (*.f64 x x) 1/6)))
(*.f64 x (*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 y y)))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2))) (*.f64 (pow.f64 y 2) x))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))) (*.f64 x (*.f64 y y)))
(*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 x (*.f64 y y)))
(*.f64 (*.f64 y y) (*.f64 x (fma.f64 -1/36 (*.f64 x x) 1/6)))
(*.f64 x (*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 y y)))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2))) (*.f64 (pow.f64 y 2) x))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))) (*.f64 x (*.f64 y y)))
(*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 x (*.f64 y y)))
(*.f64 (*.f64 y y) (*.f64 x (fma.f64 -1/36 (*.f64 x x) 1/6)))
(*.f64 x (*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 y y)))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2))) (*.f64 (pow.f64 y 2) x))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))) (*.f64 x (*.f64 y y)))
(*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 x (*.f64 y y)))
(*.f64 (*.f64 y y) (*.f64 x (fma.f64 -1/36 (*.f64 x x) 1/6)))
(*.f64 x (*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 y y)))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2))) (*.f64 (pow.f64 y 2) x))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))) (*.f64 x (*.f64 y y)))
(*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 x (*.f64 y y)))
(*.f64 (*.f64 y y) (*.f64 x (fma.f64 -1/36 (*.f64 x x) 1/6)))
(*.f64 x (*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 y y)))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2))) (*.f64 (pow.f64 y 2) x))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))) (*.f64 x (*.f64 y y)))
(*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 x (*.f64 y y)))
(*.f64 (*.f64 y y) (*.f64 x (fma.f64 -1/36 (*.f64 x x) 1/6)))
(*.f64 x (*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 y y)))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2))) (*.f64 (pow.f64 y 2) x))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))) (*.f64 x (*.f64 y y)))
(*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 x (*.f64 y y)))
(*.f64 (*.f64 y y) (*.f64 x (fma.f64 -1/36 (*.f64 x x) 1/6)))
(*.f64 x (*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 y y)))
(*.f64 1/6 (*.f64 (pow.f64 y 2) x))
(*.f64 1/6 (*.f64 x (*.f64 y y)))
(*.f64 (*.f64 x (*.f64 1/6 y)) y)
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (*.f64 -1/36 (*.f64 (pow.f64 y 2) (pow.f64 x 3))))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))) (*.f64 x (*.f64 y y)))
(*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 x (*.f64 y y)))
(*.f64 (*.f64 y y) (*.f64 x (fma.f64 -1/36 (*.f64 x x) 1/6)))
(*.f64 x (*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 y y)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (*.f64 -1/36 (*.f64 (pow.f64 y 2) (pow.f64 x 3))))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))) (*.f64 x (*.f64 y y)))
(*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 x (*.f64 y y)))
(*.f64 (*.f64 y y) (*.f64 x (fma.f64 -1/36 (*.f64 x x) 1/6)))
(*.f64 x (*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 y y)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (*.f64 -1/36 (*.f64 (pow.f64 y 2) (pow.f64 x 3))))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))) (*.f64 x (*.f64 y y)))
(*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 x (*.f64 y y)))
(*.f64 (*.f64 y y) (*.f64 x (fma.f64 -1/36 (*.f64 x x) 1/6)))
(*.f64 x (*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 y y)))
(*.f64 -1/36 (*.f64 (pow.f64 y 2) (pow.f64 x 3)))
(*.f64 -1/36 (*.f64 (*.f64 y y) (pow.f64 x 3)))
(*.f64 -1/36 (*.f64 y (*.f64 y (pow.f64 x 3))))
(*.f64 y (*.f64 (*.f64 y (pow.f64 x 3)) -1/36))
(*.f64 (*.f64 y y) (*.f64 -1/36 (pow.f64 x 3)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (*.f64 -1/36 (*.f64 (pow.f64 y 2) (pow.f64 x 3))))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))) (*.f64 x (*.f64 y y)))
(*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 x (*.f64 y y)))
(*.f64 (*.f64 y y) (*.f64 x (fma.f64 -1/36 (*.f64 x x) 1/6)))
(*.f64 x (*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 y y)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (*.f64 -1/36 (*.f64 (pow.f64 y 2) (pow.f64 x 3))))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))) (*.f64 x (*.f64 y y)))
(*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 x (*.f64 y y)))
(*.f64 (*.f64 y y) (*.f64 x (fma.f64 -1/36 (*.f64 x x) 1/6)))
(*.f64 x (*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 y y)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (*.f64 -1/36 (*.f64 (pow.f64 y 2) (pow.f64 x 3))))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))) (*.f64 x (*.f64 y y)))
(*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 x (*.f64 y y)))
(*.f64 (*.f64 y y) (*.f64 x (fma.f64 -1/36 (*.f64 x x) 1/6)))
(*.f64 x (*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 y y)))
(*.f64 -1/36 (*.f64 (pow.f64 y 2) (pow.f64 x 3)))
(*.f64 -1/36 (*.f64 (*.f64 y y) (pow.f64 x 3)))
(*.f64 -1/36 (*.f64 y (*.f64 y (pow.f64 x 3))))
(*.f64 y (*.f64 (*.f64 y (pow.f64 x 3)) -1/36))
(*.f64 (*.f64 y y) (*.f64 -1/36 (pow.f64 x 3)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (*.f64 -1/36 (*.f64 (pow.f64 y 2) (pow.f64 x 3))))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))) (*.f64 x (*.f64 y y)))
(*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 x (*.f64 y y)))
(*.f64 (*.f64 y y) (*.f64 x (fma.f64 -1/36 (*.f64 x x) 1/6)))
(*.f64 x (*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 y y)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (*.f64 -1/36 (*.f64 (pow.f64 y 2) (pow.f64 x 3))))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))) (*.f64 x (*.f64 y y)))
(*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 x (*.f64 y y)))
(*.f64 (*.f64 y y) (*.f64 x (fma.f64 -1/36 (*.f64 x x) 1/6)))
(*.f64 x (*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 y y)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (*.f64 -1/36 (*.f64 (pow.f64 y 2) (pow.f64 x 3))))
(*.f64 (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))) (*.f64 x (*.f64 y y)))
(*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 x (*.f64 y y)))
(*.f64 (*.f64 y y) (*.f64 x (fma.f64 -1/36 (*.f64 x x) 1/6)))
(*.f64 x (*.f64 (fma.f64 -1/36 (*.f64 x x) 1/6) (*.f64 y y)))
(*.f64 (pow.f64 y 2) x)
(*.f64 x (*.f64 y y))
(*.f64 (pow.f64 y 2) x)
(*.f64 x (*.f64 y y))
(*.f64 (pow.f64 y 2) x)
(*.f64 x (*.f64 y y))
(*.f64 (pow.f64 y 2) x)
(*.f64 x (*.f64 y y))
(*.f64 (pow.f64 y 2) x)
(*.f64 x (*.f64 y y))
(*.f64 (pow.f64 y 2) x)
(*.f64 x (*.f64 y y))
(*.f64 (pow.f64 y 2) x)
(*.f64 x (*.f64 y y))
(*.f64 (pow.f64 y 2) x)
(*.f64 x (*.f64 y y))
(*.f64 (pow.f64 y 2) x)
(*.f64 x (*.f64 y y))
(*.f64 (pow.f64 y 2) x)
(*.f64 x (*.f64 y y))
(*.f64 (pow.f64 y 2) x)
(*.f64 x (*.f64 y y))
(*.f64 (pow.f64 y 2) x)
(*.f64 x (*.f64 y y))
(*.f64 (pow.f64 y 2) x)
(*.f64 x (*.f64 y y))
(*.f64 (pow.f64 y 2) x)
(*.f64 x (*.f64 y y))
(*.f64 (pow.f64 y 2) x)
(*.f64 x (*.f64 y y))
(*.f64 (pow.f64 y 2) x)
(*.f64 x (*.f64 y y))
(*.f64 (pow.f64 y 2) x)
(*.f64 x (*.f64 y y))
(*.f64 (pow.f64 y 2) x)
(*.f64 x (*.f64 y y))
(*.f64 (pow.f64 y 2) x)
(*.f64 x (*.f64 y y))
(*.f64 (pow.f64 y 2) x)
(*.f64 x (*.f64 y y))
(*.f64 (pow.f64 y 2) x)
(*.f64 x (*.f64 y y))
(*.f64 (pow.f64 y 2) x)
(*.f64 x (*.f64 y y))
(*.f64 (pow.f64 y 2) x)
(*.f64 x (*.f64 y y))
(*.f64 (pow.f64 y 2) x)
(*.f64 x (*.f64 y y))
(*.f64 -1/36 (pow.f64 x 2))
(*.f64 -1/36 (*.f64 x x))
(*.f64 -1/36 (pow.f64 x 2))
(*.f64 -1/36 (*.f64 x x))
(*.f64 -1/36 (pow.f64 x 2))
(*.f64 -1/36 (*.f64 x x))
(*.f64 -1/36 (pow.f64 x 2))
(*.f64 -1/36 (*.f64 x x))
(*.f64 -1/36 (pow.f64 x 2))
(*.f64 -1/36 (*.f64 x x))
(*.f64 -1/36 (pow.f64 x 2))
(*.f64 -1/36 (*.f64 x x))
(*.f64 -1/36 (pow.f64 x 2))
(*.f64 -1/36 (*.f64 x x))
(*.f64 -1/36 (pow.f64 x 2))
(*.f64 -1/36 (*.f64 x x))
(*.f64 -1/36 (pow.f64 x 2))
(*.f64 -1/36 (*.f64 x x))
(*.f64 -1/36 (pow.f64 x 2))
(*.f64 -1/36 (*.f64 x x))
(*.f64 -1/36 (pow.f64 x 2))
(*.f64 -1/36 (*.f64 x x))
(*.f64 -1/36 (pow.f64 x 2))
(*.f64 -1/36 (*.f64 x x))
1/6
(+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2)))
(+.f64 1/6 (*.f64 -1/36 (*.f64 x x)))
(fma.f64 -1/36 (*.f64 x x) 1/6)
(+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2)))
(+.f64 1/6 (*.f64 -1/36 (*.f64 x x)))
(fma.f64 -1/36 (*.f64 x x) 1/6)
(+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2)))
(+.f64 1/6 (*.f64 -1/36 (*.f64 x x)))
(fma.f64 -1/36 (*.f64 x x) 1/6)
(*.f64 -1/36 (pow.f64 x 2))
(*.f64 -1/36 (*.f64 x x))
(+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2)))
(+.f64 1/6 (*.f64 -1/36 (*.f64 x x)))
(fma.f64 -1/36 (*.f64 x x) 1/6)
(+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2)))
(+.f64 1/6 (*.f64 -1/36 (*.f64 x x)))
(fma.f64 -1/36 (*.f64 x x) 1/6)
(+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2)))
(+.f64 1/6 (*.f64 -1/36 (*.f64 x x)))
(fma.f64 -1/36 (*.f64 x x) 1/6)
(*.f64 -1/36 (pow.f64 x 2))
(*.f64 -1/36 (*.f64 x x))
(+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2)))
(+.f64 1/6 (*.f64 -1/36 (*.f64 x x)))
(fma.f64 -1/36 (*.f64 x x) 1/6)
(+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2)))
(+.f64 1/6 (*.f64 -1/36 (*.f64 x x)))
(fma.f64 -1/36 (*.f64 x x) 1/6)
(+.f64 1/6 (*.f64 -1/36 (pow.f64 x 2)))
(+.f64 1/6 (*.f64 -1/36 (*.f64 x x)))
(fma.f64 -1/36 (*.f64 x x) 1/6)

localize16.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) x)
0.1b
(*.f64 1/5040 (pow.f64 y 6))
Compiler

Compiled 31 to 24 computations (22.6% saved)

series3.0ms (0%)

Counts
1 → 12
Calls

6 calls:

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

rewrite170.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
932×pow1_binary64
872×add-log-exp_binary64
871×log1p-expm1-u_binary64
871×expm1-log1p-u_binary64
855×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01013
120811
2243711
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 (*.f64 1/5040 (pow.f64 y 6)) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 x (*.f64 1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/5040 (pow.f64 y 6)) x) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 1/5040 (pow.f64 y 6))) x)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (*.f64 (pow.f64 (pow.f64 y 6) 3) 1/128024064000)) x) (+.f64 1 (+.f64 (*.f64 (pow.f64 y 12) 1/25401600) (*.f64 -1/5040 (pow.f64 y 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (*.f64 (pow.f64 y 12) 1/25401600)) x) (+.f64 1 (*.f64 -1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 1 (*.f64 (pow.f64 (pow.f64 y 6) 3) 1/128024064000))) (+.f64 1 (+.f64 (*.f64 (pow.f64 y 12) 1/25401600) (*.f64 -1/5040 (pow.f64 y 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 1 (*.f64 (pow.f64 y 12) 1/25401600))) (+.f64 1 (*.f64 -1/5040 (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (fma.f64 1/5040 (pow.f64 y 6) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) 3) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (fma.f64 1/5040 (pow.f64 y 6) 1) x)))))))

simplify105.0ms (0.9%)

Algorithm
egg-herbie
Rules
904×cube-prod_binary64
784×unswap-sqr_binary64
774×sqr-pow_binary64
540×fabs-mul_binary64
395×pow-sqr_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010120
120120
246120
3138120
4547120
5886120
6983120
71168120
81603120
92649120
102767120
112998120
123372120
133884120
144571120
155368120
166267120
177478120
Stop Event
node limit
Counts
33 → 27
Calls
Call 1
Inputs
x
(+.f64 (*.f64 1/5040 (*.f64 (pow.f64 y 6) x)) x)
(+.f64 (*.f64 1/5040 (*.f64 (pow.f64 y 6) x)) x)
(+.f64 (*.f64 1/5040 (*.f64 (pow.f64 y 6) x)) x)
(*.f64 1/5040 (*.f64 (pow.f64 y 6) x))
(+.f64 x (*.f64 1/5040 (*.f64 (pow.f64 y 6) x)))
(+.f64 x (*.f64 1/5040 (*.f64 (pow.f64 y 6) x)))
(+.f64 x (*.f64 1/5040 (*.f64 (pow.f64 y 6) x)))
(*.f64 1/5040 (*.f64 (pow.f64 y 6) x))
(+.f64 x (*.f64 1/5040 (*.f64 (pow.f64 y 6) x)))
(+.f64 x (*.f64 1/5040 (*.f64 (pow.f64 y 6) x)))
(+.f64 x (*.f64 1/5040 (*.f64 (pow.f64 y 6) x)))
Outputs
x
(+.f64 (*.f64 1/5040 (*.f64 (pow.f64 y 6) x)) x)
(fma.f64 1/5040 (*.f64 x (pow.f64 y 6)) x)
(*.f64 x (fma.f64 1/5040 (pow.f64 y 6) 1))
(+.f64 (*.f64 1/5040 (*.f64 (pow.f64 y 6) x)) x)
(fma.f64 1/5040 (*.f64 x (pow.f64 y 6)) x)
(*.f64 x (fma.f64 1/5040 (pow.f64 y 6) 1))
(+.f64 (*.f64 1/5040 (*.f64 (pow.f64 y 6) x)) x)
(fma.f64 1/5040 (*.f64 x (pow.f64 y 6)) x)
(*.f64 x (fma.f64 1/5040 (pow.f64 y 6) 1))
(*.f64 1/5040 (*.f64 (pow.f64 y 6) x))
(*.f64 (*.f64 1/5040 (pow.f64 y 6)) x)
(*.f64 x (*.f64 1/5040 (pow.f64 y 6)))
(*.f64 1/5040 (*.f64 x (pow.f64 y 6)))
(+.f64 x (*.f64 1/5040 (*.f64 (pow.f64 y 6) x)))
(fma.f64 1/5040 (*.f64 x (pow.f64 y 6)) x)
(*.f64 x (fma.f64 1/5040 (pow.f64 y 6) 1))
(+.f64 x (*.f64 1/5040 (*.f64 (pow.f64 y 6) x)))
(fma.f64 1/5040 (*.f64 x (pow.f64 y 6)) x)
(*.f64 x (fma.f64 1/5040 (pow.f64 y 6) 1))
(+.f64 x (*.f64 1/5040 (*.f64 (pow.f64 y 6) x)))
(fma.f64 1/5040 (*.f64 x (pow.f64 y 6)) x)
(*.f64 x (fma.f64 1/5040 (pow.f64 y 6) 1))
(*.f64 1/5040 (*.f64 (pow.f64 y 6) x))
(*.f64 (*.f64 1/5040 (pow.f64 y 6)) x)
(*.f64 x (*.f64 1/5040 (pow.f64 y 6)))
(*.f64 1/5040 (*.f64 x (pow.f64 y 6)))
(+.f64 x (*.f64 1/5040 (*.f64 (pow.f64 y 6) x)))
(fma.f64 1/5040 (*.f64 x (pow.f64 y 6)) x)
(*.f64 x (fma.f64 1/5040 (pow.f64 y 6) 1))
(+.f64 x (*.f64 1/5040 (*.f64 (pow.f64 y 6) x)))
(fma.f64 1/5040 (*.f64 x (pow.f64 y 6)) x)
(*.f64 x (fma.f64 1/5040 (pow.f64 y 6) 1))
(+.f64 x (*.f64 1/5040 (*.f64 (pow.f64 y 6) x)))
(fma.f64 1/5040 (*.f64 x (pow.f64 y 6)) x)
(*.f64 x (fma.f64 1/5040 (pow.f64 y 6) 1))

localize86.0ms (0.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))
0.3b
(*.f64 y 1/6)
0.4b
(pow.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) 3)
29.2b
(cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))
Compiler

Compiled 129 to 97 computations (24.8% saved)

series17.0ms (0.1%)

Counts
3 → 28
Calls

9 calls:

TimeVariablePointExpression
11.0ms
y
@0
(pow.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) 3)
2.0ms
y
@inf
(pow.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) 3)
2.0ms
y
@inf
(cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))
1.0ms
y
@0
(cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))
1.0ms
y
@-inf
(cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))

rewrite81.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
556×log-prod_binary64
343×pow2_binary64
317×pow-prod-down_binary64
240×expm1-udef_binary64
240×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01658
134258
2340958
Stop Event
node limit
Counts
3 → 109
Calls
Call 1
Inputs
(cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))
(pow.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) 3)
(fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))) (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 2))) (cbrt.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 1/6) (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 2) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 3) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 2))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/6 (log.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 2)))) 3/2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) (*.f64 1/5040 (pow.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/5040 (pow.f64 y 6)) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/5040 (pow.f64 y 6)) 1) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))) (*.f64 1/120 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) (cbrt.f64 (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 2)) (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 2))) (*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))) (cbrt.f64 (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 1/6) (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 5/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) (sqrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 5/6) (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 2)) 1) (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) (cbrt.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))) 2) (cbrt.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 1/5040 (pow.f64 y 6)) 3) (pow.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 3)) (+.f64 (pow.f64 (*.f64 1/5040 (pow.f64 y 6)) 2) (-.f64 (pow.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 2) (*.f64 (*.f64 1/5040 (pow.f64 y 6)) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 1/5040 (pow.f64 y 6)) 2) (pow.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 2)) (-.f64 (*.f64 1/5040 (pow.f64 y 6)) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) (exp.f64 (*.f64 1/5040 (pow.f64 y 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) (exp.f64 (*.f64 1/5040 (pow.f64 y 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 1/5040 (pow.f64 y 6))) (+.f64 1 (expm1.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2/3 (log.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 y 6) 1/5040 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 1 (*.f64 1/5040 (pow.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) (*.f64 1/5040 (pow.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/5040 (pow.f64 y 6)) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 2)) (*.f64 1/5040 (pow.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 2)) (cbrt.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) (*.f64 1/5040 (pow.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) (sqrt.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) (*.f64 1/5040 (pow.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/5040 (pow.f64 y 6)) 1 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/5040 (pow.f64 y 6))) 2) (cbrt.f64 (*.f64 1/5040 (pow.f64 y 6))) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 1/5040 (pow.f64 y 6))) (sqrt.f64 (*.f64 1/5040 (pow.f64 y 6))) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/5040 (pow.f64 y 4)) (*.f64 y y) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/5040 (pow.f64 y 3)) (pow.f64 y 3) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 y (*.f64 y 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 y 1/6)) (*.f64 1/120 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y (*.f64 y 1/6)) 1) (*.f64 1/120 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 2)) (cbrt.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) (sqrt.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y 1/6)) 3) (pow.f64 (*.f64 1/120 (pow.f64 y 4)) 3)) (+.f64 (pow.f64 (*.f64 y (*.f64 y 1/6)) 2) (-.f64 (*.f64 1/14400 (pow.f64 y 8)) (*.f64 (*.f64 y (*.f64 y 1/6)) (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y (*.f64 y 1/6)) 2) (*.f64 1/14400 (pow.f64 y 8))) (-.f64 (*.f64 y (*.f64 y 1/6)) (*.f64 1/120 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 1/120) (pow.f64 y 4)) (exp.f64 (*.f64 y (*.f64 y 1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/120 (pow.f64 y 4)))) (exp.f64 (*.f64 y (*.f64 y 1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 y (*.f64 y 1/6))) (+.f64 1 (expm1.f64 (*.f64 1/120 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) 2))))))

simplify62.0ms (0.5%)

Algorithm
egg-herbie
Rules
759×associate-/r*_binary64
604×+-commutative_binary64
522×unswap-sqr_binary64
316×fma-def_binary64
284×associate-+r+_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
074833
1208713
2685647
32775555
47096525
Stop Event
node limit
Counts
137 → 131
Calls
Call 1
Inputs
(*.f64 (cbrt.f64 1/5040) (pow.f64 y 2))
(+.f64 (*.f64 (cbrt.f64 1/5040) (pow.f64 y 2)) (*.f64 1/360 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 2))))
(+.f64 (*.f64 (cbrt.f64 1/5040) (pow.f64 y 2)) (+.f64 (*.f64 1/360 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 2))) (*.f64 1/60 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 1/5040) 2) (pow.f64 y 2))))))
(+.f64 (*.f64 (cbrt.f64 1/5040) (pow.f64 y 2)) (+.f64 (*.f64 1/360 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 2))) (+.f64 (*.f64 -1/3 (/.f64 (+.f64 7/5 (*.f64 1/46656000 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 6)))) (*.f64 (pow.f64 (cbrt.f64 1/5040) 2) (pow.f64 y 4)))) (*.f64 1/60 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 1/5040) 2) (pow.f64 y 2)))))))
(*.f64 (cbrt.f64 1/5040) (pow.f64 y 2))
(+.f64 (*.f64 (cbrt.f64 1/5040) (pow.f64 y 2)) (*.f64 1/360 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 2))))
(+.f64 (*.f64 (cbrt.f64 1/5040) (pow.f64 y 2)) (+.f64 (*.f64 1/360 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 2))) (*.f64 1/60 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 1/5040) 2) (pow.f64 y 2))))))
(+.f64 (*.f64 (cbrt.f64 1/5040) (pow.f64 y 2)) (+.f64 (*.f64 1/360 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 2))) (+.f64 (*.f64 -1/3 (/.f64 (+.f64 7/5 (*.f64 1/46656000 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 6)))) (*.f64 (pow.f64 (cbrt.f64 1/5040) 2) (pow.f64 y 4)))) (*.f64 1/60 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 1/5040) 2) (pow.f64 y 2)))))))
(*.f64 1/5040 (pow.f64 y 6))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (*.f64 1/120 (pow.f64 y 4)))
(+.f64 (*.f64 (pow.f64 y 2) (+.f64 17/180 (*.f64 (cbrt.f64 1/5040) (+.f64 (*.f64 1/60 (/.f64 1 (cbrt.f64 1/5040))) (+.f64 (*.f64 1/60 (/.f64 1 (cbrt.f64 1/5040))) (*.f64 1/129600 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 4)))))))) (+.f64 (*.f64 1/5040 (pow.f64 y 6)) (*.f64 1/120 (pow.f64 y 4))))
(+.f64 (*.f64 1/360 (/.f64 (+.f64 (*.f64 1/60 (/.f64 1 (cbrt.f64 1/5040))) (+.f64 (*.f64 1/60 (/.f64 1 (cbrt.f64 1/5040))) (*.f64 1/129600 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 4))))) (pow.f64 (cbrt.f64 1/5040) 2))) (+.f64 (*.f64 -1/3 (+.f64 7/5 (*.f64 1/46656000 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 6))))) (+.f64 7/15 (+.f64 (*.f64 (pow.f64 y 2) (+.f64 17/180 (*.f64 (cbrt.f64 1/5040) (+.f64 (*.f64 1/60 (/.f64 1 (cbrt.f64 1/5040))) (+.f64 (*.f64 1/60 (/.f64 1 (cbrt.f64 1/5040))) (*.f64 1/129600 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 4)))))))) (+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 (cbrt.f64 1/5040) (+.f64 (*.f64 1/10800 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 4))) (*.f64 -2/3 (/.f64 (+.f64 7/5 (*.f64 1/46656000 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 6)))) (cbrt.f64 1/5040)))))))))))
(*.f64 1/5040 (pow.f64 y 6))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (*.f64 1/120 (pow.f64 y 4)))
(+.f64 (*.f64 (pow.f64 y 2) (+.f64 17/180 (*.f64 (cbrt.f64 1/5040) (+.f64 (*.f64 1/60 (/.f64 1 (cbrt.f64 1/5040))) (+.f64 (*.f64 1/60 (/.f64 1 (cbrt.f64 1/5040))) (*.f64 1/129600 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 4)))))))) (+.f64 (*.f64 1/5040 (pow.f64 y 6)) (*.f64 1/120 (pow.f64 y 4))))
(+.f64 (*.f64 1/360 (/.f64 (+.f64 (*.f64 1/60 (/.f64 1 (cbrt.f64 1/5040))) (+.f64 (*.f64 1/60 (/.f64 1 (cbrt.f64 1/5040))) (*.f64 1/129600 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 4))))) (pow.f64 (cbrt.f64 1/5040) 2))) (+.f64 (*.f64 -1/3 (+.f64 7/5 (*.f64 1/46656000 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 6))))) (+.f64 7/15 (+.f64 (*.f64 (pow.f64 y 2) (+.f64 17/180 (*.f64 (cbrt.f64 1/5040) (+.f64 (*.f64 1/60 (/.f64 1 (cbrt.f64 1/5040))) (+.f64 (*.f64 1/60 (/.f64 1 (cbrt.f64 1/5040))) (*.f64 1/129600 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 4)))))))) (+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 (cbrt.f64 1/5040) (+.f64 (*.f64 1/10800 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 4))) (*.f64 -2/3 (/.f64 (+.f64 7/5 (*.f64 1/46656000 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 6)))) (cbrt.f64 1/5040)))))))))))
(*.f64 1/6 (pow.f64 y 2))
(+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))
(+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))
(+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))
(*.f64 1/120 (pow.f64 y 4))
(+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))
(+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))
(+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))
(*.f64 1/120 (pow.f64 y 4))
(+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))
(+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))
(+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))
Outputs
(*.f64 (cbrt.f64 1/5040) (pow.f64 y 2))
(*.f64 (cbrt.f64 1/5040) (*.f64 y y))
(+.f64 (*.f64 (cbrt.f64 1/5040) (pow.f64 y 2)) (*.f64 1/360 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 2))))
(fma.f64 (cbrt.f64 1/5040) (*.f64 y y) (/.f64 1/360 (pow.f64 (cbrt.f64 1/5040) 2)))
(+.f64 (*.f64 (cbrt.f64 1/5040) (pow.f64 y 2)) (+.f64 (*.f64 1/360 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 2))) (*.f64 1/60 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 1/5040) 2) (pow.f64 y 2))))))
(+.f64 (fma.f64 (cbrt.f64 1/5040) (*.f64 y y) (/.f64 1/360 (pow.f64 (cbrt.f64 1/5040) 2))) (/.f64 1/60 (*.f64 (*.f64 y y) (pow.f64 (cbrt.f64 1/5040) 2))))
(+.f64 (fma.f64 (cbrt.f64 1/5040) (*.f64 y y) (/.f64 1/360 (pow.f64 (cbrt.f64 1/5040) 2))) (/.f64 1/60 (*.f64 y (*.f64 y (pow.f64 (cbrt.f64 1/5040) 2)))))
(+.f64 (/.f64 1/360 (pow.f64 (cbrt.f64 1/5040) 2)) (fma.f64 (cbrt.f64 1/5040) (*.f64 y y) (/.f64 1/60 (*.f64 (*.f64 y y) (pow.f64 (cbrt.f64 1/5040) 2)))))
(fma.f64 (cbrt.f64 1/5040) (*.f64 y y) (*.f64 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 2)) (+.f64 1/360 (/.f64 1/60 (*.f64 y y)))))
(+.f64 (*.f64 (cbrt.f64 1/5040) (pow.f64 y 2)) (+.f64 (*.f64 1/360 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 2))) (+.f64 (*.f64 -1/3 (/.f64 (+.f64 7/5 (*.f64 1/46656000 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 6)))) (*.f64 (pow.f64 (cbrt.f64 1/5040) 2) (pow.f64 y 4)))) (*.f64 1/60 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 1/5040) 2) (pow.f64 y 2)))))))
(+.f64 (fma.f64 (cbrt.f64 1/5040) (*.f64 y y) (/.f64 1/360 (pow.f64 (cbrt.f64 1/5040) 2))) (fma.f64 -1/3 (/.f64 (+.f64 7/5 (/.f64 1/46656000 (pow.f64 (cbrt.f64 1/5040) 6))) (*.f64 (pow.f64 (cbrt.f64 1/5040) 2) (pow.f64 y 4))) (/.f64 1/60 (*.f64 (*.f64 y y) (pow.f64 (cbrt.f64 1/5040) 2)))))
(+.f64 (+.f64 (fma.f64 (cbrt.f64 1/5040) (*.f64 y y) (/.f64 1/360 (pow.f64 (cbrt.f64 1/5040) 2))) (/.f64 -35/54 (*.f64 (pow.f64 (cbrt.f64 1/5040) 2) (pow.f64 y 4)))) (/.f64 1/60 (*.f64 y (*.f64 y (pow.f64 (cbrt.f64 1/5040) 2)))))
(+.f64 (fma.f64 (cbrt.f64 1/5040) (*.f64 y y) (/.f64 1/360 (pow.f64 (cbrt.f64 1/5040) 2))) (+.f64 (/.f64 1/60 (*.f64 (*.f64 y y) (pow.f64 (cbrt.f64 1/5040) 2))) (/.f64 (/.f64 -35/54 (pow.f64 y 4)) (pow.f64 (cbrt.f64 1/5040) 2))))
(+.f64 (/.f64 1/360 (pow.f64 (cbrt.f64 1/5040) 2)) (+.f64 (/.f64 -35/54 (*.f64 (pow.f64 (cbrt.f64 1/5040) 2) (pow.f64 y 4))) (fma.f64 (cbrt.f64 1/5040) (*.f64 y y) (/.f64 1/60 (*.f64 (*.f64 y y) (pow.f64 (cbrt.f64 1/5040) 2))))))
(+.f64 (fma.f64 (cbrt.f64 1/5040) (*.f64 y y) (*.f64 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 2)) (+.f64 1/360 (/.f64 1/60 (*.f64 y y))))) (/.f64 -35/54 (*.f64 (pow.f64 (cbrt.f64 1/5040) 2) (pow.f64 y 4))))
(*.f64 (cbrt.f64 1/5040) (pow.f64 y 2))
(*.f64 (cbrt.f64 1/5040) (*.f64 y y))
(+.f64 (*.f64 (cbrt.f64 1/5040) (pow.f64 y 2)) (*.f64 1/360 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 2))))
(fma.f64 (cbrt.f64 1/5040) (*.f64 y y) (/.f64 1/360 (pow.f64 (cbrt.f64 1/5040) 2)))
(+.f64 (*.f64 (cbrt.f64 1/5040) (pow.f64 y 2)) (+.f64 (*.f64 1/360 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 2))) (*.f64 1/60 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 1/5040) 2) (pow.f64 y 2))))))
(+.f64 (fma.f64 (cbrt.f64 1/5040) (*.f64 y y) (/.f64 1/360 (pow.f64 (cbrt.f64 1/5040) 2))) (/.f64 1/60 (*.f64 (*.f64 y y) (pow.f64 (cbrt.f64 1/5040) 2))))
(+.f64 (fma.f64 (cbrt.f64 1/5040) (*.f64 y y) (/.f64 1/360 (pow.f64 (cbrt.f64 1/5040) 2))) (/.f64 1/60 (*.f64 y (*.f64 y (pow.f64 (cbrt.f64 1/5040) 2)))))
(+.f64 (/.f64 1/360 (pow.f64 (cbrt.f64 1/5040) 2)) (fma.f64 (cbrt.f64 1/5040) (*.f64 y y) (/.f64 1/60 (*.f64 (*.f64 y y) (pow.f64 (cbrt.f64 1/5040) 2)))))
(fma.f64 (cbrt.f64 1/5040) (*.f64 y y) (*.f64 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 2)) (+.f64 1/360 (/.f64 1/60 (*.f64 y y)))))
(+.f64 (*.f64 (cbrt.f64 1/5040) (pow.f64 y 2)) (+.f64 (*.f64 1/360 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 2))) (+.f64 (*.f64 -1/3 (/.f64 (+.f64 7/5 (*.f64 1/46656000 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 6)))) (*.f64 (pow.f64 (cbrt.f64 1/5040) 2) (pow.f64 y 4)))) (*.f64 1/60 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 1/5040) 2) (pow.f64 y 2)))))))
(+.f64 (fma.f64 (cbrt.f64 1/5040) (*.f64 y y) (/.f64 1/360 (pow.f64 (cbrt.f64 1/5040) 2))) (fma.f64 -1/3 (/.f64 (+.f64 7/5 (/.f64 1/46656000 (pow.f64 (cbrt.f64 1/5040) 6))) (*.f64 (pow.f64 (cbrt.f64 1/5040) 2) (pow.f64 y 4))) (/.f64 1/60 (*.f64 (*.f64 y y) (pow.f64 (cbrt.f64 1/5040) 2)))))
(+.f64 (+.f64 (fma.f64 (cbrt.f64 1/5040) (*.f64 y y) (/.f64 1/360 (pow.f64 (cbrt.f64 1/5040) 2))) (/.f64 -35/54 (*.f64 (pow.f64 (cbrt.f64 1/5040) 2) (pow.f64 y 4)))) (/.f64 1/60 (*.f64 y (*.f64 y (pow.f64 (cbrt.f64 1/5040) 2)))))
(+.f64 (fma.f64 (cbrt.f64 1/5040) (*.f64 y y) (/.f64 1/360 (pow.f64 (cbrt.f64 1/5040) 2))) (+.f64 (/.f64 1/60 (*.f64 (*.f64 y y) (pow.f64 (cbrt.f64 1/5040) 2))) (/.f64 (/.f64 -35/54 (pow.f64 y 4)) (pow.f64 (cbrt.f64 1/5040) 2))))
(+.f64 (/.f64 1/360 (pow.f64 (cbrt.f64 1/5040) 2)) (+.f64 (/.f64 -35/54 (*.f64 (pow.f64 (cbrt.f64 1/5040) 2) (pow.f64 y 4))) (fma.f64 (cbrt.f64 1/5040) (*.f64 y y) (/.f64 1/60 (*.f64 (*.f64 y y) (pow.f64 (cbrt.f64 1/5040) 2))))))
(+.f64 (fma.f64 (cbrt.f64 1/5040) (*.f64 y y) (*.f64 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 2)) (+.f64 1/360 (/.f64 1/60 (*.f64 y y))))) (/.f64 -35/54 (*.f64 (pow.f64 (cbrt.f64 1/5040) 2) (pow.f64 y 4))))
(*.f64 1/5040 (pow.f64 y 6))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (*.f64 1/120 (pow.f64 y 4)))
(fma.f64 1/5040 (pow.f64 y 6) (*.f64 (pow.f64 y 4) 1/120))
(+.f64 (*.f64 (pow.f64 y 2) (+.f64 17/180 (*.f64 (cbrt.f64 1/5040) (+.f64 (*.f64 1/60 (/.f64 1 (cbrt.f64 1/5040))) (+.f64 (*.f64 1/60 (/.f64 1 (cbrt.f64 1/5040))) (*.f64 1/129600 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 4)))))))) (+.f64 (*.f64 1/5040 (pow.f64 y 6)) (*.f64 1/120 (pow.f64 y 4))))
(fma.f64 (*.f64 y y) (+.f64 17/180 (*.f64 (cbrt.f64 1/5040) (+.f64 (/.f64 1/60 (cbrt.f64 1/5040)) (+.f64 (/.f64 1/60 (cbrt.f64 1/5040)) (/.f64 1/129600 (pow.f64 (cbrt.f64 1/5040) 4)))))) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 (pow.f64 y 4) 1/120)))
(fma.f64 (*.f64 y y) (fma.f64 (cbrt.f64 1/5040) (+.f64 (/.f64 1/129600 (*.f64 1/5040 (cbrt.f64 1/5040))) (*.f64 (/.f64 1 (cbrt.f64 1/5040)) 1/30)) 17/180) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 (pow.f64 y 4) 1/120)))
(fma.f64 (*.f64 y y) (+.f64 23/180 (*.f64 (cbrt.f64 1/5040) (/.f64 7/180 (cbrt.f64 1/5040)))) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 (pow.f64 y 4) 1/120)))
(fma.f64 (pow.f64 y 4) 1/120 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))
(+.f64 (*.f64 1/360 (/.f64 (+.f64 (*.f64 1/60 (/.f64 1 (cbrt.f64 1/5040))) (+.f64 (*.f64 1/60 (/.f64 1 (cbrt.f64 1/5040))) (*.f64 1/129600 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 4))))) (pow.f64 (cbrt.f64 1/5040) 2))) (+.f64 (*.f64 -1/3 (+.f64 7/5 (*.f64 1/46656000 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 6))))) (+.f64 7/15 (+.f64 (*.f64 (pow.f64 y 2) (+.f64 17/180 (*.f64 (cbrt.f64 1/5040) (+.f64 (*.f64 1/60 (/.f64 1 (cbrt.f64 1/5040))) (+.f64 (*.f64 1/60 (/.f64 1 (cbrt.f64 1/5040))) (*.f64 1/129600 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 4)))))))) (+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 (cbrt.f64 1/5040) (+.f64 (*.f64 1/10800 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 4))) (*.f64 -2/3 (/.f64 (+.f64 7/5 (*.f64 1/46656000 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 6)))) (cbrt.f64 1/5040)))))))))))
(fma.f64 1/360 (/.f64 (+.f64 (/.f64 1/60 (cbrt.f64 1/5040)) (+.f64 (/.f64 1/60 (cbrt.f64 1/5040)) (/.f64 1/129600 (pow.f64 (cbrt.f64 1/5040) 4)))) (pow.f64 (cbrt.f64 1/5040) 2)) (fma.f64 -1/3 (+.f64 7/5 (/.f64 1/46656000 (pow.f64 (cbrt.f64 1/5040) 6))) (+.f64 7/15 (fma.f64 (*.f64 y y) (+.f64 17/180 (*.f64 (cbrt.f64 1/5040) (+.f64 (/.f64 1/60 (cbrt.f64 1/5040)) (+.f64 (/.f64 1/60 (cbrt.f64 1/5040)) (/.f64 1/129600 (pow.f64 (cbrt.f64 1/5040) 4)))))) (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 (cbrt.f64 1/5040) (+.f64 (/.f64 1/10800 (pow.f64 (cbrt.f64 1/5040) 4)) (/.f64 (*.f64 -2/3 (+.f64 7/5 (/.f64 1/46656000 (pow.f64 (cbrt.f64 1/5040) 6)))) (cbrt.f64 1/5040))))))))))
(fma.f64 1/360 (/.f64 (+.f64 (/.f64 1/129600 (*.f64 1/5040 (cbrt.f64 1/5040))) (*.f64 (/.f64 1 (cbrt.f64 1/5040)) 1/30)) (pow.f64 (cbrt.f64 1/5040) 2)) (+.f64 (fma.f64 (*.f64 y y) (fma.f64 (cbrt.f64 1/5040) (+.f64 (/.f64 1/129600 (*.f64 1/5040 (cbrt.f64 1/5040))) (*.f64 (/.f64 1 (cbrt.f64 1/5040)) 1/30)) 17/180) (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 (pow.f64 y 4) 1/120 (*.f64 (cbrt.f64 1/5040) (+.f64 (/.f64 1/10800 (*.f64 1/5040 (cbrt.f64 1/5040))) (/.f64 -35/27 (cbrt.f64 1/5040))))))) -49/270))
(+.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 (*.f64 y y) (+.f64 23/180 (*.f64 (cbrt.f64 1/5040) (/.f64 7/180 (cbrt.f64 1/5040)))) (fma.f64 (cbrt.f64 1/5040) (+.f64 (/.f64 7/15 (cbrt.f64 1/5040)) (/.f64 -35/27 (cbrt.f64 1/5040))) (*.f64 (pow.f64 y 4) 1/120)))) (fma.f64 1/360 (/.f64 (+.f64 (/.f64 7/180 (cbrt.f64 1/5040)) (/.f64 1/30 (cbrt.f64 1/5040))) (pow.f64 (cbrt.f64 1/5040) 2)) -49/270))
(+.f64 (/.f64 (+.f64 (/.f64 7/64800 (cbrt.f64 1/5040)) (/.f64 1/10800 (cbrt.f64 1/5040))) (pow.f64 (cbrt.f64 1/5040) 2)) (+.f64 (fma.f64 (pow.f64 y 4) 1/120 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6)))) -91/90))
(+.f64 (/.f64 (*.f64 (/.f64 1/360 (cbrt.f64 1/5040)) 13/180) (pow.f64 (cbrt.f64 1/5040) 2)) (+.f64 (fma.f64 (pow.f64 y 4) 1/120 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6)))) -91/90))
(*.f64 1/5040 (pow.f64 y 6))
(+.f64 (*.f64 1/5040 (pow.f64 y 6)) (*.f64 1/120 (pow.f64 y 4)))
(fma.f64 1/5040 (pow.f64 y 6) (*.f64 (pow.f64 y 4) 1/120))
(+.f64 (*.f64 (pow.f64 y 2) (+.f64 17/180 (*.f64 (cbrt.f64 1/5040) (+.f64 (*.f64 1/60 (/.f64 1 (cbrt.f64 1/5040))) (+.f64 (*.f64 1/60 (/.f64 1 (cbrt.f64 1/5040))) (*.f64 1/129600 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 4)))))))) (+.f64 (*.f64 1/5040 (pow.f64 y 6)) (*.f64 1/120 (pow.f64 y 4))))
(fma.f64 (*.f64 y y) (+.f64 17/180 (*.f64 (cbrt.f64 1/5040) (+.f64 (/.f64 1/60 (cbrt.f64 1/5040)) (+.f64 (/.f64 1/60 (cbrt.f64 1/5040)) (/.f64 1/129600 (pow.f64 (cbrt.f64 1/5040) 4)))))) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 (pow.f64 y 4) 1/120)))
(fma.f64 (*.f64 y y) (fma.f64 (cbrt.f64 1/5040) (+.f64 (/.f64 1/129600 (*.f64 1/5040 (cbrt.f64 1/5040))) (*.f64 (/.f64 1 (cbrt.f64 1/5040)) 1/30)) 17/180) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 (pow.f64 y 4) 1/120)))
(fma.f64 (*.f64 y y) (+.f64 23/180 (*.f64 (cbrt.f64 1/5040) (/.f64 7/180 (cbrt.f64 1/5040)))) (fma.f64 1/5040 (pow.f64 y 6) (*.f64 (pow.f64 y 4) 1/120)))
(fma.f64 (pow.f64 y 4) 1/120 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6))))
(+.f64 (*.f64 1/360 (/.f64 (+.f64 (*.f64 1/60 (/.f64 1 (cbrt.f64 1/5040))) (+.f64 (*.f64 1/60 (/.f64 1 (cbrt.f64 1/5040))) (*.f64 1/129600 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 4))))) (pow.f64 (cbrt.f64 1/5040) 2))) (+.f64 (*.f64 -1/3 (+.f64 7/5 (*.f64 1/46656000 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 6))))) (+.f64 7/15 (+.f64 (*.f64 (pow.f64 y 2) (+.f64 17/180 (*.f64 (cbrt.f64 1/5040) (+.f64 (*.f64 1/60 (/.f64 1 (cbrt.f64 1/5040))) (+.f64 (*.f64 1/60 (/.f64 1 (cbrt.f64 1/5040))) (*.f64 1/129600 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 4)))))))) (+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 (cbrt.f64 1/5040) (+.f64 (*.f64 1/10800 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 4))) (*.f64 -2/3 (/.f64 (+.f64 7/5 (*.f64 1/46656000 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 6)))) (cbrt.f64 1/5040)))))))))))
(fma.f64 1/360 (/.f64 (+.f64 (/.f64 1/60 (cbrt.f64 1/5040)) (+.f64 (/.f64 1/60 (cbrt.f64 1/5040)) (/.f64 1/129600 (pow.f64 (cbrt.f64 1/5040) 4)))) (pow.f64 (cbrt.f64 1/5040) 2)) (fma.f64 -1/3 (+.f64 7/5 (/.f64 1/46656000 (pow.f64 (cbrt.f64 1/5040) 6))) (+.f64 7/15 (fma.f64 (*.f64 y y) (+.f64 17/180 (*.f64 (cbrt.f64 1/5040) (+.f64 (/.f64 1/60 (cbrt.f64 1/5040)) (+.f64 (/.f64 1/60 (cbrt.f64 1/5040)) (/.f64 1/129600 (pow.f64 (cbrt.f64 1/5040) 4)))))) (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 (cbrt.f64 1/5040) (+.f64 (/.f64 1/10800 (pow.f64 (cbrt.f64 1/5040) 4)) (/.f64 (*.f64 -2/3 (+.f64 7/5 (/.f64 1/46656000 (pow.f64 (cbrt.f64 1/5040) 6)))) (cbrt.f64 1/5040))))))))))
(fma.f64 1/360 (/.f64 (+.f64 (/.f64 1/129600 (*.f64 1/5040 (cbrt.f64 1/5040))) (*.f64 (/.f64 1 (cbrt.f64 1/5040)) 1/30)) (pow.f64 (cbrt.f64 1/5040) 2)) (+.f64 (fma.f64 (*.f64 y y) (fma.f64 (cbrt.f64 1/5040) (+.f64 (/.f64 1/129600 (*.f64 1/5040 (cbrt.f64 1/5040))) (*.f64 (/.f64 1 (cbrt.f64 1/5040)) 1/30)) 17/180) (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 (pow.f64 y 4) 1/120 (*.f64 (cbrt.f64 1/5040) (+.f64 (/.f64 1/10800 (*.f64 1/5040 (cbrt.f64 1/5040))) (/.f64 -35/27 (cbrt.f64 1/5040))))))) -49/270))
(+.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 (*.f64 y y) (+.f64 23/180 (*.f64 (cbrt.f64 1/5040) (/.f64 7/180 (cbrt.f64 1/5040)))) (fma.f64 (cbrt.f64 1/5040) (+.f64 (/.f64 7/15 (cbrt.f64 1/5040)) (/.f64 -35/27 (cbrt.f64 1/5040))) (*.f64 (pow.f64 y 4) 1/120)))) (fma.f64 1/360 (/.f64 (+.f64 (/.f64 7/180 (cbrt.f64 1/5040)) (/.f64 1/30 (cbrt.f64 1/5040))) (pow.f64 (cbrt.f64 1/5040) 2)) -49/270))
(+.f64 (/.f64 (+.f64 (/.f64 7/64800 (cbrt.f64 1/5040)) (/.f64 1/10800 (cbrt.f64 1/5040))) (pow.f64 (cbrt.f64 1/5040) 2)) (+.f64 (fma.f64 (pow.f64 y 4) 1/120 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6)))) -91/90))
(+.f64 (/.f64 (*.f64 (/.f64 1/360 (cbrt.f64 1/5040)) 13/180) (pow.f64 (cbrt.f64 1/5040) 2)) (+.f64 (fma.f64 (pow.f64 y 4) 1/120 (fma.f64 1/5040 (pow.f64 y 6) (*.f64 y (*.f64 y 1/6)))) -91/90))
(*.f64 1/6 (pow.f64 y 2))
(*.f64 (*.f64 y y) 1/6)
(*.f64 y (*.f64 y 1/6))
(+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 (*.f64 y y) 1/6))
(fma.f64 (pow.f64 y 4) 1/120 (*.f64 y (*.f64 y 1/6)))
(fma.f64 y (*.f64 y 1/6) (*.f64 (pow.f64 y 4) 1/120))
(+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 (*.f64 y y) 1/6))
(fma.f64 (pow.f64 y 4) 1/120 (*.f64 y (*.f64 y 1/6)))
(fma.f64 y (*.f64 y 1/6) (*.f64 (pow.f64 y 4) 1/120))
(+.f64 (*.f64 1/120 (pow.f64 y 4)) (*.f64 1/6 (pow.f64 y 2)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 (*.f64 y y) 1/6))
(fma.f64 (pow.f64 y 4) 1/120 (*.f64 y (*.f64 y 1/6)))
(fma.f64 y (*.f64 y 1/6) (*.f64 (pow.f64 y 4) 1/120))
(*.f64 1/120 (pow.f64 y 4))
(*.f64 (pow.f64 y 4) 1/120)
(+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 (*.f64 y y) 1/6))
(fma.f64 (pow.f64 y 4) 1/120 (*.f64 y (*.f64 y 1/6)))
(fma.f64 y (*.f64 y 1/6) (*.f64 (pow.f64 y 4) 1/120))
(+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 (*.f64 y y) 1/6))
(fma.f64 (pow.f64 y 4) 1/120 (*.f64 y (*.f64 y 1/6)))
(fma.f64 y (*.f64 y 1/6) (*.f64 (pow.f64 y 4) 1/120))
(+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 (*.f64 y y) 1/6))
(fma.f64 (pow.f64 y 4) 1/120 (*.f64 y (*.f64 y 1/6)))
(fma.f64 y (*.f64 y 1/6) (*.f64 (pow.f64 y 4) 1/120))
(*.f64 1/120 (pow.f64 y 4))
(*.f64 (pow.f64 y 4) 1/120)
(+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 (*.f64 y y) 1/6))
(fma.f64 (pow.f64 y 4) 1/120 (*.f64 y (*.f64 y 1/6)))
(fma.f64 y (*.f64 y 1/6) (*.f64 (pow.f64 y 4) 1/120))
(+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 (*.f64 y y) 1/6))
(fma.f64 (pow.f64 y 4) 1/120 (*.f64 y (*.f64 y 1/6)))
(fma.f64 y (*.f64 y 1/6) (*.f64 (pow.f64 y 4) 1/120))
(+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))
(fma.f64 1/120 (pow.f64 y 4) (*.f64 (*.f64 y y) 1/6))
(fma.f64 (pow.f64 y 4) 1/120 (*.f64 y (*.f64 y 1/6)))
(fma.f64 y (*.f64 y 1/6) (*.f64 (pow.f64 y 4) 1/120))

eval243.0ms (2.1%)

Compiler

Compiled 10903 to 7521 computations (31% saved)

prune79.0ms (0.7%)

Pruning

22 alts after pruning (13 fresh and 9 done)

PrunedKeptTotal
New46412476
Fresh213
Picked101
Done1910
Total46822490
Error
0.2b
Counts
490 → 22
Alt Table
Click to see full alt table
StatusErrorProgram
0.8b
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (+.f64 0 (*.f64 1/6 (*.f64 y y))) (expm1.f64 (log1p.f64 (*.f64 1/120 (pow.f64 y 4))))))))
60.9b
(*.f64 (*.f64 x (*.f64 1/6 y)) y)
61.6b
(+.f64 (*.f64 y (*.f64 (*.f64 y x) 1/6)) (*.f64 x (*.f64 (*.f64 y y) (*.f64 x (*.f64 x -1/36)))))
61.1b
(*.f64 1/5040 (*.f64 (pow.f64 y 6) x))
0.8b
(*.f64 (sin.f64 x) (+.f64 1 (pow.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (+.f64 (*.f64 y (*.f64 y 1/6)) (*.f64 1/120 (pow.f64 y 4))))) 3)))
63.3b
(*.f64 (sin.f64 x) (+.f64 1 (pow.f64 (fma.f64 (cbrt.f64 1/5040) (*.f64 y y) (*.f64 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 2)) (+.f64 1/360 (/.f64 1/60 (*.f64 y y))))) 3)))
60.9b
(*.f64 1/6 (*.f64 y (*.f64 y x)))
30.8b
x
0.8b
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (+.f64 0 (*.f64 1/6 (*.f64 y y))) (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 1/120))))))
0.4b
(*.f64 (sin.f64 x) (*.f64 (/.f64 1 y) (sinh.f64 y)))
1.1b
(sin.f64 x)
60.9b
(*.f64 (*.f64 (*.f64 y y) x) 1/6)
30.8b
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) x)
61.6b
(*.f64 (+.f64 0 (*.f64 y (*.f64 y x))) (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))))
60.9b
(*.f64 y (*.f64 y (*.f64 1/6 x)))
60.7b
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
1.0b
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (*.f64 y y))))
61.6b
(*.f64 (*.f64 (*.f64 y y) x) (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))))
0.3b
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
61.2b
(-.f64 (+.f64 1 (*.f64 1/6 (*.f64 y (*.f64 y x)))) 1)
30.7b
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) x)
61.6b
(*.f64 (*.f64 (*.f64 y y) x) (+.f64 1/6 (+.f64 0 (*.f64 x (*.f64 x -1/36)))))
Compiler

Compiled 311 to 226 computations (27.3% saved)

regimes267.0ms (2.3%)

Counts
33 → 1
Calls
Call 1
Inputs
x
(*.f64 (*.f64 x (*.f64 1/6 y)) y)
(*.f64 (*.f64 (*.f64 y y) x) 1/6)
(*.f64 y (*.f64 y (*.f64 1/6 x)))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 y (*.f64 x (*.f64 1/6 y)))
(-.f64 (+.f64 1 (*.f64 1/6 (*.f64 y (*.f64 y x)))) 1)
(*.f64 (*.f64 (*.f64 y y) x) (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))))
(*.f64 (+.f64 0 (*.f64 y (*.f64 y x))) (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))))
(*.f64 (*.f64 (*.f64 y y) x) (+.f64 1/6 (+.f64 0 (*.f64 x (*.f64 x -1/36)))))
(+.f64 (*.f64 y (*.f64 (*.f64 y x) 1/6)) (*.f64 x (*.f64 (*.f64 y y) (*.f64 x (*.f64 x -1/36)))))
(sin.f64 x)
(*.f64 1/5040 (*.f64 (pow.f64 y 6) x))
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) x)
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) x)
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) x)
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (*.f64 y y))))
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
(*.f64 (pow.f64 y 4) (*.f64 1/120 (sin.f64 x)))
(*.f64 (sin.f64 x) (*.f64 (/.f64 1 y) (sinh.f64 y)))
(*.f64 (sin.f64 x) (fma.f64 y (*.f64 y 1/6) 1))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))))
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (+.f64 0 (*.f64 1/6 (*.f64 y y))) (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 1/120))))))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 (pow.f64 y 4) (fma.f64 y (*.f64 y 1/5040) 1/120))))
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4)))))
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (+.f64 0 (*.f64 1/6 (*.f64 y y))) (*.f64 1/120 (pow.f64 y 4))))))
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/6 (pow.f64 y 2)) (*.f64 1/120 (pow.f64 y 4))))))
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (+.f64 0 (*.f64 1/6 (*.f64 y y))) (expm1.f64 (log1p.f64 (*.f64 1/120 (pow.f64 y 4))))))))
(*.f64 (sin.f64 x) (+.f64 1 (pow.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (+.f64 (*.f64 y (*.f64 y 1/6)) (*.f64 1/120 (pow.f64 y 4))))) 3)))
(*.f64 (sin.f64 x) (+.f64 1 (+.f64 (*.f64 1/5040 (pow.f64 y 6)) (+.f64 (*.f64 1/6 (pow.f64 y 2)) (expm1.f64 (log1p.f64 (*.f64 1/120 (pow.f64 y 4))))))))
(*.f64 (sin.f64 x) (+.f64 1 (pow.f64 (fma.f64 (cbrt.f64 1/5040) (*.f64 y y) (*.f64 (/.f64 1 (pow.f64 (cbrt.f64 1/5040) 2)) (+.f64 1/360 (/.f64 1/60 (*.f64 y y))))) 3)))
(*.f64 (sin.f64 x) (+.f64 1 (pow.f64 (cbrt.f64 (fma.f64 1/5040 (pow.f64 y 6) (fma.f64 y (*.f64 y 1/6) (*.f64 1/120 (pow.f64 y 4))))) 3)))
Outputs
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
Calls

5 calls:

187.0ms
x
29.0ms
y
16.0ms
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
15.0ms
(sin.f64 x)
5.0ms
(/.f64 (sinh.f64 y) y)
Results
ErrorSegmentsBranch
0.3b1x
0.3b1y
0.3b1(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
0.3b1(sin.f64 x)
0.3b1(/.f64 (sinh.f64 y) y)
Compiler

Compiled 460 to 294 computations (36.1% saved)

regimes87.0ms (0.8%)

Counts
18 → 1
Calls
Call 1
Inputs
x
(*.f64 (*.f64 x (*.f64 1/6 y)) y)
(*.f64 (*.f64 (*.f64 y y) x) 1/6)
(*.f64 y (*.f64 y (*.f64 1/6 x)))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 y (*.f64 x (*.f64 1/6 y)))
(-.f64 (+.f64 1 (*.f64 1/6 (*.f64 y (*.f64 y x)))) 1)
(*.f64 (*.f64 (*.f64 y y) x) (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))))
(*.f64 (+.f64 0 (*.f64 y (*.f64 y x))) (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))))
(*.f64 (*.f64 (*.f64 y y) x) (+.f64 1/6 (+.f64 0 (*.f64 x (*.f64 x -1/36)))))
(+.f64 (*.f64 y (*.f64 (*.f64 y x) 1/6)) (*.f64 x (*.f64 (*.f64 y y) (*.f64 x (*.f64 x -1/36)))))
(sin.f64 x)
(*.f64 1/5040 (*.f64 (pow.f64 y 6) x))
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) x)
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) x)
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) x)
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (*.f64 y y))))
Outputs
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (*.f64 y y))))
Calls

3 calls:

37.0ms
(sin.f64 x)
20.0ms
y
19.0ms
x
Results
ErrorSegmentsBranch
1.0b1x
1.0b1y
1.0b1(sin.f64 x)
Compiler

Compiled 173 to 96 computations (44.5% saved)

regimes172.0ms (1.5%)

Counts
17 → 1
Calls
Call 1
Inputs
x
(*.f64 (*.f64 x (*.f64 1/6 y)) y)
(*.f64 (*.f64 (*.f64 y y) x) 1/6)
(*.f64 y (*.f64 y (*.f64 1/6 x)))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 y (*.f64 x (*.f64 1/6 y)))
(-.f64 (+.f64 1 (*.f64 1/6 (*.f64 y (*.f64 y x)))) 1)
(*.f64 (*.f64 (*.f64 y y) x) (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))))
(*.f64 (+.f64 0 (*.f64 y (*.f64 y x))) (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))))
(*.f64 (*.f64 (*.f64 y y) x) (+.f64 1/6 (+.f64 0 (*.f64 x (*.f64 x -1/36)))))
(+.f64 (*.f64 y (*.f64 (*.f64 y x) 1/6)) (*.f64 x (*.f64 (*.f64 y y) (*.f64 x (*.f64 x -1/36)))))
(sin.f64 x)
(*.f64 1/5040 (*.f64 (pow.f64 y 6) x))
(*.f64 (fma.f64 y (*.f64 1/6 y) 1) x)
(*.f64 1/6 (*.f64 y (*.f64 y (sin.f64 x))))
(*.f64 (fma.f64 1/6 (*.f64 y y) 1) x)
(*.f64 (+.f64 1 (*.f64 1/5040 (pow.f64 y 6))) x)
Outputs
(sin.f64 x)
Calls

3 calls:

72.0ms
(sin.f64 x)
68.0ms
y
22.0ms
x
Results
ErrorSegmentsBranch
1.1b1x
1.1b1y
1.1b1(sin.f64 x)
Compiler

Compiled 163 to 91 computations (44.2% saved)

regimes61.0ms (0.5%)

Accuracy

Total -31.2b remaining (-101.5%)

Threshold costs -31.2b (-101.5%)

Counts
11 → 1
Calls
Call 1
Inputs
x
(*.f64 (*.f64 x (*.f64 1/6 y)) y)
(*.f64 (*.f64 (*.f64 y y) x) 1/6)
(*.f64 y (*.f64 y (*.f64 1/6 x)))
(*.f64 1/6 (*.f64 y (*.f64 y x)))
(*.f64 y (*.f64 x (*.f64 1/6 y)))
(-.f64 (+.f64 1 (*.f64 1/6 (*.f64 y (*.f64 y x)))) 1)
(*.f64 (*.f64 (*.f64 y y) x) (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))))
(*.f64 (+.f64 0 (*.f64 y (*.f64 y x))) (+.f64 1/6 (*.f64 -1/36 (*.f64 x x))))
(*.f64 (*.f64 (*.f64 y y) x) (+.f64 1/6 (+.f64 0 (*.f64 x (*.f64 x -1/36)))))
(+.f64 (*.f64 y (*.f64 (*.f64 y x) 1/6)) (*.f64 x (*.f64 (*.f64 y y) (*.f64 x (*.f64 x -1/36)))))
Outputs
x
Calls

2 calls:

40.0ms
x
13.0ms
y
Results
ErrorSegmentsBranch
30.8b1x
30.8b1y
Compiler

Compiled 117 to 62 computations (47% saved)

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01330
11930
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (*.f64 y y))))
(sin.f64 x)
x
Outputs
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 1/6 (*.f64 y y))))
(sin.f64 x)
x
Compiler

Compiled 28 to 20 computations (28.6% saved)

soundness0.0ms (0%)

end173.0ms (1.5%)

Compiler

Compiled 22 to 12 computations (45.5% saved)

Profiling

Loading profile data...