Details

Time bar (total: 14.4s)

analyze1.0ms (0%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
99.9%0%0.1%1
Compiler

Compiled 10 to 7 computations (30% saved)

sample6.1s (42.6%)

Results
3.0s3680×body1024valid
2.0s1196×body2048valid
614.0ms1332×body512valid
476.0ms2046×body256valid
4.0msbody4096valid

preprocess27.0ms (0.2%)

Algorithm
egg-herbie
Rules
76×fma-def_binary64
57×fma-neg_binary64
27×cancel-sign-sub-inv_binary64
24×sub-neg_binary64
18×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01122
11722
22522
33822
45322
58122
614122
719922
828422
935522
1040722
1141122
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 eps))
Outputs
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 eps))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 eps))
Compiler

Compiled 11 to 8 computations (27.3% saved)

simplify13.0ms (0.1%)

Algorithm
egg-herbie
Rules
39×fma-def_binary64
32×fma-neg_binary64
15×cancel-sign-sub-inv_binary64
12×sub-neg_binary64
10×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
11011
21511
32211
43111
54811
68611
712311
816711
920311
1022911
1123111
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Outputs
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))

eval0.0ms (0%)

Compiler

Compiled 9 to 6 computations (33.3% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
39.1b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
39.1b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 9 to 6 computations (33.3% saved)

localize31.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
1.2b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
3.0b
(sin.f64 (+.f64 x eps))
Compiler

Compiled 20 to 6 computations (70% saved)

series6.0ms (0%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
eps
@inf
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
1.0ms
x
@0
(sin.f64 (+.f64 x eps))
1.0ms
eps
@0
(sin.f64 (+.f64 x eps))
1.0ms
eps
@0
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
0.0ms
eps
@-inf
(sin.f64 (+.f64 x eps))

rewrite105.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
587×unpow-prod-down_binary64
464×fma-def_binary64
445×log-prod_binary64
279×pow-prod-down_binary64
265×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
117317
2274517
Stop Event
node limit
Counts
2 → 171
Calls
Call 1
Inputs
(sin.f64 (+.f64 x eps))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 1) (*.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (+.f64 x eps))))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (+.f64 x eps)))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (+.f64 x eps)))) (sin.f64 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 (/.f64 (*.f64 x x) (-.f64 x eps))) (cos.f64 (/.f64 (*.f64 eps eps) (-.f64 x eps)))) (*.f64 (cos.f64 (/.f64 (*.f64 x x) (-.f64 x eps))) (sin.f64 (/.f64 (*.f64 eps eps) (-.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (+.f64 x eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 2) (cbrt.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 (+.f64 x eps)))) 2) 3) (cbrt.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (sin.f64 (+.f64 x eps)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (sin.f64 (+.f64 x eps)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 (+.f64 x eps)) (cbrt.f64 (sin.f64 (+.f64 x eps)))) 2) 1/3) (cbrt.f64 (cbrt.f64 (sin.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (sqrt.f64 (sin.f64 (+.f64 x eps)))) 1/3) (cbrt.f64 (sqrt.f64 (sin.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3)) (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (*.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2)) (sin.f64 (-.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 (+.f64 x eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sin.f64 (+.f64 x eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 1 (*.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (*.f64 (sin.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (*.f64 (sin.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (*.f64 (cos.f64 x) (sin.f64 eps)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 (+.f64 x eps)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 (+.f64 x eps)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sin.f64 x)) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (pow.f64 (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (pow.f64 (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2))) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) 1) (pow.f64 (-.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 2 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2))) 1) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 2) 1/3) (cbrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 1/3) (cbrt.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) 2) 1/3) (cbrt.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 2) 3) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3))) (neg.f64 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2))) (neg.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (neg.f64 (sin.f64 x)) 3)) (+.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (-.f64 (pow.f64 (neg.f64 (sin.f64 x)) 2) (*.f64 (sin.f64 (+.f64 x eps)) (neg.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (neg.f64 (sin.f64 x)) 2)) (-.f64 (sin.f64 (+.f64 x eps)) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))) (exp.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (sin.f64 (+.f64 x eps))) (+.f64 1 (expm1.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))) (+.f64 1 (expm1.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))) (exp.f64 (neg.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))) (/.f64 1 (exp.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (exp.f64 (sin.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (sin.f64 x))) (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 (+.f64 x eps)) 1 (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 (+.f64 x eps)) 1 (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1 (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1 (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1 (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sin.f64 (+.f64 x eps)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sin.f64 (+.f64 x eps)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (sin.f64 x)) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (neg.f64 (cbrt.f64 (sin.f64 x))) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 2) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 2) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 2) (cbrt.f64 (sin.f64 (+.f64 x eps))) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 2) (cbrt.f64 (sin.f64 (+.f64 x eps))) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (neg.f64 (sqrt.f64 (sin.f64 x))) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 (+.f64 x eps))) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 (+.f64 x eps))) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2 (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2 (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2 (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 (sin.f64 x))) 2) (cbrt.f64 (neg.f64 (sin.f64 x))) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (sin.f64 x))) (sqrt.f64 (neg.f64 (sin.f64 x))) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (sin.f64 x))) (sqrt.f64 (sin.f64 x)) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (sin.f64 x) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (cbrt.f64 (sin.f64 x)) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2))) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2))) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2))) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))))

simplify84.0ms (0.6%)

Algorithm
egg-herbie
Rules
889×fma-neg_binary64
469×neg-sub0_binary64
426×neg-mul-1_binary64
346×distribute-rgt-neg-in_binary64
302×distribute-rgt-neg-out_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
068580
1191575
2466561
31747560
45053547
Stop Event
node limit
Counts
219 → 205
Calls
Call 1
Inputs
(sin.f64 eps)
(+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (sin.f64 eps))))
(sin.f64 (+.f64 eps x))
(sin.f64 (+.f64 eps x))
(sin.f64 (+.f64 eps x))
(sin.f64 (+.f64 eps x))
(sin.f64 (-.f64 eps (*.f64 -1 x)))
(sin.f64 (-.f64 eps (*.f64 -1 x)))
(sin.f64 (-.f64 eps (*.f64 -1 x)))
(sin.f64 (-.f64 eps (*.f64 -1 x)))
(sin.f64 x)
(+.f64 (*.f64 (cos.f64 x) eps) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(sin.f64 (+.f64 eps x))
(sin.f64 (+.f64 eps x))
(sin.f64 (+.f64 eps x))
(sin.f64 (+.f64 eps x))
(sin.f64 (-.f64 x (*.f64 -1 eps)))
(sin.f64 (-.f64 x (*.f64 -1 eps)))
(sin.f64 (-.f64 x (*.f64 -1 eps)))
(sin.f64 (-.f64 x (*.f64 -1 eps)))
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3)) (sin.f64 eps))))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(*.f64 (cos.f64 x) eps)
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
Outputs
(sin.f64 eps)
(+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps))
(fma.f64 (cos.f64 eps) x (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (sin.f64 eps)))
(fma.f64 (cos.f64 eps) x (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (sin.f64 eps)))
(fma.f64 x (+.f64 (cos.f64 eps) (*.f64 x (*.f64 (sin.f64 eps) -1/2))) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (sin.f64 eps))))
(+.f64 (*.f64 (cos.f64 eps) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)) (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 eps) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (sin.f64 eps)))
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 (cos.f64 eps) (fma.f64 -1/6 (pow.f64 x 3) x) (sin.f64 eps)))
(sin.f64 (+.f64 eps x))
(sin.f64 (+.f64 eps x))
(sin.f64 (+.f64 eps x))
(sin.f64 (+.f64 eps x))
(sin.f64 (-.f64 eps (*.f64 -1 x)))
(sin.f64 (+.f64 eps x))
(sin.f64 (-.f64 eps (*.f64 -1 x)))
(sin.f64 (+.f64 eps x))
(sin.f64 (-.f64 eps (*.f64 -1 x)))
(sin.f64 (+.f64 eps x))
(sin.f64 (-.f64 eps (*.f64 -1 x)))
(sin.f64 (+.f64 eps x))
(sin.f64 x)
(+.f64 (*.f64 (cos.f64 x) eps) (sin.f64 x))
(fma.f64 (cos.f64 x) eps (sin.f64 x))
(fma.f64 eps (cos.f64 x) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (fma.f64 (cos.f64 x) eps (sin.f64 x)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))
(fma.f64 eps (cos.f64 x) (fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (sin.f64 x)))
(fma.f64 eps (cos.f64 x) (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(+.f64 (fma.f64 (cos.f64 x) eps (sin.f64 x)) (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))))
(+.f64 (sin.f64 x) (+.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))))
(+.f64 (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(+.f64 (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps)))
(sin.f64 (+.f64 eps x))
(sin.f64 (+.f64 eps x))
(sin.f64 (+.f64 eps x))
(sin.f64 (+.f64 eps x))
(sin.f64 (-.f64 x (*.f64 -1 eps)))
(sin.f64 (+.f64 eps x))
(sin.f64 (-.f64 x (*.f64 -1 eps)))
(sin.f64 (+.f64 eps x))
(sin.f64 (-.f64 x (*.f64 -1 eps)))
(sin.f64 (+.f64 eps x))
(sin.f64 (-.f64 x (*.f64 -1 eps)))
(sin.f64 (+.f64 eps x))
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(fma.f64 (-.f64 (cos.f64 eps) 1) x (sin.f64 eps))
(fma.f64 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps))
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (-.f64 (cos.f64 eps) 1) x (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps)))
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps)))
(-.f64 (fma.f64 (cos.f64 eps) x (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (sin.f64 eps))) x)
(-.f64 (fma.f64 x (+.f64 (cos.f64 eps) (*.f64 x (*.f64 (sin.f64 eps) -1/2))) (sin.f64 eps)) x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3)) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (-.f64 (cos.f64 eps) 1) x (fma.f64 (fma.f64 -1/6 (cos.f64 eps) 1/6) (pow.f64 x 3) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 (pow.f64 x 3) (fma.f64 (cos.f64 eps) -1/6 1/6) (sin.f64 eps))))
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 (pow.f64 x 3) (fma.f64 (cos.f64 eps) -1/6 1/6) (sin.f64 eps))))
(fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 (*.f64 x x) (+.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 x (fma.f64 (cos.f64 eps) -1/6 1/6))) (sin.f64 eps)))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 (cos.f64 x) eps (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))
(fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))
(fma.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)) (*.f64 eps (cos.f64 x)))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))))
(+.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 eps (*.f64 -1/2 (*.f64 eps (sin.f64 x)))))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))))
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (+.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 1/24 (pow.f64 eps 4)))))
(fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 1/24 (pow.f64 eps 4)))))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))

eval98.0ms (0.7%)

Compiler

Compiled 3642 to 1131 computations (68.9% saved)

prune85.0ms (0.6%)

Pruning

36 alts after pruning (36 fresh and 0 done)

PrunedKeptTotal
New16936205
Fresh000
Picked101
Done000
Total17036206
Error
0.1b
Counts
206 → 36
Alt Table
Click to see full alt table
StatusErrorProgram
39.5b
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)
32.2b
(-.f64 (log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps))))) (sin.f64 x))
44.0b
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3))
24.4b
(-.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
47.4b
(-.f64 (log.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps))))) (sin.f64 x))
23.8b
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
47.3b
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
49.8b
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x))
29.7b
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x)))))
39.8b
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x))
29.4b
(*.f64 (cos.f64 x) eps)
61.1b
(-.f64 (sin.f64 x) (sin.f64 x))
47.2b
(log.f64 (/.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))) (exp.f64 (sin.f64 x))))
30.7b
(fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 (*.f64 x x) (+.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 x (fma.f64 (cos.f64 eps) -1/6 1/6))) (sin.f64 eps)))
23.8b
(fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
23.8b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
47.1b
(log.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
40.1b
(-.f64 (fma.f64 x (+.f64 (cos.f64 eps) (*.f64 x (*.f64 (sin.f64 eps) -1/2))) (sin.f64 eps)) x)
50.0b
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))
30.7b
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
45.9b
(fma.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
39.3b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)
23.8b
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
24.4b
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
45.9b
(-.f64 (fma.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
39.1b
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
29.1b
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
40.2b
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x))
24.4b
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
39.1b
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
40.0b
(*.f64 (pow.f64 (cbrt.f64 2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
44.0b
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3)) (sin.f64 x))
30.1b
(fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 1/24 (pow.f64 eps 4)))))
39.3b
(-.f64 (sin.f64 eps) (sin.f64 x))
47.2b
(-.f64 (-.f64 (exp.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) 1) (sin.f64 x))
23.8b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
Compiler

Compiled 1118 to 734 computations (34.3% saved)

localize32.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 eps)
0.1b
(*.f64 (cos.f64 x) (sin.f64 eps))
0.1b
(fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))
2.5b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
Compiler

Compiled 40 to 9 computations (77.5% saved)

series21.0ms (0.1%)

Counts
4 → 60
Calls

21 calls:

TimeVariablePointExpression
4.0ms
eps
@0
(cos.f64 eps)
2.0ms
eps
@inf
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
2.0ms
eps
@-inf
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
2.0ms
x
@inf
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
1.0ms
x
@-inf
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))

rewrite95.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
710×prod-diff_binary64
515×log-prod_binary64
333×pow-prod-down_binary64
289×pow2_binary64
281×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01048
120748
2273328
Stop Event
node limit
Counts
4 → 175
Calls
Call 1
Inputs
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
(fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))
(*.f64 (cos.f64 x) (sin.f64 eps))
(cos.f64 eps)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 (+.f64 x eps)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 (+.f64 x eps)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (fma.f64 -1 (sin.f64 x) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (cbrt.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sin.f64 x)) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 x) (sin.f64 (+.f64 x eps))) (pow.f64 (sin.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 x) (sin.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 x) (sin.f64 (+.f64 x eps))) (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (sin.f64 x) (sin.f64 (+.f64 x eps))) (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (fma.f64 (sin.f64 x) (+.f64 (sin.f64 x) (sin.f64 (+.f64 x eps))) (pow.f64 (sin.f64 (+.f64 x eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (+.f64 (sin.f64 x) (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3))) (neg.f64 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 x) (sin.f64 (+.f64 x eps))) (pow.f64 (sin.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2))) (neg.f64 (+.f64 (sin.f64 x) (sin.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (neg.f64 (sin.f64 x)) 3)) (+.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (-.f64 (pow.f64 (neg.f64 (sin.f64 x)) 2) (*.f64 (sin.f64 (+.f64 x eps)) (neg.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (neg.f64 (sin.f64 x)) 2)) (-.f64 (sin.f64 (+.f64 x eps)) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 x) (sin.f64 (+.f64 x eps))) (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (sin.f64 x) (sin.f64 (+.f64 x eps))) (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))) (exp.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (sin.f64 (+.f64 x eps))) (+.f64 1 (expm1.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))) (+.f64 1 (expm1.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))) (exp.f64 (neg.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))) (/.f64 1 (exp.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (exp.f64 (sin.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (sin.f64 x))) (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 (+.f64 x eps)) 1 (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 (+.f64 x eps)) 1 (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1 (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1 (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1 (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sin.f64 (+.f64 x eps)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sin.f64 (+.f64 x eps)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (sin.f64 x)) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 2) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 2) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 2) (cbrt.f64 (sin.f64 (+.f64 x eps))) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 2) (cbrt.f64 (sin.f64 (+.f64 x eps))) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (neg.f64 (cbrt.f64 (sin.f64 x))) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 (+.f64 x eps))) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 (+.f64 x eps))) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (neg.f64 (sqrt.f64 (sin.f64 x))) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 x) (sin.f64 (+.f64 x eps))) (pow.f64 (sin.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 x) (sin.f64 (+.f64 x eps))) (pow.f64 (sin.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 x) (sin.f64 (+.f64 x eps))) (pow.f64 (sin.f64 (+.f64 x eps)) 2))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 x) (sin.f64 (+.f64 x eps)))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 x) (sin.f64 (+.f64 x eps)))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 x) (sin.f64 (+.f64 x eps)))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 (sin.f64 x))) 2) (cbrt.f64 (neg.f64 (sin.f64 x))) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (sin.f64 x))) (sqrt.f64 (neg.f64 (sin.f64 x))) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (sin.f64 x))) (sqrt.f64 (sin.f64 x)) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (sin.f64 x) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (cbrt.f64 (sin.f64 x)) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (cbrt.f64 (pow.f64 (cos.f64 eps) 2))) (cbrt.f64 (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 1) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (+.f64 x eps))))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (+.f64 x eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 2) (cbrt.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3)) (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (*.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2)) (sin.f64 (-.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 (+.f64 x eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps)) (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))) (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x sin.f64 (+.f64 eps x))))) (#(struct:change #<rule egg-rr> (2) ((x sin.f64 (+.f64 x eps))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sin.f64 (+.f64 x eps))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sin.f64 (-.f64 eps x)) (sin.f64 (+.f64 x eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 eps))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 eps))) (sin.f64 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 eps))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 eps)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cos.f64 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 eps)) (cbrt.f64 (pow.f64 (cos.f64 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cos.f64 eps) 2)) (cbrt.f64 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 eps)) (sqrt.f64 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 eps) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 eps) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 eps)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 eps)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 eps) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cos.f64 eps)) 1))))))

simplify117.0ms (0.8%)

Algorithm
egg-herbie
Rules
606×fma-def_binary64
492×unswap-sqr_binary64
484×*-commutative_binary64
352×associate-+l+_binary64
339×distribute-rgt-out_binary64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0981128
12851106
27791021
325501017
445111017
558961016
679661016
Stop Event
node limit
Counts
235 → 226
Calls
Call 1
Inputs
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3)) (sin.f64 eps))))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(*.f64 (cos.f64 x) eps)
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(sin.f64 eps)
(+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (sin.f64 eps))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(sin.f64 x)
(+.f64 (*.f64 (cos.f64 x) eps) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(sin.f64 eps)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 x 4) (sin.f64 eps))) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 x 4) (sin.f64 eps))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 x 6) (sin.f64 eps))) (sin.f64 eps))))
(*.f64 (cos.f64 x) eps)
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (cos.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (cos.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 eps 7) (cos.f64 x))) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))))
1
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) 1)
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) 1))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 1 (*.f64 -1/720 (pow.f64 eps 6)))))
Outputs
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps))
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1)))
(-.f64 (fma.f64 (fma.f64 -1/2 (*.f64 x x) 1) (sin.f64 eps) (*.f64 (cos.f64 eps) x)) x)
(fma.f64 (fma.f64 -1/2 (*.f64 x x) 1) (sin.f64 eps) (-.f64 (*.f64 (cos.f64 eps) x) x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3)) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (fma.f64 -1/6 (cos.f64 eps) 1/6) (pow.f64 x 3) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (pow.f64 x 3) (sin.f64 eps))))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (sin.f64 eps) (*.f64 -1/2 (*.f64 x x)) (fma.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (pow.f64 x 3) (sin.f64 eps))))
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (pow.f64 x 3) (sin.f64 eps))))
(fma.f64 x (+.f64 (*.f64 (sin.f64 eps) (*.f64 x -1/2)) (cos.f64 eps)) (-.f64 (fma.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (pow.f64 x 3) (sin.f64 eps)) x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 (cos.f64 x) eps (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x)))))
(fma.f64 eps (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2))))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))))
(+.f64 (*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x)))) (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) eps)))
(fma.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2)) (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))))
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x)))) (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) eps))))
(fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (sin.f64 x) (fma.f64 eps (*.f64 eps -1/2) (*.f64 1/24 (pow.f64 eps 4)))))
(fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (sin.f64 x) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 eps (*.f64 eps -1/2)))))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(sin.f64 eps)
(+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps))
(fma.f64 (cos.f64 eps) x (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (sin.f64 eps)))
(fma.f64 (fma.f64 -1/2 (*.f64 x x) 1) (sin.f64 eps) (*.f64 (cos.f64 eps) x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (sin.f64 eps))))
(+.f64 (*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1)) (*.f64 (cos.f64 eps) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(sin.f64 x)
(+.f64 (*.f64 (cos.f64 x) eps) (sin.f64 x))
(fma.f64 (cos.f64 x) eps (sin.f64 x))
(fma.f64 eps (cos.f64 x) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (fma.f64 (cos.f64 x) eps (sin.f64 x)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))
(fma.f64 eps (cos.f64 x) (*.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) (sin.f64 x)))
(fma.f64 eps (cos.f64 x) (*.f64 (sin.f64 x) (fma.f64 eps (*.f64 eps -1/2) 1)))
(fma.f64 eps (cos.f64 x) (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(+.f64 (fma.f64 (cos.f64 x) eps (sin.f64 x)) (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))))
(+.f64 (fma.f64 eps (cos.f64 x) (*.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) (sin.f64 x))) (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3))))
(+.f64 (*.f64 (sin.f64 x) (fma.f64 eps (*.f64 eps -1/2) 1)) (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps)))
(+.f64 (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(sin.f64 eps)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (sin.f64 eps))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (sin.f64 eps))
(fma.f64 (*.f64 -1/2 (*.f64 x x)) (sin.f64 eps) (sin.f64 eps))
(*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 x 4) (sin.f64 eps))) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 1/24 (*.f64 (sin.f64 eps) (pow.f64 x 4)) (sin.f64 eps)))
(+.f64 (sin.f64 eps) (*.f64 (sin.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 x x)) (*.f64 1/24 (pow.f64 x 4)))))
(fma.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) (*.f64 1/24 (pow.f64 x 4))) (sin.f64 eps))
(*.f64 (sin.f64 eps) (+.f64 1 (fma.f64 -1/2 (*.f64 x x) (*.f64 1/24 (pow.f64 x 4)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 x 4) (sin.f64 eps))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 x 6) (sin.f64 eps))) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 1/24 (*.f64 (sin.f64 eps) (pow.f64 x 4)) (fma.f64 -1/720 (*.f64 (sin.f64 eps) (pow.f64 x 6)) (sin.f64 eps))))
(+.f64 (fma.f64 -1/720 (*.f64 (sin.f64 eps) (pow.f64 x 6)) (sin.f64 eps)) (*.f64 (sin.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 x x)) (*.f64 1/24 (pow.f64 x 4)))))
(fma.f64 (sin.f64 eps) (fma.f64 1/24 (pow.f64 x 4) (*.f64 -1/720 (pow.f64 x 6))) (*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1)))
(*.f64 (sin.f64 eps) (+.f64 (fma.f64 -1/2 (*.f64 x x) (*.f64 1/24 (pow.f64 x 4))) (fma.f64 -1/720 (pow.f64 x 6) 1)))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))
(fma.f64 (cos.f64 x) eps (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3))))
(*.f64 (cos.f64 x) (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) eps))
(*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (cos.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))))
(fma.f64 1/120 (*.f64 (cos.f64 x) (pow.f64 eps 5)) (fma.f64 (cos.f64 x) eps (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)))))
(fma.f64 1/120 (*.f64 (cos.f64 x) (pow.f64 eps 5)) (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) eps)))
(*.f64 (cos.f64 x) (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (fma.f64 1/120 (pow.f64 eps 5) eps)))
(*.f64 (cos.f64 x) (+.f64 (*.f64 1/120 (pow.f64 eps 5)) (fma.f64 -1/6 (pow.f64 eps 3) eps)))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (cos.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 eps 7) (cos.f64 x))) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))))
(fma.f64 1/120 (*.f64 (cos.f64 x) (pow.f64 eps 5)) (fma.f64 (cos.f64 x) eps (fma.f64 -1/5040 (*.f64 (cos.f64 x) (pow.f64 eps 7)) (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3))))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/5040 (pow.f64 eps 7)) (*.f64 -1/6 (pow.f64 eps 3)))) (*.f64 (cos.f64 x) (+.f64 (*.f64 1/120 (pow.f64 eps 5)) eps)))
(*.f64 (cos.f64 x) (+.f64 (fma.f64 -1/5040 (pow.f64 eps 7) (*.f64 -1/6 (pow.f64 eps 3))) (fma.f64 1/120 (pow.f64 eps 5) eps)))
(*.f64 (cos.f64 x) (+.f64 (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 -1/5040 (pow.f64 eps 7))) (fma.f64 1/120 (pow.f64 eps 5) eps)))
1
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) 1)
(fma.f64 -1/2 (*.f64 eps eps) 1)
(fma.f64 eps (*.f64 eps -1/2) 1)
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) 1))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) 1))
(fma.f64 eps (*.f64 eps -1/2) (fma.f64 1/24 (pow.f64 eps 4) 1))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 1 (*.f64 -1/720 (pow.f64 eps 6)))))
(fma.f64 1/24 (pow.f64 eps 4) (+.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) (*.f64 -1/720 (pow.f64 eps 6))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) 1)))
(fma.f64 eps (*.f64 eps -1/2) (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) 1)))

localize7.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cos.f64 x) eps)
Compiler

Compiled 10 to 4 computations (60% saved)

series9.0ms (0.1%)

Counts
1 → 8
Calls

6 calls:

TimeVariablePointExpression
3.0ms
eps
@0
(*.f64 (cos.f64 x) eps)
2.0ms
x
@-inf
(*.f64 (cos.f64 x) eps)
1.0ms
x
@0
(*.f64 (cos.f64 x) eps)
1.0ms
eps
@inf
(*.f64 (cos.f64 x) eps)
1.0ms
x
@inf
(*.f64 (cos.f64 x) eps)

rewrite49.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
462×pow1_binary64
440×add-sqr-sqrt_binary64
435×*-un-lft-identity_binary64
422×add-log-exp_binary64
422×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
056
1976
211466
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 (cos.f64 x) eps)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 x) eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 x)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 x) eps)))))))

simplify131.0ms (0.9%)

Algorithm
egg-herbie
Rules
515×distribute-lft-out_binary64
503×sqr-pow_binary64
492×distribute-rgt-out_binary64
432×*-commutative_binary64
398×associate-+l+_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02494
15892
214588
344782
4197881
5399381
6424981
7456381
8508681
9584181
10658181
11753681
12798581
Stop Event
node limit
Counts
19 → 19
Calls
Call 1
Inputs
eps
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))
(+.f64 (*.f64 -1/720 (*.f64 eps (pow.f64 x 6))) (+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))))
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
Outputs
eps
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(+.f64 eps (*.f64 -1/2 (*.f64 eps (*.f64 x x))))
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps)
(*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1))
(+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))
(+.f64 eps (fma.f64 1/24 (*.f64 eps (pow.f64 x 4)) (*.f64 -1/2 (*.f64 eps (*.f64 x x)))))
(+.f64 eps (fma.f64 -1/2 (*.f64 eps (*.f64 x x)) (*.f64 1/24 (*.f64 eps (pow.f64 x 4)))))
(fma.f64 (pow.f64 x 4) (*.f64 eps 1/24) (fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps))
(fma.f64 eps (fma.f64 -1/2 (*.f64 x x) (*.f64 1/24 (pow.f64 x 4))) eps)
(+.f64 (*.f64 -1/720 (*.f64 eps (pow.f64 x 6))) (+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))))
(fma.f64 -1/720 (*.f64 eps (pow.f64 x 6)) (+.f64 eps (fma.f64 1/24 (*.f64 eps (pow.f64 x 4)) (*.f64 -1/2 (*.f64 eps (*.f64 x x))))))
(+.f64 (fma.f64 -1/2 (*.f64 eps (*.f64 x x)) (*.f64 1/24 (*.f64 eps (pow.f64 x 4)))) (fma.f64 -1/720 (*.f64 eps (pow.f64 x 6)) eps))
(fma.f64 -1/720 (*.f64 eps (pow.f64 x 6)) (fma.f64 (pow.f64 x 4) (*.f64 eps 1/24) (fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps)))
(fma.f64 eps (fma.f64 -1/2 (*.f64 x x) (*.f64 1/24 (pow.f64 x 4))) (fma.f64 eps (*.f64 -1/720 (pow.f64 x 6)) eps))
(*.f64 eps (+.f64 (fma.f64 -1/2 (*.f64 x x) (*.f64 1/24 (pow.f64 x 4))) (fma.f64 -1/720 (pow.f64 x 6) 1)))
(*.f64 eps (+.f64 (fma.f64 1/24 (pow.f64 x 4) 1) (fma.f64 -1/2 (*.f64 x x) (*.f64 -1/720 (pow.f64 x 6)))))
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
0.1b
(expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))
1.2b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
3.0b
(sin.f64 (+.f64 x eps))
Compiler

Compiled 37 to 8 computations (78.4% saved)

series7.0ms (0%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
eps
@0
(expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))
1.0ms
x
@0
(expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))
0.0ms
x
@-inf
(expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))
0.0ms
x
@inf
(expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))
0.0ms
eps
@-inf
(expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))

rewrite80.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
483×log-prod_binary64
477×fma-def_binary64
306×pow-prod-down_binary64
285×pow2_binary64
225×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0924
119524
2295224
Stop Event
node limit
Counts
2 → 150
Calls
Call 1
Inputs
(expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (log.f64 (sqrt.f64 (exp.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) (pow.f64 (cbrt.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 2) (cbrt.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) (sqrt.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) 1) (+.f64 (pow.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (+.f64 1 (*.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) 1) (+.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (exp.f64 (sin.f64 (+.f64 x eps))) (exp.f64 (neg.f64 (sin.f64 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 2) (cbrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) (sqrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) -1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 (+.f64 x eps)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 (+.f64 x eps)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sin.f64 x)) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log1p.f64 (pow.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)) (log.f64 (+.f64 1 (-.f64 (pow.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))) (/.f64 (pow.f64 (sin.f64 x) 3) (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (/.f64 (pow.f64 (sin.f64 x) 2) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (-.f64 1 (pow.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2))) (log.f64 (-.f64 1 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2))) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3))) (neg.f64 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2))) (neg.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (neg.f64 (sin.f64 x)) 3)) (+.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (-.f64 (pow.f64 (neg.f64 (sin.f64 x)) 2) (*.f64 (sin.f64 (+.f64 x eps)) (neg.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (neg.f64 (sin.f64 x)) 2)) (-.f64 (sin.f64 (+.f64 x eps)) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))) (exp.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (sin.f64 (+.f64 x eps))) (+.f64 1 (expm1.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))) (+.f64 1 (expm1.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))) (exp.f64 (neg.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))) (/.f64 1 (exp.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (exp.f64 (sin.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (sin.f64 x))) (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 (+.f64 x eps)) 1 (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 (+.f64 x eps)) 1 (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1 (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1 (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1 (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sin.f64 (+.f64 x eps)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sin.f64 (+.f64 x eps)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (sin.f64 x)) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 2) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 2) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 2) (cbrt.f64 (sin.f64 (+.f64 x eps))) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 2) (cbrt.f64 (sin.f64 (+.f64 x eps))) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (neg.f64 (cbrt.f64 (sin.f64 x))) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 (+.f64 x eps))) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 (+.f64 x eps))) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (neg.f64 (sqrt.f64 (sin.f64 x))) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2 (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2 (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2 (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 (sin.f64 x))) 2) (cbrt.f64 (neg.f64 (sin.f64 x))) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (sin.f64 x))) (sqrt.f64 (neg.f64 (sin.f64 x))) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (sin.f64 x))) (sqrt.f64 (sin.f64 x)) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (sin.f64 x) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (cbrt.f64 (sin.f64 x)) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2))) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2))) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2))) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))))

simplify88.0ms (0.6%)

Algorithm
egg-herbie
Rules
842×fma-def_binary64
580×associate-*r*_binary64
548×associate-*l*_binary64
429×unsub-neg_binary64
418×associate-+l+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0122946
1375929
21177890
36408890
Stop Event
node limit
Counts
198 → 186
Calls
Call 1
Inputs
(-.f64 (exp.f64 (sin.f64 eps)) 1)
(-.f64 (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 x (exp.f64 (sin.f64 eps)))) (exp.f64 (sin.f64 eps))) 1)
(-.f64 (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 x (exp.f64 (sin.f64 eps)))) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) (*.f64 -1/2 (sin.f64 eps))) (*.f64 (pow.f64 x 2) (exp.f64 (sin.f64 eps)))) (exp.f64 (sin.f64 eps)))) 1)
(-.f64 (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 x (exp.f64 (sin.f64 eps)))) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) (+.f64 1/6 (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 eps))) (*.f64 1/6 (pow.f64 (-.f64 (cos.f64 eps) 1) 3))))) (*.f64 (pow.f64 x 3) (exp.f64 (sin.f64 eps)))) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) (*.f64 -1/2 (sin.f64 eps))) (*.f64 (pow.f64 x 2) (exp.f64 (sin.f64 eps)))) (exp.f64 (sin.f64 eps))))) 1)
(-.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))) 1)
(*.f64 (cos.f64 x) eps)
(+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 1/2 (pow.f64 (cos.f64 x) 2)))) (*.f64 (cos.f64 x) eps))
(+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 1/2 (pow.f64 (cos.f64 x) 2)))) (+.f64 (*.f64 (cos.f64 x) eps) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 1/6 (pow.f64 (cos.f64 x) 3)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 -1/6 (cos.f64 x)))))))
(+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 1/2 (pow.f64 (cos.f64 x) 2)))) (+.f64 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 -1/6 (pow.f64 (cos.f64 x) 2)) (+.f64 (*.f64 1/8 (pow.f64 (sin.f64 x) 2)) (+.f64 (*.f64 1/24 (sin.f64 x)) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (cos.f64 x) 2) (sin.f64 x))) (*.f64 1/24 (pow.f64 (cos.f64 x) 4))))))) (+.f64 (*.f64 (cos.f64 x) eps) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 1/6 (pow.f64 (cos.f64 x) 3)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 -1/6 (cos.f64 x))))))))
(-.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))) 1)
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3)) (sin.f64 eps))))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(*.f64 (cos.f64 x) eps)
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
Outputs
(-.f64 (exp.f64 (sin.f64 eps)) 1)
(expm1.f64 (sin.f64 eps))
(-.f64 (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 x (exp.f64 (sin.f64 eps)))) (exp.f64 (sin.f64 eps))) 1)
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (exp.f64 (sin.f64 eps)) x)) (expm1.f64 (sin.f64 eps)))
(fma.f64 (*.f64 (+.f64 (cos.f64 eps) -1) x) (exp.f64 (sin.f64 eps)) (expm1.f64 (sin.f64 eps)))
(fma.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) x 1) (exp.f64 (sin.f64 eps)) -1)
(fma.f64 (exp.f64 (sin.f64 eps)) (fma.f64 (+.f64 (cos.f64 eps) -1) x 1) -1)
(-.f64 (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 x (exp.f64 (sin.f64 eps)))) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) (*.f64 -1/2 (sin.f64 eps))) (*.f64 (pow.f64 x 2) (exp.f64 (sin.f64 eps)))) (exp.f64 (sin.f64 eps)))) 1)
(+.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (exp.f64 (sin.f64 eps)) x) (fma.f64 (fma.f64 1/2 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (*.f64 (sin.f64 eps) -1/2)) (*.f64 (exp.f64 (sin.f64 eps)) (*.f64 x x)) (exp.f64 (sin.f64 eps)))) -1)
(+.f64 (*.f64 (exp.f64 (sin.f64 eps)) (+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) x) (*.f64 (fma.f64 1/2 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (*.f64 (sin.f64 eps) -1/2)) (*.f64 x x)))) (expm1.f64 (sin.f64 eps)))
(fma.f64 (exp.f64 (sin.f64 eps)) (*.f64 x (+.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (fma.f64 1/2 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (*.f64 (sin.f64 eps) -1/2))))) (expm1.f64 (sin.f64 eps)))
(-.f64 (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 x (exp.f64 (sin.f64 eps)))) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) (+.f64 1/6 (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 eps))) (*.f64 1/6 (pow.f64 (-.f64 (cos.f64 eps) 1) 3))))) (*.f64 (pow.f64 x 3) (exp.f64 (sin.f64 eps)))) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 (-.f64 (cos.f64 eps) 1) 2)) (*.f64 -1/2 (sin.f64 eps))) (*.f64 (pow.f64 x 2) (exp.f64 (sin.f64 eps)))) (exp.f64 (sin.f64 eps))))) 1)
(+.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (exp.f64 (sin.f64 eps)) x) (fma.f64 (+.f64 (fma.f64 -1/6 (cos.f64 eps) 1/6) (fma.f64 -1/2 (*.f64 (sin.f64 eps) (+.f64 (cos.f64 eps) -1)) (*.f64 1/6 (pow.f64 (+.f64 (cos.f64 eps) -1) 3)))) (*.f64 (exp.f64 (sin.f64 eps)) (pow.f64 x 3)) (fma.f64 (fma.f64 1/2 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (*.f64 (sin.f64 eps) -1/2)) (*.f64 (exp.f64 (sin.f64 eps)) (*.f64 x x)) (exp.f64 (sin.f64 eps))))) -1)
(fma.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (exp.f64 (sin.f64 eps)) x) (+.f64 (*.f64 (exp.f64 (sin.f64 eps)) (+.f64 (*.f64 (+.f64 (fma.f64 -1/2 (*.f64 (sin.f64 eps) (+.f64 (cos.f64 eps) -1)) (*.f64 1/6 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))) (fma.f64 (cos.f64 eps) -1/6 1/6)) (pow.f64 x 3)) (*.f64 (fma.f64 1/2 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (*.f64 (sin.f64 eps) -1/2)) (*.f64 x x)))) (expm1.f64 (sin.f64 eps))))
(+.f64 (*.f64 (exp.f64 (sin.f64 eps)) (+.f64 (fma.f64 (cos.f64 eps) x (neg.f64 x)) (*.f64 (*.f64 x x) (+.f64 (*.f64 x (fma.f64 (cos.f64 eps) -1/6 (fma.f64 (sin.f64 eps) (fma.f64 (cos.f64 eps) -1/2 1/2) (fma.f64 1/6 (pow.f64 (+.f64 (cos.f64 eps) -1) 3) 1/6)))) (fma.f64 1/2 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (*.f64 (sin.f64 eps) -1/2)))))) (expm1.f64 (sin.f64 eps)))
(-.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 1)
(expm1.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 1)
(expm1.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 1)
(expm1.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 1)
(expm1.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (exp.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))) 1)
(expm1.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (exp.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))) 1)
(expm1.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (exp.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))) 1)
(expm1.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (exp.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))) 1)
(expm1.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 1/2 (pow.f64 (cos.f64 x) 2)))) (*.f64 (cos.f64 x) eps))
(fma.f64 (*.f64 eps eps) (fma.f64 -1/2 (sin.f64 x) (*.f64 1/2 (pow.f64 (cos.f64 x) 2))) (*.f64 eps (cos.f64 x)))
(fma.f64 (*.f64 eps eps) (fma.f64 1/2 (pow.f64 (cos.f64 x) 2) (*.f64 -1/2 (sin.f64 x))) (*.f64 eps (cos.f64 x)))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 eps (fma.f64 1/2 (pow.f64 (cos.f64 x) 2) (*.f64 -1/2 (sin.f64 x))))))
(+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 1/2 (pow.f64 (cos.f64 x) 2)))) (+.f64 (*.f64 (cos.f64 x) eps) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 1/6 (pow.f64 (cos.f64 x) 3)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 -1/6 (cos.f64 x)))))))
(fma.f64 (*.f64 eps eps) (fma.f64 -1/2 (sin.f64 x) (*.f64 1/2 (pow.f64 (cos.f64 x) 2))) (fma.f64 (cos.f64 x) eps (*.f64 (pow.f64 eps 3) (fma.f64 1/6 (pow.f64 (cos.f64 x) 3) (fma.f64 -1/2 (*.f64 (sin.f64 x) (cos.f64 x)) (*.f64 -1/6 (cos.f64 x)))))))
(fma.f64 (*.f64 eps eps) (fma.f64 1/2 (pow.f64 (cos.f64 x) 2) (*.f64 -1/2 (sin.f64 x))) (fma.f64 (pow.f64 eps 3) (fma.f64 1/6 (pow.f64 (cos.f64 x) 3) (fma.f64 -1/6 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 (cos.f64 x))))) (*.f64 eps (cos.f64 x))))
(fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (+.f64 (fma.f64 1/2 (pow.f64 (cos.f64 x) 2) (*.f64 -1/2 (sin.f64 x))) (*.f64 eps (fma.f64 1/6 (pow.f64 (cos.f64 x) 3) (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (sin.f64 x)) -1/6)))))))
(+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 1/2 (pow.f64 (cos.f64 x) 2)))) (+.f64 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 -1/6 (pow.f64 (cos.f64 x) 2)) (+.f64 (*.f64 1/8 (pow.f64 (sin.f64 x) 2)) (+.f64 (*.f64 1/24 (sin.f64 x)) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (cos.f64 x) 2) (sin.f64 x))) (*.f64 1/24 (pow.f64 (cos.f64 x) 4))))))) (+.f64 (*.f64 (cos.f64 x) eps) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 1/6 (pow.f64 (cos.f64 x) 3)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 -1/6 (cos.f64 x))))))))
(fma.f64 (*.f64 eps eps) (fma.f64 -1/2 (sin.f64 x) (*.f64 1/2 (pow.f64 (cos.f64 x) 2))) (fma.f64 (pow.f64 eps 4) (fma.f64 -1/6 (pow.f64 (cos.f64 x) 2) (fma.f64 1/8 (pow.f64 (sin.f64 x) 2) (fma.f64 1/24 (sin.f64 x) (fma.f64 -1/4 (*.f64 (sin.f64 x) (pow.f64 (cos.f64 x) 2)) (*.f64 1/24 (pow.f64 (cos.f64 x) 4)))))) (fma.f64 (cos.f64 x) eps (*.f64 (pow.f64 eps 3) (fma.f64 1/6 (pow.f64 (cos.f64 x) 3) (fma.f64 -1/2 (*.f64 (sin.f64 x) (cos.f64 x)) (*.f64 -1/6 (cos.f64 x))))))))
(fma.f64 (*.f64 eps eps) (fma.f64 1/2 (pow.f64 (cos.f64 x) 2) (*.f64 -1/2 (sin.f64 x))) (fma.f64 (pow.f64 eps 4) (fma.f64 -1/6 (pow.f64 (cos.f64 x) 2) (fma.f64 1/8 (pow.f64 (sin.f64 x) 2) (+.f64 (*.f64 1/24 (pow.f64 (cos.f64 x) 4)) (*.f64 (sin.f64 x) (+.f64 1/24 (*.f64 (pow.f64 (cos.f64 x) 2) -1/4)))))) (fma.f64 (pow.f64 eps 3) (fma.f64 1/6 (pow.f64 (cos.f64 x) 3) (fma.f64 -1/6 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 (cos.f64 x))))) (*.f64 eps (cos.f64 x)))))
(fma.f64 (pow.f64 eps 4) (fma.f64 -1/6 (pow.f64 (cos.f64 x) 2) (fma.f64 (sin.f64 x) (+.f64 1/24 (*.f64 (pow.f64 (cos.f64 x) 2) -1/4)) (fma.f64 1/24 (pow.f64 (cos.f64 x) 4) (*.f64 1/8 (pow.f64 (sin.f64 x) 2))))) (fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (+.f64 (fma.f64 1/2 (pow.f64 (cos.f64 x) 2) (*.f64 -1/2 (sin.f64 x))) (*.f64 eps (fma.f64 1/6 (pow.f64 (cos.f64 x) 3) (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (sin.f64 x)) -1/6))))))))
(-.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 1)
(expm1.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 1)
(expm1.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 1)
(expm1.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 1)
(expm1.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (exp.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))) 1)
(expm1.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (exp.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))) 1)
(expm1.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (exp.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))) 1)
(expm1.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (exp.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))) 1)
(expm1.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3)) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (fma.f64 -1/6 (cos.f64 eps) 1/6) (pow.f64 x 3) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (pow.f64 x 3) (fma.f64 (cos.f64 eps) -1/6 1/6) (sin.f64 eps))))
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (pow.f64 x 3) (fma.f64 (cos.f64 eps) -1/6 1/6) (sin.f64 eps))))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 (cos.f64 x) eps (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x)))
(fma.f64 eps (cos.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 eps (*.f64 -1/2 (sin.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))))
(+.f64 (*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(fma.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x)))))
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (+.f64 (*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 (pow.f64 eps 4) 1/24))))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))
0.4b
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)
1.2b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
3.0b
(sin.f64 (+.f64 x eps))
Compiler

Compiled 39 to 10 computations (74.4% saved)

series33.0ms (0.2%)

Counts
2 → 40
Calls

12 calls:

TimeVariablePointExpression
10.0ms
eps
@0
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)
6.0ms
eps
@-inf
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)
5.0ms
x
@0
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)
3.0ms
eps
@inf
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)
3.0ms
x
@inf
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)

rewrite102.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
515×log-prod_binary64
495×fma-def_binary64
338×pow-prod-down_binary64
305×pow2_binary64
220×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01024
123924
2321224
Stop Event
node limit
Counts
2 → 157
Calls
Call 1
Inputs
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)
(cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 (+.f64 x eps)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 (+.f64 x eps)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sin.f64 x)) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))) (/.f64 (pow.f64 (sin.f64 x) 3) (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (/.f64 (pow.f64 (sin.f64 x) 2) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)) (*.f64 (cbrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6) (*.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) 1) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (cbrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))) 2) (cbrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6)) (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2))) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3))) (neg.f64 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2))) (neg.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (neg.f64 (sin.f64 x)) 3)) (+.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (-.f64 (pow.f64 (neg.f64 (sin.f64 x)) 2) (*.f64 (sin.f64 (+.f64 x eps)) (neg.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (neg.f64 (sin.f64 x)) 2)) (-.f64 (sin.f64 (+.f64 x eps)) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))) (exp.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (sin.f64 (+.f64 x eps))) (+.f64 1 (expm1.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))) (+.f64 1 (expm1.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))) (exp.f64 (neg.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))) (/.f64 1 (exp.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (exp.f64 (sin.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (sin.f64 x))) (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 (+.f64 x eps)) 1 (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 (+.f64 x eps)) 1 (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1 (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1 (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1 (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sin.f64 (+.f64 x eps)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sin.f64 (+.f64 x eps)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (sin.f64 x) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (sin.f64 x)) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)) (*.f64 (cbrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)) (*.f64 (cbrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)) (*.f64 (cbrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (cbrt.f64 (sin.f64 (+.f64 x eps))) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (cbrt.f64 (sin.f64 (+.f64 x eps))) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (neg.f64 (cbrt.f64 (sin.f64 x))) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6) (*.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6) (*.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6) (*.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 (+.f64 x eps))) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 (+.f64 x eps))) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (neg.f64 (sqrt.f64 (sin.f64 x))) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2 (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2 (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2 (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 (sin.f64 x))) 2) (cbrt.f64 (neg.f64 (sin.f64 x))) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (sin.f64 x))) (sqrt.f64 (neg.f64 (sin.f64 x))) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (sin.f64 x))) (sqrt.f64 (sin.f64 x)) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (sin.f64 x) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (cbrt.f64 (sin.f64 x)) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) 1) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) 1) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) 1) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (cbrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))) 2) (cbrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (cbrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))) 2) (cbrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (cbrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))) 2) (cbrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6)) (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6)) (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6)) (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2))) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2))) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2))) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)) (cbrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6) (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2) (cbrt.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2))) (cbrt.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3))) (cbrt.f64 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 1))))))

simplify131.0ms (0.9%)

Algorithm
egg-herbie
Rules
713×fma-def_binary64
603×distribute-rgt-in_binary64
601×distribute-lft-in_binary64
443×*-commutative_binary64
265×unsub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01301894
14181799
215421677
370561677
Stop Event
node limit
Counts
197 → 181
Calls
Call 1
Inputs
(*.f64 (pow.f64 1 1/3) (sin.f64 eps))
(+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (-.f64 (cos.f64 eps) 1))) (*.f64 2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (-.f64 (cos.f64 eps) 1)))) x) (*.f64 (pow.f64 1 1/3) (sin.f64 eps)))
(+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (-.f64 (cos.f64 eps) 1))) (*.f64 2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (-.f64 (cos.f64 eps) 1)))) x) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (pow.f64 1 1/3))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2))) (*.f64 (pow.f64 (*.f64 1 (sin.f64 eps)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/3))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2))))))) (pow.f64 x 2)) (*.f64 (pow.f64 1 1/3) (sin.f64 eps))))
(+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (-.f64 (cos.f64 eps) 1))) (*.f64 2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (-.f64 (cos.f64 eps) 1)))) x) (+.f64 (*.f64 (+.f64 (*.f64 2/9 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (-.f64 (cos.f64 eps) 1)) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/9))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (+.f64 (*.f64 1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/3) (pow.f64 (-.f64 (cos.f64 eps) 1) 3))) (*.f64 2/3 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (-.f64 (cos.f64 eps) 1)) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/9))))))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (sin.f64 eps)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/3) (-.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (+.f64 (*.f64 1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/3) (pow.f64 (-.f64 (cos.f64 eps) 1) 3))) (*.f64 2/3 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (-.f64 (cos.f64 eps) 1)) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/9))))))) (*.f64 2/9 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (-.f64 (cos.f64 eps) 1)) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 8)) 1/9))))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/9) (*.f64 (-.f64 (cos.f64 eps) 1) (+.f64 (*.f64 2/3 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/3))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))))))))) (pow.f64 x 3)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (pow.f64 1 1/3))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2))) (*.f64 (pow.f64 (*.f64 1 (sin.f64 eps)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/3))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2))))))) (pow.f64 x 2)) (*.f64 (pow.f64 1 1/3) (sin.f64 eps)))))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)))
(pow.f64 (sin.f64 eps) 1/3)
(+.f64 (pow.f64 (sin.f64 eps) 1/3) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/9) (*.f64 (-.f64 (cos.f64 eps) 1) x))))
(+.f64 (*.f64 1/3 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (pow.f64 x 2)) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/3))) (+.f64 (pow.f64 (sin.f64 eps) 1/3) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/9) (*.f64 (-.f64 (cos.f64 eps) 1) x)))))
(+.f64 (*.f64 1/3 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (pow.f64 x 2)) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/3))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/3) (*.f64 (-.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (+.f64 (*.f64 1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/3) (pow.f64 (-.f64 (cos.f64 eps) 1) 3))) (*.f64 2/3 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (-.f64 (cos.f64 eps) 1)) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/9))))) (pow.f64 x 3)))) (+.f64 (pow.f64 (sin.f64 eps) 1/3) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/9) (*.f64 (-.f64 (cos.f64 eps) 1) x))))))
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3)
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3)
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3)
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3)
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 1/3)
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 1/3)
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 1/3)
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 1/3)
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3)
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3)
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3)
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3)
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 1/3)
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 1/3)
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 1/3)
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 1/3)
Outputs
(*.f64 (pow.f64 1 1/3) (sin.f64 eps))
(sin.f64 eps)
(+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (-.f64 (cos.f64 eps) 1))) (*.f64 2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (-.f64 (cos.f64 eps) 1)))) x) (*.f64 (pow.f64 1 1/3) (sin.f64 eps)))
(fma.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18) (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18)) (+.f64 (cos.f64 eps) -1)) 1) x (sin.f64 eps))
(fma.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18) (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18)) (+.f64 (cos.f64 eps) -1)) x (sin.f64 eps))
(+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (-.f64 (cos.f64 eps) 1))) (*.f64 2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (-.f64 (cos.f64 eps) 1)))) x) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (pow.f64 1 1/3))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2))) (*.f64 (pow.f64 (*.f64 1 (sin.f64 eps)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/3))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2))))))) (pow.f64 x 2)) (*.f64 (pow.f64 1 1/3) (sin.f64 eps))))
(fma.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18) (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18)) (+.f64 (cos.f64 eps) -1)) 1) x (fma.f64 (fma.f64 1/3 (*.f64 1 (-.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2))))) (fma.f64 2/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) (*.f64 (cbrt.f64 (sin.f64 eps)) (fma.f64 2/3 (*.f64 (-.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))) (cbrt.f64 (/.f64 1 (sin.f64 eps)))) (*.f64 1/9 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18)))))))) (*.f64 x x) (sin.f64 eps)))
(fma.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18) (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18)) (+.f64 (cos.f64 eps) -1)) x (fma.f64 (fma.f64 1/3 (fma.f64 (sin.f64 eps) -1/2 (*.f64 (*.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) -1/3)) (fma.f64 (cbrt.f64 (sin.f64 eps)) (fma.f64 1/9 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18))) (*.f64 2/3 (*.f64 (fma.f64 (sin.f64 eps) -1/2 (*.f64 (*.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) -1/3)) (cbrt.f64 (/.f64 1 (sin.f64 eps)))))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) 2/9)))) (*.f64 x x) (sin.f64 eps)))
(fma.f64 (fma.f64 1/3 (fma.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) -1/3) (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (*.f64 (sin.f64 eps) -1/2)) (fma.f64 2/3 (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 (fma.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) -1/3) (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (*.f64 (sin.f64 eps) -1/2)) (cbrt.f64 (/.f64 1 (sin.f64 eps))))) (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (+.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18)))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) 2/9))))) (*.f64 x x) (fma.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18) (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18)) (+.f64 (cos.f64 eps) -1)) x (sin.f64 eps)))
(+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (-.f64 (cos.f64 eps) 1))) (*.f64 2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (-.f64 (cos.f64 eps) 1)))) x) (+.f64 (*.f64 (+.f64 (*.f64 2/9 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (-.f64 (cos.f64 eps) 1)) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/9))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (+.f64 (*.f64 1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/3) (pow.f64 (-.f64 (cos.f64 eps) 1) 3))) (*.f64 2/3 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (-.f64 (cos.f64 eps) 1)) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/9))))))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (sin.f64 eps)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/3) (-.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (+.f64 (*.f64 1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/3) (pow.f64 (-.f64 (cos.f64 eps) 1) 3))) (*.f64 2/3 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (-.f64 (cos.f64 eps) 1)) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/9))))))) (*.f64 2/9 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (-.f64 (cos.f64 eps) 1)) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 8)) 1/9))))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/9) (*.f64 (-.f64 (cos.f64 eps) 1) (+.f64 (*.f64 2/3 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/3))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))))))))) (pow.f64 x 3)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (pow.f64 1 1/3))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2))) (*.f64 (pow.f64 (*.f64 1 (sin.f64 eps)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/3))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2))))))) (pow.f64 x 2)) (*.f64 (pow.f64 1 1/3) (sin.f64 eps)))))
(fma.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18) (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18)) (+.f64 (cos.f64 eps) -1)) 1) x (fma.f64 (fma.f64 2/9 (*.f64 (-.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))) (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18)))) (+.f64 (*.f64 1/3 (-.f64 (fma.f64 -1/6 (cos.f64 eps) 1/6) (fma.f64 1/27 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))) (pow.f64 (+.f64 (cos.f64 eps) -1) 3)) (*.f64 2/3 (*.f64 (-.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))) (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18)))))))) (fma.f64 (cbrt.f64 (sin.f64 eps)) (fma.f64 2/3 (*.f64 (cbrt.f64 (/.f64 1 (sin.f64 eps))) (-.f64 (fma.f64 -1/6 (cos.f64 eps) 1/6) (fma.f64 1/27 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))) (pow.f64 (+.f64 (cos.f64 eps) -1) 3)) (*.f64 2/3 (*.f64 (-.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))) (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18)))))))) (*.f64 2/9 (*.f64 (-.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))) (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 8)) 1/18)))))) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18)) (*.f64 (+.f64 (cos.f64 eps) -1) (fma.f64 2/3 (*.f64 (-.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))) (cbrt.f64 (/.f64 1 (sin.f64 eps)))) (*.f64 1/9 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18))))))))))) (pow.f64 x 3) (fma.f64 (fma.f64 1/3 (*.f64 1 (-.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2))))) (fma.f64 2/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) (*.f64 (cbrt.f64 (sin.f64 eps)) (fma.f64 2/3 (*.f64 (-.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))) (cbrt.f64 (/.f64 1 (sin.f64 eps)))) (*.f64 1/9 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18)))))))) (*.f64 x x) (sin.f64 eps))))
(fma.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18) (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18)) (+.f64 (cos.f64 eps) -1)) x (fma.f64 (fma.f64 2/9 (*.f64 (fma.f64 (sin.f64 eps) -1/2 (*.f64 (*.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) -1/3)) (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18)))) (fma.f64 1/3 (-.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (fma.f64 2/3 (*.f64 (fma.f64 (sin.f64 eps) -1/2 (*.f64 (*.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) -1/3)) (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18)))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))) (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3) 1/27)))) (fma.f64 1/3 (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (fma.f64 1/9 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18))) (*.f64 2/3 (*.f64 (fma.f64 (sin.f64 eps) -1/2 (*.f64 (*.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) -1/3)) (cbrt.f64 (/.f64 1 (sin.f64 eps)))))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18)))) (*.f64 (cbrt.f64 (sin.f64 eps)) (fma.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 (sin.f64 eps)))) (-.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (fma.f64 2/3 (*.f64 (fma.f64 (sin.f64 eps) -1/2 (*.f64 (*.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) -1/3)) (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18)))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))) (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3) 1/27)))) (*.f64 (fma.f64 (sin.f64 eps) -1/2 (*.f64 (*.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) -1/3)) (*.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 8)) 1/18))) 2/9))))))) (pow.f64 x 3) (fma.f64 (fma.f64 1/3 (fma.f64 (sin.f64 eps) -1/2 (*.f64 (*.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) -1/3)) (fma.f64 (cbrt.f64 (sin.f64 eps)) (fma.f64 1/9 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18))) (*.f64 2/3 (*.f64 (fma.f64 (sin.f64 eps) -1/2 (*.f64 (*.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) -1/3)) (cbrt.f64 (/.f64 1 (sin.f64 eps)))))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) 2/9)))) (*.f64 x x) (sin.f64 eps))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) -1/3) (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (*.f64 (sin.f64 eps) -1/2)) (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18) (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18)))) (+.f64 (*.f64 (-.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (fma.f64 (fma.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) -1/3) (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (*.f64 (sin.f64 eps) -1/2)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18) (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18)))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))) (*.f64 1/27 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))))) (+.f64 1/3 (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 2/3 (cbrt.f64 (/.f64 1 (sin.f64 eps))))))) (fma.f64 2/9 (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (fma.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) -1/3) (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (*.f64 (sin.f64 eps) -1/2)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 8)) 1/18))))) (*.f64 1/3 (*.f64 (fma.f64 1/9 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18))) (*.f64 2/3 (*.f64 (fma.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) -1/3) (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (*.f64 (sin.f64 eps) -1/2)) (cbrt.f64 (/.f64 1 (sin.f64 eps)))))) (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18)))))))) (pow.f64 x 3) (fma.f64 (fma.f64 1/3 (fma.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) -1/3) (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (*.f64 (sin.f64 eps) -1/2)) (fma.f64 2/3 (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 (fma.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) -1/3) (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (*.f64 (sin.f64 eps) -1/2)) (cbrt.f64 (/.f64 1 (sin.f64 eps))))) (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (+.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18)))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) 2/9))))) (*.f64 x x) (fma.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18) (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18)) (+.f64 (cos.f64 eps) -1)) x (sin.f64 eps))))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)))
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)))
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)))
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)))
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)))
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)))
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)))
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)))
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(pow.f64 (sin.f64 eps) 1/3)
(cbrt.f64 (sin.f64 eps))
(+.f64 (pow.f64 (sin.f64 eps) 1/3) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/9) (*.f64 (-.f64 (cos.f64 eps) 1) x))))
(+.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18)) (*.f64 (+.f64 (cos.f64 eps) -1) x))))
(fma.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (*.f64 (+.f64 (cos.f64 eps) -1) x))) (cbrt.f64 (sin.f64 eps)))
(fma.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18)) (fma.f64 (cos.f64 eps) x (neg.f64 x))) (cbrt.f64 (sin.f64 eps)))
(+.f64 (*.f64 1/3 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (pow.f64 x 2)) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/3))) (+.f64 (pow.f64 (sin.f64 eps) 1/3) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/9) (*.f64 (-.f64 (cos.f64 eps) 1) x)))))
(fma.f64 1/3 (*.f64 (-.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))) (*.f64 (*.f64 x x) (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))))) (+.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18)) (*.f64 (+.f64 (cos.f64 eps) -1) x)))))
(fma.f64 1/3 (*.f64 (fma.f64 (sin.f64 eps) -1/2 (*.f64 (*.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) -1/3)) (*.f64 (*.f64 x x) (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))))) (fma.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (*.f64 (+.f64 (cos.f64 eps) -1) x))) (cbrt.f64 (sin.f64 eps))))
(fma.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18)) (fma.f64 (cos.f64 eps) x (neg.f64 x))) (fma.f64 (*.f64 1/3 (fma.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) -1/3) (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (*.f64 (sin.f64 eps) -1/2))) (*.f64 (*.f64 x x) (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)))) (cbrt.f64 (sin.f64 eps))))
(+.f64 (*.f64 1/3 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (pow.f64 x 2)) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/3))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/3) (*.f64 (-.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (+.f64 (*.f64 1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/3) (pow.f64 (-.f64 (cos.f64 eps) 1) 3))) (*.f64 2/3 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (-.f64 (cos.f64 eps) 1)) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/9))))) (pow.f64 x 3)))) (+.f64 (pow.f64 (sin.f64 eps) 1/3) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/9) (*.f64 (-.f64 (cos.f64 eps) 1) x))))))
(fma.f64 1/3 (*.f64 (-.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))) (*.f64 (*.f64 x x) (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))) (*.f64 (-.f64 (fma.f64 -1/6 (cos.f64 eps) 1/6) (fma.f64 1/27 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))) (pow.f64 (+.f64 (cos.f64 eps) -1) 3)) (*.f64 2/3 (*.f64 (-.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))) (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18))))))) (pow.f64 x 3))) (+.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18)) (*.f64 (+.f64 (cos.f64 eps) -1) x))))))
(fma.f64 1/3 (*.f64 (fma.f64 (sin.f64 eps) -1/2 (*.f64 (*.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) -1/3)) (*.f64 (*.f64 x x) (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))))) (fma.f64 1/3 (*.f64 (-.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (fma.f64 2/3 (*.f64 (fma.f64 (sin.f64 eps) -1/2 (*.f64 (*.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) -1/3)) (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18)))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))) (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3) 1/27)))) (*.f64 (pow.f64 x 3) (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))))) (fma.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (*.f64 (+.f64 (cos.f64 eps) -1) x))) (cbrt.f64 (sin.f64 eps)))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))) (+.f64 (*.f64 (fma.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) -1/3) (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (*.f64 (sin.f64 eps) -1/2)) (*.f64 x x)) (*.f64 (-.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (fma.f64 (fma.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) -1/3) (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (*.f64 (sin.f64 eps) -1/2)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18) (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18)))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))) (*.f64 1/27 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))))) (pow.f64 x 3)))) (fma.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18)) (fma.f64 (cos.f64 eps) x (neg.f64 x))) (cbrt.f64 (sin.f64 eps))))
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3)
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3)
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3)
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3)
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 1/3)
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 1/3)
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 1/3)
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 1/3)
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3)
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3)
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3)
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3)
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 1/3)
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 1/3)
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 1/3)
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 1/3)
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))

localize35.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps)))
0.1b
(*.f64 (cos.f64 x) (sin.f64 eps))
0.1b
(*.f64 (sin.f64 x) (cos.f64 eps))
2.5b
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
Compiler

Compiled 47 to 10 computations (78.7% saved)

series39.0ms (0.3%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
27.0ms
eps
@inf
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
1.0ms
x
@inf
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
1.0ms
x
@0
(*.f64 (sin.f64 x) (cos.f64 eps))
1.0ms
x
@-inf
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
1.0ms
eps
@-inf
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))

rewrite743.0ms (5.1%)

Algorithm
batch-egg-rewrite
Rules
762×fma-def_binary64
632×log-prod_binary64
381×fma-neg_binary64
236×pow1/3_binary64
235×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify156.0ms (1.1%)

Algorithm
egg-herbie
Rules
588×sub-neg_binary64
513×distribute-neg-in_binary64
495×fma-def_binary64
396×*-commutative_binary64
384×+-commutative_binary64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0831214
12411202
26531133
321161121
436991121
548481119
669021119
Stop Event
node limit
Counts
321 → 295
Calls
Call 1
Inputs
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3)) (sin.f64 eps))))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(*.f64 (cos.f64 x) eps)
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(*.f64 (cos.f64 eps) x)
(+.f64 (*.f64 (cos.f64 eps) x) (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))))
(+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (*.f64 1/120 (*.f64 (cos.f64 eps) (pow.f64 x 5)))))
(+.f64 (*.f64 -1/5040 (*.f64 (cos.f64 eps) (pow.f64 x 7))) (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (*.f64 1/120 (*.f64 (cos.f64 eps) (pow.f64 x 5))))))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(sin.f64 x)
(+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (sin.f64 x) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 eps 6) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(sin.f64 eps)
(+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (sin.f64 eps))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(sin.f64 x)
(+.f64 (*.f64 (cos.f64 x) eps) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
Outputs
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps))
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (*.f64 (+.f64 (*.f64 -1/2 (*.f64 x x)) 1) (sin.f64 eps)))
(-.f64 (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 (cos.f64 eps) x (sin.f64 eps))) x)
(fma.f64 x (+.f64 (cos.f64 eps) (*.f64 x (*.f64 (sin.f64 eps) -1/2))) (-.f64 (sin.f64 eps) x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3)) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (fma.f64 -1/6 (cos.f64 eps) 1/6) (pow.f64 x 3) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (pow.f64 x 3) (sin.f64 eps))))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (sin.f64 eps) (*.f64 -1/2 (*.f64 x x)) (fma.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (pow.f64 x 3) (sin.f64 eps))))
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (pow.f64 x 3) (sin.f64 eps))))
(fma.f64 x (+.f64 (cos.f64 eps) (*.f64 x (*.f64 (sin.f64 eps) -1/2))) (-.f64 (fma.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (pow.f64 x 3) (sin.f64 eps)) x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 (cos.f64 x) eps (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))
(fma.f64 eps (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps))))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))))
(+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(fma.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))))
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (*.f64 eps eps)))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 1/24 (pow.f64 eps 4)))))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))
(*.f64 (cos.f64 eps) x)
(+.f64 (*.f64 (cos.f64 eps) x) (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))))
(fma.f64 (cos.f64 eps) x (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))))
(*.f64 (cos.f64 eps) (+.f64 x (*.f64 -1/6 (pow.f64 x 3))))
(+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (*.f64 1/120 (*.f64 (cos.f64 eps) (pow.f64 x 5)))))
(fma.f64 (cos.f64 eps) x (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (*.f64 1/120 (*.f64 (cos.f64 eps) (pow.f64 x 5)))))
(fma.f64 (cos.f64 eps) x (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (*.f64 (cos.f64 eps) (*.f64 (pow.f64 x 5) 1/120))))
(fma.f64 (cos.f64 eps) (*.f64 -1/6 (pow.f64 x 3)) (*.f64 (cos.f64 eps) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x)))
(*.f64 (cos.f64 eps) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 x (*.f64 1/120 (pow.f64 x 5)))))
(+.f64 (*.f64 -1/5040 (*.f64 (cos.f64 eps) (pow.f64 x 7))) (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (*.f64 1/120 (*.f64 (cos.f64 eps) (pow.f64 x 5))))))
(fma.f64 -1/5040 (*.f64 (cos.f64 eps) (pow.f64 x 7)) (fma.f64 (cos.f64 eps) x (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (*.f64 1/120 (*.f64 (cos.f64 eps) (pow.f64 x 5))))))
(fma.f64 -1/5040 (*.f64 (cos.f64 eps) (pow.f64 x 7)) (fma.f64 (cos.f64 eps) x (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (*.f64 (cos.f64 eps) (*.f64 (pow.f64 x 5) 1/120)))))
(+.f64 (*.f64 (cos.f64 eps) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (cos.f64 eps) (+.f64 x (*.f64 -1/5040 (pow.f64 x 7)))))
(*.f64 (cos.f64 eps) (+.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 (cos.f64 eps) (+.f64 (+.f64 x (*.f64 -1/5040 (pow.f64 x 7))) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/6 (pow.f64 x 3)))))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(sin.f64 x)
(+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (sin.f64 x))
(*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))))
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (sin.f64 x)))
(*.f64 (sin.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (fma.f64 -1/2 (*.f64 eps eps) 1)))
(*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (fma.f64 1/24 (pow.f64 eps 4) 1)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (sin.f64 x) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 eps 6) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (+.f64 (sin.f64 x) (fma.f64 -1/720 (*.f64 (sin.f64 x) (pow.f64 eps 6)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))))
(+.f64 (*.f64 (sin.f64 x) (+.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 -1/720 (pow.f64 eps 6)))) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) 1) (sin.f64 x)))
(fma.f64 (sin.f64 x) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 (sin.f64 x) (fma.f64 1/24 (pow.f64 eps 4) 1)))
(*.f64 (sin.f64 x) (+.f64 (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 eps (*.f64 eps -1/2))) (fma.f64 1/24 (pow.f64 eps 4) 1)))
(*.f64 (sin.f64 x) (+.f64 (fma.f64 1/24 (pow.f64 eps 4) 1) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 eps (*.f64 eps -1/2)))))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(sin.f64 eps)
(+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps))
(fma.f64 (cos.f64 eps) x (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (sin.f64 eps)))
(fma.f64 (sin.f64 eps) (*.f64 -1/2 (*.f64 x x)) (fma.f64 (cos.f64 eps) x (sin.f64 eps)))
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 (cos.f64 eps) x (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (sin.f64 eps))))
(+.f64 (*.f64 (cos.f64 eps) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 x x)) 1) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 eps) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(sin.f64 x)
(+.f64 (*.f64 (cos.f64 x) eps) (sin.f64 x))
(fma.f64 (cos.f64 x) eps (sin.f64 x))
(fma.f64 eps (cos.f64 x) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (fma.f64 (cos.f64 x) eps (sin.f64 x)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))
(fma.f64 eps (cos.f64 x) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (sin.f64 x)))
(fma.f64 eps (cos.f64 x) (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(+.f64 (fma.f64 (cos.f64 x) eps (sin.f64 x)) (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))))
(+.f64 (sin.f64 x) (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))))
(+.f64 (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))

eval616.0ms (4.3%)

Compiler

Compiled 27194 to 9101 computations (66.5% saved)

prune288.0ms (2%)

Pruning

56 alts after pruning (53 fresh and 3 done)

PrunedKeptTotal
New1300471347
Fresh25631
Picked011
Done224
Total1327561383
Error
0.0b
Counts
1383 → 56
Alt Table
Click to see full alt table
StatusErrorProgram
30.1b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3)
46.4b
(log1p.f64 (-.f64 (exp.f64 (sin.f64 eps)) 1))
44.5b
(+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))
44.0b
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3))
39.1b
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
23.8b
(+.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) (*.f64 (sin.f64 x) (cos.f64 eps)))
29.7b
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 eps (*.f64 -1/2 (sin.f64 x)))))
23.8b
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
39.8b
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x))
30.4b
(pow.f64 (cbrt.f64 (*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x)))))) 3)
40.1b
(fma.f64 x (+.f64 (cos.f64 eps) (*.f64 x (*.f64 (sin.f64 eps) -1/2))) (-.f64 (sin.f64 eps) x))
42.4b
eps
0.6b
(fma.f64 (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
32.0b
(log.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) (pow.f64 (exp.f64 (sin.f64 x)) (cos.f64 eps))))
40.2b
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x))
30.7b
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
52.5b
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3))
29.6b
(fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (sin.f64 eps))) (sqrt.f64 (sin.f64 eps)) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
39.7b
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))) 3)
44.0b
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3)) (sin.f64 x))
45.9b
(fma.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
29.1b
(log1p.f64 (*.f64 (cos.f64 x) eps))
49.2b
(pow.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/3) 3)
39.3b
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 eps) (sin.f64 x))))
53.7b
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2))
40.0b
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
29.4b
(*.f64 (cos.f64 x) eps)
23.9b
(-.f64 (+.f64 (log1p.f64 (expm1.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
24.4b
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
30.1b
(fma.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
39.6b
(pow.f64 (cbrt.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)) 3)
29.1b
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
24.9b
(-.f64 (+.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (cos.f64 eps))))) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
47.1b
(log.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
24.4b
(pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))) 3)
50.0b
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))
27.7b
(sin.f64 eps)
23.8b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
28.4b
(pow.f64 (cbrt.f64 (sin.f64 eps)) 3)
0.2b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
47.3b
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
23.9b
(-.f64 (fma.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (cos.f64 eps)) 3) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
39.3b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)
23.8b
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
37.7b
(-.f64 (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
30.1b
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 (pow.f64 eps 4) 1/24))))
49.8b
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x))
23.8b
(fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
23.9b
(log1p.f64 (expm1.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))
0.2b
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))
30.2b
(log1p.f64 (+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 1/2 (pow.f64 (cos.f64 x) 2)))) (+.f64 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 -1/6 (pow.f64 (cos.f64 x) 2)) (+.f64 (*.f64 1/8 (pow.f64 (sin.f64 x) 2)) (+.f64 (*.f64 1/24 (sin.f64 x)) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (cos.f64 x) 2) (sin.f64 x))) (*.f64 1/24 (pow.f64 (cos.f64 x) 4))))))) (+.f64 (*.f64 (cos.f64 x) eps) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 1/6 (pow.f64 (cos.f64 x) 3)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 -1/6 (cos.f64 x)))))))))
40.0b
(*.f64 (pow.f64 (cbrt.f64 2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
39.3b
(-.f64 (sin.f64 eps) (sin.f64 x))
24.4b
(-.f64 (+.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 3) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
45.1b
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2)
23.8b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
Compiler

Compiled 1722 to 1179 computations (31.5% saved)

localize21.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 eps)
0.1b
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))
0.2b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
1.4b
(+.f64 (cos.f64 eps) -1)
Compiler

Compiled 36 to 16 computations (55.6% saved)

series7.0ms (0%)

Counts
3 → 60
Calls

15 calls:

TimeVariablePointExpression
1.0ms
eps
@-inf
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
1.0ms
eps
@inf
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
1.0ms
x
@inf
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
1.0ms
x
@-inf
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
0.0ms
x
@0
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))

rewrite73.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
512×log-prod_binary64
405×exp-prod_binary64
324×pow-prod-down_binary64
323×prod-diff_binary64
298×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01136
122136
2272536
Stop Event
node limit
Counts
3 → 118
Calls
Call 1
Inputs
(+.f64 (cos.f64 eps) -1)
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (cos.f64 eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (/.f64 1 (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 eps) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 2) (cbrt.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1)) (sqrt.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (pow.f64 (cos.f64 eps) 3)) (/.f64 1 (-.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) 1) (*.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (/.f64 1 (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (cos.f64 eps)) 1) (-.f64 (sqrt.f64 (cos.f64 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) 1) (*.f64 (cos.f64 eps) -1)) (+.f64 -1 (pow.f64 (cos.f64 eps) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (cos.f64 eps) 1) (neg.f64 (pow.f64 (sin.f64 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 -1 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 (cos.f64 eps) 3)) (-.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) 1) (*.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 (cos.f64 eps) 3)) (+.f64 1 (-.f64 (pow.f64 (cos.f64 eps) 2) (*.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 -1 (pow.f64 (cos.f64 eps) 3))) (neg.f64 (-.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) 1) (*.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2))) (neg.f64 (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (cos.f64 eps) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) 1) (*.f64 (cos.f64 eps) -1)) (+.f64 -1 (pow.f64 (cos.f64 eps) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (cos.f64 eps) 1) (neg.f64 (pow.f64 (sin.f64 eps) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 (cos.f64 eps) -1))) 2)) (cbrt.f64 (log.f64 (+.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 (cos.f64 eps) -1)))) (sqrt.f64 (log.f64 (+.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log.f64 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log.f64 (cos.f64 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (+.f64 (cos.f64 eps) -1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 (cos.f64 eps) -1))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 (cos.f64 eps) -1)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 eps) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 eps)) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 eps)) 2) (cbrt.f64 (cos.f64 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 eps)) (sqrt.f64 (cos.f64 eps)) -1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 1) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 2) (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) (sqrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 3) (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 3)) (+.f64 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 2) (-.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 2) (*.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 2) (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 2)) (-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) 2)) (cbrt.f64 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))) (sqrt.f64 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))) (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps)) (+.f64 1 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 -1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1 (sin.f64 x)) (*.f64 (cos.f64 eps) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 x) -1) (*.f64 (sin.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (sin.f64 x))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (sin.f64 x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (pow.f64 (cos.f64 eps) 3)) (sin.f64 x)) (-.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) 1) (*.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) (+.f64 (cos.f64 eps) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 x) (+.f64 -1 (pow.f64 (cos.f64 eps) 3))) (-.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) 1) (*.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))) 2)) (cbrt.f64 (log.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))) (sqrt.f64 (log.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (sin.f64 x) (*.f64 -1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (sin.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (sin.f64 x) -1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) -1 (*.f64 (sin.f64 x) (cos.f64 eps)))))))

simplify87.0ms (0.6%)

Algorithm
egg-herbie
Rules
579×fma-neg_binary64
487×*-commutative_binary64
486×fma-def_binary64
453×associate-+l+_binary64
384×unswap-sqr_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0821018
1227995
2649949
32331936
45452936
57514936
Stop Event
node limit
Counts
178 → 162
Calls
Call 1
Inputs
(*.f64 -1/2 (pow.f64 eps 2))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -1/720 (pow.f64 eps 6))))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (*.f64 1/40320 (pow.f64 eps 8)))))
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(*.f64 (cos.f64 x) eps)
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (sin.f64 eps))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 eps 6) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 1/40320 (*.f64 (pow.f64 eps 8) (sin.f64 x))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 eps 6) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (-.f64 (cos.f64 eps) 1) x)
(+.f64 (*.f64 -1/6 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (*.f64 (-.f64 (cos.f64 eps) 1) x))
(+.f64 (*.f64 -1/6 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (*.f64 1/120 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 5)))))
(+.f64 (*.f64 -1/5040 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 7))) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (*.f64 1/120 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 5))))))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
Outputs
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps)))
(fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -1/720 (pow.f64 eps 6))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 -1/720 (pow.f64 eps 6))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 -1/2 (*.f64 eps eps))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/720 (pow.f64 eps 6))))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (*.f64 1/40320 (pow.f64 eps 8)))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/40320 (pow.f64 eps 8)))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/40320 (pow.f64 eps 8)))))
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 (cos.f64 x) eps (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x)))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (*.f64 eps (cos.f64 x)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x)))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x)))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 (sin.f64 x)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))) (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x)))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 -1/6 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 3)) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 -1/6 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 3)) (sin.f64 eps))))
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (+.f64 (*.f64 x (*.f64 -1/2 x)) 1) (sin.f64 eps)))
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (sin.f64 eps) (+.f64 1 (*.f64 -1/2 (*.f64 x x)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x)))
(*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))))
(*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x))
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 eps 6) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (fma.f64 -1/720 (*.f64 (pow.f64 eps 6) (sin.f64 x)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 -1/720 (pow.f64 eps 6)))))
(*.f64 (sin.f64 x) (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 -1/2 (*.f64 eps eps)))))
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/720 (pow.f64 eps 6)))) (sin.f64 x))
(+.f64 (*.f64 1/40320 (*.f64 (pow.f64 eps 8) (sin.f64 x))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 eps 6) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(fma.f64 1/40320 (*.f64 (pow.f64 eps 8) (sin.f64 x)) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (fma.f64 -1/720 (*.f64 (pow.f64 eps 6) (sin.f64 x)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x)))))
(+.f64 (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 -1/720 (pow.f64 eps 6)))) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/40320 (pow.f64 eps 8)) (*.f64 1/24 (pow.f64 eps 4)))))
(*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/40320 (pow.f64 eps 8))))))
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/40320 (pow.f64 eps 8))))) (sin.f64 x))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))
(*.f64 (-.f64 (cos.f64 eps) 1) x)
(*.f64 (+.f64 (cos.f64 eps) -1) x)
(-.f64 (*.f64 (cos.f64 eps) x) x)
(+.f64 (*.f64 -1/6 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (*.f64 (-.f64 (cos.f64 eps) 1) x))
(fma.f64 -1/6 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 3)) (*.f64 (+.f64 (cos.f64 eps) -1) x))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (*.f64 -1/6 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 3))))
(*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3))))
(+.f64 (*.f64 -1/6 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (*.f64 1/120 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 5)))))
(fma.f64 -1/6 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 3)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (*.f64 1/120 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 5)))))
(fma.f64 -1/6 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 3)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (pow.f64 x 5) 1/120))))
(fma.f64 (pow.f64 x 5) (fma.f64 (cos.f64 eps) 1/120 -1/120) (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))))
(*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 1/120 (pow.f64 x 5)))))
(+.f64 (*.f64 -1/5040 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 7))) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (*.f64 1/120 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 5))))))
(fma.f64 -1/5040 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 7)) (fma.f64 -1/6 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 3)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (*.f64 1/120 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 5))))))
(fma.f64 -1/5040 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 7)) (fma.f64 -1/6 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 3)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (pow.f64 x 5) 1/120)))))
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/5040 (pow.f64 x 7)))))
(*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) (+.f64 (*.f64 -1/5040 (pow.f64 x 7)) (*.f64 1/120 (pow.f64 x 5)))))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))

localize4.0ms (0%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (*.f64 (cos.f64 x) eps))
0.1b
(*.f64 (cos.f64 x) eps)
0.3b
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2)
Compiler

Compiled 23 to 8 computations (65.2% saved)

series11.0ms (0.1%)

Counts
2 → 20
Calls

12 calls:

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

rewrite55.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

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

simplify53.0ms (0.4%)

Algorithm
egg-herbie
Rules
431×*-commutative_binary64
334×distribute-rgt-in_binary64
329×distribute-lft-out_binary64
325×distribute-lft-in_binary64
320×unswap-sqr_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
054325
1136321
2405282
31880255
45044255
Stop Event
node limit
Counts
70 → 65
Calls
Call 1
Inputs
eps
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(+.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) (*.f64 (-.f64 (+.f64 (*.f64 1/16 eps) (*.f64 1/24 eps)) (pow.f64 (*.f64 -1/4 (sqrt.f64 eps)) 2)) (pow.f64 x 4))))
(+.f64 (*.f64 -1/720 (*.f64 eps (pow.f64 x 6))) (+.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) (*.f64 (-.f64 (+.f64 (*.f64 1/16 eps) (*.f64 1/24 eps)) (pow.f64 (*.f64 -1/4 (sqrt.f64 eps)) 2)) (pow.f64 x 4)))))
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(sqrt.f64 eps)
(+.f64 (*.f64 -1/4 (*.f64 (sqrt.f64 eps) (pow.f64 x 2))) (sqrt.f64 eps))
(+.f64 (*.f64 -1/4 (*.f64 (sqrt.f64 eps) (pow.f64 x 2))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 (-.f64 (*.f64 1/24 eps) (pow.f64 (*.f64 -1/4 (sqrt.f64 eps)) 2)) (pow.f64 x 4)))) (sqrt.f64 eps)))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 (-.f64 (*.f64 -1/720 eps) (*.f64 -1/4 (-.f64 (*.f64 1/24 eps) (pow.f64 (*.f64 -1/4 (sqrt.f64 eps)) 2)))) (pow.f64 x 6)))) (+.f64 (*.f64 -1/4 (*.f64 (sqrt.f64 eps) (pow.f64 x 2))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 (-.f64 (*.f64 1/24 eps) (pow.f64 (*.f64 -1/4 (sqrt.f64 eps)) 2)) (pow.f64 x 4)))) (sqrt.f64 eps))))
(sqrt.f64 (*.f64 eps (cos.f64 x)))
(sqrt.f64 (*.f64 eps (cos.f64 x)))
(sqrt.f64 (*.f64 eps (cos.f64 x)))
(sqrt.f64 (*.f64 eps (cos.f64 x)))
Outputs
eps
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(+.f64 eps (*.f64 -1/2 (*.f64 eps (*.f64 x x))))
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps)
(fma.f64 (*.f64 x (*.f64 eps -1/2)) x eps)
(fma.f64 eps (*.f64 -1/2 (*.f64 x x)) eps)
(+.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) (*.f64 (-.f64 (+.f64 (*.f64 1/16 eps) (*.f64 1/24 eps)) (pow.f64 (*.f64 -1/4 (sqrt.f64 eps)) 2)) (pow.f64 x 4))))
(+.f64 eps (fma.f64 -1/2 (*.f64 eps (*.f64 x x)) (*.f64 (-.f64 (*.f64 eps 5/48) (pow.f64 (*.f64 -1/4 (sqrt.f64 eps)) 2)) (pow.f64 x 4))))
(+.f64 eps (fma.f64 (-.f64 (*.f64 eps 5/48) (pow.f64 (*.f64 -1/4 (sqrt.f64 eps)) 2)) (pow.f64 x 4) (*.f64 (*.f64 x x) (*.f64 eps -1/2))))
(fma.f64 eps (*.f64 -1/2 (*.f64 x x)) (fma.f64 (fma.f64 eps 5/48 (*.f64 eps -1/16)) (pow.f64 x 4) eps))
(fma.f64 eps (*.f64 -1/2 (*.f64 x x)) (fma.f64 (*.f64 eps 1/24) (pow.f64 x 4) eps))
(+.f64 (*.f64 -1/720 (*.f64 eps (pow.f64 x 6))) (+.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) (*.f64 (-.f64 (+.f64 (*.f64 1/16 eps) (*.f64 1/24 eps)) (pow.f64 (*.f64 -1/4 (sqrt.f64 eps)) 2)) (pow.f64 x 4)))))
(fma.f64 -1/720 (*.f64 eps (pow.f64 x 6)) (+.f64 eps (fma.f64 -1/2 (*.f64 eps (*.f64 x x)) (*.f64 (-.f64 (*.f64 eps 5/48) (pow.f64 (*.f64 -1/4 (sqrt.f64 eps)) 2)) (pow.f64 x 4)))))
(+.f64 (fma.f64 (-.f64 (*.f64 eps 5/48) (pow.f64 (*.f64 -1/4 (sqrt.f64 eps)) 2)) (pow.f64 x 4) (*.f64 (*.f64 x x) (*.f64 eps -1/2))) (fma.f64 -1/720 (*.f64 eps (pow.f64 x 6)) eps))
(fma.f64 eps (*.f64 -1/720 (pow.f64 x 6)) (fma.f64 eps (*.f64 -1/2 (*.f64 x x)) (fma.f64 (fma.f64 eps 5/48 (*.f64 eps -1/16)) (pow.f64 x 4) eps)))
(fma.f64 eps (*.f64 -1/720 (pow.f64 x 6)) (fma.f64 eps (*.f64 -1/2 (*.f64 x x)) (fma.f64 (*.f64 eps 1/24) (pow.f64 x 4) eps)))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(sqrt.f64 eps)
(+.f64 (*.f64 -1/4 (*.f64 (sqrt.f64 eps) (pow.f64 x 2))) (sqrt.f64 eps))
(fma.f64 -1/4 (*.f64 (*.f64 x x) (sqrt.f64 eps)) (sqrt.f64 eps))
(fma.f64 (*.f64 x x) (*.f64 -1/4 (sqrt.f64 eps)) (sqrt.f64 eps))
(fma.f64 (sqrt.f64 eps) (*.f64 x (*.f64 x -1/4)) (sqrt.f64 eps))
(+.f64 (*.f64 -1/4 (*.f64 (sqrt.f64 eps) (pow.f64 x 2))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 (-.f64 (*.f64 1/24 eps) (pow.f64 (*.f64 -1/4 (sqrt.f64 eps)) 2)) (pow.f64 x 4)))) (sqrt.f64 eps)))
(fma.f64 -1/4 (*.f64 (*.f64 x x) (sqrt.f64 eps)) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 (pow.f64 x 4) (-.f64 (*.f64 eps 1/24) (pow.f64 (*.f64 -1/4 (sqrt.f64 eps)) 2)))) (sqrt.f64 eps)))
(fma.f64 -1/4 (*.f64 (*.f64 x x) (sqrt.f64 eps)) (fma.f64 1/2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (pow.f64 x 4)) (-.f64 (*.f64 eps 1/24) (pow.f64 (*.f64 -1/4 (sqrt.f64 eps)) 2))) (sqrt.f64 eps)))
(fma.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 (pow.f64 x 4) (*.f64 (fma.f64 eps 1/24 (*.f64 eps -1/16)) 1/2)) (fma.f64 (*.f64 x x) (*.f64 -1/4 (sqrt.f64 eps)) (sqrt.f64 eps)))
(fma.f64 (*.f64 x x) (*.f64 -1/4 (sqrt.f64 eps)) (fma.f64 (*.f64 1/2 (*.f64 (pow.f64 x 4) (sqrt.f64 (/.f64 1 eps)))) (*.f64 eps -1/48) (sqrt.f64 eps)))
(fma.f64 (*.f64 x x) (*.f64 -1/4 (sqrt.f64 eps)) (fma.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 (*.f64 eps -1/48) (*.f64 (pow.f64 x 4) 1/2)) (sqrt.f64 eps)))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 (-.f64 (*.f64 -1/720 eps) (*.f64 -1/4 (-.f64 (*.f64 1/24 eps) (pow.f64 (*.f64 -1/4 (sqrt.f64 eps)) 2)))) (pow.f64 x 6)))) (+.f64 (*.f64 -1/4 (*.f64 (sqrt.f64 eps) (pow.f64 x 2))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 (-.f64 (*.f64 1/24 eps) (pow.f64 (*.f64 -1/4 (sqrt.f64 eps)) 2)) (pow.f64 x 4)))) (sqrt.f64 eps))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 (pow.f64 x 6) (-.f64 (*.f64 eps -1/720) (*.f64 -1/4 (-.f64 (*.f64 eps 1/24) (pow.f64 (*.f64 -1/4 (sqrt.f64 eps)) 2)))))) (fma.f64 -1/4 (*.f64 (*.f64 x x) (sqrt.f64 eps)) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 (pow.f64 x 4) (-.f64 (*.f64 eps 1/24) (pow.f64 (*.f64 -1/4 (sqrt.f64 eps)) 2)))) (sqrt.f64 eps))))
(fma.f64 1/2 (*.f64 (fma.f64 eps -1/720 (*.f64 (-.f64 (*.f64 eps 1/24) (pow.f64 (*.f64 -1/4 (sqrt.f64 eps)) 2)) 1/4)) (*.f64 (pow.f64 x 6) (sqrt.f64 (/.f64 1 eps)))) (fma.f64 -1/4 (*.f64 (*.f64 x x) (sqrt.f64 eps)) (fma.f64 1/2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (pow.f64 x 4)) (-.f64 (*.f64 eps 1/24) (pow.f64 (*.f64 -1/4 (sqrt.f64 eps)) 2))) (sqrt.f64 eps))))
(fma.f64 1/2 (*.f64 (pow.f64 x 6) (*.f64 (sqrt.f64 (/.f64 1 eps)) (fma.f64 (fma.f64 eps 1/24 (*.f64 eps -1/16)) 1/4 (*.f64 eps -1/720)))) (fma.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 (pow.f64 x 4) (*.f64 (fma.f64 eps 1/24 (*.f64 eps -1/16)) 1/2)) (fma.f64 (*.f64 x x) (*.f64 -1/4 (sqrt.f64 eps)) (sqrt.f64 eps))))
(+.f64 (fma.f64 (sqrt.f64 eps) (*.f64 x (*.f64 x -1/4)) (sqrt.f64 eps)) (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 eps))) (+.f64 (*.f64 (pow.f64 x 6) (fma.f64 eps -1/720 (*.f64 -1/4 (*.f64 eps 1/48)))) (*.f64 (pow.f64 x 4) (*.f64 eps -1/48)))))
(+.f64 (fma.f64 (*.f64 x x) (*.f64 -1/4 (sqrt.f64 eps)) (sqrt.f64 eps)) (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 eps))) (+.f64 (*.f64 (pow.f64 x 6) (fma.f64 eps -1/720 (*.f64 -1/4 (*.f64 eps 1/48)))) (*.f64 (pow.f64 x 4) (*.f64 eps -1/48)))))
(sqrt.f64 (*.f64 eps (cos.f64 x)))
(sqrt.f64 (*.f64 eps (cos.f64 x)))
(sqrt.f64 (*.f64 eps (cos.f64 x)))
(sqrt.f64 (*.f64 eps (cos.f64 x)))

localize16.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cos.f64 x) (sin.f64 eps))
0.2b
(+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
2.6b
(-.f64 (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
Compiler

Compiled 34 to 8 computations (76.5% saved)

series4.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite85.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
532×fma-def_binary64
503×log-prod_binary64
357×pow-prod-down_binary64
282×pow2_binary64
237×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify208.0ms (1.4%)

Algorithm
egg-herbie
Rules
767×sqr-pow_binary64
648×cube-prod_binary64
444×*-commutative_binary64
396×unpow3_binary64
385×cube-mult_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
060606
1173588
2480543
31506540
42243540
53106540
63310540
73537540
83820540
94203540
104643540
115181540
125830540
136591540
146989540
157394540
167784540
Stop Event
node limit
Counts
249 → 232
Calls
Call 1
Inputs
(sin.f64 eps)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 x 4) (sin.f64 eps))) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 x 4) (sin.f64 eps))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 x 6) (sin.f64 eps))) (sin.f64 eps))))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (cos.f64 x) eps)
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (cos.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (cos.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 eps 7) (cos.f64 x))) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (cos.f64 x) (sin.f64 eps))
(sin.f64 eps)
(+.f64 x (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 x (sin.f64 eps)))
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 x (sin.f64 eps))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(sin.f64 x)
(+.f64 (*.f64 (cos.f64 x) eps) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (cos.f64 x))) (+.f64 (sin.f64 x) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
Outputs
(sin.f64 eps)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (sin.f64 eps))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (sin.f64 eps))
(fma.f64 (*.f64 -1/2 (*.f64 x x)) (sin.f64 eps) (sin.f64 eps))
(*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 x 4) (sin.f64 eps))) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 1/24 (*.f64 (sin.f64 eps) (pow.f64 x 4)) (sin.f64 eps)))
(+.f64 (sin.f64 eps) (*.f64 (sin.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 x x)) (*.f64 1/24 (pow.f64 x 4)))))
(*.f64 (sin.f64 eps) (+.f64 (*.f64 1/24 (pow.f64 x 4)) (fma.f64 -1/2 (*.f64 x x) 1)))
(fma.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) (*.f64 1/24 (pow.f64 x 4))) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 x 4) (sin.f64 eps))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 x 6) (sin.f64 eps))) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 1/24 (*.f64 (sin.f64 eps) (pow.f64 x 4)) (fma.f64 -1/720 (*.f64 (sin.f64 eps) (pow.f64 x 6)) (sin.f64 eps))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/720 (pow.f64 x 6)) 1) (sin.f64 eps)) (*.f64 (sin.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 x x)) (*.f64 1/24 (pow.f64 x 4)))))
(fma.f64 (sin.f64 eps) (fma.f64 1/24 (pow.f64 x 4) (*.f64 -1/720 (pow.f64 x 6))) (*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1)))
(*.f64 (sin.f64 eps) (+.f64 (fma.f64 -1/2 (*.f64 x x) 1) (fma.f64 1/24 (pow.f64 x 4) (*.f64 -1/720 (pow.f64 x 6)))))
(*.f64 (sin.f64 eps) (+.f64 (fma.f64 -1/720 (pow.f64 x 6) 1) (fma.f64 -1/2 (*.f64 x x) (*.f64 1/24 (pow.f64 x 4)))))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (sin.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (sin.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (sin.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (sin.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (sin.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (sin.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (sin.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (sin.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))
(fma.f64 (cos.f64 x) eps (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3))))
(*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))
(*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (cos.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))))
(fma.f64 1/120 (*.f64 (cos.f64 x) (pow.f64 eps 5)) (fma.f64 (cos.f64 x) eps (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)))))
(fma.f64 1/120 (*.f64 (cos.f64 x) (pow.f64 eps 5)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(*.f64 (cos.f64 x) (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (fma.f64 1/120 (pow.f64 eps 5) eps)))
(*.f64 (cos.f64 x) (+.f64 (*.f64 1/120 (pow.f64 eps 5)) (fma.f64 -1/6 (pow.f64 eps 3) eps)))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (cos.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 eps 7) (cos.f64 x))) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))))
(fma.f64 1/120 (*.f64 (cos.f64 x) (pow.f64 eps 5)) (fma.f64 (cos.f64 x) eps (fma.f64 -1/5040 (*.f64 (cos.f64 x) (pow.f64 eps 7)) (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3))))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/5040 (pow.f64 eps 7)) (*.f64 -1/6 (pow.f64 eps 3)))) (*.f64 (cos.f64 x) (+.f64 (*.f64 1/120 (pow.f64 eps 5)) eps)))
(*.f64 (cos.f64 x) (+.f64 (fma.f64 1/120 (pow.f64 eps 5) eps) (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 -1/5040 (pow.f64 eps 7)))))
(*.f64 (cos.f64 x) (+.f64 (fma.f64 1/120 (pow.f64 eps 5) eps) (fma.f64 -1/5040 (pow.f64 eps 7) (*.f64 -1/6 (pow.f64 eps 3)))))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (sin.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (sin.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (sin.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (sin.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (sin.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (sin.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (sin.f64 eps) (cos.f64 x))
(*.f64 (cos.f64 x) (sin.f64 eps))
(*.f64 (sin.f64 eps) (cos.f64 x))
(sin.f64 eps)
(+.f64 x (sin.f64 eps))
(+.f64 (sin.f64 eps) x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 x (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (+.f64 (sin.f64 eps) x))
(+.f64 x (fma.f64 (*.f64 -1/2 (*.f64 x x)) (sin.f64 eps) (sin.f64 eps)))
(fma.f64 (fma.f64 -1/2 (*.f64 x x) 1) (sin.f64 eps) x)
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 x (sin.f64 eps))))
(fma.f64 -1/6 (pow.f64 x 3) (fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (+.f64 (sin.f64 eps) x)))
(fma.f64 -1/6 (pow.f64 x 3) (+.f64 x (fma.f64 (*.f64 -1/2 (*.f64 x x)) (sin.f64 eps) (sin.f64 eps))))
(fma.f64 -1/6 (pow.f64 x 3) (fma.f64 (fma.f64 -1/2 (*.f64 x x) 1) (sin.f64 eps) x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (sin.f64 x))
(sin.f64 x)
(+.f64 (*.f64 (cos.f64 x) eps) (sin.f64 x))
(fma.f64 (cos.f64 x) eps (sin.f64 x))
(fma.f64 eps (cos.f64 x) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))))
(+.f64 (fma.f64 (cos.f64 x) eps (sin.f64 x)) (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))) (sin.f64 x))
(fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (cos.f64 x))) (+.f64 (sin.f64 x) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))))
(fma.f64 (cos.f64 x) eps (fma.f64 1/120 (*.f64 (cos.f64 x) (pow.f64 eps 5)) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3))) (sin.f64 x))))
(+.f64 (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (sin.f64 x)) (*.f64 (cos.f64 x) (+.f64 (*.f64 1/120 (pow.f64 eps 5)) eps)))
(+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (fma.f64 1/120 (pow.f64 eps 5) eps))))
(+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (+.f64 (*.f64 1/120 (pow.f64 eps 5)) (fma.f64 -1/6 (pow.f64 eps 3) eps))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (sin.f64 x))

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 eps)
0.1b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps)))
0.1b
(*.f64 (sin.f64 x) (cos.f64 eps))
2.5b
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
Compiler

Compiled 40 to 9 computations (77.5% saved)

series4.0ms (0%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
0.0ms
eps
@0
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
0.0ms
x
@inf
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
0.0ms
x
@-inf
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
0.0ms
eps
@inf
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
0.0ms
eps
@-inf
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))

rewrite107.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
530×log-prod_binary64
346×pow-prod-down_binary64
346×fma-def_binary64
302×pow2_binary64
210×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01037
121417
2295617
Stop Event
node limit
Counts
2 → 141
Calls
Call 1
Inputs
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 (+.f64 eps x)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 (+.f64 eps x)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sin.f64 x)) (sin.f64 (+.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 2) (cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) (sqrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sin.f64 (/.f64 (-.f64 (+.f64 eps x) x) 2)) (cos.f64 (/.f64 (+.f64 (+.f64 eps x) x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 eps x)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 x) (sin.f64 (+.f64 eps x))) (pow.f64 (sin.f64 (+.f64 eps x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 eps x)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 x) (sin.f64 (+.f64 eps x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 eps x))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 (+.f64 eps x))) (sqrt.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 x) (sin.f64 (+.f64 eps x))) (pow.f64 (sin.f64 (+.f64 eps x)) 2)) (-.f64 (pow.f64 (sin.f64 (+.f64 eps x)) 3) (pow.f64 (sin.f64 x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (sin.f64 x) (sin.f64 (+.f64 eps x))) (-.f64 (pow.f64 (sin.f64 (+.f64 eps x)) 2) (pow.f64 (sin.f64 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 eps x)) 3) (pow.f64 (sin.f64 x) 3)) (fma.f64 (sin.f64 x) (+.f64 (sin.f64 x) (sin.f64 (+.f64 eps x))) (pow.f64 (sin.f64 (+.f64 eps x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 eps x)) 2) (pow.f64 (sin.f64 x) 2)) (+.f64 (sin.f64 x) (sin.f64 (+.f64 eps x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 eps x)) 3) (pow.f64 (sin.f64 x) 3))) (neg.f64 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 x) (sin.f64 (+.f64 eps x))) (pow.f64 (sin.f64 (+.f64 eps x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 eps x)) 2) (pow.f64 (sin.f64 x) 2))) (neg.f64 (+.f64 (sin.f64 x) (sin.f64 (+.f64 eps x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (sin.f64 (+.f64 eps x)) 3) (pow.f64 (neg.f64 (sin.f64 x)) 3)) (+.f64 (pow.f64 (sin.f64 (+.f64 eps x)) 2) (-.f64 (pow.f64 (neg.f64 (sin.f64 x)) 2) (*.f64 (sin.f64 (+.f64 eps x)) (neg.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 eps x)) 2) (pow.f64 (neg.f64 (sin.f64 x)) 2)) (-.f64 (sin.f64 (+.f64 eps x)) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 x) (sin.f64 (+.f64 eps x))) (pow.f64 (sin.f64 (+.f64 eps x)) 2)) (-.f64 (pow.f64 (sin.f64 (+.f64 eps x)) 3) (pow.f64 (sin.f64 x) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (sin.f64 x) (sin.f64 (+.f64 eps x))) (-.f64 (pow.f64 (sin.f64 (+.f64 eps x)) 2) (pow.f64 (sin.f64 x) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 eps x)))) (exp.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (sin.f64 (+.f64 eps x))) (+.f64 1 (expm1.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 eps x)))) (+.f64 1 (expm1.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 eps x)))) (exp.f64 (neg.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 eps x)))) (/.f64 1 (exp.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (exp.f64 (sin.f64 (+.f64 eps x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (+.f64 1 (expm1.f64 (sin.f64 (+.f64 eps x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (sin.f64 x))) (+.f64 1 (expm1.f64 (sin.f64 (+.f64 eps x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 eps) (cos.f64 x) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (sin.f64 eps) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 (+.f64 eps x)) 1 (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 (+.f64 eps x)) 1 (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1 (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1 (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1 (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sin.f64 (+.f64 eps x)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sin.f64 (+.f64 eps x)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (sin.f64 eps) (cos.f64 x)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (sin.f64 x)) (sin.f64 (+.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sin.f64 (+.f64 eps x))) (pow.f64 (cbrt.f64 (sin.f64 (+.f64 eps x))) 2) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sin.f64 (+.f64 eps x))) (pow.f64 (cbrt.f64 (sin.f64 (+.f64 eps x))) 2) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 eps x))) 2) (cbrt.f64 (sin.f64 (+.f64 eps x))) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 eps x))) 2) (cbrt.f64 (sin.f64 (+.f64 eps x))) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (neg.f64 (cbrt.f64 (sin.f64 x))) (sin.f64 (+.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 eps)) 2) (*.f64 (cbrt.f64 (sin.f64 eps)) (cos.f64 x)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 2) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 2) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 2) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 2) (cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 2) (cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 2) (cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 (+.f64 eps x))) (sqrt.f64 (sin.f64 (+.f64 eps x))) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 (+.f64 eps x))) (sqrt.f64 (sin.f64 (+.f64 eps x))) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (neg.f64 (sqrt.f64 (sin.f64 x))) (sin.f64 (+.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sqrt.f64 (sin.f64 eps)) (cos.f64 x)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) (sqrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) (sqrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) (sqrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 eps x)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 x) (sin.f64 (+.f64 eps x))) (pow.f64 (sin.f64 (+.f64 eps x)) 2))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 eps x)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 x) (sin.f64 (+.f64 eps x))) (pow.f64 (sin.f64 (+.f64 eps x)) 2))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 eps x)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 x) (sin.f64 (+.f64 eps x))) (pow.f64 (sin.f64 (+.f64 eps x)) 2))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 eps x)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 x) (sin.f64 (+.f64 eps x)))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 eps x)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 x) (sin.f64 (+.f64 eps x)))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 eps x)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 x) (sin.f64 (+.f64 eps x)))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 (sin.f64 x))) 2) (cbrt.f64 (neg.f64 (sin.f64 x))) (sin.f64 (+.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 eps) (cos.f64 x))) 2) (cbrt.f64 (*.f64 (sin.f64 eps) (cos.f64 x))) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (sin.f64 x))) (sqrt.f64 (neg.f64 (sin.f64 x))) (sin.f64 (+.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (sin.f64 x))) (sqrt.f64 (sin.f64 x)) (sin.f64 (+.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (sin.f64 x) (sin.f64 (+.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 eps x))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 (+.f64 eps x))) (sqrt.f64 (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 eps x))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 (+.f64 eps x))) (sqrt.f64 (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 eps x))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 (+.f64 eps x))) (sqrt.f64 (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sin.f64 eps) (cos.f64 x))) (sqrt.f64 (*.f64 (sin.f64 eps) (cos.f64 x))) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (cbrt.f64 (sin.f64 x)) (sin.f64 (+.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 eps) (cbrt.f64 (pow.f64 (cos.f64 x) 2))) (cbrt.f64 (cos.f64 x)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 eps) (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sin.f64 (+.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 1) (*.f64 (sin.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 (+.f64 eps x)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 (+.f64 eps x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (+.f64 eps x))))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (+.f64 eps x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sin.f64 (+.f64 eps x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (+.f64 eps x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 (+.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 (+.f64 eps x))) (pow.f64 (cbrt.f64 (sin.f64 (+.f64 eps x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 eps x))) 2) (cbrt.f64 (sin.f64 (+.f64 eps x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 (+.f64 eps x))) (sqrt.f64 (sin.f64 (+.f64 eps x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 3) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3)) (+.f64 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 2) (-.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2) (*.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (cos.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 2) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2)) (sin.f64 (-.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 (+.f64 eps x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 (+.f64 eps x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sin.f64 (+.f64 eps x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sin.f64 (+.f64 eps x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 (+.f64 eps x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (sin.f64 (+.f64 eps x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sin.f64 (+.f64 eps x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 eps x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (exp.f64 (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (exp.f64 (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 eps) (cos.f64 x))) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (cos.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sin.f64 (+.f64 eps x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x sin.f64 (+.f64 eps x))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sin.f64 (+.f64 eps x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sin.f64 (+.f64 eps x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sin.f64 (+.f64 eps x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sin.f64 (+.f64 eps x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (sin.f64 (+.f64 eps x)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (sin.f64 (+.f64 eps x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (sin.f64 (+.f64 eps x)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sin.f64 (+.f64 eps x))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sin.f64 (+.f64 eps x))) 3) 1/3))))))

simplify84.0ms (0.6%)

Algorithm
egg-herbie
Rules
825×distribute-lft-out_binary64
783×distribute-rgt-out_binary64
681×fma-neg_binary64
640×associate-*l*_binary64
500×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
060900
1174895
2451849
31384848
43993848
57759848
Stop Event
node limit
Counts
189 → 172
Calls
Call 1
Inputs
(*.f64 (cos.f64 x) eps)
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3)) (sin.f64 eps))))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(sin.f64 x)
(+.f64 (*.f64 (cos.f64 x) eps) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(sin.f64 eps)
(+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (sin.f64 eps))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
Outputs
(*.f64 (cos.f64 x) eps)
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 (cos.f64 x) eps (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (*.f64 (cos.f64 x) eps))
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 (sin.f64 x)) (*.f64 (cos.f64 x) eps))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 eps (*.f64 -1/2 (sin.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 1/24 (pow.f64 eps 4)))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 eps (*.f64 eps -1/2)))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 eps (*.f64 (sin.f64 x) (+.f64 (*.f64 eps -1/2) (*.f64 (pow.f64 eps 3) 1/24)))))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps))
(fma.f64 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps))
(-.f64 (fma.f64 x (cos.f64 eps) (sin.f64 eps)) x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps)))
(fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (sin.f64 eps)))
(-.f64 (fma.f64 x (cos.f64 eps) (fma.f64 -1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (sin.f64 eps))) x)
(-.f64 (fma.f64 x (cos.f64 eps) (*.f64 (sin.f64 eps) (+.f64 1 (*.f64 x (*.f64 x -1/2))))) x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3)) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (fma.f64 -1/6 (cos.f64 eps) 1/6) (pow.f64 x 3) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 (fma.f64 -1/6 (cos.f64 eps) 1/6) (pow.f64 x 3) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 (fma.f64 -1/6 (cos.f64 eps) 1/6) (pow.f64 x 3) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (fma.f64 -1/6 (cos.f64 eps) 1/6) (pow.f64 x 3) (-.f64 (fma.f64 x (cos.f64 eps) (sin.f64 eps)) x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(sin.f64 x)
(+.f64 (*.f64 (cos.f64 x) eps) (sin.f64 x))
(fma.f64 (cos.f64 x) eps (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (fma.f64 (cos.f64 x) eps (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (cos.f64 x) eps (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (sin.f64 x)))
(fma.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) (sin.f64 x) (*.f64 (cos.f64 x) eps))
(fma.f64 (cos.f64 x) eps (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(+.f64 (fma.f64 (cos.f64 x) eps (sin.f64 x)) (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))))
(+.f64 (sin.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))))
(+.f64 (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps)))
(sin.f64 eps)
(+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps))
(fma.f64 (cos.f64 eps) x (sin.f64 eps))
(fma.f64 x (cos.f64 eps) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 x (cos.f64 eps) (sin.f64 eps)))
(fma.f64 x (cos.f64 eps) (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (sin.f64 eps)))
(fma.f64 x (cos.f64 eps) (fma.f64 -1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (sin.f64 eps)))
(fma.f64 x (cos.f64 eps) (*.f64 (sin.f64 eps) (+.f64 1 (*.f64 x (*.f64 x -1/2)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 x (cos.f64 eps) (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (sin.f64 eps))))
(+.f64 (*.f64 (cos.f64 eps) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)) (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (sin.f64 eps)))
(+.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (*.f64 (cos.f64 eps) (+.f64 x (*.f64 -1/6 (pow.f64 x 3))))))
(+.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (*.f64 (cos.f64 eps) (+.f64 x (*.f64 -1/6 (pow.f64 x 3))))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps)))

eval346.0ms (2.4%)

Compiler

Compiled 13739 to 4874 computations (64.5% saved)

prune377.0ms (2.6%)

Pruning

54 alts after pruning (47 fresh and 7 done)

PrunedKeptTotal
New75223775
Fresh242448
Picked011
Done167
Total77754831
Error
0b
Counts
831 → 54
Alt Table
Click to see full alt table
StatusErrorProgram
30.1b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3)
46.4b
(log1p.f64 (-.f64 (exp.f64 (sin.f64 eps)) 1))
44.5b
(+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))
44.0b
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3))
39.1b
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
23.8b
(+.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) (*.f64 (sin.f64 x) (cos.f64 eps)))
29.1b
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
23.8b
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
29.6b
(*.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)))
31.9b
(log.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))
40.2b
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x))
52.5b
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3))
45.0b
(*.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps))
42.4b
eps
39.7b
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))) 3)
45.9b
(fma.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
29.1b
(log1p.f64 (*.f64 (cos.f64 x) eps))
0.2b
(+.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))
49.2b
(pow.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/3) 3)
0.3b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x)))
39.3b
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 eps) (sin.f64 x))))
29.4b
(*.f64 (cos.f64 x) eps)
37.7b
(+.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) (sin.f64 x))
45.1b
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2)
14.2b
(*.f64 (sin.f64 eps) (cos.f64 x))
14.3b
(fma.f64 (*.f64 (sin.f64 eps) (cbrt.f64 (pow.f64 (cos.f64 x) 2))) (cbrt.f64 (cos.f64 x)) (-.f64 (sin.f64 x) (sin.f64 x)))
27.9b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x)))
24.9b
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (log.f64 (pow.f64 (exp.f64 (sin.f64 x)) (cos.f64 eps)))) (sin.f64 x))
0.2b
(fma.f64 (sin.f64 eps) (cos.f64 x) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))
1.5b
(pow.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 3)
29.7b
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps))))
0.2b
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
0.2b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log.f64 (exp.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x)))
24.9b
(-.f64 (+.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (cos.f64 eps))))) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
47.1b
(log.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
29.5b
(fma.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sqrt.f64 (sin.f64 eps)) (cos.f64 x)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))
28.4b
(pow.f64 (cbrt.f64 (sin.f64 eps)) 3)
27.7b
(sin.f64 eps)
0.2b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (log.f64 (exp.f64 (cos.f64 eps))) -1) (sin.f64 x)))
40.3b
(-.f64 (fma.f64 x (cos.f64 eps) (*.f64 (sin.f64 eps) (+.f64 1 (*.f64 x (*.f64 x -1/2))))) x)
0.2b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
47.3b
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
30.8b
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (sin.f64 eps) (+.f64 1 (*.f64 -1/2 (*.f64 x x)))))
39.3b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)
0.2b
(fma.f64 (sin.f64 eps) (cos.f64 x) (log1p.f64 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))
23.8b
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
37.7b
(-.f64 (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
30.1b
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 (pow.f64 eps 4) 1/24))))
49.8b
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x))
23.8b
(fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
23.9b
(log1p.f64 (expm1.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))
0.2b
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))
39.3b
(-.f64 (sin.f64 eps) (sin.f64 x))
52.2b
(pow.f64 (sqrt.f64 eps) 2)
Compiler

Compiled 1388 to 965 computations (30.5% saved)

localize30.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(exp.f64 (+.f64 (cos.f64 eps) -1))
0.2b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log.f64 (exp.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x)))
1.4b
(+.f64 (cos.f64 eps) -1)
1.4b
(log.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)))
Compiler

Compiled 51 to 27 computations (47.1% saved)

series4.0ms (0%)

Counts
3 → 48
Calls

12 calls:

TimeVariablePointExpression
0.0ms
eps
@0
(log.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)))
0.0ms
eps
@0
(exp.f64 (+.f64 (cos.f64 eps) -1))
0.0ms
eps
@0
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log.f64 (exp.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x)))
0.0ms
x
@0
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log.f64 (exp.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x)))
0.0ms
eps
@inf
(exp.f64 (+.f64 (cos.f64 eps) -1))

rewrite78.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
556×log-prod_binary64
347×pow-prod-down_binary64
323×prod-diff_binary64
318×pow2_binary64
222×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01333
124433
2291933
Stop Event
node limit
Counts
3 → 132
Calls
Call 1
Inputs
(log.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log.f64 (exp.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x)))
(exp.f64 (+.f64 (cos.f64 eps) -1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 eps) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (cos.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 eps) -1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (*.f64 1/3 (+.f64 (cos.f64 eps) -1))) (*.f64 1/3 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (+.f64 (cos.f64 eps) -1)) (*.f64 1/2 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (cos.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/3 (+.f64 (cos.f64 eps) -1)) (*.f64 2 (*.f64 1/3 (+.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cos.f64 eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (/.f64 1 (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 eps) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) (cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) (cbrt.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1)) (sqrt.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (*.f64 1/3 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (pow.f64 (cos.f64 eps) 3)) (/.f64 1 (-.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) 1) (*.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (/.f64 1 (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (*.f64 3 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (cos.f64 eps)) 1) (-.f64 (sqrt.f64 (cos.f64 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) 1) (*.f64 (cos.f64 eps) -1)) (+.f64 -1 (pow.f64 (cos.f64 eps) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (cos.f64 eps) 1) (neg.f64 (pow.f64 (sin.f64 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 -1 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 (cos.f64 eps) 3)) (-.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) 1) (*.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 (cos.f64 eps) 3)) (+.f64 1 (-.f64 (pow.f64 (cos.f64 eps) 2) (*.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 -1 (pow.f64 (cos.f64 eps) 3))) (neg.f64 (-.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) 1) (*.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2))) (neg.f64 (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (cos.f64 eps) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) 1) (*.f64 (cos.f64 eps) -1)) (+.f64 -1 (pow.f64 (cos.f64 eps) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (cos.f64 eps) 1) (neg.f64 (pow.f64 (sin.f64 eps) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log.f64 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log.f64 (cos.f64 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (+.f64 (cos.f64 eps) -1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 (cos.f64 eps) -1))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 eps) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 eps)) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 eps)) 2) (cbrt.f64 (cos.f64 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 eps)) (sqrt.f64 (cos.f64 eps)) -1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 1) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 2) (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) (sqrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 3) (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 3)) (+.f64 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 2) (-.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 2) (*.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 2) (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 2)) (-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (sin.f64 x)) (exp.f64 (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))) (exp.f64 (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 eps) (cos.f64 x))) (+.f64 1 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (exp.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (exp.f64 (+.f64 (cos.f64 eps) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (exp.f64 (+.f64 (cos.f64 eps) -1))))) (log.f64 (sqrt.f64 (exp.f64 (exp.f64 (+.f64 (cos.f64 eps) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (exp.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (cos.f64 eps)) (exp.f64 -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (cos.f64 eps)) (pow.f64 (exp.f64 1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 -1) (exp.f64 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (exp.f64 (+.f64 (cos.f64 eps) -1))) (cbrt.f64 (exp.f64 (*.f64 2 (+.f64 (cos.f64 eps) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (exp.f64 (*.f64 2 (+.f64 (cos.f64 eps) -1)))) (cbrt.f64 (exp.f64 (+.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (exp.f64 (+.f64 (cos.f64 eps) -1))) (sqrt.f64 (exp.f64 (+.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1) -1) (exp.f64 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1) (*.f64 2 (*.f64 1/3 (+.f64 (cos.f64 eps) -1)))) (pow.f64 (exp.f64 1) (*.f64 1/3 (+.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1) (*.f64 1/2 (+.f64 (cos.f64 eps) -1))) (pow.f64 (exp.f64 1) (*.f64 1/2 (+.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (exp.f64 (cos.f64 eps)) (pow.f64 (exp.f64 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1) (/.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (cos.f64 eps) 1))) (pow.f64 (exp.f64 1) (/.f64 1 (+.f64 (cos.f64 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (*.f64 2 (+.f64 (cos.f64 eps) -1))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (exp.f64 (+.f64 (cos.f64 eps) -1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (exp.f64 (+.f64 (cos.f64 eps) -1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1))) (sqrt.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1))) (*.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))) (cbrt.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))) (*.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (+.f64 (cos.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) 1) (+.f64 (cos.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))) (cbrt.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (sqrt.f64 (+.f64 (cos.f64 eps) -1))) (sqrt.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1))) 1) (sqrt.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1))) (cbrt.f64 (+.f64 (cos.f64 eps) -1))) (cbrt.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1))) (sqrt.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1)))) (sqrt.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1))) (sqrt.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))) (sqrt.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))) 1) (cbrt.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))) (cbrt.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1)))) (cbrt.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))) (cbrt.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))) (cbrt.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))) (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1))) 2)) (cbrt.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))) (sqrt.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)))) (sqrt.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (cbrt.f64 (+.f64 (cos.f64 eps) -1))) (cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (+.f64 -1 (pow.f64 (cos.f64 eps) 3))) (/.f64 1 (-.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) 1) (*.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (neg.f64 (pow.f64 (sin.f64 eps) 2))) (/.f64 1 (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (+.f64 (sqrt.f64 (cos.f64 eps)) 1)) (-.f64 (sqrt.f64 (cos.f64 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (exp.f64 (*.f64 2 (+.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (exp.f64 (+.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (exp.f64 (+.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (exp.f64 (+.f64 (cos.f64 eps) -1))))))))

simplify86.0ms (0.6%)

Algorithm
egg-herbie
Rules
407×distribute-lft-in_binary64
380×distribute-rgt-in_binary64
371×associate-+l-_binary64
368×unswap-sqr_binary64
360×*-commutative_binary64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
071708
1191704
2499691
31687690
43541690
55098689
Stop Event
node limit
Counts
180 → 166
Calls
Call 1
Inputs
(*.f64 -1/2 (pow.f64 eps 2))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -1/720 (pow.f64 eps 6))))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (*.f64 1/40320 (pow.f64 eps 8)))))
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (cos.f64 eps) 1)
(*.f64 (cos.f64 x) eps)
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (sin.f64 eps))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
1
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) 1)
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 1/6 (pow.f64 eps 4)) 1))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 1/6 (pow.f64 eps 4)) (+.f64 1 (*.f64 -31/720 (pow.f64 eps 6)))))
(exp.f64 (-.f64 (cos.f64 eps) 1))
(exp.f64 (-.f64 (cos.f64 eps) 1))
(exp.f64 (-.f64 (cos.f64 eps) 1))
(exp.f64 (-.f64 (cos.f64 eps) 1))
(exp.f64 (-.f64 (cos.f64 eps) 1))
(exp.f64 (-.f64 (cos.f64 eps) 1))
(exp.f64 (-.f64 (cos.f64 eps) 1))
(exp.f64 (-.f64 (cos.f64 eps) 1))
Outputs
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps)))
(fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -1/720 (pow.f64 eps 6))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 -1/720 (pow.f64 eps 6))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 -1/2 (*.f64 eps eps))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/720 (pow.f64 eps 6))))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (*.f64 1/40320 (pow.f64 eps 8)))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/40320 (pow.f64 eps 8)))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) (fma.f64 1/40320 (pow.f64 eps 8) (*.f64 -1/2 (*.f64 eps eps)))))
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 (cos.f64 x) eps (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (*.f64 eps (cos.f64 x)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x)))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))))
(+.f64 (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 (sin.f64 x)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (+.f64 (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps)))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x)))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(fma.f64 x (+.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) (*.f64 -1/2 x))) (-.f64 (sin.f64 eps) x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 -1/6 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 3)) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 -1/6 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 3)) (sin.f64 eps))))
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (fma.f64 (*.f64 x x) (*.f64 -1/2 (sin.f64 eps)) (sin.f64 eps)))
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (sin.f64 eps)))
(+.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3))))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
1
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) 1)
(fma.f64 -1/2 (*.f64 eps eps) 1)
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 1/6 (pow.f64 eps 4)) 1))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/6 (pow.f64 eps 4) 1))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 (pow.f64 eps 4) 1/6 1))
(fma.f64 (pow.f64 eps 4) 1/6 (fma.f64 -1/2 (*.f64 eps eps) 1))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 1/6 (pow.f64 eps 4)) (+.f64 1 (*.f64 -31/720 (pow.f64 eps 6)))))
(fma.f64 -1/2 (*.f64 eps eps) (+.f64 (fma.f64 1/6 (pow.f64 eps 4) 1) (*.f64 (pow.f64 eps 6) -31/720)))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 (pow.f64 eps 4) 1/6 (fma.f64 (pow.f64 eps 6) -31/720 1)))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 (pow.f64 eps 6) -31/720 (fma.f64 (pow.f64 eps 4) 1/6 1)))
(exp.f64 (-.f64 (cos.f64 eps) 1))
(exp.f64 (+.f64 (cos.f64 eps) -1))
(exp.f64 (-.f64 (cos.f64 eps) 1))
(exp.f64 (+.f64 (cos.f64 eps) -1))
(exp.f64 (-.f64 (cos.f64 eps) 1))
(exp.f64 (+.f64 (cos.f64 eps) -1))
(exp.f64 (-.f64 (cos.f64 eps) 1))
(exp.f64 (+.f64 (cos.f64 eps) -1))
(exp.f64 (-.f64 (cos.f64 eps) 1))
(exp.f64 (+.f64 (cos.f64 eps) -1))
(exp.f64 (-.f64 (cos.f64 eps) 1))
(exp.f64 (+.f64 (cos.f64 eps) -1))
(exp.f64 (-.f64 (cos.f64 eps) 1))
(exp.f64 (+.f64 (cos.f64 eps) -1))
(exp.f64 (-.f64 (cos.f64 eps) 1))
(exp.f64 (+.f64 (cos.f64 eps) -1))

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (sqrt.f64 eps) 2)
Compiler

Compiled 10 to 6 computations (40% saved)

series3.0ms (0%)

Counts
1 → 0
Calls

3 calls:

TimeVariablePointExpression
1.0ms
eps
@0
(pow.f64 (sqrt.f64 eps) 2)
1.0ms
eps
@-inf
(pow.f64 (sqrt.f64 eps) 2)
1.0ms
eps
@inf
(pow.f64 (sqrt.f64 eps) 2)

rewrite47.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
323×pow1_binary64
315×add-sqr-sqrt_binary64
306×*-un-lft-identity_binary64
302×add-log-exp_binary64
302×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
051
11041
28801
Stop Event
node limit
Counts
1 → 39
Calls
Call 1
Inputs
(pow.f64 (sqrt.f64 eps) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 eps) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 eps)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 eps))) (log.f64 (sqrt.f64 (exp.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (cbrt.f64 (exp.f64 (+.f64 eps eps)))) (log.f64 (cbrt.f64 (exp.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 eps) (sqrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 eps) (cbrt.f64 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 eps) (pow.f64 (*.f64 eps (cbrt.f64 eps)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 eps) (*.f64 (cbrt.f64 (*.f64 eps eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 eps eps)) (cbrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 eps 1/4) (pow.f64 eps 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 eps 1/4) (*.f64 (pow.f64 eps 3/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 eps (cbrt.f64 eps))) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 eps eps))) (cbrt.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 eps eps))) (*.f64 (cbrt.f64 (cbrt.f64 eps)) (cbrt.f64 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 eps 1/8) (*.f64 (pow.f64 eps 1/8) (pow.f64 eps 3/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 eps 1/6) (pow.f64 eps 5/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 eps 1/6) (*.f64 (pow.f64 (sqrt.f64 eps) 1/6) (pow.f64 eps 3/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 eps 3/4) (pow.f64 eps 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 eps 5/6) (pow.f64 eps 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 eps (pow.f64 (cbrt.f64 eps) 5))) (cbrt.f64 (cbrt.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 eps) 5)) (pow.f64 eps 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 eps (cbrt.f64 eps)) 1/2) (cbrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 eps) 5) 1/2) (pow.f64 eps 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 eps (pow.f64 (cbrt.f64 eps) 5)) 1/3) (cbrt.f64 (cbrt.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 1 eps) 3) 1) (+.f64 (*.f64 (+.f64 1 eps) (+.f64 1 eps)) (+.f64 1 (*.f64 (+.f64 1 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 1 eps) (+.f64 1 eps)) 1) (+.f64 (+.f64 1 eps) 1))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 eps eps))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 eps)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 eps 3))))) (#(struct:change #<rule egg-rr> (2) ((x . eps)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 eps eps)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 eps)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 eps)) 3))))))

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
39 → 39
Calls
Call 1
Inputs
Outputs

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cos.f64 x) eps)
0.6b
(cbrt.f64 (*.f64 (cos.f64 x) eps))
0.7b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3)
Compiler

Compiled 23 to 8 computations (65.2% saved)

series23.0ms (0.2%)

Counts
2 → 24
Calls

12 calls:

TimeVariablePointExpression
10.0ms
eps
@-inf
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3)
3.0ms
x
@0
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3)
3.0ms
x
@-inf
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3)
2.0ms
x
@inf
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3)
1.0ms
eps
@0
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3)

rewrite59.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
638×pow1_binary64
596×add-log-exp_binary64
596×log1p-expm1-u_binary64
596×expm1-log1p-u_binary64
581×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0814
116614
2166914
Stop Event
node limit
Counts
2 → 52
Calls
Call 1
Inputs
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3)
(cbrt.f64 (*.f64 (cos.f64 x) eps))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 x) eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 x) eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (cos.f64 x) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2) (cbrt.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 x)) (*.f64 (cbrt.f64 eps) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 eps) 2) (*.f64 (cbrt.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) (sqrt.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 1/6) (*.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 1/6) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 eps) (*.f64 (sqrt.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))) 2) 3) (cbrt.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 1/6) 3) (pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 1/6) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 eps) 2)) (cbrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2) 1) (cbrt.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2) (cbrt.f64 (cos.f64 x))) (cbrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2) (pow.f64 (*.f64 (cos.f64 x) eps) 1/6)) (pow.f64 (*.f64 (cos.f64 x) eps) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 x)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 x) eps)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 x) eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 x)) (cbrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 eps) (cbrt.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 1/6) (pow.f64 (*.f64 (cos.f64 x) eps) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 1/3) (pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 x) eps) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))))))))

simplify54.0ms (0.4%)

Algorithm
egg-herbie
Rules
653×associate-*l*_binary64
651×associate-*r*_binary64
537×fma-def_binary64
404×distribute-rgt-out_binary64
242×distribute-rgt-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
094500
1309464
21003400
35875392
Stop Event
node limit
Counts
76 → 72
Calls
Call 1
Inputs
(*.f64 eps (pow.f64 1 1/3))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 eps (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 eps (pow.f64 1 1/3)))) (pow.f64 x 2)) (*.f64 eps (pow.f64 1 1/3)))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 eps (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 eps (pow.f64 1 1/3)))) (pow.f64 x 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps)))) (+.f64 (*.f64 1/18 (*.f64 eps (pow.f64 1 1/3))) (*.f64 (+.f64 (*.f64 1/36 (pow.f64 (*.f64 (pow.f64 eps 2) 1) 1/3)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps))))) (pow.f64 (*.f64 eps 1) 1/3)))) (pow.f64 x 4)) (*.f64 eps (pow.f64 1 1/3))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 eps (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 eps (pow.f64 1 1/3)))) (pow.f64 x 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps)))) (+.f64 (*.f64 1/18 (*.f64 eps (pow.f64 1 1/3))) (*.f64 (+.f64 (*.f64 1/36 (pow.f64 (*.f64 (pow.f64 eps 2) 1) 1/3)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps))))) (pow.f64 (*.f64 eps 1) 1/3)))) (pow.f64 x 4)) (+.f64 (*.f64 eps (pow.f64 1 1/3)) (*.f64 (pow.f64 x 6) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/720 eps) (+.f64 (*.f64 -1/216 eps) (*.f64 -1/3 (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps))))))) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps)))) (+.f64 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps)))) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (-.f64 (*.f64 -1/720 eps) (+.f64 (*.f64 -1/216 eps) (*.f64 -1/3 (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps))))))))) (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/36 (pow.f64 (*.f64 (pow.f64 eps 2) 1) 1/3)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps))))) (pow.f64 (*.f64 eps 1) 1/3))))))))))
(*.f64 (*.f64 (cos.f64 x) eps) (pow.f64 1 1/3))
(*.f64 (*.f64 (cos.f64 x) eps) (pow.f64 1 1/3))
(*.f64 (*.f64 (cos.f64 x) eps) (pow.f64 1 1/3))
(*.f64 (*.f64 (cos.f64 x) eps) (pow.f64 1 1/3))
(*.f64 (pow.f64 1 1/3) (*.f64 eps (cos.f64 x)))
(*.f64 (pow.f64 1 1/3) (*.f64 eps (cos.f64 x)))
(*.f64 (pow.f64 1 1/3) (*.f64 eps (cos.f64 x)))
(*.f64 (pow.f64 1 1/3) (*.f64 eps (cos.f64 x)))
(pow.f64 eps 1/3)
(+.f64 (pow.f64 eps 1/3) (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (pow.f64 x 2))))
(+.f64 (pow.f64 eps 1/3) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (pow.f64 x 2))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 2)) 1/3) (*.f64 (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps)) (pow.f64 x 4))))))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 2)) 1/3) (*.f64 (-.f64 (*.f64 -1/720 eps) (+.f64 (*.f64 -1/216 eps) (*.f64 -1/3 (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps))))) (pow.f64 x 6)))) (+.f64 (pow.f64 eps 1/3) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (pow.f64 x 2))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 2)) 1/3) (*.f64 (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps)) (pow.f64 x 4)))))))
(pow.f64 (*.f64 (cos.f64 x) eps) 1/3)
(pow.f64 (*.f64 (cos.f64 x) eps) 1/3)
(pow.f64 (*.f64 (cos.f64 x) eps) 1/3)
(pow.f64 (*.f64 (cos.f64 x) eps) 1/3)
(pow.f64 (*.f64 eps (cos.f64 x)) 1/3)
(pow.f64 (*.f64 eps (cos.f64 x)) 1/3)
(pow.f64 (*.f64 eps (cos.f64 x)) 1/3)
(pow.f64 (*.f64 eps (cos.f64 x)) 1/3)
Outputs
(*.f64 eps (pow.f64 1 1/3))
eps
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 eps (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 eps (pow.f64 1 1/3)))) (pow.f64 x 2)) (*.f64 eps (pow.f64 1 1/3)))
(fma.f64 (*.f64 eps -1/2) (*.f64 x x) eps)
(fma.f64 eps (*.f64 (*.f64 x x) -1/2) eps)
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 eps (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 eps (pow.f64 1 1/3)))) (pow.f64 x 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps)))) (+.f64 (*.f64 1/18 (*.f64 eps (pow.f64 1 1/3))) (*.f64 (+.f64 (*.f64 1/36 (pow.f64 (*.f64 (pow.f64 eps 2) 1) 1/3)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps))))) (pow.f64 (*.f64 eps 1) 1/3)))) (pow.f64 x 4)) (*.f64 eps (pow.f64 1 1/3))))
(fma.f64 (*.f64 eps -1/2) (*.f64 x x) (fma.f64 (+.f64 (*.f64 1/3 (*.f64 eps -1/24)) (fma.f64 1/18 eps (*.f64 (fma.f64 1/36 (cbrt.f64 (*.f64 eps eps)) (*.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 eps))) (*.f64 eps -1/24))) (cbrt.f64 eps)))) (pow.f64 x 4) eps))
(fma.f64 (*.f64 eps -1/2) (*.f64 x x) (fma.f64 (fma.f64 1/3 (*.f64 eps -1/24) (fma.f64 (fma.f64 1/36 (cbrt.f64 (*.f64 eps eps)) (*.f64 (*.f64 eps -1/24) (*.f64 2/3 (cbrt.f64 (/.f64 1 eps))))) (cbrt.f64 eps) (*.f64 eps 1/18))) (pow.f64 x 4) eps))
(fma.f64 (fma.f64 eps 1/18 (fma.f64 (fma.f64 1/36 (cbrt.f64 (*.f64 eps eps)) (*.f64 (cbrt.f64 (/.f64 1 eps)) (*.f64 eps -1/36))) (cbrt.f64 eps) (*.f64 eps -1/72))) (pow.f64 x 4) (fma.f64 eps (*.f64 (*.f64 x x) -1/2) eps))
(fma.f64 (fma.f64 (fma.f64 1/36 (cbrt.f64 (*.f64 eps eps)) (*.f64 (cbrt.f64 (/.f64 1 eps)) (*.f64 eps -1/36))) (cbrt.f64 eps) (*.f64 eps 1/24)) (pow.f64 x 4) (fma.f64 eps (*.f64 (*.f64 x x) -1/2) eps))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 eps (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 eps (pow.f64 1 1/3)))) (pow.f64 x 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps)))) (+.f64 (*.f64 1/18 (*.f64 eps (pow.f64 1 1/3))) (*.f64 (+.f64 (*.f64 1/36 (pow.f64 (*.f64 (pow.f64 eps 2) 1) 1/3)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps))))) (pow.f64 (*.f64 eps 1) 1/3)))) (pow.f64 x 4)) (+.f64 (*.f64 eps (pow.f64 1 1/3)) (*.f64 (pow.f64 x 6) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/720 eps) (+.f64 (*.f64 -1/216 eps) (*.f64 -1/3 (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps))))))) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps)))) (+.f64 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps)))) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (-.f64 (*.f64 -1/720 eps) (+.f64 (*.f64 -1/216 eps) (*.f64 -1/3 (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps))))))))) (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/36 (pow.f64 (*.f64 (pow.f64 eps 2) 1) 1/3)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps))))) (pow.f64 (*.f64 eps 1) 1/3))))))))))
(fma.f64 (*.f64 eps -1/2) (*.f64 x x) (+.f64 (fma.f64 (+.f64 (*.f64 1/3 (*.f64 eps -1/24)) (fma.f64 1/18 eps (*.f64 (fma.f64 1/36 (cbrt.f64 (*.f64 eps eps)) (*.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 eps))) (*.f64 eps -1/24))) (cbrt.f64 eps)))) (pow.f64 x 4) eps) (*.f64 (pow.f64 x 6) (+.f64 (+.f64 (*.f64 1/3 (-.f64 (*.f64 eps -1/720) (fma.f64 -1/216 eps (*.f64 -1/3 (*.f64 eps -1/24))))) (*.f64 -1/9 (*.f64 eps -1/24))) (fma.f64 (cbrt.f64 eps) (fma.f64 -1/9 (*.f64 (*.f64 eps -1/24) (cbrt.f64 (/.f64 1 eps))) (*.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 eps))) (-.f64 (*.f64 eps -1/720) (fma.f64 -1/216 eps (*.f64 -1/3 (*.f64 eps -1/24)))))) (*.f64 -1/6 (*.f64 (fma.f64 1/36 (cbrt.f64 (*.f64 eps eps)) (*.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 eps))) (*.f64 eps -1/24))) (cbrt.f64 eps))))))))
(fma.f64 (*.f64 eps -1/2) (*.f64 x x) (fma.f64 (fma.f64 1/3 (*.f64 eps -1/24) (fma.f64 (fma.f64 1/36 (cbrt.f64 (*.f64 eps eps)) (*.f64 (*.f64 eps -1/24) (*.f64 2/3 (cbrt.f64 (/.f64 1 eps))))) (cbrt.f64 eps) (*.f64 eps 1/18))) (pow.f64 x 4) (fma.f64 (pow.f64 x 6) (fma.f64 1/3 (-.f64 (*.f64 eps 7/2160) (*.f64 eps 1/72)) (fma.f64 (*.f64 eps -1/24) -1/9 (*.f64 (cbrt.f64 eps) (+.f64 (fma.f64 2/3 (*.f64 (cbrt.f64 (/.f64 1 eps)) (-.f64 (*.f64 eps 7/2160) (*.f64 eps 1/72))) (*.f64 (*.f64 eps -1/24) (*.f64 (cbrt.f64 (/.f64 1 eps)) -1/9))) (*.f64 -1/6 (fma.f64 1/36 (cbrt.f64 (*.f64 eps eps)) (*.f64 (*.f64 eps -1/24) (*.f64 2/3 (cbrt.f64 (/.f64 1 eps)))))))))) eps)))
(fma.f64 (fma.f64 eps 1/18 (fma.f64 (fma.f64 1/36 (cbrt.f64 (*.f64 eps eps)) (*.f64 (cbrt.f64 (/.f64 1 eps)) (*.f64 eps -1/36))) (cbrt.f64 eps) (*.f64 eps -1/72))) (pow.f64 x 4) (fma.f64 eps (*.f64 (*.f64 x x) -1/2) (fma.f64 (pow.f64 x 6) (fma.f64 (cbrt.f64 eps) (fma.f64 -1/6 (fma.f64 1/36 (cbrt.f64 (*.f64 eps eps)) (*.f64 (cbrt.f64 (/.f64 1 eps)) (*.f64 eps -1/36))) (*.f64 (cbrt.f64 (/.f64 1 eps)) (+.f64 (*.f64 eps 1/216) (*.f64 2/3 (*.f64 eps -23/2160))))) (fma.f64 1/3 (*.f64 eps -23/2160) (*.f64 eps 1/216))) eps)))
(fma.f64 (fma.f64 (fma.f64 1/36 (cbrt.f64 (*.f64 eps eps)) (*.f64 (cbrt.f64 (/.f64 1 eps)) (*.f64 eps -1/36))) (cbrt.f64 eps) (*.f64 eps 1/24)) (pow.f64 x 4) (fma.f64 eps (*.f64 (*.f64 x x) -1/2) (fma.f64 (pow.f64 x 6) (fma.f64 (cbrt.f64 eps) (fma.f64 -1/6 (fma.f64 1/36 (cbrt.f64 (*.f64 eps eps)) (*.f64 (cbrt.f64 (/.f64 1 eps)) (*.f64 eps -1/36))) (*.f64 (cbrt.f64 (/.f64 1 eps)) (+.f64 (*.f64 eps 1/216) (*.f64 2/3 (*.f64 eps -23/2160))))) (fma.f64 1/3 (*.f64 eps -23/2160) (*.f64 eps 1/216))) eps)))
(*.f64 (*.f64 (cos.f64 x) eps) (pow.f64 1 1/3))
(*.f64 eps (cos.f64 x))
(*.f64 (*.f64 (cos.f64 x) eps) (pow.f64 1 1/3))
(*.f64 eps (cos.f64 x))
(*.f64 (*.f64 (cos.f64 x) eps) (pow.f64 1 1/3))
(*.f64 eps (cos.f64 x))
(*.f64 (*.f64 (cos.f64 x) eps) (pow.f64 1 1/3))
(*.f64 eps (cos.f64 x))
(*.f64 (pow.f64 1 1/3) (*.f64 eps (cos.f64 x)))
(*.f64 eps (cos.f64 x))
(*.f64 (pow.f64 1 1/3) (*.f64 eps (cos.f64 x)))
(*.f64 eps (cos.f64 x))
(*.f64 (pow.f64 1 1/3) (*.f64 eps (cos.f64 x)))
(*.f64 eps (cos.f64 x))
(*.f64 (pow.f64 1 1/3) (*.f64 eps (cos.f64 x)))
(*.f64 eps (cos.f64 x))
(pow.f64 eps 1/3)
(cbrt.f64 eps)
(+.f64 (pow.f64 eps 1/3) (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (pow.f64 x 2))))
(+.f64 (cbrt.f64 eps) (*.f64 -1/6 (*.f64 (*.f64 x x) (cbrt.f64 eps))))
(fma.f64 -1/6 (*.f64 x (*.f64 x (cbrt.f64 eps))) (cbrt.f64 eps))
(*.f64 (+.f64 (*.f64 -1/6 (*.f64 x x)) 1) (cbrt.f64 eps))
(+.f64 (pow.f64 eps 1/3) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (pow.f64 x 2))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 2)) 1/3) (*.f64 (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps)) (pow.f64 x 4))))))
(+.f64 (cbrt.f64 eps) (fma.f64 -1/6 (*.f64 (*.f64 x x) (cbrt.f64 eps)) (*.f64 (*.f64 1/3 (cbrt.f64 (/.f64 1 (*.f64 eps eps)))) (*.f64 (*.f64 eps -1/24) (pow.f64 x 4)))))
(+.f64 (cbrt.f64 eps) (fma.f64 1/3 (*.f64 (pow.f64 x 4) (*.f64 (*.f64 eps -1/24) (cbrt.f64 (/.f64 1 (*.f64 eps eps))))) (*.f64 -1/6 (*.f64 x (*.f64 x (cbrt.f64 eps))))))
(fma.f64 (cbrt.f64 (/.f64 1 (*.f64 eps eps))) (*.f64 (*.f64 eps (pow.f64 x 4)) -1/72) (*.f64 (+.f64 (*.f64 -1/6 (*.f64 x x)) 1) (cbrt.f64 eps)))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 2)) 1/3) (*.f64 (-.f64 (*.f64 -1/720 eps) (+.f64 (*.f64 -1/216 eps) (*.f64 -1/3 (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps))))) (pow.f64 x 6)))) (+.f64 (pow.f64 eps 1/3) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (pow.f64 x 2))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 2)) 1/3) (*.f64 (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps)) (pow.f64 x 4)))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 eps eps))) (*.f64 (pow.f64 x 6) (-.f64 (*.f64 eps -1/720) (fma.f64 -1/216 eps (*.f64 -1/3 (*.f64 eps -1/24)))))) (+.f64 (cbrt.f64 eps) (fma.f64 -1/6 (*.f64 (*.f64 x x) (cbrt.f64 eps)) (*.f64 (*.f64 1/3 (cbrt.f64 (/.f64 1 (*.f64 eps eps)))) (*.f64 (*.f64 eps -1/24) (pow.f64 x 4))))))
(fma.f64 1/3 (*.f64 (-.f64 (*.f64 eps 7/2160) (*.f64 eps 1/72)) (*.f64 (pow.f64 x 6) (cbrt.f64 (/.f64 1 (*.f64 eps eps))))) (+.f64 (cbrt.f64 eps) (fma.f64 1/3 (*.f64 (pow.f64 x 4) (*.f64 (*.f64 eps -1/24) (cbrt.f64 (/.f64 1 (*.f64 eps eps))))) (*.f64 -1/6 (*.f64 x (*.f64 x (cbrt.f64 eps)))))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 x x)) 1) (cbrt.f64 eps)) (*.f64 (cbrt.f64 (/.f64 1 (*.f64 eps eps))) (+.f64 (*.f64 (*.f64 eps (pow.f64 x 4)) -1/72) (*.f64 1/3 (*.f64 (pow.f64 x 6) (*.f64 eps -23/2160))))))
(pow.f64 (*.f64 (cos.f64 x) eps) 1/3)
(cbrt.f64 (*.f64 eps (cos.f64 x)))
(pow.f64 (*.f64 (cos.f64 x) eps) 1/3)
(cbrt.f64 (*.f64 eps (cos.f64 x)))
(pow.f64 (*.f64 (cos.f64 x) eps) 1/3)
(cbrt.f64 (*.f64 eps (cos.f64 x)))
(pow.f64 (*.f64 (cos.f64 x) eps) 1/3)
(cbrt.f64 (*.f64 eps (cos.f64 x)))
(pow.f64 (*.f64 eps (cos.f64 x)) 1/3)
(cbrt.f64 (*.f64 eps (cos.f64 x)))
(pow.f64 (*.f64 eps (cos.f64 x)) 1/3)
(cbrt.f64 (*.f64 eps (cos.f64 x)))
(pow.f64 (*.f64 eps (cos.f64 x)) 1/3)
(cbrt.f64 (*.f64 eps (cos.f64 x)))
(pow.f64 (*.f64 eps (cos.f64 x)) 1/3)
(cbrt.f64 (*.f64 eps (cos.f64 x)))

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x))
0.4b
(pow.f64 (sin.f64 (+.f64 x eps)) 2)
3.0b
(sin.f64 (+.f64 x eps))
3.7b
(sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2))
Compiler

Compiled 37 to 15 computations (59.5% saved)

series9.0ms (0.1%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
2.0ms
eps
@0
(pow.f64 (sin.f64 (+.f64 x eps)) 2)
1.0ms
x
@0
(pow.f64 (sin.f64 (+.f64 x eps)) 2)
1.0ms
eps
@-inf
(pow.f64 (sin.f64 (+.f64 x eps)) 2)
1.0ms
eps
@inf
(pow.f64 (sin.f64 (+.f64 x eps)) 2)
0.0ms
x
@-inf
(pow.f64 (sin.f64 (+.f64 x eps)) 2)

rewrite82.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
468×log-prod_binary64
421×fma-def_binary64
309×pow-prod-down_binary64
281×pow2_binary64
228×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify70.0ms (0.5%)

Algorithm
egg-herbie
Rules
683×distribute-rgt-neg-out_binary64
648×fma-def_binary64
600×distribute-lft-neg-out_binary64
523×associate-*r*_binary64
506×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0107986
1329973
2917935
34253935
Stop Event
node limit
Counts
262 → 241
Calls
Call 1
Inputs
(sin.f64 eps)
(+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (sin.f64 eps))))
(sin.f64 (+.f64 eps x))
(sin.f64 (+.f64 eps x))
(sin.f64 (+.f64 eps x))
(sin.f64 (+.f64 eps x))
(sin.f64 (-.f64 eps (*.f64 -1 x)))
(sin.f64 (-.f64 eps (*.f64 -1 x)))
(sin.f64 (-.f64 eps (*.f64 -1 x)))
(sin.f64 (-.f64 eps (*.f64 -1 x)))
(sin.f64 x)
(+.f64 (*.f64 (cos.f64 x) eps) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(sin.f64 (+.f64 eps x))
(sin.f64 (+.f64 eps x))
(sin.f64 (+.f64 eps x))
(sin.f64 (+.f64 eps x))
(sin.f64 (-.f64 x (*.f64 -1 eps)))
(sin.f64 (-.f64 x (*.f64 -1 eps)))
(sin.f64 (-.f64 x (*.f64 -1 eps)))
(sin.f64 (-.f64 x (*.f64 -1 eps)))
(pow.f64 (sin.f64 eps) 2)
(+.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (*.f64 2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))) (*.f64 (+.f64 (*.f64 -1 (pow.f64 (sin.f64 eps) 2)) (pow.f64 (cos.f64 eps) 2)) (pow.f64 x 2))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (*.f64 2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 (cos.f64 eps) (sin.f64 eps))) (*.f64 -1/3 (*.f64 (cos.f64 eps) (sin.f64 eps)))) (pow.f64 x 3)) (*.f64 (+.f64 (*.f64 -1 (pow.f64 (sin.f64 eps) 2)) (pow.f64 (cos.f64 eps) 2)) (pow.f64 x 2)))))
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 2)
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 2)
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 2)
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 2)
(pow.f64 (sin.f64 x) 2)
(+.f64 (pow.f64 (sin.f64 x) 2) (*.f64 2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x)))))
(+.f64 (pow.f64 (sin.f64 x) 2) (+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1 (pow.f64 (sin.f64 x) 2)) (pow.f64 (cos.f64 x) 2))) (*.f64 2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x))))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 -1 (*.f64 (cos.f64 x) (sin.f64 x)))) (pow.f64 eps 3)) (+.f64 (pow.f64 (sin.f64 x) 2) (+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1 (pow.f64 (sin.f64 x) 2)) (pow.f64 (cos.f64 x) 2))) (*.f64 2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x)))))))
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 2)
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 2)
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 2)
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 2)
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3)) (sin.f64 eps))))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(*.f64 (cos.f64 x) eps)
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
Outputs
(sin.f64 eps)
(+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps))
(fma.f64 (cos.f64 eps) x (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (sin.f64 eps)))
(fma.f64 (cos.f64 eps) x (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (fma.f64 (*.f64 (cos.f64 eps) -1/6) (pow.f64 x 3) (sin.f64 eps))))
(+.f64 (*.f64 (cos.f64 eps) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)) (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps)))
(sin.f64 (+.f64 eps x))
(sin.f64 (+.f64 eps x))
(sin.f64 (+.f64 eps x))
(sin.f64 (+.f64 eps x))
(sin.f64 (-.f64 eps (*.f64 -1 x)))
(sin.f64 (+.f64 eps x))
(sin.f64 (-.f64 eps (*.f64 -1 x)))
(sin.f64 (+.f64 eps x))
(sin.f64 (-.f64 eps (*.f64 -1 x)))
(sin.f64 (+.f64 eps x))
(sin.f64 (-.f64 eps (*.f64 -1 x)))
(sin.f64 (+.f64 eps x))
(sin.f64 x)
(+.f64 (*.f64 (cos.f64 x) eps) (sin.f64 x))
(fma.f64 (cos.f64 x) eps (sin.f64 x))
(fma.f64 eps (cos.f64 x) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (fma.f64 (cos.f64 x) eps (sin.f64 x)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x)))
(fma.f64 eps (cos.f64 x) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (sin.f64 x)))
(fma.f64 eps (cos.f64 x) (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(+.f64 (fma.f64 (cos.f64 x) eps (sin.f64 x)) (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))))
(+.f64 (sin.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))))
(+.f64 (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(sin.f64 (+.f64 eps x))
(sin.f64 (+.f64 eps x))
(sin.f64 (+.f64 eps x))
(sin.f64 (+.f64 eps x))
(sin.f64 (-.f64 x (*.f64 -1 eps)))
(sin.f64 (+.f64 eps x))
(sin.f64 (-.f64 x (*.f64 -1 eps)))
(sin.f64 (+.f64 eps x))
(sin.f64 (-.f64 x (*.f64 -1 eps)))
(sin.f64 (+.f64 eps x))
(sin.f64 (-.f64 x (*.f64 -1 eps)))
(sin.f64 (+.f64 eps x))
(pow.f64 (sin.f64 eps) 2)
(+.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (*.f64 2 (cos.f64 eps)) (*.f64 (sin.f64 eps) x)))
(fma.f64 2 (*.f64 (sin.f64 eps) (*.f64 (cos.f64 eps) x)) (pow.f64 (sin.f64 eps) 2))
(*.f64 (sin.f64 eps) (+.f64 (*.f64 (cos.f64 eps) (*.f64 x 2)) (sin.f64 eps)))
(*.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) (*.f64 (cos.f64 eps) (*.f64 x 2))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (*.f64 2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))) (*.f64 (+.f64 (*.f64 -1 (pow.f64 (sin.f64 eps) 2)) (pow.f64 (cos.f64 eps) 2)) (pow.f64 x 2))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (fma.f64 2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)) (*.f64 (*.f64 x x) (fma.f64 -1 (pow.f64 (sin.f64 eps) 2) (pow.f64 (cos.f64 eps) 2)))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (fma.f64 2 (*.f64 (sin.f64 eps) (*.f64 (cos.f64 eps) x)) (*.f64 (*.f64 x x) (-.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 (sin.f64 eps) 2)))))
(fma.f64 x (*.f64 x (-.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 (sin.f64 eps) 2))) (*.f64 (sin.f64 eps) (+.f64 (*.f64 (cos.f64 eps) (*.f64 x 2)) (sin.f64 eps))))
(fma.f64 x (*.f64 x (-.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 (sin.f64 eps) 2))) (*.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) (*.f64 (cos.f64 eps) (*.f64 x 2)))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (*.f64 2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 (cos.f64 eps) (sin.f64 eps))) (*.f64 -1/3 (*.f64 (cos.f64 eps) (sin.f64 eps)))) (pow.f64 x 3)) (*.f64 (+.f64 (*.f64 -1 (pow.f64 (sin.f64 eps) 2)) (pow.f64 (cos.f64 eps) 2)) (pow.f64 x 2)))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (fma.f64 2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)) (fma.f64 (*.f64 (*.f64 (sin.f64 eps) (cos.f64 eps)) -4/3) (pow.f64 x 3) (*.f64 (*.f64 x x) (fma.f64 -1 (pow.f64 (sin.f64 eps) 2) (pow.f64 (cos.f64 eps) 2))))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (fma.f64 2 (*.f64 (sin.f64 eps) (*.f64 (cos.f64 eps) x)) (fma.f64 (*.f64 x x) (-.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 (sin.f64 eps) 2)) (*.f64 (pow.f64 x 3) (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) -4/3))))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (fma.f64 x (*.f64 x (-.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 (sin.f64 eps) 2))) (*.f64 (*.f64 (sin.f64 eps) (cos.f64 eps)) (+.f64 (*.f64 x 2) (*.f64 (pow.f64 x 3) -4/3)))))
(+.f64 (*.f64 (*.f64 (sin.f64 eps) (cos.f64 eps)) (+.f64 (*.f64 x 2) (*.f64 (pow.f64 x 3) -4/3))) (fma.f64 (*.f64 x x) (-.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 (sin.f64 eps) 2)) (pow.f64 (sin.f64 eps) 2)))
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 x) 2)
(+.f64 (pow.f64 (sin.f64 x) 2) (*.f64 2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x)))))
(+.f64 (pow.f64 (sin.f64 x) 2) (*.f64 (*.f64 2 eps) (*.f64 (sin.f64 x) (cos.f64 x))))
(fma.f64 2 (*.f64 eps (*.f64 (sin.f64 x) (cos.f64 x))) (pow.f64 (sin.f64 x) 2))
(*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 2 (cos.f64 x))) (sin.f64 x)))
(*.f64 (sin.f64 x) (+.f64 (sin.f64 x) (*.f64 eps (*.f64 2 (cos.f64 x)))))
(+.f64 (pow.f64 (sin.f64 x) 2) (+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1 (pow.f64 (sin.f64 x) 2)) (pow.f64 (cos.f64 x) 2))) (*.f64 2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x))))))
(+.f64 (pow.f64 (sin.f64 x) 2) (fma.f64 (*.f64 eps eps) (fma.f64 -1 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) (*.f64 (*.f64 2 eps) (*.f64 (sin.f64 x) (cos.f64 x)))))
(+.f64 (pow.f64 (sin.f64 x) 2) (fma.f64 2 (*.f64 eps (*.f64 (sin.f64 x) (cos.f64 x))) (*.f64 (*.f64 eps eps) (-.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (sin.f64 x) 2)))))
(fma.f64 eps (*.f64 eps (-.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (sin.f64 x) 2))) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 2 (cos.f64 x))) (sin.f64 x))))
(fma.f64 eps (*.f64 eps (-.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (sin.f64 x) 2))) (*.f64 (sin.f64 x) (+.f64 (sin.f64 x) (*.f64 eps (*.f64 2 (cos.f64 x))))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 -1 (*.f64 (cos.f64 x) (sin.f64 x)))) (pow.f64 eps 3)) (+.f64 (pow.f64 (sin.f64 x) 2) (+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1 (pow.f64 (sin.f64 x) 2)) (pow.f64 (cos.f64 x) 2))) (*.f64 2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x)))))))
(fma.f64 (*.f64 (*.f64 (sin.f64 x) (cos.f64 x)) -4/3) (pow.f64 eps 3) (+.f64 (pow.f64 (sin.f64 x) 2) (fma.f64 (*.f64 eps eps) (fma.f64 -1 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) (*.f64 (*.f64 2 eps) (*.f64 (sin.f64 x) (cos.f64 x))))))
(+.f64 (fma.f64 2 (*.f64 eps (*.f64 (sin.f64 x) (cos.f64 x))) (*.f64 (*.f64 eps eps) (-.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (sin.f64 x) 2)))) (fma.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) (*.f64 (cos.f64 x) -4/3)) (pow.f64 (sin.f64 x) 2)))
(+.f64 (fma.f64 eps (*.f64 eps (-.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (sin.f64 x) 2))) (pow.f64 (sin.f64 x) 2)) (*.f64 (*.f64 (sin.f64 x) (cos.f64 x)) (+.f64 (*.f64 eps 2) (*.f64 (pow.f64 eps 3) -4/3))))
(+.f64 (fma.f64 (*.f64 eps eps) (-.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (sin.f64 x) 2)) (pow.f64 (sin.f64 x) 2)) (*.f64 (*.f64 (sin.f64 x) (cos.f64 x)) (+.f64 (*.f64 eps 2) (*.f64 (pow.f64 eps 3) -4/3))))
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps))
(fma.f64 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps)))
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps)))
(-.f64 (fma.f64 (cos.f64 eps) x (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps))) x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3)) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (fma.f64 -1/6 (cos.f64 eps) 1/6) (pow.f64 x 3) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 (pow.f64 x 3) (fma.f64 (cos.f64 eps) -1/6 1/6) (sin.f64 eps))))
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 (pow.f64 x 3) (fma.f64 (cos.f64 eps) -1/6 1/6) (sin.f64 eps))))
(fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 (pow.f64 x 3) (fma.f64 (cos.f64 eps) -1/6 1/6) (sin.f64 eps))))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 (cos.f64 x) eps (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x)))
(fma.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)) (*.f64 eps (cos.f64 x)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x)))
(fma.f64 eps (cos.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x)))))
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 1/24 (pow.f64 eps 4)))))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))

localize32.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x)))
0.1b
(*.f64 1/24 (pow.f64 eps 4))
2.2b
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))
12.4b
(fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))
Compiler

Compiled 65 to 36 computations (44.6% saved)

series11.0ms (0.1%)

Counts
4 → 60
Calls

18 calls:

TimeVariablePointExpression
3.0ms
x
@inf
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))
1.0ms
x
@0
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))
1.0ms
eps
@inf
(fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))
1.0ms
eps
@0
(fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))
1.0ms
eps
@inf
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))

rewrite86.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
625×log-prod_binary64
370×prod-diff_binary64
365×pow2_binary64
253×expm1-udef_binary64
253×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01567
130367
2336067
Stop Event
node limit
Counts
4 → 102
Calls
Call 1
Inputs
(fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))
(*.f64 1/24 (pow.f64 eps 4))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 1/24 (pow.f64 eps 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (*.f64 1/24 (pow.f64 eps 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))) (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))) 2) (cbrt.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))) (sqrt.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 -1/2 (*.f64 eps eps)) 3) (pow.f64 (*.f64 1/24 (pow.f64 eps 4)) 3)) (+.f64 (pow.f64 (*.f64 -1/2 (*.f64 eps eps)) 2) (-.f64 (*.f64 1/576 (pow.f64 eps 8)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 1/24 (pow.f64 eps 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 -1/2 (*.f64 eps eps)) 2) (*.f64 1/576 (pow.f64 eps 8))) (-.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 1/24 (pow.f64 eps 4))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 1/24) (pow.f64 eps 4)) (exp.f64 (*.f64 -1/2 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/24 (pow.f64 eps 4)))) (exp.f64 (*.f64 -1/2 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 -1/2 (*.f64 eps eps))) (+.f64 1 (expm1.f64 (*.f64 1/24 (pow.f64 eps 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x)) (*.f64 (*.f64 1/24 (pow.f64 eps 4)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 (sin.f64 x) (*.f64 1/24 (pow.f64 eps 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) 3) (pow.f64 (sin.f64 x) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 x)) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) 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 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps)) (*.f64 (sin.f64 x) (*.f64 1/24 (pow.f64 eps 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x) (*.f64 (*.f64 1/24 (pow.f64 eps 4)) (sin.f64 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/24 (pow.f64 eps 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 1/24) (pow.f64 eps 4))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/24) (pow.f64 eps 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/24) (pow.f64 eps 4)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/24) (pow.f64 eps 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 1/24 (pow.f64 eps 4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/24 (pow.f64 eps 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/576 (pow.f64 eps 8)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/24 (pow.f64 eps 4)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/24 (pow.f64 eps 4))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 eps eps) (sqrt.f64 1/24)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/576 (pow.f64 eps 8)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 1/24) (pow.f64 eps 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 1/24 (pow.f64 eps 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 1/24 (pow.f64 eps 4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/24 (pow.f64 eps 4))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/24 (pow.f64 eps 4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (fma.f64 4 (log.f64 eps) (log.f64 1/24)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (fma.f64 4 (log.f64 eps) (log.f64 1/24)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 1) (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) (pow.f64 (cbrt.f64 (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 2) (cbrt.f64 (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) (sqrt.f64 (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 3) (pow.f64 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x)) 3)) (+.f64 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 2) (-.f64 (pow.f64 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x)) 2) (*.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 2) (pow.f64 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x)) 2)) (-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (sin.f64 x)) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))) (exp.f64 (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x)))) (exp.f64 (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 eps) (cos.f64 x))) (+.f64 1 (expm1.f64 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 1))))))

simplify87.0ms (0.6%)

Algorithm
egg-herbie
Rules
659×associate-+l+_binary64
626×distribute-rgt-in_binary64
616×distribute-lft-in_binary64
555×associate-+r+_binary64
440×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0621459
11781297
25151220
321151190
458191190
569271190
Stop Event
node limit
Counts
162 → 140
Calls
Call 1
Inputs
(*.f64 -1/2 (pow.f64 eps 2))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(*.f64 1/24 (pow.f64 eps 4))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(*.f64 1/24 (pow.f64 eps 4))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) x)
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (pow.f64 x 3))) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) x))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (pow.f64 x 3))) (+.f64 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) x) (*.f64 1/120 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (pow.f64 x 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (pow.f64 x 3))) (+.f64 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) x) (+.f64 (*.f64 -1/5040 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (pow.f64 x 7))) (*.f64 1/120 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (pow.f64 x 5))))))
(*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x))
(*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x))
(*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x))
(*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x))
(*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x))
(*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x))
(*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x))
(*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x))
(*.f64 (cos.f64 x) eps)
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(sin.f64 eps)
(+.f64 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) x) (sin.f64 eps))
(+.f64 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (sin.f64 eps)))
(+.f64 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) x) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (pow.f64 x 3))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (sin.f64 eps))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x)))
Outputs
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps)))
(fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps)))
(fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps)))
(fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))
(*.f64 1/24 (pow.f64 eps 4))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps)))
(fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps)))
(fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps)))
(fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))
(*.f64 1/24 (pow.f64 eps 4))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps)))
(fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps)))
(fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps)))
(fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))
(*.f64 (*.f64 eps eps) (*.f64 -1/2 (sin.f64 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps (sin.f64 x)))
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))
(*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))
(*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))
(*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x))
(*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)))
(*.f64 (*.f64 1/24 (pow.f64 eps 4)) (sin.f64 x))
(*.f64 (pow.f64 eps 4) (*.f64 1/24 (sin.f64 x)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))
(*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))
(*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))
(*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x))
(*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)))
(*.f64 (*.f64 1/24 (pow.f64 eps 4)) (sin.f64 x))
(*.f64 (pow.f64 eps 4) (*.f64 1/24 (sin.f64 x)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))
(*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))
(*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))
(*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x))
(*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) x)
(*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) x)
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) x)
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (pow.f64 x 3))) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) x))
(fma.f64 -1/6 (*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (pow.f64 x 3)) (*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) x))
(fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) x (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (*.f64 (pow.f64 x 3) -1/6)))
(*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (+.f64 x (*.f64 -1/6 (pow.f64 x 3))))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (pow.f64 x 3))) (+.f64 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) x) (*.f64 1/120 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (pow.f64 x 5)))))
(fma.f64 -1/6 (*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (pow.f64 x 3)) (fma.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) x (*.f64 1/120 (*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (pow.f64 x 5)))))
(fma.f64 -1/6 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (pow.f64 x 3)) (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) x (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (*.f64 (pow.f64 x 5) 1/120))))
(fma.f64 (pow.f64 x 3) (+.f64 (*.f64 (*.f64 eps eps) 1/12) (*.f64 (pow.f64 eps 4) -1/144)) (*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (+.f64 x (*.f64 1/120 (pow.f64 x 5)))))
(*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 x (*.f64 1/120 (pow.f64 x 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (pow.f64 x 3))) (+.f64 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) x) (+.f64 (*.f64 -1/5040 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (pow.f64 x 7))) (*.f64 1/120 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (pow.f64 x 5))))))
(fma.f64 -1/6 (*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (pow.f64 x 3)) (fma.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) x (fma.f64 -1/5040 (*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (pow.f64 x 7)) (*.f64 1/120 (*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (pow.f64 x 5))))))
(fma.f64 -1/6 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (pow.f64 x 3)) (fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) x (fma.f64 1/120 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (pow.f64 x 5)) (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (*.f64 (pow.f64 x 7) -1/5040)))))
(+.f64 (*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/5040 (pow.f64 x 7)))))
(*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (+.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 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))
(*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x))
(*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))
(*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x))
(*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))
(*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x))
(*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))
(*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x))
(*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))
(*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x))
(*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))
(*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x))
(*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))
(*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x))
(*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))
(*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 (cos.f64 x) eps (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (*.f64 eps (cos.f64 x)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x)))
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x)))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))))
(+.f64 (*.f64 (*.f64 eps eps) (*.f64 -1/2 (sin.f64 x))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))) (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x)))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x)))
(*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)))
(*.f64 (*.f64 1/24 (pow.f64 eps 4)) (sin.f64 x))
(*.f64 (pow.f64 eps 4) (*.f64 1/24 (sin.f64 x)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))
(*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))))
(fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(fma.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))))
(fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(fma.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)))
(*.f64 (*.f64 1/24 (pow.f64 eps 4)) (sin.f64 x))
(*.f64 (pow.f64 eps 4) (*.f64 1/24 (sin.f64 x)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))
(*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))))
(fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(fma.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))))
(fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(fma.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(sin.f64 eps)
(+.f64 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) x) (sin.f64 eps))
(fma.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) x (sin.f64 eps))
(fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) x (sin.f64 eps))
(+.f64 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (sin.f64 eps)))
(fma.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) x (fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (sin.f64 eps)))
(fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) x (*.f64 (+.f64 (*.f64 -1/2 (*.f64 x x)) 1) (sin.f64 eps)))
(fma.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) x (*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1)))
(+.f64 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) x) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (pow.f64 x 3))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (sin.f64 eps))))
(fma.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) x (fma.f64 -1/6 (*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (pow.f64 x 3)) (fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (sin.f64 eps))))
(fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) x (fma.f64 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) -1/6) (pow.f64 x 3) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 x x)) 1) (sin.f64 eps))))
(fma.f64 (fma.f64 -1/2 (*.f64 x x) 1) (sin.f64 eps) (*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))))
(fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(fma.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))))
(fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(fma.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))))
(fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(fma.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))))
(fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(fma.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))))
(fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(fma.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))))
(fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(fma.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))))
(fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(fma.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2))) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))))
(fma.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(fma.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))

eval422.0ms (2.9%)

Compiler

Compiled 14746 to 6866 computations (53.4% saved)

prune226.0ms (1.6%)

Pruning

57 alts after pruning (49 fresh and 8 done)

PrunedKeptTotal
New77819797
Fresh123042
Picked101
Done3811
Total79457851
Error
0b
Counts
851 → 57
Alt Table
Click to see full alt table
StatusErrorProgram
30.1b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3)
46.4b
(log1p.f64 (-.f64 (exp.f64 (sin.f64 eps)) 1))
44.5b
(+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))
39.1b
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
23.8b
(+.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) (*.f64 (sin.f64 x) (cos.f64 eps)))
29.6b
(*.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)))
49.9b
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x))
31.9b
(log.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))
40.2b
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x))
45.0b
(*.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps))
42.4b
eps
39.7b
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))) 3)
39.3b
(-.f64 (sin.f64 eps) (sin.f64 x))
45.9b
(fma.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
29.1b
(log1p.f64 (*.f64 (cos.f64 x) eps))
52.6b
(-.f64 (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 (+.f64 x eps)))))) (sin.f64 x))
42.8b
(pow.f64 (cbrt.f64 eps) 3)
0.2b
(+.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))
0.3b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x)))
39.3b
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 eps) (sin.f64 x))))
29.4b
(*.f64 (cos.f64 x) eps)
37.7b
(+.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) (sin.f64 x))
45.1b
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2)
14.2b
(*.f64 (sin.f64 eps) (cos.f64 x))
14.3b
(fma.f64 (*.f64 (sin.f64 eps) (cbrt.f64 (pow.f64 (cos.f64 x) 2))) (cbrt.f64 (cos.f64 x)) (-.f64 (sin.f64 x) (sin.f64 x)))
1.5b
(pow.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 3)
24.9b
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (log.f64 (pow.f64 (exp.f64 (sin.f64 x)) (cos.f64 eps)))) (sin.f64 x))
29.1b
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
48.3b
(-.f64 (fabs.f64 (sin.f64 (+.f64 x eps))) (sin.f64 x))
0.2b
(fma.f64 (sin.f64 eps) (cos.f64 x) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))
0.2b
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
0.2b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (*.f64 1/3 (*.f64 3 (+.f64 (cos.f64 eps) -1))) (sin.f64 x)))
50.1b
(-.f64 (pow.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) 2) (sin.f64 x))
60.4b
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 x) 2)) (sin.f64 x))
0.2b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log.f64 (exp.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x)))
24.9b
(-.f64 (+.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (cos.f64 eps))))) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
29.7b
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x)))
29.5b
(fma.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sqrt.f64 (sin.f64 eps)) (cos.f64 x)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))
28.4b
(pow.f64 (cbrt.f64 (sin.f64 eps)) 3)
27.7b
(sin.f64 eps)
50.4b
(fabs.f64 eps)
27.9b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x)))
0.2b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (log.f64 (exp.f64 (cos.f64 eps))) -1) (sin.f64 x)))
52.5b
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3))
39.3b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)
0.2b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
47.3b
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
30.8b
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (sin.f64 eps) (+.f64 1 (*.f64 -1/2 (*.f64 x x)))))
60.9b
(-.f64 (+.f64 1 eps) 1)
23.8b
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
23.8b
(fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
23.9b
(log1p.f64 (expm1.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))
37.7b
(-.f64 (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
0.2b
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))
40.3b
(-.f64 (fma.f64 (cos.f64 eps) x (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps))) x)
61.3b
(/.f64 (-.f64 (*.f64 (+.f64 1 eps) (+.f64 1 eps)) 1) (+.f64 (+.f64 1 eps) 1))
42.8b
(expm1.f64 (log1p.f64 eps))
Compiler

Compiled 739 to 519 computations (29.8% saved)

regimes553.0ms (3.8%)

Counts
126 → 1
Calls
Call 1
Inputs
eps
eps
(-.f64 (+.f64 1 eps) 1)
(/.f64 (-.f64 (*.f64 (+.f64 1 eps) (+.f64 1 eps)) 1) (+.f64 (+.f64 1 eps) 1))
(fabs.f64 eps)
(sin.f64 eps)
(*.f64 (cos.f64 x) eps)
(expm1.f64 (log1p.f64 eps))
(pow.f64 (cbrt.f64 eps) 3)
(pow.f64 (sqrt.f64 eps) 2)
(-.f64 (sin.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 eps) (cos.f64 x))
(log1p.f64 (*.f64 (cos.f64 x) eps))
(-.f64 (sin.f64 x) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x)))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps))))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 eps (*.f64 -1/2 (sin.f64 x)))))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x)))))
(+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)
(pow.f64 (cbrt.f64 (sin.f64 eps)) 3)
(log1p.f64 (-.f64 (exp.f64 (sin.f64 eps)) 1))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3)
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2)
(-.f64 (fabs.f64 (sin.f64 (+.f64 x eps))) (sin.f64 x))
(*.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps))
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 (+.f64 x eps)))))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 eps) x (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps))) x)
(-.f64 (fma.f64 x (cos.f64 eps) (*.f64 (sin.f64 eps) (+.f64 1 (*.f64 x (*.f64 x -1/2))))) x)
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (sin.f64 eps) (+.f64 1 (*.f64 -1/2 (*.f64 x x)))))
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x))
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 x) 2)) (sin.f64 x))
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))) 3)
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
(log.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
(-.f64 (pow.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) 2) (sin.f64 x))
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3))
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x))
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3)) (sin.f64 x))
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x))
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3))
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x))
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x))
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3)) (sin.f64 x))
(+.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) (sin.f64 x))
(pow.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/3) 3)
(-.f64 (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
(-.f64 (log.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps))))) (sin.f64 x))
(-.f64 (-.f64 (exp.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) 1) (sin.f64 x))
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
(pow.f64 (cbrt.f64 (*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x)))))) 3)
(fma.f64 x (+.f64 (cos.f64 eps) (*.f64 x (*.f64 (sin.f64 eps) -1/2))) (-.f64 (sin.f64 eps) x))
(-.f64 (fma.f64 x (+.f64 (cos.f64 eps) (*.f64 x (*.f64 (sin.f64 eps) -1/2))) (sin.f64 eps)) x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(fma.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(pow.f64 (cbrt.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)) 3)
(*.f64 (pow.f64 (cbrt.f64 2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
(*.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))
(log.f64 (/.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))) (exp.f64 (sin.f64 x))))
(+.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))
(+.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) (*.f64 (sin.f64 x) (cos.f64 eps)))
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (*.f64 1/3 (*.f64 3 (+.f64 (cos.f64 eps) -1))) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x)))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 (pow.f64 eps 4) 1/24))))
(fma.f64 (sin.f64 eps) (cos.f64 x) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))
(fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
(fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x)))
(fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 1/24 (pow.f64 eps 4)))))
(log.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log.f64 (exp.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (log.f64 (exp.f64 (cos.f64 eps))) -1) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (log1p.f64 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))
(pow.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 3)
(pow.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 3)
(-.f64 (+.f64 (log1p.f64 (expm1.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
(-.f64 (+.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 3) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
(-.f64 (+.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (cos.f64 eps))))) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
(fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 (*.f64 x x) (+.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 x (fma.f64 (cos.f64 eps) -1/6 1/6))) (sin.f64 eps)))
(log1p.f64 (expm1.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))
(pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))) 3)
(-.f64 (fma.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (cos.f64 eps)) 3) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
(-.f64 (log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps))))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (log.f64 (pow.f64 (exp.f64 (sin.f64 x)) (cos.f64 eps)))) (sin.f64 x))
(fma.f64 (*.f64 (sin.f64 eps) (cbrt.f64 (pow.f64 (cos.f64 x) 2))) (cbrt.f64 (cos.f64 x)) (-.f64 (sin.f64 x) (sin.f64 x)))
(log.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) (pow.f64 (exp.f64 (sin.f64 x)) (cos.f64 eps))))
(fma.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sqrt.f64 (sin.f64 eps)) (cos.f64 x)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))
(fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (sin.f64 eps))) (sqrt.f64 (sin.f64 eps)) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
(fma.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
(-.f64 (fma.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
(fma.f64 (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
(fma.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
(-.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
(log1p.f64 (+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 1/2 (pow.f64 (cos.f64 x) 2)))) (+.f64 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 -1/6 (pow.f64 (cos.f64 x) 2)) (+.f64 (*.f64 1/8 (pow.f64 (sin.f64 x) 2)) (+.f64 (*.f64 1/24 (sin.f64 x)) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (cos.f64 x) 2) (sin.f64 x))) (*.f64 1/24 (pow.f64 (cos.f64 x) 4))))))) (+.f64 (*.f64 (cos.f64 x) eps) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 1/6 (pow.f64 (cos.f64 x) 3)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 -1/6 (cos.f64 x)))))))))
Outputs
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log.f64 (exp.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x)))
Calls

4 calls:

239.0ms
x
172.0ms
eps
50.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
43.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Results
ErrorSegmentsBranch
0.2b1x
0.2b1eps
0.2b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
0.2b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 1660 to 612 computations (63.1% saved)

regimes400.0ms (2.8%)

Counts
99 → 1
Calls
Call 1
Inputs
eps
eps
(-.f64 (+.f64 1 eps) 1)
(/.f64 (-.f64 (*.f64 (+.f64 1 eps) (+.f64 1 eps)) 1) (+.f64 (+.f64 1 eps) 1))
(fabs.f64 eps)
(sin.f64 eps)
(*.f64 (cos.f64 x) eps)
(expm1.f64 (log1p.f64 eps))
(pow.f64 (cbrt.f64 eps) 3)
(pow.f64 (sqrt.f64 eps) 2)
(-.f64 (sin.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 eps) (cos.f64 x))
(log1p.f64 (*.f64 (cos.f64 x) eps))
(-.f64 (sin.f64 x) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x)))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps))))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 eps (*.f64 -1/2 (sin.f64 x)))))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x)))))
(+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)
(pow.f64 (cbrt.f64 (sin.f64 eps)) 3)
(log1p.f64 (-.f64 (exp.f64 (sin.f64 eps)) 1))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3)
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2)
(-.f64 (fabs.f64 (sin.f64 (+.f64 x eps))) (sin.f64 x))
(*.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps))
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 (+.f64 x eps)))))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 eps) x (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps))) x)
(-.f64 (fma.f64 x (cos.f64 eps) (*.f64 (sin.f64 eps) (+.f64 1 (*.f64 x (*.f64 x -1/2))))) x)
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (sin.f64 eps) (+.f64 1 (*.f64 -1/2 (*.f64 x x)))))
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x))
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 x) 2)) (sin.f64 x))
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))) 3)
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
(log.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
(-.f64 (pow.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) 2) (sin.f64 x))
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3))
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x))
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3)) (sin.f64 x))
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x))
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3))
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x))
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x))
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3)) (sin.f64 x))
(+.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) (sin.f64 x))
(pow.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/3) 3)
(-.f64 (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
(-.f64 (log.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps))))) (sin.f64 x))
(-.f64 (-.f64 (exp.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) 1) (sin.f64 x))
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
(pow.f64 (cbrt.f64 (*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x)))))) 3)
(fma.f64 x (+.f64 (cos.f64 eps) (*.f64 x (*.f64 (sin.f64 eps) -1/2))) (-.f64 (sin.f64 eps) x))
(-.f64 (fma.f64 x (+.f64 (cos.f64 eps) (*.f64 x (*.f64 (sin.f64 eps) -1/2))) (sin.f64 eps)) x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(fma.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(pow.f64 (cbrt.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)) 3)
(*.f64 (pow.f64 (cbrt.f64 2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
(*.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))
(log.f64 (/.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))) (exp.f64 (sin.f64 x))))
(+.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))
(+.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) (*.f64 (sin.f64 x) (cos.f64 eps)))
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (*.f64 1/3 (*.f64 3 (+.f64 (cos.f64 eps) -1))) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x)))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 (pow.f64 eps 4) 1/24))))
(fma.f64 (sin.f64 eps) (cos.f64 x) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))
(fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
(fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x)))
(fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 1/24 (pow.f64 eps 4)))))
(log.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x)))
Outputs
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
Calls

4 calls:

80.0ms
x
76.0ms
eps
37.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
31.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Results
ErrorSegmentsBranch
0.2b1x
0.2b1eps
0.2b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
0.2b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 1107 to 445 computations (59.8% saved)

regimes360.0ms (2.5%)

Counts
79 → 1
Calls
Call 1
Inputs
eps
eps
(-.f64 (+.f64 1 eps) 1)
(/.f64 (-.f64 (*.f64 (+.f64 1 eps) (+.f64 1 eps)) 1) (+.f64 (+.f64 1 eps) 1))
(fabs.f64 eps)
(sin.f64 eps)
(*.f64 (cos.f64 x) eps)
(expm1.f64 (log1p.f64 eps))
(pow.f64 (cbrt.f64 eps) 3)
(pow.f64 (sqrt.f64 eps) 2)
(-.f64 (sin.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 eps) (cos.f64 x))
(log1p.f64 (*.f64 (cos.f64 x) eps))
(-.f64 (sin.f64 x) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x)))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps))))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 eps (*.f64 -1/2 (sin.f64 x)))))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x)))))
(+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)
(pow.f64 (cbrt.f64 (sin.f64 eps)) 3)
(log1p.f64 (-.f64 (exp.f64 (sin.f64 eps)) 1))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3)
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2)
(-.f64 (fabs.f64 (sin.f64 (+.f64 x eps))) (sin.f64 x))
(*.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps))
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 (+.f64 x eps)))))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 eps) x (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps))) x)
(-.f64 (fma.f64 x (cos.f64 eps) (*.f64 (sin.f64 eps) (+.f64 1 (*.f64 x (*.f64 x -1/2))))) x)
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (sin.f64 eps) (+.f64 1 (*.f64 -1/2 (*.f64 x x)))))
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x))
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 x) 2)) (sin.f64 x))
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))) 3)
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
(log.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
(-.f64 (pow.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) 2) (sin.f64 x))
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3))
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x))
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3)) (sin.f64 x))
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x))
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3))
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x))
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x))
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3)) (sin.f64 x))
(+.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) (sin.f64 x))
(pow.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/3) 3)
(-.f64 (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
(-.f64 (log.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps))))) (sin.f64 x))
(-.f64 (-.f64 (exp.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) 1) (sin.f64 x))
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
(pow.f64 (cbrt.f64 (*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x)))))) 3)
(fma.f64 x (+.f64 (cos.f64 eps) (*.f64 x (*.f64 (sin.f64 eps) -1/2))) (-.f64 (sin.f64 eps) x))
(-.f64 (fma.f64 x (+.f64 (cos.f64 eps) (*.f64 x (*.f64 (sin.f64 eps) -1/2))) (sin.f64 eps)) x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(fma.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(pow.f64 (cbrt.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)) 3)
(*.f64 (pow.f64 (cbrt.f64 2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
(*.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)))
Outputs
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
Calls

4 calls:

205.0ms
eps
53.0ms
x
52.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
24.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Results
ErrorSegmentsBranch
0.2b1x
0.2b1eps
0.2b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
0.2b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 808 to 351 computations (56.6% saved)

regimes146.0ms (1%)

Counts
67 → 1
Calls
Call 1
Inputs
eps
eps
(-.f64 (+.f64 1 eps) 1)
(/.f64 (-.f64 (*.f64 (+.f64 1 eps) (+.f64 1 eps)) 1) (+.f64 (+.f64 1 eps) 1))
(fabs.f64 eps)
(sin.f64 eps)
(*.f64 (cos.f64 x) eps)
(expm1.f64 (log1p.f64 eps))
(pow.f64 (cbrt.f64 eps) 3)
(pow.f64 (sqrt.f64 eps) 2)
(-.f64 (sin.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 eps) (cos.f64 x))
(log1p.f64 (*.f64 (cos.f64 x) eps))
(-.f64 (sin.f64 x) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x)))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps))))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 eps (*.f64 -1/2 (sin.f64 x)))))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x)))))
(+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)
(pow.f64 (cbrt.f64 (sin.f64 eps)) 3)
(log1p.f64 (-.f64 (exp.f64 (sin.f64 eps)) 1))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3)
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2)
(-.f64 (fabs.f64 (sin.f64 (+.f64 x eps))) (sin.f64 x))
(*.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps))
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 (+.f64 x eps)))))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 eps) x (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps))) x)
(-.f64 (fma.f64 x (cos.f64 eps) (*.f64 (sin.f64 eps) (+.f64 1 (*.f64 x (*.f64 x -1/2))))) x)
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (sin.f64 eps) (+.f64 1 (*.f64 -1/2 (*.f64 x x)))))
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 eps) (sin.f64 x))))
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x))
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 x) 2)) (sin.f64 x))
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))) 3)
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
(log.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
(-.f64 (pow.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) 2) (sin.f64 x))
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3))
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x))
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3)) (sin.f64 x))
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x))
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3))
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x))
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x))
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3)) (sin.f64 x))
(+.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) (sin.f64 x))
(pow.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/3) 3)
(-.f64 (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
(-.f64 (log.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps))))) (sin.f64 x))
(-.f64 (-.f64 (exp.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) 1) (sin.f64 x))
Outputs
(*.f64 (sin.f64 eps) (cos.f64 x))
Calls

4 calls:

43.0ms
eps
41.0ms
x
24.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
20.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Results
ErrorSegmentsBranch
14.2b1x
14.2b1eps
14.2b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
14.2b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 616 to 263 computations (57.3% saved)

regimes59.0ms (0.4%)

Counts
11 → 3
Calls
Call 1
Inputs
eps
eps
(-.f64 (+.f64 1 eps) 1)
(/.f64 (-.f64 (*.f64 (+.f64 1 eps) (+.f64 1 eps)) 1) (+.f64 (+.f64 1 eps) 1))
(fabs.f64 eps)
(sin.f64 eps)
(*.f64 (cos.f64 x) eps)
(expm1.f64 (log1p.f64 eps))
(pow.f64 (cbrt.f64 eps) 3)
(pow.f64 (sqrt.f64 eps) 2)
(-.f64 (sin.f64 eps) (sin.f64 x))
Outputs
(-.f64 (sin.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 x) eps)
(-.f64 (sin.f64 eps) (sin.f64 x))
Calls

2 calls:

37.0ms
eps
20.0ms
x
Results
ErrorSegmentsBranch
16.4b3x
14.4b3eps
Compiler

Compiled 54 to 36 computations (33.3% saved)

bsearch126.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
62.0ms
3.0242574530104072e-21
1.9058074573595068e-17
63.0ms
-32398.958357700376
-0.000620855993743819
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes39.0ms (0.3%)

Counts
10 → 3
Calls
Call 1
Inputs
eps
eps
(-.f64 (+.f64 1 eps) 1)
(/.f64 (-.f64 (*.f64 (+.f64 1 eps) (+.f64 1 eps)) 1) (+.f64 (+.f64 1 eps) 1))
(fabs.f64 eps)
(sin.f64 eps)
(*.f64 (cos.f64 x) eps)
(expm1.f64 (log1p.f64 eps))
(pow.f64 (cbrt.f64 eps) 3)
(pow.f64 (sqrt.f64 eps) 2)
Outputs
(sin.f64 eps)
(*.f64 (cos.f64 x) eps)
(sin.f64 eps)
Calls

2 calls:

18.0ms
eps
18.0ms
x
Results
ErrorSegmentsBranch
16.4b3x
14.7b3eps
Compiler

Compiled 49 to 34 computations (30.6% saved)

bsearch118.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
64.0ms
3.0242574530104072e-21
1.9058074573595068e-17
53.0ms
-225314.06166939938
-32398.958357700376
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes12.0ms (0.1%)

Counts
6 → 1
Calls
Call 1
Inputs
eps
eps
(-.f64 (+.f64 1 eps) 1)
(/.f64 (-.f64 (*.f64 (+.f64 1 eps) (+.f64 1 eps)) 1) (+.f64 (+.f64 1 eps) 1))
(fabs.f64 eps)
(sin.f64 eps)
Outputs
(sin.f64 eps)
Calls

2 calls:

5.0ms
eps
5.0ms
x
Results
ErrorSegmentsBranch
27.7b1x
27.7b1eps
Compiler

Compiled 34 to 24 computations (29.4% saved)

regimes12.0ms (0.1%)

Accuracy

Total -19.5b remaining (-46%)

Threshold costs -19.5b (-46%)

Counts
5 → 1
Calls
Call 1
Inputs
eps
eps
(-.f64 (+.f64 1 eps) 1)
(/.f64 (-.f64 (*.f64 (+.f64 1 eps) (+.f64 1 eps)) 1) (+.f64 (+.f64 1 eps) 1))
(fabs.f64 eps)
Outputs
eps
Calls

2 calls:

6.0ms
x
4.0ms
eps
Results
ErrorSegmentsBranch
42.4b1x
42.4b1eps
Compiler

Compiled 32 to 23 computations (28.1% saved)

simplify11.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
030133
138133
242133
344133
445133
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log.f64 (exp.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(*.f64 (sin.f64 eps) (cos.f64 x))
(if (<=.f64 eps -8905757860530495/274877906944) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 2009963836501309/664613997892457936451903530140172288) (*.f64 (cos.f64 x) eps) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -1935433052397995/8589934592) (sin.f64 eps) (if (<=.f64 eps 2009963836501309/664613997892457936451903530140172288) (*.f64 (cos.f64 x) eps) (sin.f64 eps)))
(sin.f64 eps)
eps
Outputs
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log.f64 (exp.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(*.f64 (sin.f64 eps) (cos.f64 x))
(if (<=.f64 eps -8905757860530495/274877906944) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 2009963836501309/664613997892457936451903530140172288) (*.f64 (cos.f64 x) eps) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -8905757860530495/274877906944) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 2009963836501309/664613997892457936451903530140172288) (*.f64 eps (cos.f64 x)) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -1935433052397995/8589934592) (sin.f64 eps) (if (<=.f64 eps 2009963836501309/664613997892457936451903530140172288) (*.f64 (cos.f64 x) eps) (sin.f64 eps)))
(if (<=.f64 eps -1935433052397995/8589934592) (sin.f64 eps) (if (<=.f64 eps 2009963836501309/664613997892457936451903530140172288) (*.f64 eps (cos.f64 x)) (sin.f64 eps)))
(sin.f64 eps)
eps
Compiler

Compiled 101 to 67 computations (33.7% saved)

soundness110.0ms (0.8%)

Algorithm
egg-herbie
Rules
606×fma-def_binary64
492×unswap-sqr_binary64
484×*-commutative_binary64
352×associate-+l+_binary64
339×distribute-rgt-out_binary64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0981128
12851106
27791021
325501017
445111017
558961016
679661016
Stop Event
node limit
Compiler

Compiled 137 to 91 computations (33.6% saved)

end55.0ms (0.4%)

Compiler

Compiled 87 to 35 computations (59.8% saved)

Profiling

Loading profile data...