Details

Time bar (total: 11.8s)

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

sample4.3s (36.6%)

Results
2.1s3570×body1024valid
1.3s1307×body2048valid
538.0ms1416×body512valid
343.0ms1959×body256valid
7.0msbody4096valid

preprocess25.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
720022
828222
935322
1040522
1140922
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)

simplify10.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
712411
817211
920811
1023411
1123611
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
37.4b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
37.4b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 9 to 6 computations (33.3% saved)

localize6.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.8b
(sin.f64 (+.f64 x eps))
1.0b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
1.0b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
1.8b
(sin.f64 (+.f64 x eps))

series5.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite100.0ms (0.9%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
117317
2273717
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 (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 (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 (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 (pow.f64 (sin.f64 (+.f64 x eps)) 5/2) 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 log1p.f64 (expm1.f64 (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 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 (+.f64 x 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 (+.f64 x 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 (+.f64 x 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 (+.f64 x 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 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 5/2) 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 (+.f64 x 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 (+.f64 x 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 (+.f64 x 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 log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(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 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 (+.f64 x 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 (+.f64 x 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 (+.f64 x 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 (+.f64 x 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 (+.f64 x 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 (+.f64 x 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 (+.f64 x 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 (+.f64 x 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 (+.f64 x eps) x) 1/2))) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))))

simplify65.0ms (0.6%)

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

Useful iterations: 4 (0.0ms)

IterNodesCost
068580
1191575
2466561
31744560
45095547
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 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 (cos.f64 eps) x (sin.f64 eps)))
(fma.f64 (cos.f64 eps) x (fma.f64 (*.f64 x x) (*.f64 (sin.f64 eps) -1/2) (sin.f64 eps)))
(fma.f64 x (+.f64 (*.f64 x (*.f64 (sin.f64 eps) -1/2)) (cos.f64 eps)) (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 (*.f64 x x) (*.f64 (sin.f64 eps) -1/2) (sin.f64 eps)))
(+.f64 (sin.f64 eps) (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (*.f64 (cos.f64 eps) (+.f64 x (*.f64 -1/6 (pow.f64 x 3))))))
(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 -1/2 (*.f64 eps (*.f64 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 (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 (*.f64 x x) (*.f64 (sin.f64 eps) -1/2) (sin.f64 eps))) x)
(-.f64 (fma.f64 x (+.f64 (*.f64 x (*.f64 (sin.f64 eps) -1/2)) (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) (+.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 -1/2 (*.f64 eps (*.f64 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 (sin.f64 x) (*.f64 eps -1/2))))
(+.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 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(fma.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 (sin.f64 x) (*.f64 eps eps)) (*.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 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))

eval78.0ms (0.7%)

Compiler

Compiled 3627 to 1128 computations (68.9% saved)

prune134.0ms (1.1%)

Pruning

37 alts after pruning (36 fresh and 1 done)

PrunedKeptTotal
New16936205
Fresh000
Picked011
Done000
Total16937206
Error
0.2b
Counts
206 → 37
Alt Table
Click to see full alt table
StatusErrorProgram
21.6b
(-.f64 (fma.f64 (cos.f64 eps) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
30.2b
(*.f64 eps (cos.f64 x))
38.0b
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x))
61.3b
(-.f64 (sin.f64 x) (sin.f64 x))
46.6b
(log.f64 (/.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))) (exp.f64 (sin.f64 x))))
37.6b
(*.f64 (*.f64 2 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2))) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))
46.6b
(-.f64 (-.f64 (exp.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) 1) (sin.f64 x))
50.5b
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))
25.4b
(-.f64 (/.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)))))) (sin.f64 x))
22.1b
(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)))
21.6b
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
35.4b
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
22.1b
(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)))
51.0b
(pow.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)
37.5b
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
38.0b
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) x)
37.9b
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)
37.5b
(-.f64 (log1p.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
32.8b
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
38.7b
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x))
37.4b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
38.4b
(*.f64 (pow.f64 (cbrt.f64 2) 3) (*.f64 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
44.6b
(-.f64 (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))) (sin.f64 x))
41.1b
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3)) (sin.f64 x))
38.3b
(-.f64 (sin.f64 eps) (sin.f64 x))
42.0b
(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)))
30.9b
(-.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))
46.7b
(log.f64 (*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (exp.f64 (sin.f64 (+.f64 x eps)))))
21.6b
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
46.6b
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
49.3b
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x))
30.3b
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2))))
21.6b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
46.6b
(log.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
38.7b
(-.f64 (fma.f64 x (+.f64 (*.f64 x (*.f64 (sin.f64 eps) -1/2)) (cos.f64 eps)) (sin.f64 eps)) x)
30.7b
(fma.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)) (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps)))
21.6b
(fma.f64 (cos.f64 eps) (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
Compiler

Compiled 1123 to 724 computations (35.5% saved)

localize12.0ms (0.1%)

Local error

Found 8 expressions with local error:

NewErrorProgram
2.0b
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
0.1b
(*.f64 (sin.f64 x) (cos.f64 eps))
0.1b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps)))
0.0b
(sin.f64 eps)
0.0b
(sin.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.0b
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))

series11.0ms (0.1%)

Counts
4 → 76
Calls

21 calls:

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

rewrite106.0ms (0.9%)

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

simplify96.0ms (0.8%)

Algorithm
egg-herbie
Rules
608×fma-def_binary64
588×sub-neg_binary64
423×*-commutative_binary64
395×+-commutative_binary64
340×associate-+l+_binary64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0941266
12701246
27321175
323921163
440611163
552991161
673751161
Stop Event
node limit
Counts
269 → 247
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))
(*.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 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)))
eps
(+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))
(+.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 1/120 (pow.f64 eps 5))))
(+.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (+.f64 (*.f64 1/120 (pow.f64 eps 5)) (*.f64 -1/5040 (pow.f64 eps 7)))))
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 (sin.f64 x) (*.f64 eps eps))))
(fma.f64 (cos.f64 x) eps (*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x)))))
(fma.f64 (cos.f64 x) eps (*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.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 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x)))) (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps)))
(fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.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 (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) (fma.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) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 eps (*.f64 eps -1/2)))))
(fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (sin.f64 x) (*.f64 eps (+.f64 (*.f64 (pow.f64 eps 3) 1/24) (*.f64 eps -1/2)))))
(fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (sin.f64 x) (*.f64 eps (+.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) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.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) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.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) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.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) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.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) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.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) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.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) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.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) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.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))
(fma.f64 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps))
(-.f64 (fma.f64 x (cos.f64 eps) (sin.f64 eps)) x)
(fma.f64 x (cos.f64 eps) (-.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) (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 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps)))
(fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 -1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (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)
(fma.f64 x (+.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) (*.f64 x -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 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 x (*.f64 x (sin.f64 eps))) (fma.f64 (fma.f64 -1/6 (cos.f64 eps) 1/6) (pow.f64 x 3) (fma.f64 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps))))
(fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 -1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (fma.f64 (fma.f64 -1/6 (cos.f64 eps) 1/6) (pow.f64 x 3) (sin.f64 eps))))
(fma.f64 x (+.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) (*.f64 x -1/2))) (-.f64 (fma.f64 (fma.f64 -1/6 (cos.f64 eps) 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 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.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) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.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) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.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) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.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) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.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) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.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) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.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) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(*.f64 (cos.f64 eps) x)
(*.f64 x (cos.f64 eps))
(+.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))))
(fma.f64 x (cos.f64 eps) (*.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 (*.f64 1/120 (cos.f64 eps)) (pow.f64 x 5))))
(fma.f64 x (cos.f64 eps) (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/120 (pow.f64 x 5)) (*.f64 (cos.f64 eps) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))))
(*.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 (*.f64 1/120 (cos.f64 eps)) (pow.f64 x 5)))))
(fma.f64 -1/5040 (*.f64 (cos.f64 eps) (pow.f64 x 7)) (fma.f64 x (cos.f64 eps) (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/6 (pow.f64 x 3)) (*.f64 1/120 (pow.f64 x 5)))) (*.f64 (cos.f64 eps) (+.f64 x (*.f64 -1/5040 (pow.f64 x 7)))))
(*.f64 (cos.f64 eps) (+.f64 (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/6 (pow.f64 x 3))) (+.f64 x (*.f64 -1/5040 (pow.f64 x 7)))))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 x) (cos.f64 eps))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 x) (cos.f64 eps))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 x) (cos.f64 eps))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 x) (cos.f64 eps))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 x) (cos.f64 eps))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 x) (cos.f64 eps))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 x) (cos.f64 eps))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 x) (cos.f64 eps))
(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))))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (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)) (fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (sin.f64 x)))
(*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (fma.f64 1/24 (pow.f64 eps 4) 1)))
(*.f64 (sin.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (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 (*.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/2 (*.f64 eps eps) (*.f64 -1/720 (pow.f64 eps 6))) (*.f64 (sin.f64 x) (fma.f64 1/24 (pow.f64 eps 4) 1)))
(*.f64 (sin.f64 x) (+.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 -1/720 (pow.f64 eps 6))) (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/2 (*.f64 eps eps) (*.f64 -1/720 (pow.f64 eps 6)))))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 x) (cos.f64 eps))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 x) (cos.f64 eps))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 x) (cos.f64 eps))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 x) (cos.f64 eps))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 x) (cos.f64 eps))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 x) (cos.f64 eps))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 x) (cos.f64 eps))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 x) (cos.f64 eps))
(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 (sin.f64 x) (*.f64 eps eps))))
(fma.f64 (cos.f64 x) eps (fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (sin.f64 x)))
(fma.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) (sin.f64 x) (*.f64 (cos.f64 x) eps))
(+.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 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x)))) (*.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 (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 x (*.f64 x (sin.f64 eps))) (fma.f64 x (cos.f64 eps) (sin.f64 eps)))
(fma.f64 x (cos.f64 eps) (fma.f64 -1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (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 x (*.f64 x (sin.f64 eps))) (fma.f64 x (cos.f64 eps) (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (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 (*.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)))
eps
(+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))
(fma.f64 -1/6 (pow.f64 eps 3) eps)
(+.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 1/120 (pow.f64 eps 5))))
(+.f64 eps (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 1/120 (pow.f64 eps 5))))
(fma.f64 -1/6 (pow.f64 eps 3) (fma.f64 1/120 (pow.f64 eps 5) eps))
(+.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (+.f64 (*.f64 1/120 (pow.f64 eps 5)) (*.f64 -1/5040 (pow.f64 eps 7)))))
(+.f64 eps (fma.f64 -1/6 (pow.f64 eps 3) (fma.f64 1/120 (pow.f64 eps 5) (*.f64 -1/5040 (pow.f64 eps 7)))))
(+.f64 eps (fma.f64 1/120 (pow.f64 eps 5) (fma.f64 -1/5040 (pow.f64 eps 7) (*.f64 -1/6 (pow.f64 eps 3)))))

localize4.0ms (0%)

Local error

Found 2 expressions with local error:

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

series46.0ms (0.4%)

Counts
1 → 20
Calls

6 calls:

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

rewrite34.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 eps (cos.f64 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 eps (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 eps (cos.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 eps (cos.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 eps (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 eps (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 eps (cos.f64 x))))))))

simplify114.0ms (1%)

Algorithm
egg-herbie
Rules
523×sqr-pow_binary64
515×distribute-lft-out_binary64
492×distribute-rgt-out_binary64
445×*-commutative_binary64
399×associate-+l+_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
024166
158164
2145160
3445154
41883153
53937153
64192153
74506153
85029153
95784153
106524153
117472153
127900153
Stop Event
node limit
Counts
31 → 19
Calls
Call 1
Inputs
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
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 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
Outputs
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
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 eps (*.f64 -1/2 (*.f64 x x)) eps)
(*.f64 eps (fma.f64 x (*.f64 x -1/2) 1))
(fma.f64 eps (*.f64 x (*.f64 x -1/2)) eps)
(+.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 eps (*.f64 1/24 (pow.f64 x 4)) (fma.f64 eps (*.f64 -1/2 (*.f64 x x)) eps))
(fma.f64 eps (fma.f64 x (*.f64 x -1/2) (*.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 eps (*.f64 -1/720 (pow.f64 x 6)) (fma.f64 eps (*.f64 1/24 (pow.f64 x 4)) (fma.f64 eps (*.f64 -1/2 (*.f64 x x)) eps)))
(fma.f64 eps (*.f64 -1/720 (pow.f64 x 6)) (fma.f64 eps (fma.f64 x (*.f64 x -1/2) (*.f64 1/24 (pow.f64 x 4))) eps))
(*.f64 eps (+.f64 (fma.f64 x (*.f64 x -1/2) (*.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 x (*.f64 x -1/2) (*.f64 -1/720 (pow.f64 x 6)))))
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)

localize9.0ms (0.1%)

Local error

Found 8 expressions with local error:

NewErrorProgram
2.8b
(log.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
1.8b
(sin.f64 (+.f64 x eps))
1.0b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
0.0b
(exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))
0.0b
(exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))
1.0b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
1.8b
(sin.f64 (+.f64 x eps))
2.8b
(log.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))

series5.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite90.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
483×log-prod_binary64
482×fma-def_binary64
309×pow-prod-down_binary64
285×pow2_binary64
220×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify64.0ms (0.5%)

Algorithm
egg-herbie
Rules
677×distribute-rgt-neg-out_binary64
595×fma-def_binary64
563×distribute-lft-neg-out_binary64
492×associate-*r*_binary64
458×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
099836
1296820
2875789
34661789
Stop Event
node limit
Counts
234 → 221
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 (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))
(exp.f64 (sin.f64 eps))
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 x (exp.f64 (sin.f64 eps)))) (exp.f64 (sin.f64 eps)))
(+.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))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) (+.f64 1/6 (+.f64 (*.f64 1/6 (pow.f64 (-.f64 (cos.f64 eps) 1) 3)) (*.f64 -1/2 (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 eps)))))) (*.f64 (pow.f64 x 3) (exp.f64 (sin.f64 eps)))) (+.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)))))
(exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)))
1
(+.f64 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 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 1 (+.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))))))))
(exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 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 (*.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 (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 (+.f64 (cos.f64 eps) -1) x (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 (fma.f64 (cos.f64 eps) -1/6 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 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 (sin.f64 x) (*.f64 eps -1/2))))
(+.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 (sin.f64 x) (*.f64 eps -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 eps (*.f64 (sin.f64 x) (*.f64 eps -1/2))))
(+.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 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))
(exp.f64 (sin.f64 eps))
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 x (exp.f64 (sin.f64 eps)))) (exp.f64 (sin.f64 eps)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (exp.f64 (sin.f64 eps))) (exp.f64 (sin.f64 eps)))
(*.f64 (+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) x) 1) (exp.f64 (sin.f64 eps)))
(*.f64 (exp.f64 (sin.f64 eps)) (fma.f64 (+.f64 (cos.f64 eps) -1) x 1))
(+.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))))
(fma.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (exp.f64 (sin.f64 eps))) (fma.f64 (fma.f64 1/2 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (*.f64 (sin.f64 eps) -1/2)) (*.f64 (*.f64 x x) (exp.f64 (sin.f64 eps))) (exp.f64 (sin.f64 eps))))
(+.f64 (exp.f64 (sin.f64 eps)) (*.f64 (exp.f64 (sin.f64 eps)) (+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) x) (*.f64 (*.f64 x x) (fma.f64 (sin.f64 eps) -1/2 (*.f64 1/2 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))))))
(*.f64 (exp.f64 (sin.f64 eps)) (+.f64 (fma.f64 (*.f64 x x) (fma.f64 (sin.f64 eps) -1/2 (*.f64 1/2 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))) 1) (-.f64 (*.f64 (cos.f64 eps) x) x)))
(*.f64 (exp.f64 (sin.f64 eps)) (+.f64 (-.f64 (*.f64 (cos.f64 eps) x) x) (fma.f64 (*.f64 x x) (fma.f64 (sin.f64 eps) -1/2 (*.f64 1/2 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))) 1)))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) (+.f64 1/6 (+.f64 (*.f64 1/6 (pow.f64 (-.f64 (cos.f64 eps) 1) 3)) (*.f64 -1/2 (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 eps)))))) (*.f64 (pow.f64 x 3) (exp.f64 (sin.f64 eps)))) (+.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)))))
(fma.f64 (+.f64 (fma.f64 -1/6 (cos.f64 eps) 1/6) (fma.f64 1/6 (pow.f64 (+.f64 (cos.f64 eps) -1) 3) (*.f64 -1/2 (*.f64 (sin.f64 eps) (+.f64 (cos.f64 eps) -1))))) (*.f64 (pow.f64 x 3) (exp.f64 (sin.f64 eps))) (fma.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (exp.f64 (sin.f64 eps))) (fma.f64 (fma.f64 1/2 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (*.f64 (sin.f64 eps) -1/2)) (*.f64 (*.f64 x x) (exp.f64 (sin.f64 eps))) (exp.f64 (sin.f64 eps)))))
(+.f64 (*.f64 (+.f64 (*.f64 (*.f64 x x) (fma.f64 (sin.f64 eps) -1/2 (*.f64 1/2 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))) 1) (exp.f64 (sin.f64 eps))) (*.f64 (exp.f64 (sin.f64 eps)) (+.f64 (*.f64 (pow.f64 x 3) (+.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (fma.f64 1/6 (pow.f64 (+.f64 (cos.f64 eps) -1) 3) (*.f64 (sin.f64 eps) (+.f64 (*.f64 -1/2 (cos.f64 eps)) 1/2))))) (*.f64 (+.f64 (cos.f64 eps) -1) x))))
(fma.f64 (fma.f64 (*.f64 x x) (fma.f64 (sin.f64 eps) -1/2 (*.f64 1/2 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))) 1) (exp.f64 (sin.f64 eps)) (*.f64 (exp.f64 (sin.f64 eps)) (fma.f64 (pow.f64 x 3) (fma.f64 (cos.f64 eps) -1/6 (fma.f64 1/6 (pow.f64 (+.f64 (cos.f64 eps) -1) 3) (fma.f64 (sin.f64 eps) (fma.f64 (cos.f64 eps) -1/2 1/2) 1/6))) (-.f64 (*.f64 (cos.f64 eps) x) x))))
(fma.f64 (exp.f64 (sin.f64 eps)) (fma.f64 (pow.f64 x 3) (fma.f64 (cos.f64 eps) -1/6 (fma.f64 1/6 (pow.f64 (+.f64 (cos.f64 eps) -1) 3) (fma.f64 (sin.f64 eps) (fma.f64 (cos.f64 eps) -1/2 1/2) 1/6))) (-.f64 (*.f64 (cos.f64 eps) x) x)) (*.f64 (exp.f64 (sin.f64 eps)) (fma.f64 (*.f64 x x) (fma.f64 (sin.f64 eps) -1/2 (*.f64 1/2 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))) 1)))
(exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
1
(+.f64 1 (*.f64 (cos.f64 x) eps))
(+.f64 1 (*.f64 eps (cos.f64 x)))
(fma.f64 eps (cos.f64 x) 1)
(+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 1/2 (pow.f64 (cos.f64 x) 2)))) (+.f64 1 (*.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 1 (*.f64 eps (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 eps (cos.f64 x) 1))
(+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 1/2 (pow.f64 (cos.f64 x) 2)))) (+.f64 1 (+.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))) (+.f64 1 (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))))))))
(+.f64 (fma.f64 eps (cos.f64 x) (*.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 (sin.f64 x) (*.f64 1/2 (pow.f64 (cos.f64 x) 2))) 1))
(fma.f64 eps (*.f64 eps (fma.f64 -1/2 (sin.f64 x) (*.f64 1/2 (pow.f64 (cos.f64 x) 2)))) (fma.f64 eps (cos.f64 x) (fma.f64 (pow.f64 eps 3) (fma.f64 1/6 (pow.f64 (cos.f64 x) 3) (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (sin.f64 x)) -1/6))) 1)))
(exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)))
(exp.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))

localize10.0ms (0.1%)

Local error

Found 8 expressions with local error:

NewErrorProgram
2.2b
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))
1.8b
(sin.f64 (+.f64 x eps))
1.0b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
0.2b
(pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)
0.2b
(pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)
1.0b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
1.8b
(sin.f64 (+.f64 x eps))
2.2b
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))

series6.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite82.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
504×log-prod_binary64
494×fma-def_binary64
327×pow-prod-down_binary64
302×pow2_binary64
220×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
123625
2314725
Stop Event
node limit
Counts
2 → 157
Calls
Call 1
Inputs
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))
(pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)
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)) (-.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 (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 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 (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 (-.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 (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 (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 (pow.f64 1 1/2) (-.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)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 6) 1/6)))) (#(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 (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 (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 fabs.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (#(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 log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(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 2 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 1/2))))) (#(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 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 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 (-.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 (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 (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 (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 (pow.f64 1 1/2) (-.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 1 1/2) (-.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 1 1/2) (-.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 (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)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 (+.f64 x eps)) (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (*.f64 (neg.f64 (sin.f64 x)) (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (sin.f64 (+.f64 x eps))) (*.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (-.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)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (pow.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 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 4)) (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))) (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3/2) (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 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 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 5) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) 2) (pow.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) 2) (pow.f64 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3))) (*.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (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 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2))) (*.f64 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (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 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (-.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 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (-.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 sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (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)) (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (*.f64 (neg.f64 (sin.f64 x)) (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (sin.f64 (+.f64 x eps)) (*.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (neg.f64 (sin.f64 x))))))))

simplify55.0ms (0.5%)

Algorithm
egg-herbie
Rules
547×distribute-rgt-neg-out_binary64
525×fma-def_binary64
478×associate-*r*_binary64
471×associate-*l*_binary64
466×distribute-lft-neg-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0101901
1292887
2867850
34380847
Stop Event
node limit
Counts
205 → 193
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 (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))
(pow.f64 (sin.f64 eps) 2)
(+.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 2 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 (sin.f64 eps) x))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (*.f64 (+.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 2) (*.f64 -1 (pow.f64 (sin.f64 eps) 2))) (pow.f64 x 2)) (*.f64 2 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 (sin.f64 eps) x)))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (sin.f64 eps))) (*.f64 -1 (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 eps)))) (pow.f64 x 3)) (+.f64 (*.f64 (+.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 2) (*.f64 -1 (pow.f64 (sin.f64 eps) 2))) (pow.f64 x 2)) (*.f64 2 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 (sin.f64 eps) x))))))
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 2)
(*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 3) (*.f64 (cos.f64 x) (sin.f64 x)))) (*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2)))
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 (cos.f64 x) 2)) (*.f64 1/4 (pow.f64 (sin.f64 x) 2))) (pow.f64 eps 4)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 3) (*.f64 (cos.f64 x) (sin.f64 x)))) (*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 (cos.f64 x) 2)) (*.f64 1/4 (pow.f64 (sin.f64 x) 2))) (pow.f64 eps 4)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 3) (*.f64 (cos.f64 x) (sin.f64 x)))) (+.f64 (*.f64 (+.f64 (*.f64 1/12 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 1/6 (*.f64 (cos.f64 x) (sin.f64 x)))) (pow.f64 eps 5)) (*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2)))))
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 2)
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 (*.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)))
(fma.f64 (sin.f64 eps) (*.f64 -1/2 (*.f64 x x)) (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 (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 (sin.f64 eps) (*.f64 -1/2 (*.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))))
(-.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 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps))))
(fma.f64 eps (cos.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))))
(fma.f64 eps (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2))))
(+.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 (sin.f64 x) (*.f64 eps eps)) (*.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/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 (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))
(pow.f64 (sin.f64 eps) 2)
(+.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 2 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 (sin.f64 eps) x))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (*.f64 2 (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) x)))
(fma.f64 (+.f64 (*.f64 (cos.f64 eps) 2) -2) (*.f64 (sin.f64 eps) x) (pow.f64 (sin.f64 eps) 2))
(*.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) (*.f64 x (fma.f64 (cos.f64 eps) 2 -2))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (*.f64 (+.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 2) (*.f64 -1 (pow.f64 (sin.f64 eps) 2))) (pow.f64 x 2)) (*.f64 2 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 (sin.f64 eps) x)))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (fma.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (neg.f64 (pow.f64 (sin.f64 eps) 2))) (*.f64 x x) (*.f64 (*.f64 2 (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) x))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (fma.f64 2 (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (sin.f64 eps) x)) (*.f64 (*.f64 x x) (-.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (sin.f64 eps) 2)))))
(fma.f64 x (*.f64 x (-.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (sin.f64 eps) 2))) (*.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) (*.f64 x (fma.f64 (cos.f64 eps) 2 -2)))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (sin.f64 eps))) (*.f64 -1 (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 eps)))) (pow.f64 x 3)) (+.f64 (*.f64 (+.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 2) (*.f64 -1 (pow.f64 (sin.f64 eps) 2))) (pow.f64 x 2)) (*.f64 2 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 (sin.f64 eps) x))))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (fma.f64 (fma.f64 2 (*.f64 (sin.f64 eps) (fma.f64 -1/6 (cos.f64 eps) 1/6)) (neg.f64 (*.f64 (sin.f64 eps) (+.f64 (cos.f64 eps) -1)))) (pow.f64 x 3) (fma.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (neg.f64 (pow.f64 (sin.f64 eps) 2))) (*.f64 x x) (*.f64 (*.f64 2 (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) x)))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (fma.f64 (pow.f64 x 3) (*.f64 (sin.f64 eps) (+.f64 (*.f64 2 (fma.f64 (cos.f64 eps) -1/6 1/6)) (neg.f64 (+.f64 (cos.f64 eps) -1)))) (fma.f64 2 (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (sin.f64 eps) x)) (*.f64 (*.f64 x x) (-.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (sin.f64 eps) 2))))))
(fma.f64 (pow.f64 x 3) (*.f64 (sin.f64 eps) (-.f64 (+.f64 (*.f64 (cos.f64 eps) -1/3) 1/3) (+.f64 (cos.f64 eps) -1))) (fma.f64 x (*.f64 x (-.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (sin.f64 eps) 2))) (*.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) (*.f64 x (fma.f64 (cos.f64 eps) 2 -2))))))
(fma.f64 (pow.f64 x 3) (*.f64 (sin.f64 eps) (fma.f64 2 (fma.f64 (cos.f64 eps) -1/6 1/6) (-.f64 1 (cos.f64 eps)))) (fma.f64 x (*.f64 x (-.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (sin.f64 eps) 2))) (*.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) (*.f64 x (fma.f64 (cos.f64 eps) 2 -2))))))
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2)
(*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2))
(*.f64 (*.f64 eps eps) (pow.f64 (cos.f64 x) 2))
(*.f64 eps (*.f64 eps (pow.f64 (cos.f64 x) 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 3) (*.f64 (cos.f64 x) (sin.f64 x)))) (*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2)))
(fma.f64 -1 (*.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) (cos.f64 x))) (*.f64 (*.f64 eps eps) (pow.f64 (cos.f64 x) 2)))
(-.f64 (*.f64 (*.f64 eps eps) (pow.f64 (cos.f64 x) 2)) (*.f64 (sin.f64 x) (*.f64 (cos.f64 x) (pow.f64 eps 3))))
(*.f64 (cos.f64 x) (-.f64 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (sin.f64 x) (pow.f64 eps 3))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 (cos.f64 x) 2)) (*.f64 1/4 (pow.f64 (sin.f64 x) 2))) (pow.f64 eps 4)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 3) (*.f64 (cos.f64 x) (sin.f64 x)))) (*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2))))
(fma.f64 (fma.f64 -1/3 (pow.f64 (cos.f64 x) 2) (*.f64 1/4 (pow.f64 (sin.f64 x) 2))) (pow.f64 eps 4) (fma.f64 -1 (*.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) (cos.f64 x))) (*.f64 (*.f64 eps eps) (pow.f64 (cos.f64 x) 2))))
(fma.f64 (pow.f64 eps 4) (fma.f64 (pow.f64 (cos.f64 x) 2) -1/3 (*.f64 1/4 (pow.f64 (sin.f64 x) 2))) (-.f64 (*.f64 (*.f64 eps eps) (pow.f64 (cos.f64 x) 2)) (*.f64 (sin.f64 x) (*.f64 (cos.f64 x) (pow.f64 eps 3)))))
(fma.f64 (pow.f64 eps 4) (fma.f64 (pow.f64 (cos.f64 x) 2) -1/3 (*.f64 1/4 (pow.f64 (sin.f64 x) 2))) (*.f64 (cos.f64 x) (-.f64 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (sin.f64 x) (pow.f64 eps 3)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 (cos.f64 x) 2)) (*.f64 1/4 (pow.f64 (sin.f64 x) 2))) (pow.f64 eps 4)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 3) (*.f64 (cos.f64 x) (sin.f64 x)))) (+.f64 (*.f64 (+.f64 (*.f64 1/12 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 1/6 (*.f64 (cos.f64 x) (sin.f64 x)))) (pow.f64 eps 5)) (*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2)))))
(fma.f64 (fma.f64 -1/3 (pow.f64 (cos.f64 x) 2) (*.f64 1/4 (pow.f64 (sin.f64 x) 2))) (pow.f64 eps 4) (fma.f64 -1 (*.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) (cos.f64 x))) (fma.f64 (*.f64 (*.f64 (sin.f64 x) (cos.f64 x)) 1/4) (pow.f64 eps 5) (*.f64 (*.f64 eps eps) (pow.f64 (cos.f64 x) 2)))))
(fma.f64 (pow.f64 eps 4) (fma.f64 (pow.f64 (cos.f64 x) 2) -1/3 (*.f64 1/4 (pow.f64 (sin.f64 x) 2))) (-.f64 (fma.f64 (*.f64 eps eps) (pow.f64 (cos.f64 x) 2) (*.f64 (*.f64 (sin.f64 x) (cos.f64 x)) (*.f64 1/4 (pow.f64 eps 5)))) (*.f64 (sin.f64 x) (*.f64 (cos.f64 x) (pow.f64 eps 3)))))
(fma.f64 (pow.f64 eps 4) (fma.f64 (pow.f64 (cos.f64 x) 2) -1/3 (*.f64 1/4 (pow.f64 (sin.f64 x) 2))) (fma.f64 eps (*.f64 eps (pow.f64 (cos.f64 x) 2)) (*.f64 (*.f64 (sin.f64 x) (cos.f64 x)) (+.f64 (neg.f64 (pow.f64 eps 3)) (*.f64 1/4 (pow.f64 eps 5))))))
(fma.f64 (pow.f64 eps 4) (fma.f64 (pow.f64 (cos.f64 x) 2) -1/3 (*.f64 1/4 (pow.f64 (sin.f64 x) 2))) (fma.f64 eps (*.f64 eps (pow.f64 (cos.f64 x) 2)) (*.f64 (*.f64 (sin.f64 x) (cos.f64 x)) (-.f64 (*.f64 1/4 (pow.f64 eps 5)) (pow.f64 eps 3)))))
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 2)
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2)

localize13.0ms (0.1%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (cos.f64 x) (sin.f64 eps))
0.1b
(*.f64 (sin.f64 x) (cos.f64 eps))
0.1b
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
0.0b
(sin.f64 eps)
0.1b
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
0.1b
(*.f64 (sin.f64 x) (cos.f64 eps))
0.2b
(*.f64 (cos.f64 x) (sin.f64 eps))
2.0b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))

series7.0ms (0.1%)

Counts
3 → 40
Calls

18 calls:

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

rewrite135.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
664×fma-def_binary64
634×log-prod_binary64
370×fma-neg_binary64
348×pow2_binary64
238×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify81.0ms (0.7%)

Algorithm
egg-herbie
Rules
549×fma-def_binary64
410×*-commutative_binary64
391×fma-neg_binary64
375×cancel-sign-sub-inv_binary64
347×unswap-sqr_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
089819
1263798
2721710
32407706
44757706
57928706
Stop Event
node limit
Counts
278 → 281
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 -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))))))
(sin.f64 eps)
(+.f64 (*.f64 -1 x) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 -1 x) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (sin.f64 eps))))
(*.f64 -1 (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1 (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1 (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 (*.f64 -1 (sin.f64 x)) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.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))
(fma.f64 (cos.f64 eps) 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) (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 (fma.f64 (*.f64 x -1/2) x 1) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) x))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1)))
(fma.f64 (cos.f64 eps) x (fma.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1) (neg.f64 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))))
(+.f64 (fma.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (pow.f64 x 3) (*.f64 (+.f64 (cos.f64 eps) -1) x)) (*.f64 (sin.f64 eps) (fma.f64 (*.f64 x -1/2) x 1)))
(+.f64 (*.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (pow.f64 x 3)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1))))
(+.f64 (*.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (pow.f64 x 3)) (fma.f64 (cos.f64 eps) x (fma.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1) (neg.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 (+.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 eps (*.f64 eps (*.f64 -1/2 (sin.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 -1/2 (*.f64 eps (*.f64 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) (fma.f64 -1/6 (pow.f64 eps 3) eps)))
(fma.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps)) (*.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 eps (*.f64 -1/6 (pow.f64 eps 3))))))
(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)))))
(fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (sin.f64 x) (+.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.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)))
(-.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 -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))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 x x)) 1) (sin.f64 eps))
(*.f64 (sin.f64 eps) (fma.f64 (*.f64 x -1/2) x 1))
(*.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 (fma.f64 (*.f64 x -1/2) x 1) (*.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 (*.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 (*.f64 x -1/2) 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 (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 (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 1/120 (pow.f64 eps 5))))
(*.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/6 (pow.f64 eps 3)) (*.f64 -1/5040 (pow.f64 eps 7)))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 1/120 (pow.f64 eps 5)))))
(*.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)))
(*.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)))))
(sin.f64 eps)
(+.f64 (*.f64 -1 x) (sin.f64 eps))
(fma.f64 -1 x (sin.f64 eps))
(-.f64 (sin.f64 eps) x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 -1 x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 -1 x (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (-.f64 (sin.f64 eps) x))
(-.f64 (*.f64 (sin.f64 eps) (fma.f64 (*.f64 x -1/2) x 1)) x)
(fma.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1) (neg.f64 x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 1/6 (pow.f64 x 3) (fma.f64 -1 x (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 1/6 (pow.f64 x 3) (-.f64 (sin.f64 eps) x)))
(fma.f64 1/6 (pow.f64 x 3) (-.f64 (*.f64 (sin.f64 eps) (fma.f64 (*.f64 x -1/2) x 1)) x))
(fma.f64 1/6 (pow.f64 x 3) (fma.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1) (neg.f64 x)))
(fma.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x))
(*.f64 -1 (sin.f64 x))
(neg.f64 (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1 (sin.f64 x)))
(fma.f64 (cos.f64 x) eps (neg.f64 (sin.f64 x)))
(-.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1 (sin.f64 x)) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))))
(fma.f64 (cos.f64 x) eps (fma.f64 -1 (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)))) (neg.f64 (sin.f64 x)))
(-.f64 (*.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 (*.f64 -1 (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)) (fma.f64 -1 (sin.f64 x) (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3))))))
(+.f64 (-.f64 (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3))) (sin.f64 x)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 1/120 (pow.f64 eps 5)))))
(-.f64 (*.f64 (cos.f64 x) (+.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 1/120 (pow.f64 eps 5)))) (sin.f64 x))
(-.f64 (*.f64 (cos.f64 x) (+.f64 (*.f64 1/120 (pow.f64 eps 5)) (fma.f64 -1/6 (pow.f64 eps 3) eps))) (sin.f64 x))

eval500.0ms (4.2%)

Compiler

Compiled 27866 to 8850 computations (68.2% saved)

prune386.0ms (3.3%)

Pruning

54 alts after pruning (52 fresh and 2 done)

PrunedKeptTotal
New1367461413
Fresh25631
Picked101
Done325
Total1396541450
Error
0.0b
Counts
1450 → 54
Alt Table
Click to see full alt table
StatusErrorProgram
48.9b
(sqrt.f64 (pow.f64 (sin.f64 eps) 2))
21.6b
(-.f64 (fma.f64 (cos.f64 eps) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
60.2b
(log.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)))
30.2b
(*.f64 eps (cos.f64 x))
38.0b
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x))
36.1b
(fma.f64 (sqrt.f64 (cos.f64 eps)) (*.f64 (sqrt.f64 (cos.f64 eps)) (sin.f64 x)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
21.6b
(fma.f64 (cos.f64 eps) (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
61.3b
(log.f64 1)
60.3b
(-.f64 (+.f64 1 (*.f64 eps (cos.f64 x))) 1)
58.9b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (neg.f64 (sin.f64 x)))
37.6b
(*.f64 1/3 (*.f64 3 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
22.3b
(fma.f64 (cbrt.f64 (pow.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))))
36.2b
(+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
0.5b
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))))
36.2b
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (sin.f64 x)) (sin.f64 x))
38.0b
(fma.f64 (cos.f64 eps) x (-.f64 (sin.f64 eps) x))
1.5b
(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)))
30.8b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))) 1) (sin.f64 x)))
0.9b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (sin.f64 eps)) (neg.f64 (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps)))))
22.0b
(+.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 3) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
32.8b
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
16.8b
(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)))
31.8b
(sin.f64 eps)
37.6b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)
37.9b
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)
0.4b
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
21.6b
(-.f64 (fma.f64 (log1p.f64 (expm1.f64 (sin.f64 eps))) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
21.6b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))) (sin.f64 x)))
50.4b
(sqrt.f64 (pow.f64 (*.f64 (*.f64 2 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2))) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2))
22.9b
(+.f64 (log.f64 (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
53.4b
(sqrt.f64 (*.f64 eps (*.f64 eps (pow.f64 (cos.f64 x) 2))))
30.7b
(fma.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
50.1b
(cbrt.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 3))
49.2b
(fma.f64 eps (*.f64 x (*.f64 x -1/2)) eps)
31.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)))
38.4b
(*.f64 (pow.f64 (cbrt.f64 2) 3) (*.f64 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
22.9b
(+.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (cos.f64 eps))))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
21.6b
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
37.4b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
38.3b
(-.f64 (sin.f64 eps) (sin.f64 x))
25.1b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3)) (sin.f64 x)))
30.8b
(log.f64 (exp.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))
38.7b
(+.f64 (*.f64 x (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
30.8b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))) (sin.f64 x)))
47.0b
(log.f64 (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 x (exp.f64 (sin.f64 eps)))) (exp.f64 (sin.f64 eps))))
46.4b
eps
0.4b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
49.3b
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x))
46.2b
(log.f64 (exp.f64 (sin.f64 eps)))
30.3b
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2))))
30.9b
(pow.f64 (cbrt.f64 (*.f64 eps (cos.f64 x))) 3)
1.6b
(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)))
51.2b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x)))
38.7b
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x))
Compiler

Compiled 1552 to 1030 computations (33.6% saved)

localize11.0ms (0.1%)

Local error

Found 8 expressions with local error:

NewErrorProgram
2.5b
(+.f64 (cos.f64 eps) -1)
0.2b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
0.1b
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))
0.0b
(sin.f64 eps)
0.0b
(sin.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)))
2.5b
(+.f64 (cos.f64 eps) -1)

series6.0ms (0.1%)

Counts
3 → 60
Calls

15 calls:

TimeVariablePointExpression
1.0ms
eps
@0
(+.f64 (cos.f64 eps) -1)
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)))

rewrite89.0ms (0.8%)

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
2272436
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 log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))))) (#(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 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 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 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 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 log1p.f64 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))) (#(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 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)))))))

simplify74.0ms (0.6%)

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

Useful iterations: 3 (0.0ms)

IterNodesCost
0821018
1227995
2649949
32314936
45433936
57471936
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))))
(+.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 -1/2 (*.f64 eps 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 (*.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 (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 (sin.f64 x) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps 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 (*.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 (+.f64 (cos.f64 eps) -1) x (fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x 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 (sin.f64 eps) (fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) 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)))))
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (fma.f64 -1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (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)))
(*.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 (sin.f64 x) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))))
(+.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 (sin.f64 x) (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 -1/720 (pow.f64 eps 6)))))
(+.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 (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 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3) (*.f64 (+.f64 (cos.f64 eps) -1) x))
(*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x))
(*.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 3) (fma.f64 (cos.f64 eps) -1/6 1/6) (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 1/120 (pow.f64 x 5)))))
(*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 x (*.f64 1/120 (pow.f64 x 5)))))
(*.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/120 (pow.f64 x 5)))) (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 -1/5040 (pow.f64 x 7)))))
(*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 (+.f64 (*.f64 -1/5040 (pow.f64 x 7)) (*.f64 1/120 (pow.f64 x 5))) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))))
(*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 (+.f64 x (*.f64 1/120 (pow.f64 x 5))) (+.f64 (*.f64 -1/5040 (pow.f64 x 7)) (*.f64 -1/6 (pow.f64 x 3)))))
(*.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))

localize14.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 eps)
0.0b
(sin.f64 eps)

rewrite0.0ms (0%)

Counts
0 → 0

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

localize6.0ms (0.1%)

Local error

Found 6 expressions with local error:

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

series22.0ms (0.2%)

Counts
2 → 24
Calls

12 calls:

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

rewrite88.0ms (0.7%)

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 eps (cos.f64 x))) 3)
(cbrt.f64 (*.f64 eps (cos.f64 x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 eps (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 x) eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 eps (cos.f64 x))) (pow.f64 (cbrt.f64 (*.f64 eps (cos.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 eps (cos.f64 x))) 2) (cbrt.f64 (*.f64 eps (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 eps) (*.f64 (cbrt.f64 (cos.f64 x)) (pow.f64 (cbrt.f64 (*.f64 eps (cos.f64 x))) 2)))))) (#(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 (cbrt.f64 (cbrt.f64 (*.f64 eps (cos.f64 x)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 eps (cos.f64 x)))) (pow.f64 (cbrt.f64 (*.f64 eps (cos.f64 x))) 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 (sqrt.f64 (*.f64 eps (cos.f64 x))) (sqrt.f64 (*.f64 eps (cos.f64 x))))))) (#(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 (*.f64 eps (cos.f64 x)) 1/6) (*.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 1/6) (pow.f64 (cbrt.f64 (*.f64 eps (cos.f64 x))) 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 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 eps (cos.f64 x)))) 2) 3) (cbrt.f64 (*.f64 eps (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 1/6) 3) (pow.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 1/6) 3))))) (#(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 (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 (pow.f64 (cbrt.f64 (*.f64 eps (cos.f64 x))) 2) 1) (cbrt.f64 (*.f64 eps (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 eps (cos.f64 x))) 2) (cbrt.f64 eps)) (cbrt.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 eps (cos.f64 x))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 eps (cos.f64 x)))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 eps (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 eps (cos.f64 x))) 2) (pow.f64 (*.f64 eps (cos.f64 x)) 1/6)) (pow.f64 (*.f64 eps (cos.f64 x)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 eps (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 eps (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 eps (cos.f64 x))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (*.f64 eps (cos.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 eps (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 eps (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 eps) (cbrt.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 eps (cos.f64 x)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 eps (cos.f64 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 eps (cos.f64 x)))) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 eps (cos.f64 x))) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 eps (cos.f64 x)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 eps (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 x)) (cbrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 1/6) (pow.f64 (*.f64 eps (cos.f64 x)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 eps (cos.f64 x))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 eps (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 eps (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 eps (cos.f64 x))) 1/3) (pow.f64 (sqrt.f64 (*.f64 eps (cos.f64 x))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (cos.f64 x)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 eps (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 eps (cos.f64 x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 eps (cos.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 eps (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 eps (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 eps (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 eps (cos.f64 x)))))))))

simplify48.0ms (0.4%)

Algorithm
egg-herbie
Rules
653×associate-*l*_binary64
651×associate-*r*_binary64
537×fma-def_binary64
403×distribute-rgt-out_binary64
313×distribute-lft-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
094500
1297464
2985400
35722385
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 eps (*.f64 (*.f64 x x) -1/2) (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) (fma.f64 eps 1/18 (*.f64 eps -1/72))) (pow.f64 x 4) eps))
(fma.f64 eps (*.f64 (*.f64 x x) -1/2) (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) 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 (*.f64 (*.f64 eps -1/24) (cbrt.f64 (/.f64 1 eps))) -1/9 (*.f64 (-.f64 (*.f64 eps 7/2160) (*.f64 eps 1/72)) (*.f64 2/3 (cbrt.f64 (/.f64 1 eps))))) (*.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 (fma.f64 1/36 (cbrt.f64 (*.f64 eps eps)) (*.f64 (cbrt.f64 (/.f64 1 eps)) (*.f64 eps -1/36))) (cbrt.f64 eps) (fma.f64 eps 1/18 (*.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) (+.f64 (*.f64 (cbrt.f64 (*.f64 eps eps)) -1/216) (*.f64 (cbrt.f64 (/.f64 1 eps)) (+.f64 (*.f64 eps 1/216) (+.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 (*.f64 x x) (cbrt.f64 eps)) (cbrt.f64 eps))
(fma.f64 (cbrt.f64 eps) (*.f64 -1/6 (*.f64 x x)) (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 (*.f64 eps -1/24) (*.f64 (pow.f64 x 4) (cbrt.f64 (/.f64 1 (*.f64 eps eps))))) (*.f64 -1/6 (*.f64 (*.f64 x x) (cbrt.f64 eps)))))
(fma.f64 -1/6 (*.f64 (*.f64 x x) (cbrt.f64 eps)) (fma.f64 (cbrt.f64 (/.f64 1 (*.f64 eps eps))) (*.f64 (*.f64 eps -1/72) (pow.f64 x 4)) (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 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 eps eps))) (-.f64 (*.f64 eps -1/720) (fma.f64 -1/216 eps (*.f64 -1/3 (*.f64 eps -1/24))))) (pow.f64 x 6)) (+.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 (fma.f64 1/3 (*.f64 (*.f64 eps -1/24) (*.f64 (pow.f64 x 4) (cbrt.f64 (/.f64 1 (*.f64 eps eps))))) (*.f64 -1/6 (*.f64 (*.f64 x x) (cbrt.f64 eps)))) (fma.f64 1/3 (*.f64 (pow.f64 x 6) (*.f64 (-.f64 (*.f64 eps 7/2160) (*.f64 eps 1/72)) (cbrt.f64 (/.f64 1 (*.f64 eps eps))))) (cbrt.f64 eps)))
(+.f64 (fma.f64 (cbrt.f64 eps) (*.f64 -1/6 (*.f64 x x)) (cbrt.f64 eps)) (*.f64 (cbrt.f64 (/.f64 1 (*.f64 eps eps))) (+.f64 (*.f64 (*.f64 eps -1/72) (pow.f64 x 4)) (*.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)))

localize25.0ms (0.2%)

Local error

Found 8 expressions with local error:

NewErrorProgram
3.4b
(*.f64 (sin.f64 x) (*.f64 eps eps))
0.2b
(*.f64 -1/6 (pow.f64 eps 3))
0.1b
(*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))
0.0b
(+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))
0.1b
(*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))
0.2b
(*.f64 -1/6 (pow.f64 eps 3))
3.4b
(*.f64 (sin.f64 x) (*.f64 eps eps))
5.9b
(fma.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))

series12.0ms (0.1%)

Counts
4 → 64
Calls

21 calls:

TimeVariablePointExpression
2.0ms
x
@inf
(fma.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
1.0ms
x
@-inf
(fma.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
1.0ms
x
@0
(fma.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
1.0ms
eps
@inf
(fma.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
1.0ms
eps
@0
(*.f64 (sin.f64 x) (*.f64 eps eps))

rewrite107.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
731×log-prod_binary64
415×fma-def_binary64
395×pow2_binary64
277×pow1/3_binary64
270×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01558
132454
2405354
Stop Event
node limit
Counts
4 → 131
Calls
Call 1
Inputs
(fma.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(*.f64 (sin.f64 x) (*.f64 eps eps))
(*.f64 -1/6 (pow.f64 eps 3))
(*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps)) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)) (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)) 1) (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps) (*.f64 eps (cos.f64 x))) (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)))) (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)))) 2) (cbrt.f64 (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)))) (sqrt.f64 (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)) 3) (pow.f64 (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps)) 3)) (+.f64 (pow.f64 (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps)) 2) (*.f64 (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)) (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)) 2) (pow.f64 (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps)) 2)) (-.f64 (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)) (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 x)) (fma.f64 -1/6 (pow.f64 eps 3) eps)) (exp.f64 (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps)))) (exp.f64 (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps))) (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 x) (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 eps) eps) (sin.f64 x))) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 eps) eps) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 eps) eps) (sin.f64 x)))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 eps) eps) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 x) (*.f64 eps eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 x) (*.f64 eps eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 x) (*.f64 eps eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (*.f64 eps eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 eps 6)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 eps 6) (pow.f64 (sin.f64 x) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 eps 4) (pow.f64 (sin.f64 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 eps) eps) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (*.f64 eps eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 eps 6)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 eps 6) (pow.f64 (sin.f64 x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 x) (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 x) (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 x) (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 x) (*.f64 eps eps))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/6 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 eps 3))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 eps 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 eps 3)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 eps 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 -1/6 (pow.f64 eps 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/6 (pow.f64 eps 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (cbrt.f64 -1/6)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 -1/6) (pow.f64 eps 3/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/216 (pow.f64 (pow.f64 eps 3) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/36 (pow.f64 eps 6)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/6 (pow.f64 eps 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 -1/216 (pow.f64 (pow.f64 eps 3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 -1/6 (pow.f64 eps 3))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 -1/6 (pow.f64 eps 3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (fma.f64 3 (log.f64 eps) (log.f64 -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (fma.f64 3 (log.f64 eps) (log.f64 -1/6)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 eps (cos.f64 x)) (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 eps (cos.f64 x)) 1) (*.f64 (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 x)) (fma.f64 -1/6 (pow.f64 eps 3) eps))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 x)) (fma.f64 -1/6 (pow.f64 eps 3) eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 x)) (fma.f64 -1/6 (pow.f64 eps 3) eps)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 x)) (fma.f64 -1/6 (pow.f64 eps 3) eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 3) (pow.f64 (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3))) 3)) (+.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3))) 2) (*.f64 (*.f64 eps (cos.f64 x)) (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 2) (pow.f64 (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3))) 2)) (-.f64 (*.f64 eps (cos.f64 x)) (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 eps 3) 3) (pow.f64 eps 3)) (cos.f64 x)) (-.f64 (fma.f64 eps eps (*.f64 1/36 (pow.f64 eps 6))) (*.f64 (pow.f64 eps 4) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 eps eps) (*.f64 1/36 (pow.f64 eps 6))) (cos.f64 x)) (+.f64 eps (*.f64 1/6 (pow.f64 eps 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 x) (fma.f64 -1/216 (pow.f64 (pow.f64 eps 3) 3) (pow.f64 eps 3))) (-.f64 (fma.f64 eps eps (*.f64 1/36 (pow.f64 eps 6))) (*.f64 (pow.f64 eps 4) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 x) (-.f64 (*.f64 eps eps) (*.f64 1/36 (pow.f64 eps 6)))) (+.f64 eps (*.f64 1/6 (pow.f64 eps 3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) 3) (pow.f64 (cos.f64 x) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 x)) (fma.f64 -1/6 (pow.f64 eps 3) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3)))) (exp.f64 (*.f64 eps (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) 3) (pow.f64 (cos.f64 x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps (cos.f64 x) (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) eps (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 eps 3) (*.f64 -1/6 (cos.f64 x)) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/6 (pow.f64 eps 3)) (cos.f64 x) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 eps (cos.f64 x)) (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 eps (cbrt.f64 -1/6)) 2) (*.f64 (*.f64 eps (cbrt.f64 -1/6)) (cos.f64 x)) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) eps) (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 eps) 2) (*.f64 (cbrt.f64 eps) (cos.f64 x)) (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 -1/6) (pow.f64 eps 3/2)) (*.f64 (*.f64 (sqrt.f64 -1/6) (pow.f64 eps 3/2)) (cos.f64 x)) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) eps) (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 eps) (*.f64 (sqrt.f64 eps) (cos.f64 x)) (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (cos.f64 x)) 1 (*.f64 (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3)))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3)))) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 eps (cos.f64 x))) 2) (cbrt.f64 (*.f64 eps (cos.f64 x))) (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3)))) (sqrt.f64 (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3)))) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 eps (cos.f64 x))) (sqrt.f64 (*.f64 eps (cos.f64 x))) (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 (cos.f64 x))) (*.f64 (sqrt.f64 eps) (sqrt.f64 (cos.f64 x))) (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 -1/6) (pow.f64 eps 3/2))) (*.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 -1/6) (pow.f64 eps 3/2))) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (sqrt.f64 -1/6) (pow.f64 eps 3/2)) (sqrt.f64 (cos.f64 x))) (*.f64 (*.f64 (sqrt.f64 -1/6) (pow.f64 eps 3/2)) (sqrt.f64 (cos.f64 x))) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 eps)) (*.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 eps)) (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) -1/6) (pow.f64 eps 3) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (pow.f64 eps 3)) -1/6 (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (pow.f64 (*.f64 eps (cbrt.f64 -1/6)) 2)) (*.f64 eps (cbrt.f64 -1/6)) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (*.f64 (sqrt.f64 -1/6) (pow.f64 eps 3/2))) (*.f64 (sqrt.f64 -1/6) (pow.f64 eps 3/2)) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 -1/6 (pow.f64 eps 3)) (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 -1/6 (pow.f64 eps 3)) (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 eps) 2)) (cbrt.f64 eps) (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps) (*.f64 (cos.f64 x) (*.f64 -1/6 (pow.f64 eps 3))))))))

simplify185.0ms (1.6%)

Algorithm
egg-herbie
Rules
593×distribute-lft-in_binary64
576×fma-def_binary64
557×distribute-rgt-in_binary64
390×distribute-rgt-out_binary64
369×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0731200
12111132
26791078
330851051
450271051
565681051
667431051
769681051
871931051
974661051
1078151051
Stop Event
node limit
Counts
195 → 168
Calls
Call 1
Inputs
(+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (pow.f64 x 2))))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (pow.f64 x 2))) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3)))))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))) (*.f64 -1/2 (*.f64 (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 (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/6 (*.f64 (pow.f64 eps 3) (cos.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) 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) 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/6 (*.f64 (pow.f64 eps 3) (cos.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) 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) 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 (pow.f64 eps 2) x)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 (pow.f64 eps 2) x))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (*.f64 (pow.f64 eps 2) x)))
(+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 eps 2) (pow.f64 x 7))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (*.f64 (pow.f64 eps 2) x))))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))
(+.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (pow.f64 x 2)))))
(+.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (pow.f64 x 4))) (*.f64 -1/2 (*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (pow.f64 x 2))))))
(+.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (pow.f64 x 4))) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (pow.f64 x 2))) (*.f64 -1/720 (*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (pow.f64 x 6)))))))
(*.f64 (cos.f64 x) eps)
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))
(*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))
(*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))
Outputs
(+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))
(fma.f64 -1/6 (pow.f64 eps 3) eps)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) (fma.f64 -1/6 (pow.f64 eps 3) eps))
(fma.f64 -1/6 (pow.f64 eps 3) (fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (pow.f64 x 2))))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) (+.f64 eps (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 (*.f64 -1/2 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))) (*.f64 x x)))))
(+.f64 (fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) (fma.f64 -1/6 (pow.f64 eps 3) eps)) (*.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (*.f64 x x) -1/2)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 x x)) 1) (fma.f64 -1/6 (pow.f64 eps 3) eps)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (fma.f64 -1/6 (pow.f64 eps 3) eps)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) (*.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (+.f64 1 (*.f64 -1/2 (*.f64 x x)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (pow.f64 x 2))) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3)))))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) (+.f64 eps (fma.f64 -1/6 (pow.f64 eps 3) (fma.f64 -1/2 (*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 x x)) (*.f64 1/12 (*.f64 (*.f64 eps eps) (pow.f64 x 3)))))))
(+.f64 (fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) (fma.f64 -1/6 (pow.f64 eps 3) eps)) (fma.f64 -1/2 (*.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 x x)) (*.f64 (*.f64 eps eps) (*.f64 (pow.f64 x 3) 1/12))))
(+.f64 (*.f64 (pow.f64 x 3) (*.f64 (*.f64 eps eps) 1/12)) (fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 x x)) 1) (fma.f64 -1/6 (pow.f64 eps 3) eps))))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (fma.f64 -1/6 (pow.f64 eps 3) eps)) (*.f64 (*.f64 eps (*.f64 eps x)) (+.f64 (*.f64 1/12 (*.f64 x x)) -1/2)))
(+.f64 (*.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (+.f64 1 (*.f64 -1/2 (*.f64 x x)))) (*.f64 (*.f64 eps (*.f64 eps x)) (+.f64 (*.f64 1/12 (*.f64 x x)) -1/2)))
(+.f64 (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (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 eps (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 eps (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2))))
(*.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) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) 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) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))))
(*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))
(*.f64 (pow.f64 eps 3) (*.f64 -1/6 (cos.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))))
(fma.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))
(fma.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2))))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 (*.f64 -1/6 (cos.f64 x)) eps)))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 -1/6 (*.f64 eps (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) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) 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) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))))
(*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))
(*.f64 (pow.f64 eps 3) (*.f64 -1/6 (cos.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))))
(fma.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))
(fma.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2))))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 (*.f64 -1/6 (cos.f64 x)) eps)))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 -1/6 (*.f64 eps (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) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) 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) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2))))
(fma.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))))
(*.f64 (pow.f64 eps 2) x)
(*.f64 (*.f64 eps eps) x)
(*.f64 eps (*.f64 eps x))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 (pow.f64 eps 2) x))
(fma.f64 -1/6 (*.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 (*.f64 eps eps) x))
(fma.f64 -1/6 (*.f64 eps (*.f64 eps (pow.f64 x 3))) (*.f64 (*.f64 eps eps) x))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x))
(*.f64 (*.f64 eps eps) (+.f64 x (*.f64 -1/6 (pow.f64 x 3))))
(*.f64 eps (*.f64 eps (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (*.f64 (pow.f64 eps 2) x)))
(fma.f64 -1/6 (*.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/120 (*.f64 (*.f64 eps eps) (pow.f64 x 5)) (*.f64 (*.f64 eps eps) x)))
(fma.f64 -1/6 (*.f64 eps (*.f64 eps (pow.f64 x 3))) (fma.f64 (*.f64 eps eps) x (*.f64 (*.f64 eps eps) (*.f64 (pow.f64 x 5) 1/120))))
(fma.f64 eps (*.f64 eps x) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/6 (pow.f64 x 3)))))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))))
(+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 eps 2) (pow.f64 x 7))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (*.f64 (pow.f64 eps 2) x))))
(fma.f64 -1/5040 (*.f64 (*.f64 eps eps) (pow.f64 x 7)) (fma.f64 -1/6 (*.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/120 (*.f64 (*.f64 eps eps) (pow.f64 x 5)) (*.f64 (*.f64 eps eps) x))))
(fma.f64 -1/5040 (*.f64 eps (*.f64 eps (pow.f64 x 7))) (fma.f64 -1/6 (*.f64 eps (*.f64 eps (pow.f64 x 3))) (fma.f64 (*.f64 eps eps) x (*.f64 (*.f64 eps eps) (*.f64 (pow.f64 x 5) 1/120)))))
(+.f64 (*.f64 (*.f64 eps eps) (+.f64 x (*.f64 1/120 (pow.f64 x 5)))) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 -1/5040 (pow.f64 x 7)))))
(*.f64 (*.f64 eps eps) (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 -1/5040 (pow.f64 x 7))) (+.f64 x (*.f64 1/120 (pow.f64 x 5)))))
(*.f64 (*.f64 eps eps) (+.f64 (+.f64 x (*.f64 1/120 (pow.f64 x 5))) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 -1/5040 (pow.f64 x 7)))))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (*.f64 eps eps) (sin.f64 x))
(*.f64 eps (*.f64 eps (sin.f64 x)))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (*.f64 eps eps) (sin.f64 x))
(*.f64 eps (*.f64 eps (sin.f64 x)))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (*.f64 eps eps) (sin.f64 x))
(*.f64 eps (*.f64 eps (sin.f64 x)))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (*.f64 eps eps) (sin.f64 x))
(*.f64 eps (*.f64 eps (sin.f64 x)))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (*.f64 eps eps) (sin.f64 x))
(*.f64 eps (*.f64 eps (sin.f64 x)))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (*.f64 eps eps) (sin.f64 x))
(*.f64 eps (*.f64 eps (sin.f64 x)))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (*.f64 eps eps) (sin.f64 x))
(*.f64 eps (*.f64 eps (sin.f64 x)))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (*.f64 eps eps) (sin.f64 x))
(*.f64 eps (*.f64 eps (sin.f64 x)))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (*.f64 eps eps) (sin.f64 x))
(*.f64 eps (*.f64 eps (sin.f64 x)))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (*.f64 eps eps) (sin.f64 x))
(*.f64 eps (*.f64 eps (sin.f64 x)))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (*.f64 eps eps) (sin.f64 x))
(*.f64 eps (*.f64 eps (sin.f64 x)))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (*.f64 eps eps) (sin.f64 x))
(*.f64 eps (*.f64 eps (sin.f64 x)))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (*.f64 eps eps) (sin.f64 x))
(*.f64 eps (*.f64 eps (sin.f64 x)))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (*.f64 eps eps) (sin.f64 x))
(*.f64 eps (*.f64 eps (sin.f64 x)))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (*.f64 eps eps) (sin.f64 x))
(*.f64 eps (*.f64 eps (sin.f64 x)))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (*.f64 eps eps) (sin.f64 x))
(*.f64 eps (*.f64 eps (sin.f64 x)))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (*.f64 eps eps) (sin.f64 x))
(*.f64 eps (*.f64 eps (sin.f64 x)))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (*.f64 eps eps) (sin.f64 x))
(*.f64 eps (*.f64 eps (sin.f64 x)))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (*.f64 eps eps) (sin.f64 x))
(*.f64 eps (*.f64 eps (sin.f64 x)))
(*.f64 (pow.f64 eps 2) (sin.f64 x))
(*.f64 (*.f64 eps eps) (sin.f64 x))
(*.f64 eps (*.f64 eps (sin.f64 x)))
(+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))
(fma.f64 -1/6 (pow.f64 eps 3) eps)
(+.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (pow.f64 x 2)))))
(+.f64 eps (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 (*.f64 -1/2 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))) (*.f64 x x))))
(+.f64 eps (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (*.f64 x x) -1/2))))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 x x)) 1) (fma.f64 -1/6 (pow.f64 eps 3) eps))
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (fma.f64 -1/6 (pow.f64 eps 3) eps))
(*.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (+.f64 1 (*.f64 -1/2 (*.f64 x x))))
(+.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (pow.f64 x 4))) (*.f64 -1/2 (*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (pow.f64 x 2))))))
(+.f64 eps (fma.f64 -1/6 (pow.f64 eps 3) (fma.f64 1/24 (*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (pow.f64 x 4)) (*.f64 (*.f64 -1/2 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))) (*.f64 x x)))))
(+.f64 eps (fma.f64 -1/6 (pow.f64 eps 3) (fma.f64 -1/2 (*.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 x x)) (*.f64 1/24 (*.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (pow.f64 x 4))))))
(+.f64 eps (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (+.f64 (*.f64 -1/2 (*.f64 x x)) (*.f64 1/24 (pow.f64 x 4))))))
(*.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (+.f64 (*.f64 -1/2 (*.f64 x x)) (+.f64 1 (*.f64 1/24 (pow.f64 x 4)))))
(*.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (+.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (*.f64 1/24 (pow.f64 x 4))))
(+.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (pow.f64 x 4))) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (pow.f64 x 2))) (*.f64 -1/720 (*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (pow.f64 x 6)))))))
(+.f64 eps (fma.f64 -1/6 (pow.f64 eps 3) (fma.f64 1/24 (*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (pow.f64 x 4)) (fma.f64 -1/2 (*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 x x)) (*.f64 -1/720 (*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (pow.f64 x 6)))))))
(+.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (fma.f64 1/24 (*.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (pow.f64 x 4)) (fma.f64 -1/2 (*.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 x x)) (*.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (pow.f64 x 6) -1/720)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 x x)) 1) (fma.f64 -1/6 (pow.f64 eps 3) eps)) (*.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (+.f64 (*.f64 1/24 (pow.f64 x 4)) (*.f64 -1/720 (pow.f64 x 6)))))
(+.f64 eps (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (+.f64 (*.f64 -1/2 (*.f64 x x)) (+.f64 (*.f64 -1/720 (pow.f64 x 6)) (*.f64 1/24 (pow.f64 x 4)))))))
(+.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (+.f64 (*.f64 -1/720 (pow.f64 x 6)) (+.f64 (*.f64 -1/2 (*.f64 x x)) (*.f64 1/24 (pow.f64 x 4))))))
(*.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))))
(*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (cos.f64 x))
(*.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))
(*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (cos.f64 x))
(*.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))
(*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (cos.f64 x))
(*.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x))
(*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))
(*.f64 (pow.f64 eps 3) (*.f64 -1/6 (cos.f64 x)))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))
(*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (cos.f64 x))
(*.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))
(*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (cos.f64 x))
(*.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))
(*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (cos.f64 x))
(*.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x))
(*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))
(*.f64 (pow.f64 eps 3) (*.f64 -1/6 (cos.f64 x)))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))
(*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (cos.f64 x))
(*.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))
(*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (cos.f64 x))
(*.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))
(*.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (cos.f64 x))
(*.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (cos.f64 x))

localize15.0ms (0.1%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.1b
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))
0.1b
(*.f64 (sin.f64 x) (cos.f64 eps))
0.1b
(-.f64 (expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))) (sin.f64 x))
0.0b
(sin.f64 eps)
0.1b
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))
0.2b
(*.f64 (cos.f64 x) (sin.f64 eps))
0.3b
(log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))
2.0b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))) (sin.f64 x)))

series193.0ms (1.6%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
106.0ms
eps
@-inf
(log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))
45.0ms
x
@inf
(log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))
17.0ms
eps
@inf
(log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))
17.0ms
x
@-inf
(log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))
2.0ms
x
@0
(log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))

rewrite126.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
702×fma-def_binary64
672×log-prod_binary64
396×fma-neg_binary64
252×expm1-udef_binary64
252×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify68.0ms (0.6%)

Algorithm
egg-herbie
Rules
843×distribute-rgt-out_binary64
735×fma-def_binary64
641×associate-*l*_binary64
636×associate-*r*_binary64
495×unswap-sqr_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01361347
13981330
212431250
358171240
Stop Event
node limit
Counts
240 → 214
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))
(log.f64 (+.f64 1 (sin.f64 eps)))
(+.f64 (log.f64 (+.f64 1 (sin.f64 eps))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 eps) (pow.f64 x 2)) (+.f64 1 (sin.f64 eps)))))
(+.f64 (log.f64 (+.f64 1 (sin.f64 eps))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 eps) (pow.f64 x 2)) (+.f64 1 (sin.f64 eps)))) (*.f64 1/24 (*.f64 (+.f64 (*.f64 -3 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 1 (sin.f64 eps)) 2))) (/.f64 (sin.f64 eps) (+.f64 1 (sin.f64 eps)))) (pow.f64 x 4)))))
(+.f64 (log.f64 (+.f64 1 (sin.f64 eps))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 eps) (pow.f64 x 2)) (+.f64 1 (sin.f64 eps)))) (+.f64 (*.f64 1/720 (*.f64 (+.f64 (*.f64 -30 (/.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (+.f64 1 (sin.f64 eps)) 3))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 eps) (+.f64 1 (sin.f64 eps)))) (*.f64 15 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 1 (sin.f64 eps)) 2))))) (pow.f64 x 6))) (*.f64 1/24 (*.f64 (+.f64 (*.f64 -3 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 1 (sin.f64 eps)) 2))) (/.f64 (sin.f64 eps) (+.f64 1 (sin.f64 eps)))) (pow.f64 x 4))))))
(log.f64 (+.f64 1 (*.f64 (cos.f64 x) (sin.f64 eps))))
(log.f64 (+.f64 1 (*.f64 (cos.f64 x) (sin.f64 eps))))
(log.f64 (+.f64 1 (*.f64 (cos.f64 x) (sin.f64 eps))))
(log.f64 (+.f64 1 (*.f64 (cos.f64 x) (sin.f64 eps))))
(log.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1))
(log.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1))
(log.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1))
(log.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1))
(*.f64 (cos.f64 x) eps)
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (pow.f64 (cos.f64 x) 2))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (pow.f64 (cos.f64 x) 2))) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 2 (pow.f64 (cos.f64 x) 3)) (*.f64 -1 (cos.f64 x)))))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (pow.f64 (cos.f64 x) 2))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 2 (pow.f64 (cos.f64 x) 3)) (*.f64 -1 (cos.f64 x))))) (*.f64 1/24 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 -6 (pow.f64 (cos.f64 x) 4)) (*.f64 4 (pow.f64 (cos.f64 x) 2))))))))
(log.f64 (+.f64 1 (*.f64 (cos.f64 x) (sin.f64 eps))))
(log.f64 (+.f64 1 (*.f64 (cos.f64 x) (sin.f64 eps))))
(log.f64 (+.f64 1 (*.f64 (cos.f64 x) (sin.f64 eps))))
(log.f64 (+.f64 1 (*.f64 (cos.f64 x) (sin.f64 eps))))
(log.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1))
(log.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1))
(log.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1))
(log.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1))
(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))
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 (*.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 (*.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))))
(+.f64 (*.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (pow.f64 x 3)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1))))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 (fma.f64 (cos.f64 eps) -1/6 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 (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)))
(-.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)))
(-.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)))
(-.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)))
(-.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)))
(-.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)))
(-.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)))
(-.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)))
(*.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 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps))))
(fma.f64 eps (cos.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (*.f64 -1/2 (sin.f64 x)) 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 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(fma.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps)) (*.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 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x)))))
(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) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (sin.f64 x) (+.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.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 eps) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 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 (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)))
(-.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)))
(-.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)))
(-.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)))
(-.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)))
(-.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)))
(-.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)))
(-.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)))
(log.f64 (+.f64 1 (sin.f64 eps)))
(log1p.f64 (sin.f64 eps))
(+.f64 (log.f64 (+.f64 1 (sin.f64 eps))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 eps) (pow.f64 x 2)) (+.f64 1 (sin.f64 eps)))))
(+.f64 (log1p.f64 (sin.f64 eps)) (*.f64 -1/2 (/.f64 (sin.f64 eps) (/.f64 (+.f64 (sin.f64 eps) 1) (*.f64 x x)))))
(fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) 1)) (*.f64 x x)) (log1p.f64 (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (*.f64 x x) (/.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) 1))) (log1p.f64 (sin.f64 eps)))
(+.f64 (log.f64 (+.f64 1 (sin.f64 eps))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 eps) (pow.f64 x 2)) (+.f64 1 (sin.f64 eps)))) (*.f64 1/24 (*.f64 (+.f64 (*.f64 -3 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 1 (sin.f64 eps)) 2))) (/.f64 (sin.f64 eps) (+.f64 1 (sin.f64 eps)))) (pow.f64 x 4)))))
(+.f64 (log1p.f64 (sin.f64 eps)) (fma.f64 -1/2 (/.f64 (sin.f64 eps) (/.f64 (+.f64 (sin.f64 eps) 1) (*.f64 x x))) (*.f64 1/24 (*.f64 (fma.f64 -3 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (sin.f64 eps) 1) 2)) (/.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) 1))) (pow.f64 x 4)))))
(+.f64 (log1p.f64 (sin.f64 eps)) (fma.f64 1/24 (*.f64 (fma.f64 -3 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (sin.f64 eps) 1) 2)) (/.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) 1))) (pow.f64 x 4)) (/.f64 (*.f64 (sin.f64 eps) (*.f64 x x)) (/.f64 (+.f64 (sin.f64 eps) 1) -1/2))))
(fma.f64 (fma.f64 -3 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (sin.f64 eps) 1) 2)) (/.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) 1))) (*.f64 1/24 (pow.f64 x 4)) (fma.f64 -1/2 (*.f64 (*.f64 x x) (/.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) 1))) (log1p.f64 (sin.f64 eps))))
(fma.f64 (*.f64 (+.f64 (/.f64 (*.f64 (sin.f64 eps) -3) (+.f64 (sin.f64 eps) 1)) 1) (/.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) 1))) (*.f64 1/24 (pow.f64 x 4)) (fma.f64 -1/2 (*.f64 (*.f64 x x) (/.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) 1))) (log1p.f64 (sin.f64 eps))))
(+.f64 (log.f64 (+.f64 1 (sin.f64 eps))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 eps) (pow.f64 x 2)) (+.f64 1 (sin.f64 eps)))) (+.f64 (*.f64 1/720 (*.f64 (+.f64 (*.f64 -30 (/.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (+.f64 1 (sin.f64 eps)) 3))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 eps) (+.f64 1 (sin.f64 eps)))) (*.f64 15 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 1 (sin.f64 eps)) 2))))) (pow.f64 x 6))) (*.f64 1/24 (*.f64 (+.f64 (*.f64 -3 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 1 (sin.f64 eps)) 2))) (/.f64 (sin.f64 eps) (+.f64 1 (sin.f64 eps)))) (pow.f64 x 4))))))
(+.f64 (log1p.f64 (sin.f64 eps)) (fma.f64 -1/2 (/.f64 (sin.f64 eps) (/.f64 (+.f64 (sin.f64 eps) 1) (*.f64 x x))) (fma.f64 1/720 (*.f64 (fma.f64 -30 (/.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (+.f64 (sin.f64 eps) 1) 3)) (fma.f64 -1 (/.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) 1)) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (sin.f64 eps) 1) 2)) 15))) (pow.f64 x 6)) (*.f64 1/24 (*.f64 (fma.f64 -3 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (sin.f64 eps) 1) 2)) (/.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) 1))) (pow.f64 x 4))))))
(+.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) 1)) (*.f64 x x)) (log1p.f64 (sin.f64 eps))) (fma.f64 1/24 (*.f64 (fma.f64 -3 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (sin.f64 eps) 1) 2)) (/.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) 1))) (pow.f64 x 4)) (*.f64 (fma.f64 -30 (/.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (+.f64 (sin.f64 eps) 1) 3)) (fma.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (sin.f64 eps) 1) 2)) 15 (neg.f64 (/.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) 1))))) (*.f64 (pow.f64 x 6) 1/720))))
(+.f64 (log1p.f64 (sin.f64 eps)) (fma.f64 (fma.f64 -3 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (+.f64 (sin.f64 eps) 1) 2)) (/.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) 1))) (*.f64 1/24 (pow.f64 x 4)) (fma.f64 (-.f64 (fma.f64 -30 (pow.f64 (/.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) 1)) 3) (*.f64 (/.f64 15 (pow.f64 (+.f64 (sin.f64 eps) 1) 2)) (pow.f64 (sin.f64 eps) 2))) (/.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) 1))) (*.f64 1/720 (pow.f64 x 6)) (*.f64 (/.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) 1)) (*.f64 x (*.f64 x -1/2))))))
(+.f64 (fma.f64 -1/2 (*.f64 (*.f64 x x) (/.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) 1))) (log1p.f64 (sin.f64 eps))) (fma.f64 1/24 (*.f64 (*.f64 (+.f64 (/.f64 (*.f64 (sin.f64 eps) -3) (+.f64 (sin.f64 eps) 1)) 1) (/.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) 1))) (pow.f64 x 4)) (*.f64 (pow.f64 x 6) (fma.f64 1/720 (*.f64 (/.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) 1)) (+.f64 -1 (*.f64 15 (/.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) 1))))) (*.f64 (pow.f64 (/.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) 1)) 3) -1/24)))))
(log.f64 (+.f64 1 (*.f64 (cos.f64 x) (sin.f64 eps))))
(log1p.f64 (*.f64 (sin.f64 eps) (cos.f64 x)))
(log.f64 (+.f64 1 (*.f64 (cos.f64 x) (sin.f64 eps))))
(log1p.f64 (*.f64 (sin.f64 eps) (cos.f64 x)))
(log.f64 (+.f64 1 (*.f64 (cos.f64 x) (sin.f64 eps))))
(log1p.f64 (*.f64 (sin.f64 eps) (cos.f64 x)))
(log.f64 (+.f64 1 (*.f64 (cos.f64 x) (sin.f64 eps))))
(log1p.f64 (*.f64 (sin.f64 eps) (cos.f64 x)))
(log.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1))
(log1p.f64 (*.f64 (sin.f64 eps) (cos.f64 x)))
(log.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1))
(log1p.f64 (*.f64 (sin.f64 eps) (cos.f64 x)))
(log.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1))
(log1p.f64 (*.f64 (sin.f64 eps) (cos.f64 x)))
(log.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1))
(log1p.f64 (*.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) (pow.f64 (cos.f64 x) 2))))
(fma.f64 (cos.f64 x) eps (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (pow.f64 (cos.f64 x) 2)))
(fma.f64 eps (cos.f64 x) (*.f64 (pow.f64 (cos.f64 x) 2) (*.f64 -1/2 (*.f64 eps eps))))
(*.f64 (cos.f64 x) (+.f64 (*.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps eps))) eps))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (pow.f64 (cos.f64 x) 2))) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 2 (pow.f64 (cos.f64 x) 3)) (*.f64 -1 (cos.f64 x)))))))
(fma.f64 (cos.f64 x) eps (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (pow.f64 (cos.f64 x) 2)) (*.f64 (*.f64 1/6 (pow.f64 eps 3)) (fma.f64 2 (pow.f64 (cos.f64 x) 3) (neg.f64 (cos.f64 x))))))
(fma.f64 eps (cos.f64 x) (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (pow.f64 (cos.f64 x) 2)) (*.f64 (pow.f64 eps 3) (*.f64 (-.f64 (*.f64 2 (pow.f64 (cos.f64 x) 3)) (cos.f64 x)) 1/6))))
(fma.f64 (pow.f64 eps 3) (*.f64 1/6 (-.f64 (*.f64 2 (pow.f64 (cos.f64 x) 3)) (cos.f64 x))) (*.f64 (cos.f64 x) (+.f64 (*.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps eps))) eps)))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (pow.f64 (cos.f64 x) 2))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 2 (pow.f64 (cos.f64 x) 3)) (*.f64 -1 (cos.f64 x))))) (*.f64 1/24 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 -6 (pow.f64 (cos.f64 x) 4)) (*.f64 4 (pow.f64 (cos.f64 x) 2))))))))
(fma.f64 (cos.f64 x) eps (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (pow.f64 (cos.f64 x) 2)) (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (fma.f64 2 (pow.f64 (cos.f64 x) 3) (neg.f64 (cos.f64 x)))) (*.f64 (*.f64 1/24 (pow.f64 eps 4)) (fma.f64 -6 (pow.f64 (cos.f64 x) 4) (*.f64 4 (pow.f64 (cos.f64 x) 2)))))))
(fma.f64 eps (cos.f64 x) (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (pow.f64 (cos.f64 x) 2)) (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (-.f64 (*.f64 2 (pow.f64 (cos.f64 x) 3)) (cos.f64 x))) (*.f64 (fma.f64 4 (pow.f64 (cos.f64 x) 2) (*.f64 -6 (pow.f64 (cos.f64 x) 4))) (*.f64 1/24 (pow.f64 eps 4))))))
(fma.f64 eps (cos.f64 x) (fma.f64 (pow.f64 eps 3) (*.f64 1/6 (-.f64 (*.f64 2 (pow.f64 (cos.f64 x) 3)) (cos.f64 x))) (fma.f64 (fma.f64 4 (pow.f64 (cos.f64 x) 2) (*.f64 -6 (pow.f64 (cos.f64 x) 4))) (*.f64 1/24 (pow.f64 eps 4)) (*.f64 eps (*.f64 eps (*.f64 -1/2 (pow.f64 (cos.f64 x) 2)))))))
(fma.f64 eps (cos.f64 x) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (fma.f64 4 (pow.f64 (cos.f64 x) 2) (*.f64 -6 (pow.f64 (cos.f64 x) 4)))) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/2 (pow.f64 (cos.f64 x) 2)) (*.f64 1/6 (*.f64 eps (-.f64 (*.f64 2 (pow.f64 (cos.f64 x) 3)) (cos.f64 x))))))))
(log.f64 (+.f64 1 (*.f64 (cos.f64 x) (sin.f64 eps))))
(log1p.f64 (*.f64 (sin.f64 eps) (cos.f64 x)))
(log.f64 (+.f64 1 (*.f64 (cos.f64 x) (sin.f64 eps))))
(log1p.f64 (*.f64 (sin.f64 eps) (cos.f64 x)))
(log.f64 (+.f64 1 (*.f64 (cos.f64 x) (sin.f64 eps))))
(log1p.f64 (*.f64 (sin.f64 eps) (cos.f64 x)))
(log.f64 (+.f64 1 (*.f64 (cos.f64 x) (sin.f64 eps))))
(log1p.f64 (*.f64 (sin.f64 eps) (cos.f64 x)))
(log.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1))
(log1p.f64 (*.f64 (sin.f64 eps) (cos.f64 x)))
(log.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1))
(log1p.f64 (*.f64 (sin.f64 eps) (cos.f64 x)))
(log.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1))
(log1p.f64 (*.f64 (sin.f64 eps) (cos.f64 x)))
(log.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1))
(log1p.f64 (*.f64 (sin.f64 eps) (cos.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))
(*.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 x (*.f64 x -1/2)) (fma.f64 1/24 (pow.f64 x 4) 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))) (+.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 (pow.f64 x 6) -1/720) 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/2 (*.f64 x x) (*.f64 1/24 (pow.f64 x 4))) (*.f64 (sin.f64 eps) (fma.f64 (pow.f64 x 6) -1/720 1)))
(*.f64 (sin.f64 eps) (+.f64 (fma.f64 1/24 (pow.f64 x 4) (*.f64 (pow.f64 x 6) -1/720)) (fma.f64 -1/2 (*.f64 x x) 1)))
(*.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 (*.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/6 (pow.f64 eps 3)) (*.f64 -1/5040 (pow.f64 eps 7)))) (*.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) (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))

eval607.0ms (5.1%)

Compiler

Compiled 14857 to 6496 computations (56.3% saved)

prune181.0ms (1.5%)

Pruning

67 alts after pruning (61 fresh and 6 done)

PrunedKeptTotal
New69537732
Fresh232447
Picked101
Done066
Total71967786
Error
0.0b
Counts
786 → 67
Alt Table
Click to see full alt table
StatusErrorProgram
0.4b
(fma.f64 (expm1.f64 (log1p.f64 (sin.f64 eps))) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
48.9b
(sqrt.f64 (pow.f64 (sin.f64 eps) 2))
21.6b
(-.f64 (fma.f64 (cos.f64 eps) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
60.2b
(log.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)))
30.2b
(*.f64 eps (cos.f64 x))
0.3b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 -1 (cos.f64 eps))) (sin.f64 x)))
38.0b
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x))
35.0b
(exp.f64 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))
1.5b
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 eps)) 3) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
60.3b
(-.f64 (+.f64 1 (*.f64 eps (cos.f64 x))) 1)
21.6b
(fma.f64 (cos.f64 eps) (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
30.8b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (+.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) 1) -1) (sin.f64 x)))
61.3b
(log.f64 1)
58.9b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (neg.f64 (sin.f64 x)))
31.8b
(expm1.f64 (log1p.f64 (sin.f64 eps)))
0.5b
(log1p.f64 (expm1.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))
37.6b
(*.f64 1/3 (*.f64 3 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
32.8b
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
38.0b
(fma.f64 (cos.f64 eps) x (-.f64 (sin.f64 eps) x))
36.2b
(+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
0.5b
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))))
20.0b
(cbrt.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 3))
32.4b
(pow.f64 (cbrt.f64 (sin.f64 eps)) 3)
16.8b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (-.f64 (cos.f64 eps) 1) x))
38.6b
(*.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) eps))
0.3b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (/.f64 1 (+.f64 (cos.f64 eps) 1))) (sin.f64 x)))
31.8b
(sin.f64 eps)
38.7b
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x))
30.1b
(fma.f64 eps (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
47.0b
(*.f64 (sqrt.f64 eps) (*.f64 (sqrt.f64 eps) (cos.f64 x)))
49.7b
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sin.f64 eps))) 3))
37.9b
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)
31.6b
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 eps (cos.f64 x)))) 3) 3)
0.4b
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
30.8b
(log.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))
27.5b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x)))
22.9b
(+.f64 (log.f64 (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
17.3b
(fma.f64 (sin.f64 eps) (cos.f64 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))))))
53.4b
(sqrt.f64 (*.f64 eps (*.f64 eps (pow.f64 (cos.f64 x) 2))))
30.7b
(fma.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
50.1b
(cbrt.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 3))
21.6b
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
37.4b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
38.3b
(-.f64 (sin.f64 eps) (sin.f64 x))
39.8b
(cbrt.f64 (pow.f64 (sin.f64 eps) 3))
37.6b
(*.f64 2 (*.f64 (sin.f64 (/.f64 (-.f64 (+.f64 x eps) x) 2)) (cos.f64 (/.f64 (+.f64 (+.f64 x eps) x) 2))))
56.8b
(pow.f64 (pow.f64 eps 1/3) 3)
47.0b
(log.f64 (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 x (exp.f64 (sin.f64 eps)))) (exp.f64 (sin.f64 eps))))
46.4b
eps
47.0b
(+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))
31.0b
(pow.f64 (*.f64 (cbrt.f64 (cos.f64 x)) (cbrt.f64 eps)) 3)
31.4b
(fma.f64 (pow.f64 (sqrt.f64 (sin.f64 eps)) 2) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
49.3b
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x))
49.2b
(fma.f64 eps (*.f64 (*.f64 x x) -1/2) eps)
0.4b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
1.6b
(pow.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 3)
0.4b
(+.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
0.4b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3)) (sin.f64 x)))
46.2b
(log.f64 (exp.f64 (sin.f64 eps)))
30.3b
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2))))
30.9b
(pow.f64 (cbrt.f64 (*.f64 eps (cos.f64 x))) 3)
46.7b
(pow.f64 (cbrt.f64 eps) 3)
46.2b
(log.f64 (+.f64 1 (expm1.f64 (sin.f64 eps))))
35.2b
(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))
41.2b
(pow.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 3) 1/3)
46.2b
(-.f64 (exp.f64 (log1p.f64 (sin.f64 eps))) 1)
30.9b
(*.f64 (pow.f64 (cbrt.f64 eps) 2) (*.f64 (cbrt.f64 eps) (cos.f64 x)))
Compiler

Compiled 1621 to 1174 computations (27.6% saved)

localize17.0ms (0.1%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (/.f64 1 (+.f64 (cos.f64 eps) 1))) (sin.f64 x))
0.2b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (/.f64 1 (+.f64 (cos.f64 eps) 1))) (sin.f64 x)))
0.1b
(/.f64 1 (+.f64 (cos.f64 eps) 1))
0.0b
(sin.f64 eps)
0.2b
(*.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (/.f64 1 (+.f64 (cos.f64 eps) 1))) (sin.f64 x))
0.2b
(*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (/.f64 1 (+.f64 (cos.f64 eps) 1)))
0.3b
(pow.f64 (sin.f64 eps) 2)
0.3b
(+.f64 (cos.f64 eps) 1)

series27.0ms (0.2%)

Counts
4 → 52
Calls

15 calls:

TimeVariablePointExpression
16.0ms
x
@inf
(*.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (/.f64 1 (+.f64 (cos.f64 eps) 1))) (sin.f64 x))
1.0ms
x
@-inf
(*.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (/.f64 1 (+.f64 (cos.f64 eps) 1))) (sin.f64 x))
1.0ms
x
@0
(*.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (/.f64 1 (+.f64 (cos.f64 eps) 1))) (sin.f64 x))
1.0ms
eps
@inf
(*.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (/.f64 1 (+.f64 (cos.f64 eps) 1))) (sin.f64 x))
1.0ms
eps
@0
(*.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (/.f64 1 (+.f64 (cos.f64 eps) 1))) (sin.f64 x))

rewrite69.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
619×log-prod_binary64
316×pow2_binary64
292×pow-unpow_binary64
223×pow1/3_binary64
219×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify102.0ms (0.9%)

Algorithm
egg-herbie
Rules
802×fma-neg_binary64
517×distribute-rgt-in_binary64
495×fma-def_binary64
320×associate-*r*_binary64
299×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01141126
13121081
29471032
34027868
Stop Event
node limit
Counts
233 → 225
Calls
Call 1
Inputs
2
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) 2)
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) 2))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 2 (*.f64 -1/720 (pow.f64 eps 6)))))
(+.f64 1 (cos.f64 eps))
(+.f64 1 (cos.f64 eps))
(+.f64 1 (cos.f64 eps))
(+.f64 1 (cos.f64 eps))
(+.f64 1 (cos.f64 eps))
(+.f64 1 (cos.f64 eps))
(+.f64 1 (cos.f64 eps))
(+.f64 1 (cos.f64 eps))
(pow.f64 eps 2)
(+.f64 (pow.f64 eps 2) (*.f64 -1/3 (pow.f64 eps 4)))
(+.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/3 (pow.f64 eps 4)) (*.f64 2/45 (pow.f64 eps 6))))
(+.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/315 (pow.f64 eps 8)) (+.f64 (*.f64 -1/3 (pow.f64 eps 4)) (*.f64 2/45 (pow.f64 eps 6)))))
(*.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 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 4) (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x))))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 1/45 (sin.f64 x)) (+.f64 (*.f64 1/96 (sin.f64 x)) (*.f64 -1/4 (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x)))))) (pow.f64 eps 6))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 4) (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x))))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 1/45 (sin.f64 x)) (+.f64 (*.f64 1/96 (sin.f64 x)) (*.f64 -1/4 (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x)))))) (pow.f64 eps 6))) (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1/630 (sin.f64 x)) (+.f64 (*.f64 1/48 (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x)))) (+.f64 (*.f64 -1/4 (-.f64 (*.f64 1/45 (sin.f64 x)) (+.f64 (*.f64 1/96 (sin.f64 x)) (*.f64 -1/4 (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x))))))) (*.f64 -1/2880 (sin.f64 x))))) (pow.f64 eps 8))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 4) (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x))))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps)))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 -1/120 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 5)) (+.f64 1 (cos.f64 eps)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps)))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 1 (cos.f64 eps))))))
(+.f64 (*.f64 -1/120 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 5)) (+.f64 1 (cos.f64 eps)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps)))) (+.f64 (*.f64 1/5040 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 7)) (+.f64 1 (cos.f64 eps)))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 1 (cos.f64 eps)))))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
Outputs
2
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) 2)
(fma.f64 -1/2 (*.f64 eps eps) 2)
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) 2))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) 2))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) 2))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 2 (*.f64 -1/720 (pow.f64 eps 6)))))
(fma.f64 1/24 (pow.f64 eps 4) (+.f64 (fma.f64 -1/2 (*.f64 eps eps) 2) (*.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) 2)))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) 2)))
(+.f64 1 (cos.f64 eps))
(+.f64 1 (cos.f64 eps))
(+.f64 1 (cos.f64 eps))
(+.f64 1 (cos.f64 eps))
(+.f64 1 (cos.f64 eps))
(+.f64 1 (cos.f64 eps))
(+.f64 1 (cos.f64 eps))
(+.f64 1 (cos.f64 eps))
(pow.f64 eps 2)
(*.f64 eps eps)
(+.f64 (pow.f64 eps 2) (*.f64 -1/3 (pow.f64 eps 4)))
(+.f64 (*.f64 eps eps) (*.f64 (pow.f64 eps 4) -1/3))
(fma.f64 eps eps (*.f64 (pow.f64 eps 4) -1/3))
(+.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/3 (pow.f64 eps 4)) (*.f64 2/45 (pow.f64 eps 6))))
(+.f64 (*.f64 eps eps) (fma.f64 -1/3 (pow.f64 eps 4) (*.f64 (pow.f64 eps 6) 2/45)))
(fma.f64 eps eps (fma.f64 (pow.f64 eps 4) -1/3 (*.f64 (pow.f64 eps 6) 2/45)))
(fma.f64 (pow.f64 eps 4) -1/3 (fma.f64 eps eps (*.f64 (pow.f64 eps 6) 2/45)))
(+.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/315 (pow.f64 eps 8)) (+.f64 (*.f64 -1/3 (pow.f64 eps 4)) (*.f64 2/45 (pow.f64 eps 6)))))
(+.f64 (*.f64 eps eps) (fma.f64 -1/315 (pow.f64 eps 8) (fma.f64 -1/3 (pow.f64 eps 4) (*.f64 (pow.f64 eps 6) 2/45))))
(fma.f64 eps eps (fma.f64 -1/315 (pow.f64 eps 8) (fma.f64 (pow.f64 eps 4) -1/3 (*.f64 (pow.f64 eps 6) 2/45))))
(fma.f64 eps eps (fma.f64 (pow.f64 eps 4) -1/3 (fma.f64 (pow.f64 eps 6) 2/45 (*.f64 -1/315 (pow.f64 eps 8)))))
(*.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 (pow.f64 eps 8) 1/40320))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 (pow.f64 eps 8) 1/40320))))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(/.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))
(*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps)))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(/.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))
(*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps)))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(/.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))
(*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps)))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(/.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))
(*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps)))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(/.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))
(*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps)))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(/.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))
(*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps)))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(/.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))
(*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps)))
(*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))
(/.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))
(*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))
(*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x))))
(*.f64 (*.f64 eps (sin.f64 x)) (*.f64 -1/2 eps))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 4) (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x))))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 -1 (*.f64 (pow.f64 eps 4) (*.f64 (sin.f64 x) -1/24)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 (pow.f64 eps 4) (neg.f64 (*.f64 (sin.f64 x) -1/24))))
(*.f64 (sin.f64 x) (-.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 (pow.f64 eps 4) -1/24)))
(*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 1/45 (sin.f64 x)) (+.f64 (*.f64 1/96 (sin.f64 x)) (*.f64 -1/4 (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x)))))) (pow.f64 eps 6))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 4) (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x))))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(fma.f64 -1 (*.f64 (pow.f64 eps 6) (-.f64 (*.f64 (sin.f64 x) 1/45) (fma.f64 1/96 (sin.f64 x) (*.f64 (*.f64 (sin.f64 x) -1/24) -1/4)))) (fma.f64 -1 (*.f64 (pow.f64 eps 4) (*.f64 (sin.f64 x) -1/24)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))))
(-.f64 (fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 (pow.f64 eps 4) (neg.f64 (*.f64 (sin.f64 x) -1/24)))) (*.f64 (pow.f64 eps 6) (-.f64 (*.f64 (sin.f64 x) 17/1440) (*.f64 (sin.f64 x) 1/96))))
(-.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 (pow.f64 eps 4) -1/24))) (*.f64 (pow.f64 eps 6) (*.f64 (sin.f64 x) 1/720)))
(fma.f64 (pow.f64 eps 6) (*.f64 (sin.f64 x) -1/720) (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 1/45 (sin.f64 x)) (+.f64 (*.f64 1/96 (sin.f64 x)) (*.f64 -1/4 (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x)))))) (pow.f64 eps 6))) (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1/630 (sin.f64 x)) (+.f64 (*.f64 1/48 (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x)))) (+.f64 (*.f64 -1/4 (-.f64 (*.f64 1/45 (sin.f64 x)) (+.f64 (*.f64 1/96 (sin.f64 x)) (*.f64 -1/4 (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x))))))) (*.f64 -1/2880 (sin.f64 x))))) (pow.f64 eps 8))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 4) (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x))))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(fma.f64 -1 (*.f64 (pow.f64 eps 6) (-.f64 (*.f64 (sin.f64 x) 1/45) (fma.f64 1/96 (sin.f64 x) (*.f64 (*.f64 (sin.f64 x) -1/24) -1/4)))) (fma.f64 -1 (*.f64 (pow.f64 eps 8) (-.f64 (*.f64 (sin.f64 x) -1/630) (fma.f64 1/48 (*.f64 (sin.f64 x) -1/24) (fma.f64 -1/4 (-.f64 (*.f64 (sin.f64 x) 1/45) (fma.f64 1/96 (sin.f64 x) (*.f64 (*.f64 (sin.f64 x) -1/24) -1/4))) (*.f64 (sin.f64 x) -1/2880))))) (fma.f64 -1 (*.f64 (pow.f64 eps 4) (*.f64 (sin.f64 x) -1/24)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))))
(-.f64 (-.f64 (fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 (pow.f64 eps 4) (neg.f64 (*.f64 (sin.f64 x) -1/24)))) (*.f64 (pow.f64 eps 8) (-.f64 (*.f64 (sin.f64 x) -1/630) (+.f64 (*.f64 (sin.f64 x) -1/1152) (fma.f64 -1/4 (-.f64 (*.f64 (sin.f64 x) 17/1440) (*.f64 (sin.f64 x) 1/96)) (*.f64 (sin.f64 x) -1/2880)))))) (*.f64 (pow.f64 eps 6) (-.f64 (*.f64 (sin.f64 x) 17/1440) (*.f64 (sin.f64 x) 1/96))))
(-.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 (pow.f64 eps 4) -1/24))) (fma.f64 (pow.f64 eps 6) (*.f64 (sin.f64 x) 1/720) (*.f64 (pow.f64 eps 8) (-.f64 (*.f64 (sin.f64 x) -1/630) (fma.f64 -1/4 (*.f64 (sin.f64 x) 1/720) (*.f64 (sin.f64 x) -7/5760))))))
(-.f64 (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))) (fma.f64 (pow.f64 eps 6) (*.f64 (sin.f64 x) 1/720) (*.f64 (pow.f64 eps 8) (-.f64 (*.f64 (sin.f64 x) -1/2688) (*.f64 -1/4 (*.f64 (sin.f64 x) 1/720))))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps))) (sin.f64 x))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps))) (sin.f64 x))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps))) (sin.f64 x))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps))) (sin.f64 x))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps))) (sin.f64 x))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps))) (sin.f64 x))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps))) (sin.f64 x))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps))) (sin.f64 x))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) x)))
(/.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (/.f64 (+.f64 1 (cos.f64 eps)) x))
(*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (neg.f64 x))
(*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (neg.f64 x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps)))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) x)) (*.f64 1/6 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 x 3)))))
(-.f64 (*.f64 1/6 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (pow.f64 x 3))) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) x))
(-.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (*.f64 1/6 (pow.f64 x 3))) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) x))
(*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x))
(+.f64 (*.f64 -1/120 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 5)) (+.f64 1 (cos.f64 eps)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps)))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 1 (cos.f64 eps))))))
(fma.f64 -1/120 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 x 5))) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) x)) (*.f64 1/6 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 x 3))))))
(fma.f64 -1/120 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (pow.f64 x 5)) (-.f64 (*.f64 1/6 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (pow.f64 x 3))) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) x)))
(-.f64 (fma.f64 1/6 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (pow.f64 x 3)) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (*.f64 -1/120 (pow.f64 x 5)))) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) x))
(fma.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (*.f64 -1/120 (pow.f64 x 5)) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x)))
(+.f64 (*.f64 -1/120 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 5)) (+.f64 1 (cos.f64 eps)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps)))) (+.f64 (*.f64 1/5040 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 7)) (+.f64 1 (cos.f64 eps)))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 1 (cos.f64 eps)))))))
(fma.f64 -1/120 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 x 5))) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) x)) (fma.f64 1/5040 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 x 7))) (*.f64 1/6 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 x 3)))))))
(fma.f64 -1/120 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (pow.f64 x 5)) (-.f64 (fma.f64 1/6 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (pow.f64 x 3)) (*.f64 1/5040 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (pow.f64 x 7)))) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) x)))
(fma.f64 -1/120 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (pow.f64 x 5)) (-.f64 (fma.f64 1/6 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (pow.f64 x 3)) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (*.f64 1/5040 (pow.f64 x 7)))) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) x)))
(+.f64 (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x)) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (sin.f64 eps)) (+.f64 (*.f64 -1/120 (pow.f64 x 5)) (*.f64 1/5040 (pow.f64 x 7)))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps))) (sin.f64 x))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps))) (sin.f64 x))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps))) (sin.f64 x))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps))) (sin.f64 x))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps))) (sin.f64 x))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps))) (sin.f64 x))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps))) (sin.f64 x))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps))) (sin.f64 x))

localize1.0ms (0%)

localize5.0ms (0%)

Local error

Found 6 expressions with local error:

NewErrorProgram
19.8b
(cbrt.f64 (pow.f64 (sin.f64 eps) 3))
0.3b
(pow.f64 (sin.f64 eps) 3)
0.0b
(sin.f64 eps)
0.0b
(sin.f64 eps)
0.3b
(pow.f64 (sin.f64 eps) 3)
19.8b
(cbrt.f64 (pow.f64 (sin.f64 eps) 3))

series3.0ms (0%)

Counts
2 → 16
Calls

6 calls:

TimeVariablePointExpression
1.0ms
eps
@inf
(pow.f64 (sin.f64 eps) 3)
1.0ms
eps
@-inf
(pow.f64 (sin.f64 eps) 3)
0.0ms
eps
@0
(pow.f64 (sin.f64 eps) 3)
0.0ms
eps
@0
(cbrt.f64 (pow.f64 (sin.f64 eps) 3))
0.0ms
eps
@inf
(cbrt.f64 (pow.f64 (sin.f64 eps) 3))

rewrite40.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
442×pow1_binary64
434×add-sqr-sqrt_binary64
419×*-un-lft-identity_binary64
418×add-log-exp_binary64
418×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify90.0ms (0.8%)

Algorithm
egg-herbie
Rules
1115×fma-def_binary64
832×unswap-sqr_binary64
688×sqr-pow_binary64
533×associate-*l*_binary64
396×pow-sqr_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
033134
183132
2201130
3546128
41101128
52416128
63472128
74788128
85007128
95329128
105745128
116375128
127257128
Stop Event
node limit
Counts
55 → 53
Calls
Call 1
Inputs
eps
(+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))
(+.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 1/120 (pow.f64 eps 5))))
(+.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (+.f64 (*.f64 1/120 (pow.f64 eps 5)) (*.f64 -1/5040 (pow.f64 eps 7)))))
(sin.f64 eps)
(sin.f64 eps)
(sin.f64 eps)
(sin.f64 eps)
(sin.f64 eps)
(sin.f64 eps)
(sin.f64 eps)
(sin.f64 eps)
(pow.f64 eps 3)
(+.f64 (*.f64 -1/2 (pow.f64 eps 5)) (pow.f64 eps 3))
(+.f64 (*.f64 -1/2 (pow.f64 eps 5)) (+.f64 (*.f64 13/120 (pow.f64 eps 7)) (pow.f64 eps 3)))
(+.f64 (*.f64 -41/3024 (pow.f64 eps 9)) (+.f64 (*.f64 -1/2 (pow.f64 eps 5)) (+.f64 (*.f64 13/120 (pow.f64 eps 7)) (pow.f64 eps 3))))
Outputs
eps
(+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))
(fma.f64 -1/6 (pow.f64 eps 3) eps)
(+.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 1/120 (pow.f64 eps 5))))
(+.f64 eps (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 1/120 (pow.f64 eps 5))))
(fma.f64 -1/6 (pow.f64 eps 3) (fma.f64 1/120 (pow.f64 eps 5) eps))
(+.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (+.f64 (*.f64 1/120 (pow.f64 eps 5)) (*.f64 -1/5040 (pow.f64 eps 7)))))
(+.f64 eps (fma.f64 -1/6 (pow.f64 eps 3) (fma.f64 1/120 (pow.f64 eps 5) (*.f64 -1/5040 (pow.f64 eps 7)))))
(fma.f64 -1/6 (pow.f64 eps 3) (fma.f64 1/120 (pow.f64 eps 5) (fma.f64 -1/5040 (pow.f64 eps 7) eps)))
(fma.f64 -1/6 (pow.f64 eps 3) (fma.f64 -1/5040 (pow.f64 eps 7) (fma.f64 1/120 (pow.f64 eps 5) eps)))
(sin.f64 eps)
(sin.f64 eps)
(sin.f64 eps)
(sin.f64 eps)
(sin.f64 eps)
(sin.f64 eps)
(sin.f64 eps)
(sin.f64 eps)
(pow.f64 eps 3)
(+.f64 (*.f64 -1/2 (pow.f64 eps 5)) (pow.f64 eps 3))
(fma.f64 -1/2 (pow.f64 eps 5) (pow.f64 eps 3))
(fma.f64 (pow.f64 eps 5) -1/2 (pow.f64 eps 3))
(+.f64 (*.f64 -1/2 (pow.f64 eps 5)) (+.f64 (*.f64 13/120 (pow.f64 eps 7)) (pow.f64 eps 3)))
(fma.f64 -1/2 (pow.f64 eps 5) (fma.f64 13/120 (pow.f64 eps 7) (pow.f64 eps 3)))
(fma.f64 (pow.f64 eps 5) -1/2 (fma.f64 (pow.f64 eps 7) 13/120 (pow.f64 eps 3)))
(+.f64 (*.f64 -41/3024 (pow.f64 eps 9)) (+.f64 (*.f64 -1/2 (pow.f64 eps 5)) (+.f64 (*.f64 13/120 (pow.f64 eps 7)) (pow.f64 eps 3))))
(fma.f64 -41/3024 (pow.f64 eps 9) (fma.f64 -1/2 (pow.f64 eps 5) (fma.f64 13/120 (pow.f64 eps 7) (pow.f64 eps 3))))
(fma.f64 -41/3024 (pow.f64 eps 9) (fma.f64 (pow.f64 eps 5) -1/2 (fma.f64 (pow.f64 eps 7) 13/120 (pow.f64 eps 3))))
(fma.f64 (pow.f64 eps 5) -1/2 (fma.f64 -41/3024 (pow.f64 eps 9) (fma.f64 (pow.f64 eps 7) 13/120 (pow.f64 eps 3))))

localize7.0ms (0.1%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.6b
(cbrt.f64 eps)
0.5b
(pow.f64 (cbrt.f64 eps) 2)
0.3b
(*.f64 (pow.f64 (cbrt.f64 eps) 2) (*.f64 (cbrt.f64 eps) (cos.f64 x)))
0.1b
(*.f64 (cbrt.f64 eps) (cos.f64 x))
0.1b
(*.f64 (cbrt.f64 eps) (cos.f64 x))
0.3b
(*.f64 (pow.f64 (cbrt.f64 eps) 2) (*.f64 (cbrt.f64 eps) (cos.f64 x)))
0.5b
(pow.f64 (cbrt.f64 eps) 2)
0.6b
(cbrt.f64 eps)

series27.0ms (0.2%)

Counts
4 → 36
Calls

18 calls:

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

rewrite134.0ms (1.1%)

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

Useful iterations: 0 (0.0ms)

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

simplify122.0ms (1%)

Algorithm
egg-herbie
Rules
839×unswap-sqr_binary64
743×distribute-rgt-out_binary64
656×associate-+l+_binary64
556×sqr-pow_binary64
446×*-commutative_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
044344
1113340
2344330
31250325
42248323
53829323
64977323
75458323
85624323
95841323
106146323
116506323
126941323
137688323
Stop Event
node limit
Counts
99 → 82
Calls
Call 1
Inputs
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
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 (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))
(pow.f64 eps 1/3)
(+.f64 (pow.f64 eps 1/3) (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (pow.f64 x 2))))
(+.f64 (pow.f64 eps 1/3) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (pow.f64 x 4))) (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (pow.f64 x 2)))))
(+.f64 (pow.f64 eps 1/3) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (pow.f64 x 4))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (pow.f64 x 2))) (*.f64 -1/720 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (pow.f64 x 6))))))
(*.f64 (cos.f64 x) (pow.f64 (*.f64 eps 1) 1/3))
(*.f64 (cos.f64 x) (pow.f64 (*.f64 eps 1) 1/3))
(*.f64 (cos.f64 x) (pow.f64 (*.f64 eps 1) 1/3))
(*.f64 (cos.f64 x) (pow.f64 (*.f64 eps 1) 1/3))
(*.f64 (pow.f64 (*.f64 eps 1) 1/3) (cos.f64 x))
(*.f64 (pow.f64 (*.f64 eps 1) 1/3) (cos.f64 x))
(*.f64 (pow.f64 (*.f64 eps 1) 1/3) (cos.f64 x))
(*.f64 (pow.f64 (*.f64 eps 1) 1/3) (cos.f64 x))
Outputs
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
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 eps (*.f64 -1/2 (*.f64 x x)) eps)
(fma.f64 eps (*.f64 x (*.f64 x -1/2)) eps)
(+.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 eps (*.f64 (pow.f64 x 4) 1/24))))
(fma.f64 eps (*.f64 -1/2 (*.f64 x x)) (fma.f64 eps (*.f64 1/24 (pow.f64 x 4)) eps))
(fma.f64 eps (*.f64 x (*.f64 x -1/2)) (fma.f64 eps (*.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 eps (*.f64 (pow.f64 x 4) 1/24))) (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 eps (*.f64 1/24 (pow.f64 x 4)) eps)))
(+.f64 eps (*.f64 eps (+.f64 (*.f64 1/24 (pow.f64 x 4)) (+.f64 (*.f64 x (*.f64 x -1/2)) (*.f64 -1/720 (pow.f64 x 6))))))
(*.f64 eps (+.f64 1 (+.f64 (*.f64 x (*.f64 x -1/2)) (+.f64 (*.f64 -1/720 (pow.f64 x 6)) (*.f64 1/24 (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 (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)
(pow.f64 eps 1/3)
(cbrt.f64 eps)
(+.f64 (pow.f64 eps 1/3) (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (pow.f64 x 2))))
(+.f64 (cbrt.f64 eps) (*.f64 -1/2 (*.f64 (*.f64 x x) (cbrt.f64 eps))))
(fma.f64 -1/2 (*.f64 (*.f64 x x) (cbrt.f64 eps)) (cbrt.f64 eps))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 x x)) 1) (cbrt.f64 eps))
(*.f64 (cbrt.f64 eps) (+.f64 1 (*.f64 x (*.f64 x -1/2))))
(+.f64 (pow.f64 eps 1/3) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (pow.f64 x 4))) (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (pow.f64 x 2)))))
(+.f64 (cbrt.f64 eps) (fma.f64 1/24 (*.f64 (pow.f64 x 4) (cbrt.f64 eps)) (*.f64 -1/2 (*.f64 (*.f64 x x) (cbrt.f64 eps)))))
(+.f64 (*.f64 (pow.f64 x 4) (*.f64 1/24 (cbrt.f64 eps))) (fma.f64 -1/2 (*.f64 (*.f64 x x) (cbrt.f64 eps)) (cbrt.f64 eps)))
(+.f64 (cbrt.f64 eps) (*.f64 (cbrt.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 x x)) (*.f64 1/24 (pow.f64 x 4)))))
(*.f64 (cbrt.f64 eps) (+.f64 (+.f64 1 (*.f64 1/24 (pow.f64 x 4))) (*.f64 x (*.f64 x -1/2))))
(*.f64 (cbrt.f64 eps) (+.f64 1 (+.f64 (*.f64 x (*.f64 x -1/2)) (*.f64 1/24 (pow.f64 x 4)))))
(+.f64 (pow.f64 eps 1/3) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (pow.f64 x 4))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (pow.f64 x 2))) (*.f64 -1/720 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (pow.f64 x 6))))))
(+.f64 (cbrt.f64 eps) (fma.f64 1/24 (*.f64 (pow.f64 x 4) (cbrt.f64 eps)) (fma.f64 -1/2 (*.f64 (*.f64 x x) (cbrt.f64 eps)) (*.f64 -1/720 (*.f64 (pow.f64 x 6) (cbrt.f64 eps))))))
(+.f64 (cbrt.f64 eps) (fma.f64 1/24 (*.f64 (pow.f64 x 4) (cbrt.f64 eps)) (fma.f64 -1/2 (*.f64 (*.f64 x x) (cbrt.f64 eps)) (*.f64 (cbrt.f64 eps) (*.f64 (pow.f64 x 6) -1/720)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 x x)) 1) (cbrt.f64 eps)) (*.f64 (cbrt.f64 eps) (+.f64 (*.f64 1/24 (pow.f64 x 4)) (*.f64 -1/720 (pow.f64 x 6)))))
(+.f64 (cbrt.f64 eps) (*.f64 (cbrt.f64 eps) (+.f64 (*.f64 1/24 (pow.f64 x 4)) (+.f64 (*.f64 x (*.f64 x -1/2)) (*.f64 -1/720 (pow.f64 x 6))))))
(*.f64 (cbrt.f64 eps) (+.f64 1 (+.f64 (*.f64 x (*.f64 x -1/2)) (+.f64 (*.f64 -1/720 (pow.f64 x 6)) (*.f64 1/24 (pow.f64 x 4))))))
(*.f64 (cos.f64 x) (pow.f64 (*.f64 eps 1) 1/3))
(*.f64 (cos.f64 x) (cbrt.f64 eps))
(*.f64 (cos.f64 x) (pow.f64 (*.f64 eps 1) 1/3))
(*.f64 (cos.f64 x) (cbrt.f64 eps))
(*.f64 (cos.f64 x) (pow.f64 (*.f64 eps 1) 1/3))
(*.f64 (cos.f64 x) (cbrt.f64 eps))
(*.f64 (cos.f64 x) (pow.f64 (*.f64 eps 1) 1/3))
(*.f64 (cos.f64 x) (cbrt.f64 eps))
(*.f64 (pow.f64 (*.f64 eps 1) 1/3) (cos.f64 x))
(*.f64 (cos.f64 x) (cbrt.f64 eps))
(*.f64 (pow.f64 (*.f64 eps 1) 1/3) (cos.f64 x))
(*.f64 (cos.f64 x) (cbrt.f64 eps))
(*.f64 (pow.f64 (*.f64 eps 1) 1/3) (cos.f64 x))
(*.f64 (cos.f64 x) (cbrt.f64 eps))
(*.f64 (pow.f64 (*.f64 eps 1) 1/3) (cos.f64 x))
(*.f64 (cos.f64 x) (cbrt.f64 eps))

localize10.0ms (0.1%)

Local error

Found 8 expressions with local error:

NewErrorProgram
2.0b
(-.f64 (fma.f64 (cos.f64 eps) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
0.2b
(*.f64 (cos.f64 x) (sin.f64 eps))
0.1b
(fma.f64 (cos.f64 eps) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
0.0b
(sin.f64 eps)
0.0b
(sin.f64 eps)
0.1b
(fma.f64 (cos.f64 eps) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
0.2b
(*.f64 (cos.f64 x) (sin.f64 eps))
2.0b
(-.f64 (fma.f64 (cos.f64 eps) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))

series4.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite66.0ms (0.6%)

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

Useful iterations: 2 (0.0ms)

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

simplify77.0ms (0.6%)

Algorithm
egg-herbie
Rules
825×distribute-lft-out_binary64
784×distribute-rgt-out_binary64
681×fma-neg_binary64
638×associate-*l*_binary64
465×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
060900
1174895
2451849
31380848
43796848
57548848
Stop Event
node limit
Counts
181 → 163
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 (sin.f64 x) (*.f64 eps eps))))
(fma.f64 (cos.f64 x) eps (*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x)))))
(fma.f64 (cos.f64 x) eps (*.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 -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 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 (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 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) (*.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) (*.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) (*.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) (*.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) (*.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) (*.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) (*.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) (*.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 x (*.f64 x (sin.f64 eps))) (fma.f64 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps)))
(fma.f64 x (+.f64 (cos.f64 eps) -1) (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps)))
(-.f64 (fma.f64 -1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (fma.f64 x (cos.f64 eps) (sin.f64 eps))) x)
(-.f64 (fma.f64 x (cos.f64 eps) (fma.f64 -1/2 (*.f64 x (*.f64 x (sin.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) (+.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 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 x (+.f64 (cos.f64 eps) -1) (fma.f64 -1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (fma.f64 (fma.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 (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) (*.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) (*.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) (*.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) (*.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) (*.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) (*.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) (*.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) (*.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 (sin.f64 x) (*.f64 eps eps))))
(fma.f64 (cos.f64 x) eps (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (sin.f64 x)))
(fma.f64 (cos.f64 x) eps (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)))
(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 (*.f64 eps -1/2) 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 -1/2 (*.f64 eps (*.f64 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 (sin.f64 x) (fma.f64 (*.f64 eps -1/2) 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 x (*.f64 x (sin.f64 eps))) (fma.f64 x (cos.f64 eps) (sin.f64 eps)))
(fma.f64 x (cos.f64 eps) (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps)))
(fma.f64 x (cos.f64 eps) (fma.f64 -1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (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 x (*.f64 x (sin.f64 eps))) (fma.f64 x (cos.f64 eps) (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (sin.f64 eps))))
(+.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (*.f64 (cos.f64 eps) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x))))
(+.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 (*.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)))

eval217.0ms (1.8%)

Compiler

Compiled 11361 to 5216 computations (54.1% saved)

prune129.0ms (1.1%)

Pruning

63 alts after pruning (52 fresh and 11 done)

PrunedKeptTotal
New62415639
Fresh193756
Picked011
Done01010
Total64363706
Error
0.0b
Counts
706 → 63
Alt Table
Click to see full alt table
StatusErrorProgram
48.9b
(sqrt.f64 (pow.f64 (sin.f64 eps) 2))
21.6b
(-.f64 (fma.f64 (cos.f64 eps) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
60.2b
(log.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)))
30.2b
(*.f64 eps (cos.f64 x))
47.0b
(+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))
38.0b
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x))
60.3b
(-.f64 (+.f64 1 (*.f64 eps (cos.f64 x))) 1)
21.6b
(fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
30.8b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (+.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) 1) -1) (sin.f64 x)))
61.3b
(log.f64 1)
46.2b
(-.f64 (+.f64 1 (sin.f64 eps)) 1)
58.9b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (neg.f64 (sin.f64 x)))
31.8b
(expm1.f64 (log1p.f64 (sin.f64 eps)))
0.5b
(log1p.f64 (expm1.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))
37.6b
(*.f64 1/3 (*.f64 3 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
27.4b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (*.f64 eps (sin.f64 x)) (*.f64 -1/2 eps)))
36.2b
(+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
0.5b
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))))
38.0b
(fma.f64 (cos.f64 eps) x (-.f64 (sin.f64 eps) x))
20.0b
(cbrt.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 3))
16.8b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (-.f64 (cos.f64 eps) 1) x))
38.6b
(*.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) eps))
0.3b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (/.f64 1 (+.f64 (cos.f64 eps) 1))) (sin.f64 x)))
31.8b
(sin.f64 eps)
38.7b
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x))
30.1b
(fma.f64 eps (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
47.0b
(*.f64 (sqrt.f64 eps) (*.f64 (sqrt.f64 eps) (cos.f64 x)))
37.9b
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) 3)
32.4b
(pow.f64 (cbrt.f64 (sin.f64 eps)) 3)
31.6b
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 eps (cos.f64 x)))) 3) 3)
0.4b
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
0.3b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (/.f64 1 (pow.f64 (sqrt.f64 (+.f64 (cos.f64 eps) 1)) 2))) (sin.f64 x)))
0.2b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps))) (sin.f64 x)))
22.9b
(+.f64 (log.f64 (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
53.4b
(sqrt.f64 (*.f64 eps (*.f64 eps (pow.f64 (cos.f64 x) 2))))
30.7b
(fma.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
37.4b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
46.9b
(cbrt.f64 (-.f64 (+.f64 1 (pow.f64 (sin.f64 eps) 3)) 1))
38.3b
(-.f64 (sin.f64 eps) (sin.f64 x))
30.9b
(*.f64 (pow.f64 (cbrt.f64 eps) 2) (*.f64 (cbrt.f64 eps) (cos.f64 x)))
0.4b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3)) (sin.f64 x)))
51.8b
(cbrt.f64 (sqrt.f64 (pow.f64 (sin.f64 eps) 6)))
39.8b
(cbrt.f64 (pow.f64 (sin.f64 eps) 3))
37.6b
(*.f64 2 (*.f64 (sin.f64 (/.f64 (-.f64 (+.f64 x eps) x) 2)) (cos.f64 (/.f64 (+.f64 (+.f64 x eps) x) 2))))
56.8b
(pow.f64 (pow.f64 eps 1/3) 3)
47.0b
(log.f64 (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 x (exp.f64 (sin.f64 eps)))) (exp.f64 (sin.f64 eps))))
46.4b
eps
31.0b
(pow.f64 (*.f64 (cbrt.f64 (cos.f64 x)) (cbrt.f64 eps)) 3)
49.3b
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 eps x)) 2)) (sin.f64 x))
31.4b
(fma.f64 (pow.f64 (sqrt.f64 (sin.f64 eps)) 2) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
32.8b
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
50.1b
(cbrt.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 3))
30.3b
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2))))
49.2b
(fma.f64 eps (*.f64 (*.f64 x x) -1/2) eps)
0.4b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
0.4b
(+.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
46.2b
(log.f64 (exp.f64 (sin.f64 eps)))
30.9b
(pow.f64 (cbrt.f64 (*.f64 eps (cos.f64 x))) 3)
46.7b
(pow.f64 (cbrt.f64 eps) 3)
46.2b
(log.f64 (+.f64 1 (expm1.f64 (sin.f64 eps))))
21.6b
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
35.2b
(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))
41.2b
(pow.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 3) 1/3)
Compiler

Compiled 766 to 554 computations (27.7% saved)

regimes262.0ms (2.2%)

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

4 calls:

68.0ms
eps
66.0ms
x
44.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
40.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 1708 to 608 computations (64.4% saved)

regimes189.0ms (1.6%)

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

4 calls:

52.0ms
eps
48.0ms
x
31.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
28.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Results
ErrorSegmentsBranch
0.4b1x
0.4b1eps
0.4b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
0.4b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 971 to 381 computations (60.8% saved)

regimes149.0ms (1.3%)

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

4 calls:

39.0ms
eps
36.0ms
x
26.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
24.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Results
ErrorSegmentsBranch
0.4b1x
0.4b1eps
0.4b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
0.4b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 780 to 343 computations (56% saved)

regimes144.0ms (1.2%)

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

4 calls:

38.0ms
x
36.0ms
eps
26.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
22.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Results
ErrorSegmentsBranch
0.4b1x
0.4b1eps
0.4b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
0.4b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 768 to 340 computations (55.7% saved)

regimes176.0ms (1.5%)

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

4 calls:

84.0ms
eps
32.0ms
x
22.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
20.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Results
ErrorSegmentsBranch
16.8b1x
14.8b3eps
16.8b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
16.8b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 603 to 272 computations (54.9% saved)

bsearch115.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
58.0ms
1096.8183850469568
14365.417886619241
56.0ms
-58520974586.495186
-1.3915928499252286
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes214.0ms (1.8%)

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

4 calls:

120.0ms
eps
32.0ms
x
24.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
21.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Results
ErrorSegmentsBranch
16.8b1x
14.8b3eps
16.8b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
16.8b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 577 to 262 computations (54.6% saved)

bsearch116.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
60.0ms
2.0808353193995894e-7
1.1892434341392655e-6
56.0ms
-58520974586.495186
-1.3915928499252286
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes179.0ms (1.5%)

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

4 calls:

89.0ms
eps
31.0ms
x
22.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
20.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Results
ErrorSegmentsBranch
16.8b1x
15.1b3eps
16.8b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
16.8b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 555 to 255 computations (54.1% saved)

bsearch118.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
60.0ms
2.0808353193995894e-7
1.1892434341392655e-6
57.0ms
-58520974586.495186
-1.3915928499252286
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes101.0ms (0.9%)

Counts
22 → 3
Calls
Call 1
Inputs
eps
(log.f64 1)
(sin.f64 eps)
(*.f64 eps (cos.f64 x))
(-.f64 (+.f64 1 (sin.f64 eps)) 1)
(+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))
(+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))
(-.f64 (+.f64 1 (*.f64 eps (cos.f64 x))) 1)
(fma.f64 eps (*.f64 (*.f64 x x) -1/2) eps)
(-.f64 (+.f64 1 (*.f64 eps (cos.f64 x))) 1)
(fma.f64 eps (*.f64 x (*.f64 x -1/2)) eps)
(pow.f64 (cbrt.f64 eps) 3)
(pow.f64 (pow.f64 eps 1/3) 3)
(-.f64 (sin.f64 x) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(log.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)))
(-.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 1/3 (*.f64 3 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
Outputs
(-.f64 (sin.f64 eps) (sin.f64 x))
(*.f64 eps (cos.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
Calls

4 calls:

28.0ms
eps
28.0ms
x
20.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
19.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Results
ErrorSegmentsBranch
16.5b3x
15.3b3eps
15.9b3(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
15.9b3(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 167 to 91 computations (45.5% saved)

bsearch120.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
60.0ms
2.0808353193995894e-7
1.1892434341392655e-6
60.0ms
-1.3915928499252286
-1.4862259064409587e-8
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes46.0ms (0.4%)

Counts
14 → 3
Calls
Call 1
Inputs
eps
(log.f64 1)
(sin.f64 eps)
(*.f64 eps (cos.f64 x))
(-.f64 (+.f64 1 (sin.f64 eps)) 1)
(+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))
(+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))
(-.f64 (+.f64 1 (*.f64 eps (cos.f64 x))) 1)
(fma.f64 eps (*.f64 (*.f64 x x) -1/2) eps)
(-.f64 (+.f64 1 (*.f64 eps (cos.f64 x))) 1)
(fma.f64 eps (*.f64 x (*.f64 x -1/2)) eps)
(pow.f64 (cbrt.f64 eps) 3)
(pow.f64 (pow.f64 eps 1/3) 3)
(-.f64 (sin.f64 x) (sin.f64 x))
Outputs
(sin.f64 eps)
(*.f64 eps (cos.f64 x))
(sin.f64 eps)
Calls

2 calls:

22.0ms
eps
21.0ms
x
Results
ErrorSegmentsBranch
16.8b3x
15.7b3eps
Compiler

Compiled 83 to 50 computations (39.8% saved)

bsearch121.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
61.0ms
2.0808353193995894e-7
1.1892434341392655e-6
59.0ms
-1.3915928499252286
-1.4862259064409587e-8
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes8.0ms (0.1%)

Counts
3 → 1
Calls
Call 1
Inputs
eps
(log.f64 1)
(sin.f64 eps)
Outputs
(sin.f64 eps)
Calls

2 calls:

3.0ms
x
3.0ms
eps
Results
ErrorSegmentsBranch
31.8b1x
31.8b1eps
Compiler

Compiled 13 to 9 computations (30.8% saved)

regimes8.0ms (0.1%)

Accuracy

Total -15.4b remaining (-33.1%)

Threshold costs -15.4b (-33.1%)

Counts
2 → 1
Calls
Call 1
Inputs
eps
(log.f64 1)
Outputs
eps
Calls

2 calls:

4.0ms
x
3.0ms
eps
Results
ErrorSegmentsBranch
46.4b1x
46.4b1eps
Compiler

Compiled 11 to 8 computations (27.3% saved)

simplify10.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
054305
176305
292305
3106305
4112305
5114305
Stop Event
saturated
Calls
Call 1
Inputs
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps))) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(if (<=.f64 eps -7670461181001097/131072) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 1205964567917623/1099511627776) (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (*.f64 eps (sin.f64 x)) (*.f64 -1/2 eps))) (+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))
(if (<=.f64 eps -7670461181001097/131072) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7861173574963179/37778931862957161709568) (*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) (+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))
(if (<=.f64 eps -7670461181001097/131072) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7861173574963179/37778931862957161709568) (*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -3133588520187353/2251799813685248) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7861173574963179/37778931862957161709568) (*.f64 eps (cos.f64 x)) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -3133588520187353/2251799813685248) (sin.f64 eps) (if (<=.f64 eps 7861173574963179/37778931862957161709568) (*.f64 eps (cos.f64 x)) (sin.f64 eps)))
(sin.f64 eps)
eps
Outputs
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (*.f64 (tan.f64 (/.f64 eps 2)) (neg.f64 (sin.f64 eps))) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (sin.f64 eps) (cos.f64 x)))
(+.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(+.f64 (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(if (<=.f64 eps -7670461181001097/131072) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 1205964567917623/1099511627776) (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (*.f64 eps (sin.f64 x)) (*.f64 -1/2 eps))) (+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))
(if (<=.f64 eps -7670461181001097/131072) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 1205964567917623/1099511627776) (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (*.f64 eps (sin.f64 x)) (*.f64 eps -1/2))) (+.f64 (sin.f64 x) (-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)))))
(if (<=.f64 eps -7670461181001097/131072) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7861173574963179/37778931862957161709568) (*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) (+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))
(if (<=.f64 eps -7670461181001097/131072) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7861173574963179/37778931862957161709568) (*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) (+.f64 (sin.f64 x) (-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)))))
(if (<=.f64 eps -7670461181001097/131072) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7861173574963179/37778931862957161709568) (*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -3133588520187353/2251799813685248) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7861173574963179/37778931862957161709568) (*.f64 eps (cos.f64 x)) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -3133588520187353/2251799813685248) (sin.f64 eps) (if (<=.f64 eps 7861173574963179/37778931862957161709568) (*.f64 eps (cos.f64 x)) (sin.f64 eps)))
(sin.f64 eps)
eps

end85.0ms (0.7%)

Stop Event
fuel
Compiler

Compiled 414 to 203 computations (51% saved)

Profiling

Loading profile data...