Details

Time bar (total: 14.6s)

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.8s (32.7%)

Results
2.1s3684×body1024valid
1.5s1272×body2048valid
677.0ms1380×body512valid
395.0ms1916×body256valid
7.0msbody4096valid

preprocess22.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

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

Compiled 11 to 8 computations (27.3% saved)

simplify13.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

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

eval0.0ms (0%)

Compiler

Compiled 9 to 6 computations (33.3% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 9 to 6 computations (33.3% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 x)
1.6b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
2.5b
(sin.f64 (+.f64 x eps))
Compiler

Compiled 20 to 6 computations (70% saved)

series6.0ms (0%)

Counts
3 → 52
Calls

15 calls:

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

rewrite84.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

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

simplify68.0ms (0.5%)

Algorithm
egg-herbie
Rules
510×neg-sub0_binary64
466×neg-mul-1_binary64
405×fma-def_binary64
403×distribute-rgt-neg-in_binary64
331×distribute-rgt-neg-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
082626
1232621
2569605
32129604
45935604
Stop Event
node limit
Counts
251 → 240
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))
x
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x))
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1/5040 (pow.f64 x 7)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x)))
Outputs
(sin.f64 eps)
(+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps))
(fma.f64 (cos.f64 eps) x (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (sin.f64 eps)))
(fma.f64 (cos.f64 eps) x (fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (sin.f64 eps)))
(fma.f64 (sin.f64 eps) (*.f64 -1/2 (*.f64 x x)) (fma.f64 (cos.f64 eps) x (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (sin.f64 eps))))
(+.f64 (*.f64 (cos.f64 eps) (fma.f64 -1/6 (pow.f64 x 3) x)) (fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 eps) (fma.f64 -1/6 (pow.f64 x 3) x)) (*.f64 (sin.f64 eps) (+.f64 1 (*.f64 -1/2 (*.f64 x x)))))
(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) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (sin.f64 x)))
(fma.f64 eps (cos.f64 x) (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(+.f64 (fma.f64 (cos.f64 x) eps (sin.f64 x)) (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))))
(+.f64 (sin.f64 x) (+.f64 (*.f64 -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) (-.f64 eps (*.f64 (pow.f64 eps 3) 1/6))))
(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 (*.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)))
(fma.f64 (sin.f64 eps) (*.f64 -1/2 (*.f64 x x)) (fma.f64 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.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 (sin.f64 eps) (*.f64 -1/2 (*.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))))
(-.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 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)) (*.f64 eps (cos.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 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2))))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 (cos.f64 x) (-.f64 eps (*.f64 (pow.f64 eps 3) 1/6))))
(+.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 (pow.f64 eps 3) 1/6)) (*.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))
x
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)
(fma.f64 -1/6 (pow.f64 x 3) x)
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x))
(fma.f64 -1/6 (pow.f64 x 3) (fma.f64 1/120 (pow.f64 x 5) x))
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1/5040 (pow.f64 x 7)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x)))
(fma.f64 -1/6 (pow.f64 x 3) (fma.f64 -1/5040 (pow.f64 x 7) (fma.f64 1/120 (pow.f64 x 5) x)))
(fma.f64 -1/6 (pow.f64 x 3) (fma.f64 1/120 (pow.f64 x 5) (fma.f64 -1/5040 (pow.f64 x 7) x)))

eval62.0ms (0.4%)

Compiler

Compiled 4104 to 1324 computations (67.7% saved)

prune97.0ms (0.7%)

Pruning

41 alts after pruning (40 fresh and 1 done)

PrunedKeptTotal
New20040240
Fresh000
Picked011
Done000
Total20041241
Error
0.2b
Counts
241 → 41
Alt Table
Click to see full alt table
StatusErrorProgram
37.8b
(expm1.f64 (log1p.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
38.2b
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)
29.1b
(-.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))
37.7b
(-.f64 (sin.f64 (+.f64 x eps)) (pow.f64 (cbrt.f64 (sin.f64 x)) 3))
21.3b
(-.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
44.1b
(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)))
20.7b
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
45.9b
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
50.8b
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x))
39.9b
(-.f64 (sin.f64 (+.f64 x eps)) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x))
33.1b
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
31.7b
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
39.0b
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x))
38.3b
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x))
37.4b
(-.f64 (sin.f64 eps) (sin.f64 x))
45.8b
(log.f64 (/.f64 (exp.f64 (sin.f64 (+.f64 x eps))) (+.f64 1 (expm1.f64 (sin.f64 x)))))
20.7b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
33.4b
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 (cos.f64 x) (-.f64 eps (*.f64 (pow.f64 eps 3) 1/6))))
20.7b
(fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
20.7b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
33.0b
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2))))
45.8b
(log.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
37.7b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
37.7b
(-.f64 (log1p.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
38.2b
(-.f64 (sin.f64 (+.f64 x eps)) (cbrt.f64 (pow.f64 (sin.f64 x) 3)))
40.9b
(fma.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
37.8b
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
38.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)
52.9b
(-.f64 (exp.f64 (log.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
20.7b
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
32.7b
(*.f64 (cos.f64 x) eps)
61.3b
(-.f64 (sin.f64 x) (sin.f64 x))
38.1b
(-.f64 (sin.f64 (+.f64 x eps)) (log.f64 (exp.f64 (sin.f64 x))))
21.2b
(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)))
37.7b
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
38.4b
(-.f64 (sin.f64 (+.f64 x eps)) (sqrt.f64 (pow.f64 (sin.f64 x) 2)))
39.0b
(-.f64 (sin.f64 (+.f64 x eps)) x)
37.7b
(-.f64 (sin.f64 (+.f64 x eps)) (log1p.f64 (expm1.f64 (sin.f64 x))))
45.8b
(log.f64 (/.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))) (exp.f64 (sin.f64 x))))
51.5b
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))
21.2b
(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)))
Compiler

Compiled 1131 to 754 computations (33.3% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 40 to 9 computations (77.5% saved)

series13.0ms (0.1%)

Counts
3 → 56
Calls

18 calls:

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

rewrite88.0ms (0.6%)

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

Useful iterations: 2 (0.0ms)

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

simplify105.0ms (0.7%)

Algorithm
egg-herbie
Rules
589×sub-neg_binary64
538×fma-def_binary64
441×*-commutative_binary64
384×+-commutative_binary64
346×unswap-sqr_binary64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0891080
12611063
2710977
32290973
43991973
55252972
67312972
Stop Event
node limit
Counts
208 → 196
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 (cos.f64 eps) x) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (sin.f64 eps))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(sin.f64 x)
(+.f64 (*.f64 (cos.f64 x) eps) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
Outputs
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(fma.f64 (-.f64 (cos.f64 eps) 1) x (sin.f64 eps))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps))
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) x)
(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 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(fma.f64 (fma.f64 -1/2 (*.f64 x x) 1) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) x))
(-.f64 (fma.f64 (cos.f64 eps) x (*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1))) 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 (*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1)) (fma.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (pow.f64 x 3) (*.f64 (+.f64 (cos.f64 eps) -1) x)))
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (pow.f64 x 3) (sin.f64 eps))))
(fma.f64 x (+.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) (*.f64 x -1/2))) (-.f64 (fma.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (pow.f64 x 3) (sin.f64 eps)) x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.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 (*.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 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2))))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2))))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 (*.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 eps (*.f64 eps -1/2)) (*.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 (*.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 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 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)))
(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 (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 (sin.f64 eps) (+.f64 (*.f64 1/24 (pow.f64 x 4)) (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))) (+.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/2 (*.f64 x x) (*.f64 1/24 (pow.f64 x 4))) (*.f64 (sin.f64 eps) (fma.f64 -1/720 (pow.f64 x 6) 1)))
(*.f64 (sin.f64 eps) (+.f64 (fma.f64 -1/720 (pow.f64 x 6) 1) (fma.f64 -1/2 (*.f64 x x) (*.f64 1/24 (pow.f64 x 4)))))
(*.f64 (cos.f64 x) 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 (*.f64 1/120 (pow.f64 eps 5)) eps)))
(*.f64 (cos.f64 x) (+.f64 (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 -1/5040 (pow.f64 eps 7))) (fma.f64 1/120 (pow.f64 eps 5) eps)))
(*.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)))))
(sin.f64 eps)
(+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps))
(fma.f64 (cos.f64 eps) x (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (sin.f64 eps)))
(fma.f64 (cos.f64 eps) x (*.f64 (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 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (sin.f64 eps))))
(+.f64 (*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1)) (*.f64 (cos.f64 eps) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(sin.f64 x)
(+.f64 (*.f64 (cos.f64 x) eps) (sin.f64 x))
(fma.f64 (cos.f64 x) eps (sin.f64 x))
(fma.f64 eps (cos.f64 x) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (fma.f64 (cos.f64 x) eps (sin.f64 x)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x)))
(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 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))))
(+.f64 (sin.f64 x) (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))))
(+.f64 (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps)) (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))

localize6.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 10 to 4 computations (60% saved)

series5.0ms (0%)

Counts
1 → 8
Calls

6 calls:

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

rewrite40.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

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

simplify134.0ms (0.9%)

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

Useful iterations: 4 (0.0ms)

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

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))
1.6b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
2.1b
(log.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
2.5b
(sin.f64 (+.f64 x eps))
Compiler

Compiled 37 to 8 computations (78.4% saved)

series6.0ms (0%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
x
@0
(log.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
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
@-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)))

rewrite78.0ms (0.5%)

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
2294424
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 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 log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 (+.f64 x eps)) 1 (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 (+.f64 x eps)) 1 (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (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)))) (cbrt.f64 (pow.f64 (exp.f64 2) (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) (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 2) (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 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 2) (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(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 expm1.f64 (log1p.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))))

simplify76.0ms (0.5%)

Algorithm
egg-herbie
Rules
685×distribute-rgt-neg-out_binary64
595×fma-def_binary64
572×distribute-lft-neg-out_binary64
495×associate-*r*_binary64
463×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
099836
1296820
2885789
34676789
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 (+.f64 (cos.f64 eps) -1) x (fma.f64 (*.f64 x x) (*.f64 (sin.f64 eps) -1/2) (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))))
(*.f64 eps (+.f64 (cos.f64 x) (*.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 (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 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps 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 (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)))))
(-.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 (cos.f64 eps) -1) x 1) (*.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 (cos.f64 eps) -1) x 1) (*.f64 x (*.f64 x (fma.f64 (sin.f64 eps) -1/2 (*.f64 1/2 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))))))
(+.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 (*.f64 -1/2 (+.f64 (cos.f64 eps) -1)) (sin.f64 eps)))) (*.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 (cos.f64 eps) -1/2) 1/2))))) (*.f64 (+.f64 (cos.f64 eps) -1) 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))
(fma.f64 eps (cos.f64 x) (fma.f64 eps (*.f64 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) 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 (*.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 (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 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)))

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(pow.f64 (sin.f64 x) 2)
0.6b
(-.f64 (sin.f64 (+.f64 x eps)) (sqrt.f64 (pow.f64 (sin.f64 x) 2)))
2.5b
(sin.f64 (+.f64 x eps))
13.5b
(sqrt.f64 (pow.f64 (sin.f64 x) 2))
Compiler

Compiled 33 to 15 computations (54.5% saved)

series4.0ms (0%)

Counts
3 → 40
Calls

12 calls:

TimeVariablePointExpression
0.0ms
x
@-inf
(pow.f64 (sin.f64 x) 2)
0.0ms
x
@0
(pow.f64 (sin.f64 x) 2)
0.0ms
x
@inf
(pow.f64 (sin.f64 x) 2)
0.0ms
x
@0
(sqrt.f64 (pow.f64 (sin.f64 x) 2))
0.0ms
x
@inf
(sqrt.f64 (pow.f64 (sin.f64 x) 2))

rewrite127.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
468×log-prod_binary64
433×fma-def_binary64
311×pow-prod-down_binary64
281×pow2_binary64
198×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify66.0ms (0.5%)

Algorithm
egg-herbie
Rules
612×neg-sub0_binary64
570×neg-mul-1_binary64
419×distribute-rgt-neg-out_binary64
385×*-commutative_binary64
350×distribute-lft-neg-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
085476
1228474
2558467
32219466
46774466
Stop Event
node limit
Counts
206 → 200
Calls
Call 1
Inputs
x
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x))
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1/5040 (pow.f64 x 7)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x)))
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(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 (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 x 2)
(+.f64 (*.f64 -1/3 (pow.f64 x 4)) (pow.f64 x 2))
(+.f64 (*.f64 -1/3 (pow.f64 x 4)) (+.f64 (*.f64 2/45 (pow.f64 x 6)) (pow.f64 x 2)))
(+.f64 (*.f64 -1/3 (pow.f64 x 4)) (+.f64 (*.f64 -1/315 (pow.f64 x 8)) (+.f64 (*.f64 2/45 (pow.f64 x 6)) (pow.f64 x 2))))
Outputs
x
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)
(fma.f64 -1/6 (pow.f64 x 3) x)
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x))
(fma.f64 -1/6 (pow.f64 x 3) (fma.f64 1/120 (pow.f64 x 5) x))
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1/5040 (pow.f64 x 7)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x)))
(fma.f64 -1/6 (pow.f64 x 3) (fma.f64 -1/5040 (pow.f64 x 7) (fma.f64 1/120 (pow.f64 x 5) x)))
(fma.f64 -1/6 (pow.f64 x 3) (fma.f64 1/120 (pow.f64 x 5) (fma.f64 -1/5040 (pow.f64 x 7) x)))
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps))
(fma.f64 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 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 -1/2 (*.f64 x x)) 1) (sin.f64 eps)))
(fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 (*.f64 x x) (*.f64 (sin.f64 eps) -1/2) (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 x (*.f64 x (sin.f64 eps))) (fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 (pow.f64 x 3) (fma.f64 -1/6 (cos.f64 eps) 1/6) (sin.f64 eps))))
(fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 (sin.f64 eps) (*.f64 -1/2 (*.f64 x x)) (fma.f64 (pow.f64 x 3) (fma.f64 -1/6 (cos.f64 eps) 1/6) (sin.f64 eps))))
(fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 (pow.f64 x 3) (fma.f64 -1/6 (cos.f64 eps) 1/6) (sin.f64 eps))))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 (cos.f64 x) eps (*.f64 (*.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 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps)) (*.f64 eps (cos.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 (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 -1/2 (*.f64 eps eps))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (*.f64 eps (*.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 (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 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 -1/3 (pow.f64 x 4)) (pow.f64 x 2))
(fma.f64 -1/3 (pow.f64 x 4) (*.f64 x x))
(+.f64 (*.f64 -1/3 (pow.f64 x 4)) (+.f64 (*.f64 2/45 (pow.f64 x 6)) (pow.f64 x 2)))
(fma.f64 -1/3 (pow.f64 x 4) (fma.f64 2/45 (pow.f64 x 6) (*.f64 x x)))
(fma.f64 -1/3 (pow.f64 x 4) (fma.f64 x x (*.f64 2/45 (pow.f64 x 6))))
(fma.f64 x x (fma.f64 2/45 (pow.f64 x 6) (*.f64 -1/3 (pow.f64 x 4))))
(+.f64 (*.f64 -1/3 (pow.f64 x 4)) (+.f64 (*.f64 -1/315 (pow.f64 x 8)) (+.f64 (*.f64 2/45 (pow.f64 x 6)) (pow.f64 x 2))))
(fma.f64 -1/3 (pow.f64 x 4) (fma.f64 -1/315 (pow.f64 x 8) (fma.f64 2/45 (pow.f64 x 6) (*.f64 x x))))
(fma.f64 -1/3 (pow.f64 x 4) (fma.f64 -1/315 (pow.f64 x 8) (fma.f64 x x (*.f64 2/45 (pow.f64 x 6)))))
(fma.f64 -1/3 (pow.f64 x 4) (fma.f64 x x (fma.f64 2/45 (pow.f64 x 6) (*.f64 -1/315 (pow.f64 x 8)))))
(fma.f64 -1/3 (pow.f64 x 4) (fma.f64 2/45 (pow.f64 x 6) (fma.f64 -1/315 (pow.f64 x 8) (*.f64 x x))))

localize40.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 47 to 10 computations (78.7% saved)

series7.0ms (0%)

Counts
3 → 72
Calls

18 calls:

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

rewrite245.0ms (1.7%)

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

Useful iterations: 1 (0.0ms)

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

simplify152.0ms (1%)

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

Useful iterations: 5 (0.0ms)

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

eval512.0ms (3.5%)

Compiler

Compiled 23877 to 7394 computations (69% saved)

prune692.0ms (4.7%)

Pruning

70 alts after pruning (67 fresh and 3 done)

PrunedKeptTotal
New1240611301
Fresh29635
Picked101
Done235
Total1272701342
Error
0.0b
Counts
1342 → 70
Alt Table
Click to see full alt table
StatusErrorProgram
45.2b
(log.f64 (exp.f64 (sin.f64 eps)))
21.3b
(-.f64 (+.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) 1) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
1.5b
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 eps)) 2) (*.f64 (cbrt.f64 (sin.f64 eps)) (cos.f64 x)) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
37.8b
(*.f64 1/3 (*.f64 3 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
20.7b
(+.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) (*.f64 (sin.f64 x) (cos.f64 eps)))
38.9b
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
31.7b
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
62.0b
(log.f64 (exp.f64 (*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2))))))
28.8b
(log.f64 (exp.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))
0.4b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
30.2b
(sin.f64 eps)
21.2b
(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.2b
(-.f64 (+.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 3) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
21.1b
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2)) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
28.9b
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))))) (sin.f64 x))
20.7b
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))) (sin.f64 x))
17.1b
(fma.f64 (*.f64 (sin.f64 eps) (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
39.8b
(-.f64 (sin.f64 (+.f64 x eps)) (sqrt.f64 (*.f64 x x)))
39.0b
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x))
20.8b
(-.f64 (+.f64 (expm1.f64 (log1p.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
37.4b
(-.f64 (sin.f64 eps) (sin.f64 x))
37.9b
(*.f64 3 (*.f64 1/3 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
46.3b
eps
33.4b
(fma.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
39.0b
(-.f64 (sin.f64 (+.f64 x eps)) x)
28.4b
(-.f64 (fma.f64 (*.f64 (sin.f64 eps) (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
60.7b
(log.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)))
20.7b
(fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
38.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)
13.6b
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2)) (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
61.3b
(log.f64 1)
40.8b
(-.f64 (+.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
21.3b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (pow.f64 (cbrt.f64 (sin.f64 x)) 3))
29.0b
(log.f64 (*.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)))))
45.4b
(fma.f64 (sqrt.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) (sqrt.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) (*.f64 (sin.f64 x) (cos.f64 eps)))
53.3b
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2))
38.2b
(-.f64 (sin.f64 (+.f64 x eps)) (cbrt.f64 (pow.f64 (sin.f64 x) 3)))
45.9b
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
20.8b
(-.f64 (+.f64 (log1p.f64 (expm1.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
37.8b
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
20.8b
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (log1p.f64 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))) (sin.f64 x))
49.1b
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2)
20.7b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
50.8b
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x))
1.5b
(fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)) (cbrt.f64 (sin.f64 eps)) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
33.3b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3)
36.0b
(-.f64 (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
37.7b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
51.5b
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))
38.3b
(-.f64 (sin.f64 (+.f64 x eps)) (fabs.f64 (sin.f64 x)))
0.5b
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))
33.0b
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2))))
37.7b
(-.f64 (sin.f64 (+.f64 x eps)) (log1p.f64 (expm1.f64 (sin.f64 x))))
38.3b
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x))
32.7b
(*.f64 (cos.f64 x) eps)
38.1b
(-.f64 (sin.f64 (+.f64 x eps)) (log.f64 (exp.f64 (sin.f64 x))))
60.9b
(-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1)
0.8b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (sin.f64 eps)) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
25.0b
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3) (pow.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) 3)) (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2) (-.f64 (*.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) (*.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))))))
45.0b
(log.f64 (exp.f64 (-.f64 (sin.f64 eps) (sin.f64 x))))
61.0b
(-.f64 (sin.f64 x) (sqrt.f64 (pow.f64 (sin.f64 x) 2)))
37.7b
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
34.0b
(fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (sin.f64 eps))) (sqrt.f64 (sin.f64 eps)) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
28.8b
(log.f64 (exp.f64 (-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))))
21.2b
(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)))
38.2b
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)
37.7b
(-.f64 (sin.f64 (+.f64 x eps)) (pow.f64 (cbrt.f64 (sin.f64 x)) 3))
37.7b
(-.f64 (log1p.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
38.9b
(fma.f64 (*.f64 (sin.f64 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
38.6b
(-.f64 (sin.f64 (+.f64 x eps)) (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 x x))))))
Compiler

Compiled 2093 to 1351 computations (35.5% saved)

localize22.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 36 to 16 computations (55.6% saved)

series8.0ms (0.1%)

Counts
3 → 60
Calls

15 calls:

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

rewrite127.0ms (0.9%)

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

Useful iterations: 0 (0.0ms)

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

simplify203.0ms (1.4%)

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

Useful iterations: 3 (0.0ms)

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

localize3.0ms (0%)

Compiler

Compiled 5 to 5 computations (0% saved)

localize13.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 x)
0.6b
(-.f64 (sin.f64 (+.f64 x eps)) (fabs.f64 (sin.f64 x)))
2.5b
(sin.f64 (+.f64 x eps))
Compiler

Compiled 24 to 7 computations (70.8% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite83.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
977×prod-diff_binary64
561×unpow-prod-down_binary64
414×log-prod_binary64
367×fma-def_binary64
246×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify67.0ms (0.5%)

Algorithm
egg-herbie
Rules
930×fma-neg_binary64
574×cancel-sign-sub-inv_binary64
338×neg-sub0_binary64
314×neg-mul-1_binary64
278×associate--r+_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
057400
1159398
2408391
31526390
44070385
Stop Event
node limit
Counts
141 → 134
Calls
Call 1
Inputs
(-.f64 (sin.f64 eps) (fabs.f64 (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (fabs.f64 (sin.f64 x)))
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps))) (fabs.f64 (sin.f64 x)))
(-.f64 (+.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)))) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 x) (fabs.f64 (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) eps) (sin.f64 x)) (fabs.f64 (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) (fabs.f64 (sin.f64 x)))
(-.f64 (+.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)))))) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (fabs.f64 (sin.f64 x)))
Outputs
(-.f64 (sin.f64 eps) (fabs.f64 (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (fabs.f64 (sin.f64 x)))
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (fabs.f64 (sin.f64 x)))
(-.f64 (fma.f64 x (cos.f64 eps) (sin.f64 eps)) (fabs.f64 (sin.f64 x)))
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps))) (fabs.f64 (sin.f64 x)))
(-.f64 (fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (sin.f64 eps))) (fabs.f64 (sin.f64 x)))
(-.f64 (fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 x (cos.f64 eps) (sin.f64 eps))) (fabs.f64 (sin.f64 x)))
(fma.f64 (*.f64 x x) (*.f64 (sin.f64 eps) -1/2) (-.f64 (fma.f64 x (cos.f64 eps) (sin.f64 eps)) (fabs.f64 (sin.f64 x))))
(-.f64 (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 x (cos.f64 eps) (sin.f64 eps))) (fabs.f64 (sin.f64 x)))
(-.f64 (fma.f64 x (+.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) (*.f64 x -1/2))) (sin.f64 eps)) (fabs.f64 (sin.f64 x)))
(-.f64 (+.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)))) (fabs.f64 (sin.f64 x)))
(-.f64 (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)))) (fabs.f64 (sin.f64 x)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (-.f64 (fma.f64 x (cos.f64 eps) (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (sin.f64 eps))) (fabs.f64 (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 eps) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (-.f64 (fma.f64 (*.f64 x x) (*.f64 (sin.f64 eps) -1/2) (sin.f64 eps)) (fabs.f64 (sin.f64 x))))
(+.f64 (sin.f64 eps) (-.f64 (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (*.f64 (cos.f64 eps) (+.f64 x (*.f64 -1/6 (pow.f64 x 3))))) (fabs.f64 (sin.f64 x))))
(-.f64 (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))) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 x) (fabs.f64 (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) eps) (sin.f64 x)) (fabs.f64 (sin.f64 x)))
(-.f64 (fma.f64 (cos.f64 x) eps (sin.f64 x)) (fabs.f64 (sin.f64 x)))
(-.f64 (fma.f64 eps (cos.f64 x) (sin.f64 x)) (fabs.f64 (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) (fabs.f64 (sin.f64 x)))
(-.f64 (fma.f64 (cos.f64 x) eps (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))) (fabs.f64 (sin.f64 x)))
(-.f64 (fma.f64 eps (cos.f64 x) (fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (sin.f64 x))) (fabs.f64 (sin.f64 x)))
(-.f64 (fma.f64 eps (cos.f64 x) (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1))) (fabs.f64 (sin.f64 x)))
(-.f64 (+.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)))))) (fabs.f64 (sin.f64 x)))
(-.f64 (+.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))))) (fabs.f64 (sin.f64 x)))
(+.f64 (fma.f64 eps (cos.f64 x) (sin.f64 x)) (-.f64 (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps)))) (fabs.f64 (sin.f64 x))))
(-.f64 (fma.f64 eps (cos.f64 x) (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)))) (fabs.f64 (sin.f64 x)))
(+.f64 (-.f64 (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (fabs.f64 (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)) (fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (neg.f64 (fabs.f64 (sin.f64 x)))))
(-.f64 (sin.f64 (+.f64 eps x)) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (fabs.f64 (sin.f64 x)))
(-.f64 (sin.f64 (+.f64 eps x)) (fabs.f64 (sin.f64 x)))

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 39 to 10 computations (74.4% saved)

series25.0ms (0.2%)

Counts
2 → 40
Calls

12 calls:

TimeVariablePointExpression
7.0ms
x
@0
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)
3.0ms
x
@inf
(cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))
3.0ms
x
@inf
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)
3.0ms
eps
@0
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)
2.0ms
x
@-inf
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)

rewrite117.0ms (0.8%)

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

Useful iterations: 0 (0.0ms)

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

simplify80.0ms (0.5%)

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

Useful iterations: 2 (0.0ms)

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

localize31.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (cos.f64 x) (sin.f64 eps))
0.2b
(log1p.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))
2.9b
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) 1)
6.3b
(-.f64 (+.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) 1) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
Compiler

Compiled 78 to 20 computations (74.4% saved)

series136.0ms (0.9%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
44.0ms
eps
@-inf
(-.f64 (+.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) 1) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
43.0ms
x
@inf
(-.f64 (+.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) 1) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
22.0ms
eps
@inf
(-.f64 (+.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) 1) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
17.0ms
x
@-inf
(-.f64 (+.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) 1) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
2.0ms
x
@0
(-.f64 (+.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) 1) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))

rewrite105.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
739×log-prod_binary64
532×fma-neg_binary64
280×log1p-udef_binary64
279×expm1-udef_binary64
228×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify76.0ms (0.5%)

Algorithm
egg-herbie
Rules
833×associate-+l+_binary64
724×associate-+r+_binary64
431×distribute-rgt-in_binary64
428×distribute-lft-in_binary64
395×*-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01581832
15311733
220721557
Stop Event
node limit
Counts
249 → 224
Calls
Call 1
Inputs
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 (cos.f64 eps) 2)) (+.f64 (*.f64 1/2 (pow.f64 (cos.f64 eps) 2)) (*.f64 -1/2 (sin.f64 eps)))) (pow.f64 x 2)) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 (cos.f64 eps) 2)) (+.f64 (*.f64 1/2 (pow.f64 (cos.f64 eps) 2)) (*.f64 -1/2 (sin.f64 eps)))) (pow.f64 x 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 (cos.f64 eps) 3)) (+.f64 1/6 (+.f64 (*.f64 -1/2 (pow.f64 (cos.f64 eps) 3)) (*.f64 1/6 (+.f64 (*.f64 -1 (cos.f64 eps)) (*.f64 2 (pow.f64 (cos.f64 eps) 3))))))) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (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 (+.f64 1 (sin.f64 x)) (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 1/24 (+.f64 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))) (*.f64 -3 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2))))) (*.f64 1/8 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 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))))))
(-.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 (+.f64 (*.f64 -1/2 (pow.f64 (cos.f64 eps) 2)) (*.f64 1/2 (pow.f64 (cos.f64 eps) 2))) (pow.f64 x 2)))
(+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 (cos.f64 eps) 2)) (*.f64 1/2 (pow.f64 (cos.f64 eps) 2))) (pow.f64 x 2)) (*.f64 (pow.f64 x 3) (+.f64 (*.f64 1/6 (pow.f64 (cos.f64 eps) 3)) (+.f64 (*.f64 -1/2 (pow.f64 (cos.f64 eps) 3)) (*.f64 1/6 (+.f64 (*.f64 2 (pow.f64 (cos.f64 eps) 3)) (*.f64 -1 (cos.f64 eps)))))))))
(+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 (cos.f64 eps) 2)) (*.f64 1/2 (pow.f64 (cos.f64 eps) 2))) (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 x 3) (+.f64 (*.f64 1/6 (pow.f64 (cos.f64 eps) 3)) (+.f64 (*.f64 -1/2 (pow.f64 (cos.f64 eps) 3)) (*.f64 1/6 (+.f64 (*.f64 2 (pow.f64 (cos.f64 eps) 3)) (*.f64 -1 (cos.f64 eps))))))) (*.f64 (+.f64 (*.f64 1/6 (*.f64 (cos.f64 eps) (+.f64 (*.f64 2 (pow.f64 (cos.f64 eps) 3)) (*.f64 -1 (cos.f64 eps))))) (+.f64 (*.f64 1/24 (+.f64 (*.f64 -6 (pow.f64 (cos.f64 eps) 4)) (*.f64 4 (pow.f64 (cos.f64 eps) 2)))) (+.f64 (*.f64 -1/4 (pow.f64 (cos.f64 eps) 4)) (+.f64 (*.f64 1/8 (pow.f64 (cos.f64 eps) 4)) (*.f64 1/24 (pow.f64 (cos.f64 eps) 4)))))) (pow.f64 x 4)))))
(*.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 (+.f64 1 (sin.f64 x)) (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 1/24 (+.f64 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))) (*.f64 -3 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2))))) (*.f64 1/8 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)))))) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 (+.f64 1 (sin.f64 x)) (*.f64 (pow.f64 eps 6) (+.f64 (*.f64 -1/48 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 1 (sin.f64 x)) 3))) (+.f64 (*.f64 1/720 (+.f64 (*.f64 -30 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 1 (sin.f64 x)) 3))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x)))) (*.f64 15 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)))))) (*.f64 -1/48 (/.f64 (*.f64 (sin.f64 x) (+.f64 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))) (*.f64 -3 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2))))) (+.f64 1 (sin.f64 x)))))))) (+.f64 (*.f64 (+.f64 1 (sin.f64 x)) (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 1/24 (+.f64 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))) (*.f64 -3 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2))))) (*.f64 1/8 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)))))) (+.f64 (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))
(*.f64 (cos.f64 eps) x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 x 2))) (*.f64 (cos.f64 eps) x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 x 2))) (+.f64 (*.f64 (cos.f64 eps) x) (*.f64 1/6 (*.f64 (+.f64 (*.f64 2 (pow.f64 (cos.f64 eps) 3)) (*.f64 -1 (cos.f64 eps))) (pow.f64 x 3)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 x 2))) (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 1/6 (*.f64 (+.f64 (*.f64 2 (pow.f64 (cos.f64 eps) 3)) (*.f64 -1 (cos.f64 eps))) (pow.f64 x 3))) (*.f64 1/24 (*.f64 (pow.f64 x 4) (+.f64 (*.f64 -6 (pow.f64 (cos.f64 eps) 4)) (*.f64 4 (pow.f64 (cos.f64 eps) 2))))))))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log.f64 (+.f64 1 (sin.f64 x)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 eps 2) (sin.f64 x)) (+.f64 1 (sin.f64 x)))) (log.f64 (+.f64 1 (sin.f64 x))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 eps 2) (sin.f64 x)) (+.f64 1 (sin.f64 x)))) (+.f64 (log.f64 (+.f64 1 (sin.f64 x))) (*.f64 1/24 (*.f64 (pow.f64 eps 4) (+.f64 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))) (*.f64 -3 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2))))))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 eps 2) (sin.f64 x)) (+.f64 1 (sin.f64 x)))) (+.f64 (log.f64 (+.f64 1 (sin.f64 x))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (+.f64 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))) (*.f64 -3 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)))))) (*.f64 1/720 (*.f64 (pow.f64 eps 6) (+.f64 (*.f64 -30 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 1 (sin.f64 x)) 3))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x)))) (*.f64 15 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2))))))))))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
Outputs
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 (cos.f64 eps) 2)) (+.f64 (*.f64 1/2 (pow.f64 (cos.f64 eps) 2)) (*.f64 -1/2 (sin.f64 eps)))) (pow.f64 x 2)) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(fma.f64 (+.f64 (*.f64 (pow.f64 (cos.f64 eps) 2) 0) (*.f64 (sin.f64 eps) -1/2)) (*.f64 x x) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(fma.f64 (+.f64 (*.f64 (sin.f64 eps) -1/2) 0) (*.f64 x x) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(fma.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 x x) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 (cos.f64 eps) 2)) (+.f64 (*.f64 1/2 (pow.f64 (cos.f64 eps) 2)) (*.f64 -1/2 (sin.f64 eps)))) (pow.f64 x 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 (cos.f64 eps) 3)) (+.f64 1/6 (+.f64 (*.f64 -1/2 (pow.f64 (cos.f64 eps) 3)) (*.f64 1/6 (+.f64 (*.f64 -1 (cos.f64 eps)) (*.f64 2 (pow.f64 (cos.f64 eps) 3))))))) (pow.f64 x 3)) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))))
(fma.f64 (+.f64 (*.f64 (pow.f64 (cos.f64 eps) 2) 0) (*.f64 (sin.f64 eps) -1/2)) (*.f64 x x) (fma.f64 (fma.f64 1/6 (pow.f64 (cos.f64 eps) 3) (+.f64 1/6 (fma.f64 -1/2 (pow.f64 (cos.f64 eps) 3) (*.f64 1/6 (fma.f64 2 (pow.f64 (cos.f64 eps) 3) (neg.f64 (cos.f64 eps))))))) (pow.f64 x 3) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps))))
(fma.f64 (+.f64 (*.f64 (sin.f64 eps) -1/2) 0) (*.f64 x x) (fma.f64 (+.f64 1/6 (+.f64 (+.f64 (*.f64 (cos.f64 eps) -1/6) (*.f64 (pow.f64 (cos.f64 eps) 3) 1/3)) (*.f64 (pow.f64 (cos.f64 eps) 3) -1/3))) (pow.f64 x 3) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps))))
(fma.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 x x) (fma.f64 (+.f64 (*.f64 (pow.f64 (cos.f64 eps) 3) 0) (+.f64 (*.f64 (cos.f64 eps) -1/6) 1/6)) (pow.f64 x 3) (fma.f64 (+.f64 (cos.f64 eps) -1) 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 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))
(fma.f64 eps (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps))))
(+.f64 (*.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)))))
(+.f64 (*.f64 (+.f64 1 (sin.f64 x)) (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 1/24 (+.f64 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))) (*.f64 -3 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2))))) (*.f64 1/8 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 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 (+.f64 1 (sin.f64 x)) (*.f64 (pow.f64 eps 4) (fma.f64 1/24 (+.f64 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))) (*.f64 -3 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)))) (*.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)) 1/8))) (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 (+.f64 1 (sin.f64 x)) (*.f64 (pow.f64 eps 4) (fma.f64 1/24 (fma.f64 -3 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)) (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x)))) (*.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)) 1/8))) (+.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 (*.f64 (+.f64 1 (sin.f64 x)) (pow.f64 eps 4)) (+.f64 (*.f64 1/24 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x)))) (*.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)) 0)) (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))))
(-.f64 (+.f64 (*.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))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (sin.f64 x))))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(*.f64 (cos.f64 eps) x)
(+.f64 (*.f64 (cos.f64 eps) x) (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 (cos.f64 eps) 2)) (*.f64 1/2 (pow.f64 (cos.f64 eps) 2))) (pow.f64 x 2)))
(fma.f64 (cos.f64 eps) x (*.f64 (*.f64 x x) (*.f64 (pow.f64 (cos.f64 eps) 2) 0)))
(fma.f64 (cos.f64 eps) x (*.f64 x (*.f64 x 0)))
(fma.f64 (cos.f64 eps) x 0)
(+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 (cos.f64 eps) 2)) (*.f64 1/2 (pow.f64 (cos.f64 eps) 2))) (pow.f64 x 2)) (*.f64 (pow.f64 x 3) (+.f64 (*.f64 1/6 (pow.f64 (cos.f64 eps) 3)) (+.f64 (*.f64 -1/2 (pow.f64 (cos.f64 eps) 3)) (*.f64 1/6 (+.f64 (*.f64 2 (pow.f64 (cos.f64 eps) 3)) (*.f64 -1 (cos.f64 eps)))))))))
(fma.f64 (cos.f64 eps) x (fma.f64 (*.f64 (pow.f64 (cos.f64 eps) 2) 0) (*.f64 x x) (*.f64 (pow.f64 x 3) (fma.f64 1/6 (pow.f64 (cos.f64 eps) 3) (fma.f64 -1/2 (pow.f64 (cos.f64 eps) 3) (*.f64 1/6 (fma.f64 2 (pow.f64 (cos.f64 eps) 3) (neg.f64 (cos.f64 eps)))))))))
(fma.f64 (cos.f64 eps) x (fma.f64 (pow.f64 x 3) (+.f64 (+.f64 (*.f64 (cos.f64 eps) -1/6) (*.f64 (pow.f64 (cos.f64 eps) 3) 1/3)) (*.f64 (pow.f64 (cos.f64 eps) 3) -1/3)) (*.f64 x (*.f64 x 0))))
(fma.f64 (cos.f64 eps) x (fma.f64 (pow.f64 x 3) (+.f64 (*.f64 (cos.f64 eps) -1/6) (*.f64 (pow.f64 (cos.f64 eps) 3) 0)) 0))
(+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 (cos.f64 eps) 2)) (*.f64 1/2 (pow.f64 (cos.f64 eps) 2))) (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 x 3) (+.f64 (*.f64 1/6 (pow.f64 (cos.f64 eps) 3)) (+.f64 (*.f64 -1/2 (pow.f64 (cos.f64 eps) 3)) (*.f64 1/6 (+.f64 (*.f64 2 (pow.f64 (cos.f64 eps) 3)) (*.f64 -1 (cos.f64 eps))))))) (*.f64 (+.f64 (*.f64 1/6 (*.f64 (cos.f64 eps) (+.f64 (*.f64 2 (pow.f64 (cos.f64 eps) 3)) (*.f64 -1 (cos.f64 eps))))) (+.f64 (*.f64 1/24 (+.f64 (*.f64 -6 (pow.f64 (cos.f64 eps) 4)) (*.f64 4 (pow.f64 (cos.f64 eps) 2)))) (+.f64 (*.f64 -1/4 (pow.f64 (cos.f64 eps) 4)) (+.f64 (*.f64 1/8 (pow.f64 (cos.f64 eps) 4)) (*.f64 1/24 (pow.f64 (cos.f64 eps) 4)))))) (pow.f64 x 4)))))
(fma.f64 (cos.f64 eps) x (fma.f64 (*.f64 (pow.f64 (cos.f64 eps) 2) 0) (*.f64 x x) (fma.f64 (pow.f64 x 3) (fma.f64 1/6 (pow.f64 (cos.f64 eps) 3) (fma.f64 -1/2 (pow.f64 (cos.f64 eps) 3) (*.f64 1/6 (fma.f64 2 (pow.f64 (cos.f64 eps) 3) (neg.f64 (cos.f64 eps)))))) (*.f64 (fma.f64 1/6 (*.f64 (cos.f64 eps) (fma.f64 2 (pow.f64 (cos.f64 eps) 3) (neg.f64 (cos.f64 eps)))) (fma.f64 1/24 (fma.f64 -6 (pow.f64 (cos.f64 eps) 4) (*.f64 (pow.f64 (cos.f64 eps) 2) 4)) (fma.f64 -1/4 (pow.f64 (cos.f64 eps) 4) (*.f64 (pow.f64 (cos.f64 eps) 4) 1/6)))) (pow.f64 x 4)))))
(fma.f64 (cos.f64 eps) x (fma.f64 (*.f64 x x) 0 (fma.f64 (pow.f64 x 3) (+.f64 (+.f64 (*.f64 (cos.f64 eps) -1/6) (*.f64 (pow.f64 (cos.f64 eps) 3) 1/3)) (*.f64 (pow.f64 (cos.f64 eps) 3) -1/3)) (*.f64 (fma.f64 1/6 (+.f64 (neg.f64 (pow.f64 (cos.f64 eps) 2)) (*.f64 2 (pow.f64 (cos.f64 eps) 4))) (fma.f64 1/24 (fma.f64 (pow.f64 (cos.f64 eps) 2) 4 (*.f64 -6 (pow.f64 (cos.f64 eps) 4))) (*.f64 (pow.f64 (cos.f64 eps) 4) -1/12))) (pow.f64 x 4)))))
(+.f64 (fma.f64 (cos.f64 eps) x 0) (fma.f64 (pow.f64 x 3) (+.f64 (*.f64 (cos.f64 eps) -1/6) (*.f64 (pow.f64 (cos.f64 eps) 3) 0)) (*.f64 (fma.f64 1/6 (-.f64 (*.f64 2 (pow.f64 (cos.f64 eps) 4)) (pow.f64 (cos.f64 eps) 2)) (+.f64 (*.f64 (pow.f64 (cos.f64 eps) 2) 1/6) (*.f64 (pow.f64 (cos.f64 eps) 4) -1/3))) (pow.f64 x 4))))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(sin.f64 x)
(+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (sin.f64 x))
(*.f64 (sin.f64 x) (+.f64 1 (*.f64 -1/2 (*.f64 eps eps))))
(+.f64 (*.f64 (+.f64 1 (sin.f64 x)) (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 1/24 (+.f64 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))) (*.f64 -3 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2))))) (*.f64 1/8 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)))))) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(fma.f64 (+.f64 1 (sin.f64 x)) (*.f64 (pow.f64 eps 4) (fma.f64 1/24 (+.f64 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))) (*.f64 -3 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)))) (*.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)) 1/8))) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))))
(fma.f64 (+.f64 1 (sin.f64 x)) (*.f64 (pow.f64 eps 4) (fma.f64 1/24 (fma.f64 -3 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)) (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x)))) (*.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)) 1/8))) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (sin.f64 x)))
(fma.f64 (*.f64 (+.f64 1 (sin.f64 x)) (pow.f64 eps 4)) (+.f64 (*.f64 1/24 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x)))) (*.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)) 0)) (*.f64 (sin.f64 x) (+.f64 1 (*.f64 -1/2 (*.f64 eps eps)))))
(+.f64 (*.f64 (+.f64 1 (sin.f64 x)) (*.f64 (pow.f64 eps 6) (+.f64 (*.f64 -1/48 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 1 (sin.f64 x)) 3))) (+.f64 (*.f64 1/720 (+.f64 (*.f64 -30 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 1 (sin.f64 x)) 3))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x)))) (*.f64 15 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)))))) (*.f64 -1/48 (/.f64 (*.f64 (sin.f64 x) (+.f64 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))) (*.f64 -3 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2))))) (+.f64 1 (sin.f64 x)))))))) (+.f64 (*.f64 (+.f64 1 (sin.f64 x)) (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 1/24 (+.f64 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))) (*.f64 -3 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2))))) (*.f64 1/8 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)))))) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(fma.f64 (+.f64 1 (sin.f64 x)) (*.f64 (pow.f64 eps 6) (fma.f64 -1/48 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 1 (sin.f64 x)) 3)) (fma.f64 1/720 (fma.f64 -30 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 1 (sin.f64 x)) 3)) (fma.f64 -1 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))) (*.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)) 15))) (*.f64 -1/48 (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (sin.f64 x)) (+.f64 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))) (*.f64 -3 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)))))))))) (fma.f64 (+.f64 1 (sin.f64 x)) (*.f64 (pow.f64 eps 4) (fma.f64 1/24 (+.f64 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))) (*.f64 -3 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)))) (*.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)) 1/8))) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (sin.f64 x)) (*.f64 (+.f64 1 (sin.f64 x)) (+.f64 (*.f64 (pow.f64 eps 6) (fma.f64 -1/48 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 1 (sin.f64 x)) 3)) (fma.f64 1/720 (fma.f64 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 1 (sin.f64 x)) 3)) -30 (-.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)) 15) (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))))) (*.f64 -1/48 (*.f64 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))) (fma.f64 -3 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)) (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))))))))) (*.f64 (pow.f64 eps 4) (fma.f64 1/24 (fma.f64 -3 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)) (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x)))) (*.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)) 1/8))))))
(+.f64 (*.f64 (sin.f64 x) (+.f64 1 (*.f64 -1/2 (*.f64 eps eps)))) (*.f64 (+.f64 1 (sin.f64 x)) (+.f64 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 1/24 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x)))) (*.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)) 0))) (*.f64 (pow.f64 eps 6) (+.f64 (*.f64 (pow.f64 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))) 3) -1/16) (+.f64 (*.f64 -1/48 (*.f64 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))) (fma.f64 -3 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)) (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x)))))) (+.f64 (/.f64 1/48 (/.f64 (pow.f64 (+.f64 1 (sin.f64 x)) 2) (pow.f64 (sin.f64 x) 2))) (/.f64 -1/720 (/.f64 (+.f64 1 (sin.f64 x)) (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))
(*.f64 (cos.f64 eps) x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 x 2))) (*.f64 (cos.f64 eps) x))
(fma.f64 -1/2 (*.f64 (pow.f64 (cos.f64 eps) 2) (*.f64 x x)) (*.f64 (cos.f64 eps) x))
(fma.f64 -1/2 (*.f64 (*.f64 (pow.f64 (cos.f64 eps) 2) x) x) (*.f64 (cos.f64 eps) x))
(*.f64 x (+.f64 (cos.f64 eps) (*.f64 x (*.f64 -1/2 (pow.f64 (cos.f64 eps) 2)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 x 2))) (+.f64 (*.f64 (cos.f64 eps) x) (*.f64 1/6 (*.f64 (+.f64 (*.f64 2 (pow.f64 (cos.f64 eps) 3)) (*.f64 -1 (cos.f64 eps))) (pow.f64 x 3)))))
(fma.f64 -1/2 (*.f64 (pow.f64 (cos.f64 eps) 2) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (*.f64 1/6 (*.f64 (pow.f64 x 3) (fma.f64 2 (pow.f64 (cos.f64 eps) 3) (neg.f64 (cos.f64 eps)))))))
(fma.f64 -1/2 (*.f64 (*.f64 (pow.f64 (cos.f64 eps) 2) x) x) (fma.f64 (+.f64 (*.f64 (cos.f64 eps) -1/6) (*.f64 (pow.f64 (cos.f64 eps) 3) 1/3)) (pow.f64 x 3) (*.f64 (cos.f64 eps) x)))
(fma.f64 -1/2 (*.f64 x (*.f64 x (pow.f64 (cos.f64 eps) 2))) (fma.f64 (+.f64 (*.f64 (cos.f64 eps) -1/6) (*.f64 (pow.f64 (cos.f64 eps) 3) 1/3)) (pow.f64 x 3) (*.f64 (cos.f64 eps) x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 x 2))) (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 1/6 (*.f64 (+.f64 (*.f64 2 (pow.f64 (cos.f64 eps) 3)) (*.f64 -1 (cos.f64 eps))) (pow.f64 x 3))) (*.f64 1/24 (*.f64 (pow.f64 x 4) (+.f64 (*.f64 -6 (pow.f64 (cos.f64 eps) 4)) (*.f64 4 (pow.f64 (cos.f64 eps) 2))))))))
(fma.f64 -1/2 (*.f64 (pow.f64 (cos.f64 eps) 2) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (fma.f64 1/6 (*.f64 (pow.f64 x 3) (fma.f64 2 (pow.f64 (cos.f64 eps) 3) (neg.f64 (cos.f64 eps)))) (*.f64 (*.f64 1/24 (pow.f64 x 4)) (fma.f64 -6 (pow.f64 (cos.f64 eps) 4) (*.f64 (pow.f64 (cos.f64 eps) 2) 4))))))
(fma.f64 -1/2 (*.f64 (*.f64 (pow.f64 (cos.f64 eps) 2) x) x) (fma.f64 (cos.f64 eps) x (fma.f64 1/6 (*.f64 (pow.f64 x 3) (-.f64 (*.f64 2 (pow.f64 (cos.f64 eps) 3)) (cos.f64 eps))) (*.f64 (+.f64 (*.f64 (pow.f64 (cos.f64 eps) 4) -1/4) (*.f64 (pow.f64 (cos.f64 eps) 2) 1/6)) (pow.f64 x 4)))))
(fma.f64 -1/2 (*.f64 x (*.f64 x (pow.f64 (cos.f64 eps) 2))) (fma.f64 (cos.f64 eps) x (fma.f64 1/6 (*.f64 (pow.f64 x 3) (-.f64 (*.f64 2 (pow.f64 (cos.f64 eps) 3)) (cos.f64 eps))) (*.f64 (*.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 1/6 (*.f64 (pow.f64 (cos.f64 eps) 2) -1/4))) (pow.f64 x 4)))))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log1p.f64 (*.f64 (cos.f64 eps) (sin.f64 x)))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log1p.f64 (*.f64 (cos.f64 eps) (sin.f64 x)))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log1p.f64 (*.f64 (cos.f64 eps) (sin.f64 x)))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log1p.f64 (*.f64 (cos.f64 eps) (sin.f64 x)))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log1p.f64 (*.f64 (cos.f64 eps) (sin.f64 x)))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log1p.f64 (*.f64 (cos.f64 eps) (sin.f64 x)))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log1p.f64 (*.f64 (cos.f64 eps) (sin.f64 x)))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log1p.f64 (*.f64 (cos.f64 eps) (sin.f64 x)))
(log.f64 (+.f64 1 (sin.f64 x)))
(log1p.f64 (sin.f64 x))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 eps 2) (sin.f64 x)) (+.f64 1 (sin.f64 x)))) (log.f64 (+.f64 1 (sin.f64 x))))
(fma.f64 -1/2 (/.f64 (*.f64 (sin.f64 x) (*.f64 eps eps)) (+.f64 1 (sin.f64 x))) (log1p.f64 (sin.f64 x)))
(fma.f64 -1/2 (/.f64 (*.f64 eps (*.f64 eps (sin.f64 x))) (+.f64 1 (sin.f64 x))) (log1p.f64 (sin.f64 x)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 eps 2) (sin.f64 x)) (+.f64 1 (sin.f64 x)))) (+.f64 (log.f64 (+.f64 1 (sin.f64 x))) (*.f64 1/24 (*.f64 (pow.f64 eps 4) (+.f64 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))) (*.f64 -3 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2))))))))
(+.f64 (fma.f64 -1/2 (/.f64 (*.f64 (sin.f64 x) (*.f64 eps eps)) (+.f64 1 (sin.f64 x))) (log1p.f64 (sin.f64 x))) (*.f64 1/24 (*.f64 (pow.f64 eps 4) (+.f64 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))) (*.f64 -3 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)))))))
(fma.f64 -1/2 (/.f64 (*.f64 eps (*.f64 eps (sin.f64 x))) (+.f64 1 (sin.f64 x))) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (fma.f64 -3 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)) (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))))) (log1p.f64 (sin.f64 x))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 eps 2) (sin.f64 x)) (+.f64 1 (sin.f64 x)))) (+.f64 (log.f64 (+.f64 1 (sin.f64 x))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (+.f64 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))) (*.f64 -3 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)))))) (*.f64 1/720 (*.f64 (pow.f64 eps 6) (+.f64 (*.f64 -30 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 1 (sin.f64 x)) 3))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x)))) (*.f64 15 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2))))))))))
(+.f64 (fma.f64 -1/2 (/.f64 (*.f64 (sin.f64 x) (*.f64 eps eps)) (+.f64 1 (sin.f64 x))) (log1p.f64 (sin.f64 x))) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (+.f64 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))) (*.f64 -3 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2))))) (*.f64 1/720 (*.f64 (pow.f64 eps 6) (fma.f64 -30 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 1 (sin.f64 x)) 3)) (fma.f64 -1 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))) (*.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)) 15)))))))
(+.f64 (fma.f64 -1/2 (/.f64 (*.f64 eps (*.f64 eps (sin.f64 x))) (+.f64 1 (sin.f64 x))) (log1p.f64 (sin.f64 x))) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (fma.f64 -3 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)) (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))))) (*.f64 (fma.f64 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 1 (sin.f64 x)) 3)) -30 (-.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)) 15) (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))))) (*.f64 (pow.f64 eps 6) 1/720))))
(+.f64 (fma.f64 -1/2 (/.f64 (*.f64 eps (*.f64 eps (sin.f64 x))) (+.f64 1 (sin.f64 x))) (log1p.f64 (sin.f64 x))) (fma.f64 1/720 (*.f64 (pow.f64 eps 6) (fma.f64 (pow.f64 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))) 3) -30 (-.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (+.f64 1 (sin.f64 x)) 2)) 15) (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x)))))) (*.f64 (pow.f64 eps 4) (fma.f64 1/24 (/.f64 (sin.f64 x) (+.f64 1 (sin.f64 x))) (/.f64 -1/8 (/.f64 (pow.f64 (+.f64 1 (sin.f64 x)) 2) (pow.f64 (sin.f64 x) 2)))))))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log1p.f64 (*.f64 (cos.f64 eps) (sin.f64 x)))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log1p.f64 (*.f64 (cos.f64 eps) (sin.f64 x)))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log1p.f64 (*.f64 (cos.f64 eps) (sin.f64 x)))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log1p.f64 (*.f64 (cos.f64 eps) (sin.f64 x)))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log1p.f64 (*.f64 (cos.f64 eps) (sin.f64 x)))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log1p.f64 (*.f64 (cos.f64 eps) (sin.f64 x)))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log1p.f64 (*.f64 (cos.f64 eps) (sin.f64 x)))
(log.f64 (+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x))))
(log1p.f64 (*.f64 (cos.f64 eps) (sin.f64 x)))

eval865.0ms (5.9%)

Compiler

Compiled 23412 to 9109 computations (61.1% saved)

prune269.0ms (1.8%)

Pruning

66 alts after pruning (62 fresh and 4 done)

PrunedKeptTotal
New1041301071
Fresh303262
Picked101
Done347
Total1075661141
Error
0.0b
Counts
1141 → 66
Alt Table
Click to see full alt table
StatusErrorProgram
33.4b
(+.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)))))
45.2b
(log.f64 (exp.f64 (sin.f64 eps)))
0.5b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (log.f64 (exp.f64 (sin.f64 x)))))
29.0b
(+.f64 (+.f64 1 (*.f64 (sin.f64 x) (cos.f64 eps))) (+.f64 -1 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))))
33.3b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3)
28.8b
(log.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))
37.8b
(*.f64 1/3 (*.f64 3 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
20.7b
(+.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) (*.f64 (sin.f64 x) (cos.f64 eps)))
61.0b
(-.f64 (sin.f64 x) (fabs.f64 (sin.f64 x)))
52.1b
(pow.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/3) 3)
0.6b
(fma.f64 (sin.f64 eps) (cos.f64 x) (pow.f64 (cbrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) 3))
21.2b
(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)))
0.4b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
37.8b
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
0.5b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log.f64 (exp.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x)))
17.1b
(fma.f64 (*.f64 (sin.f64 eps) (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
31.7b
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
39.0b
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x))
37.9b
(*.f64 3 (*.f64 1/3 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
37.9b
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))) 3)
21.3b
(-.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (sin.f64 x) (cos.f64 eps))) -1) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
39.0b
(-.f64 (sin.f64 (+.f64 x eps)) x)
29.0b
(fma.f64 (+.f64 1 (*.f64 (sin.f64 x) (cos.f64 eps))) 1 (neg.f64 (+.f64 (-.f64 1 (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))))
39.4b
(-.f64 (sin.f64 (+.f64 x eps)) (fabs.f64 x))
30.2b
(sin.f64 eps)
46.3b
eps
37.4b
(-.f64 (sin.f64 eps) (sin.f64 x))
60.7b
(log.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)))
33.4b
(+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
25.0b
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3) (pow.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) 3)) (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2) (-.f64 (*.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) (*.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))))))
0.5b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x)))
53.3b
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2))
38.2b
(-.f64 (sin.f64 (+.f64 x eps)) (cbrt.f64 (pow.f64 (sin.f64 x) 3)))
45.9b
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
20.8b
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (log1p.f64 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))) (sin.f64 x))
49.1b
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2)
50.8b
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x))
0.4b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 -1 (cos.f64 eps))) (sin.f64 x)))
20.7b
(fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
36.0b
(-.f64 (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
38.1b
(-.f64 (sin.f64 eps) (fabs.f64 (sin.f64 x)))
1.5b
(fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)) (cbrt.f64 (sin.f64 eps)) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
37.7b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
0.5b
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))
33.0b
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2))))
51.5b
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))
31.0b
(pow.f64 (cbrt.f64 (sin.f64 eps)) 3)
32.7b
(*.f64 (cos.f64 x) eps)
19.1b
(cbrt.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 3))
37.7b
(-.f64 (sin.f64 (+.f64 x eps)) (log1p.f64 (expm1.f64 (sin.f64 x))))
20.7b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
38.3b
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x))
38.1b
(-.f64 (sin.f64 (+.f64 x eps)) (log.f64 (exp.f64 (sin.f64 x))))
60.9b
(-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1)
0.8b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (sin.f64 eps)) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
38.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)
45.0b
(log.f64 (exp.f64 (-.f64 (sin.f64 eps) (sin.f64 x))))
37.7b
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
0.5b
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
20.7b
(fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
0.5b
(fma.f64 (sin.f64 eps) (cos.f64 x) (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) -1)))
0.5b
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))
34.0b
(fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (sin.f64 eps))) (sqrt.f64 (sin.f64 eps)) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))
37.7b
(-.f64 (sin.f64 (+.f64 x eps)) (pow.f64 (cbrt.f64 (sin.f64 x)) 3))
38.6b
(-.f64 (sin.f64 (+.f64 x eps)) (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 x x))))))
61.3b
(log.f64 1)
Compiler

Compiled 1828 to 1238 computations (32.3% saved)

localize63.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 -1 (cos.f64 eps))) (sin.f64 x)))
0.2b
(*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 -1 (cos.f64 eps))) (sin.f64 x))
0.3b
(pow.f64 (sin.f64 eps) 2)
0.5b
(-.f64 -1 (cos.f64 eps))
Compiler

Compiled 60 to 30 computations (50% saved)

series12.0ms (0.1%)

Counts
4 → 64
Calls

18 calls:

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

rewrite123.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
678×log-prod_binary64
450×prod-diff_binary64
373×pow2_binary64
261×pow1/3_binary64
256×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify79.0ms (0.5%)

Algorithm
egg-herbie
Rules
591×fma-def_binary64
416×associate-*r*_binary64
416×distribute-rgt-out_binary64
397×associate-*l*_binary64
331×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01371623
14041569
211461497
347971440
Stop Event
node limit
Counts
210 → 199
Calls
Call 1
Inputs
-2
(-.f64 (*.f64 1/2 (pow.f64 eps 2)) 2)
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 eps 2)) (*.f64 -1/24 (pow.f64 eps 4))) 2)
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/24 (pow.f64 eps 4)) (*.f64 1/720 (pow.f64 eps 6)))) 2)
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(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 (*.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 (cos.f64 eps) 1)))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 (cos.f64 eps) 1))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 (cos.f64 eps) 1))))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 (cos.f64 eps) 1))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 (cos.f64 eps) 1))) (*.f64 -1/120 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 5)) (+.f64 (cos.f64 eps) 1)))))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 (cos.f64 eps) 1))) (+.f64 (*.f64 1/5040 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 7)) (+.f64 (cos.f64 eps) 1))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 (cos.f64 eps) 1))) (*.f64 -1/120 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 5)) (+.f64 (cos.f64 eps) 1))))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.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 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (*.f64 -1 (*.f64 (pow.f64 eps 4) (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x))))))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(sin.f64 eps)
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps)))) (sin.f64 eps))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (sin.f64 eps)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 1 (cos.f64 eps)))) (sin.f64 eps))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.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 (*.f64 1/2 (pow.f64 eps 2)) (*.f64 -1/24 (pow.f64 eps 4))) 2)
(+.f64 (fma.f64 1/2 (*.f64 eps eps) (*.f64 -1/24 (pow.f64 eps 4))) -2)
(fma.f64 1/2 (*.f64 eps eps) (fma.f64 -1/24 (pow.f64 eps 4) -2))
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/24 (pow.f64 eps 4)) (*.f64 1/720 (pow.f64 eps 6)))) 2)
(+.f64 (fma.f64 1/2 (*.f64 eps eps) (fma.f64 -1/24 (pow.f64 eps 4) (*.f64 1/720 (pow.f64 eps 6)))) -2)
(+.f64 (fma.f64 -1/24 (pow.f64 eps 4) (*.f64 1/720 (pow.f64 eps 6))) (fma.f64 1/2 (*.f64 eps eps) -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)))
(fma.f64 1/2 (*.f64 eps eps) (fma.f64 1/720 (pow.f64 eps 6) (fma.f64 -1/24 (pow.f64 eps 4) -2)))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(neg.f64 (+.f64 (cos.f64 eps) 1))
(fma.f64 -1 (cos.f64 eps) -1)
(-.f64 -1 (cos.f64 eps))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(neg.f64 (+.f64 (cos.f64 eps) 1))
(fma.f64 -1 (cos.f64 eps) -1)
(-.f64 -1 (cos.f64 eps))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(neg.f64 (+.f64 (cos.f64 eps) 1))
(fma.f64 -1 (cos.f64 eps) -1)
(-.f64 -1 (cos.f64 eps))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(neg.f64 (+.f64 (cos.f64 eps) 1))
(fma.f64 -1 (cos.f64 eps) -1)
(-.f64 -1 (cos.f64 eps))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(neg.f64 (+.f64 (cos.f64 eps) 1))
(fma.f64 -1 (cos.f64 eps) -1)
(-.f64 -1 (cos.f64 eps))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(neg.f64 (+.f64 (cos.f64 eps) 1))
(fma.f64 -1 (cos.f64 eps) -1)
(-.f64 -1 (cos.f64 eps))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(neg.f64 (+.f64 (cos.f64 eps) 1))
(fma.f64 -1 (cos.f64 eps) -1)
(-.f64 -1 (cos.f64 eps))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(neg.f64 (+.f64 (cos.f64 eps) 1))
(fma.f64 -1 (cos.f64 eps) -1)
(-.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)))
(+.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 6) 2/45 (fma.f64 (pow.f64 eps 4) -1/3 (*.f64 -1/315 (pow.f64 eps 8)))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))
(*.f64 (*.f64 eps eps) (*.f64 -1/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))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (neg.f64 (*.f64 (pow.f64 eps 4) (*.f64 (sin.f64 x) -1/24))))
(-.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (*.f64 (pow.f64 eps 4) (*.f64 -1/24 (sin.f64 x))))
(*.f64 (sin.f64 x) (-.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 -1/24 (pow.f64 eps 4))))
(*.f64 (sin.f64 x) (+.f64 (*.f64 (*.f64 eps eps) -1/2) (*.f64 (pow.f64 eps 4) 1/24)))
(+.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/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (neg.f64 (*.f64 (pow.f64 eps 4) (*.f64 (sin.f64 x) -1/24)))))
(-.f64 (-.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (*.f64 (pow.f64 eps 4) (*.f64 -1/24 (sin.f64 x)))) (*.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 eps (*.f64 eps -1/2)) (*.f64 -1/24 (pow.f64 eps 4)))) (*.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) (+.f64 (*.f64 (*.f64 eps eps) -1/2) (*.f64 (pow.f64 eps 4) 1/24))))
(+.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/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (neg.f64 (*.f64 (pow.f64 eps 4) (*.f64 (sin.f64 x) -1/24))))))
(-.f64 (-.f64 (-.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (*.f64 (pow.f64 eps 4) (*.f64 -1/24 (sin.f64 x)))) (*.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 eps (*.f64 eps -1/2)) (*.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/630) (fma.f64 -1/4 (*.f64 (sin.f64 x) 1/720) (*.f64 (sin.f64 x) -7/5760))))))
(fma.f64 (pow.f64 eps 8) (+.f64 (fma.f64 -1/4 (*.f64 (sin.f64 x) 1/720) (*.f64 (sin.f64 x) -1/2880)) (*.f64 (sin.f64 x) 29/40320)) (fma.f64 (pow.f64 eps 6) (*.f64 (sin.f64 x) -1/720) (*.f64 (sin.f64 x) (+.f64 (*.f64 (*.f64 eps eps) -1/2) (*.f64 (pow.f64 eps 4) 1/24)))))
(*.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 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 (cos.f64 eps) 1)))
(*.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 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 (cos.f64 eps) 1)))
(*.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 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 (cos.f64 eps) 1)))
(*.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 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 (cos.f64 eps) 1)))
(*.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 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 (cos.f64 eps) 1)))
(*.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 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 (cos.f64 eps) 1)))
(*.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 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 (cos.f64 eps) 1)))
(*.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 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 (cos.f64 eps) 1)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 (cos.f64 eps) 1)))
(neg.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) x)))
(/.f64 (neg.f64 (*.f64 x (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (neg.f64 x))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 (cos.f64 eps) 1))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 (cos.f64 eps) 1))))
(fma.f64 1/6 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (neg.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) x))))
(-.f64 (*.f64 1/6 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (pow.f64 x 3))) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) x))
(-.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)))) (*.f64 (/.f64 x (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (/.f64 1/6 (+.f64 (cos.f64 eps) 1)) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3))) (*.f64 (/.f64 x (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 (cos.f64 eps) 1))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 (cos.f64 eps) 1))) (*.f64 -1/120 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 5)) (+.f64 (cos.f64 eps) 1)))))
(fma.f64 1/6 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) x)) (*.f64 -1/120 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 5))))))
(fma.f64 1/6 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (pow.f64 x 3)) (-.f64 (*.f64 -1/120 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (pow.f64 x 5))) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) x)))
(-.f64 (fma.f64 1/6 (*.f64 (pow.f64 x 3) (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1))) (*.f64 -1/120 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 5))))) (*.f64 (/.f64 x (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (fma.f64 -1/120 (*.f64 (/.f64 (pow.f64 x 5) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)) (*.f64 (/.f64 1/6 (+.f64 (cos.f64 eps) 1)) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)))) (*.f64 (/.f64 x (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 (cos.f64 eps) 1))) (+.f64 (*.f64 1/5040 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 7)) (+.f64 (cos.f64 eps) 1))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 (cos.f64 eps) 1))) (*.f64 -1/120 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 5)) (+.f64 (cos.f64 eps) 1))))))
(fma.f64 1/6 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (fma.f64 1/5040 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 7))) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) x)) (*.f64 -1/120 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 5)))))))
(fma.f64 1/6 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (pow.f64 x 3)) (fma.f64 1/5040 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (pow.f64 x 7)) (-.f64 (*.f64 -1/120 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (pow.f64 x 5))) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) x))))
(fma.f64 1/6 (*.f64 (pow.f64 x 3) (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1))) (-.f64 (fma.f64 -1/120 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 5))) (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 7)) 1/5040))) (*.f64 (/.f64 x (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2))))
(fma.f64 1/6 (*.f64 (pow.f64 x 3) (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1))) (fma.f64 -1/120 (*.f64 (/.f64 (pow.f64 x 5) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)) (-.f64 (*.f64 (/.f64 1/5040 (+.f64 (cos.f64 eps) 1)) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 7))) (*.f64 (/.f64 x (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 (cos.f64 eps) 1)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 (cos.f64 eps) 1)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 (cos.f64 eps) 1)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 (cos.f64 eps) 1)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 (cos.f64 eps) 1)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 (cos.f64 eps) 1)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 (cos.f64 eps) 1)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(/.f64 (neg.f64 (sin.f64 x)) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.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 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))
(fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 -1/2 (sin.f64 x))))
(*.f64 eps (+.f64 (*.f64 (sin.f64 x) (*.f64 eps -1/2)) (cos.f64 x)))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))))
(+.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 (sin.f64 x)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (*.f64 -1 (*.f64 (pow.f64 eps 4) (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x))))))))
(fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (neg.f64 (*.f64 (pow.f64 eps 4) (*.f64 (sin.f64 x) -1/24))))))
(+.f64 (-.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (*.f64 (pow.f64 eps 4) (*.f64 -1/24 (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 (*.f64 eps eps) -1/2) (*.f64 (pow.f64 eps 4) 1/24))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(sin.f64 eps)
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps)))) (sin.f64 eps))
(fma.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) x)) (sin.f64 eps))
(-.f64 (sin.f64 eps) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) x))
(-.f64 (sin.f64 eps) (*.f64 (/.f64 x (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (sin.f64 eps)))
(fma.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) x)) (fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (sin.f64 eps)))
(-.f64 (fma.f64 (*.f64 -1/2 (*.f64 x x)) (sin.f64 eps) (sin.f64 eps)) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) x))
(-.f64 (*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1)) (*.f64 (/.f64 x (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(*.f64 (sin.f64 eps) (-.f64 (fma.f64 -1/2 (*.f64 x x) 1) (/.f64 x (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 1 (cos.f64 eps)))) (sin.f64 eps))))
(fma.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) x)) (fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 1/6 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (sin.f64 eps))))
(-.f64 (fma.f64 -1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (fma.f64 1/6 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (pow.f64 x 3)) (sin.f64 eps))) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) x))
(-.f64 (fma.f64 1/6 (*.f64 (pow.f64 x 3) (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1))) (*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1))) (*.f64 (/.f64 x (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(+.f64 (*.f64 (/.f64 1/6 (+.f64 (cos.f64 eps) 1)) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3))) (*.f64 (sin.f64 eps) (-.f64 (fma.f64 -1/2 (*.f64 x x) 1) (/.f64 x (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps))))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))

localize4.0ms (0%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 24 to 10 computations (58.3% saved)

series5.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite52.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
620×pow1_binary64
572×add-log-exp_binary64
572×log1p-expm1-u_binary64
572×expm1-log1p-u_binary64
556×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify101.0ms (0.7%)

Algorithm
egg-herbie
Rules
876×fma-neg_binary64
796×unswap-sqr_binary64
365×*-commutative_binary64
340×distribute-rgt-out_binary64
327×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
051534
1130527
2371511
31640506
44292499
Stop Event
node limit
Counts
101 → 73
Calls
Call 1
Inputs
eps
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))
(+.f64 (*.f64 -1/720 (*.f64 eps (pow.f64 x 6))) (+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))))
(*.f64 (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))
(*.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 -1 (*.f64 eps (cos.f64 x)))
(*.f64 -1 (*.f64 eps (cos.f64 x)))
(*.f64 -1 (*.f64 eps (cos.f64 x)))
(*.f64 -1 (*.f64 eps (cos.f64 x)))
(pow.f64 eps 2)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (pow.f64 x 2))) (pow.f64 eps 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (pow.f64 x 2))) (+.f64 (*.f64 (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2))) (pow.f64 x 4)) (pow.f64 eps 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (pow.f64 x 2))) (+.f64 (*.f64 (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2))) (pow.f64 x 4)) (+.f64 (pow.f64 eps 2) (*.f64 (+.f64 (*.f64 -1/24 (pow.f64 eps 2)) (*.f64 -1/360 (pow.f64 eps 2))) (pow.f64 x 6)))))
(*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2))
(*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2))
(*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2))
(*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2))
(*.f64 (pow.f64 eps 2) (pow.f64 (cos.f64 x) 2))
(*.f64 (pow.f64 eps 2) (pow.f64 (cos.f64 x) 2))
(*.f64 (pow.f64 eps 2) (pow.f64 (cos.f64 x) 2))
(*.f64 (pow.f64 eps 2) (pow.f64 (cos.f64 x) 2))
(*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2))
(*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2))
(*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2))
(*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2))
(*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2))
(*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2))
(*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2))
(*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2))
(*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2))
(*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2))
(*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2))
(*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2))
Outputs
eps
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(+.f64 eps (*.f64 -1/2 (*.f64 eps (*.f64 x x))))
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps)
(fma.f64 eps (*.f64 -1/2 (*.f64 x x)) eps)
(fma.f64 (*.f64 -1/2 (*.f64 eps x)) x 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 (fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps) (*.f64 (pow.f64 x 4) (*.f64 eps 1/24)))
(fma.f64 eps (*.f64 1/24 (pow.f64 x 4)) (fma.f64 eps (*.f64 -1/2 (*.f64 x x)) eps))
(fma.f64 (pow.f64 x 4) (*.f64 eps 1/24) (fma.f64 (*.f64 -1/2 (*.f64 eps x)) x 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 (pow.f64 x 4) (*.f64 eps 1/24))) (fma.f64 (*.f64 eps -1/720) (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 (pow.f64 x 4) (*.f64 eps 1/24) (fma.f64 (*.f64 -1/2 (*.f64 eps x)) x eps)))
(+.f64 eps (*.f64 eps (+.f64 (+.f64 (*.f64 1/24 (pow.f64 x 4)) (*.f64 -1/2 (*.f64 x x))) (*.f64 -1/720 (pow.f64 x 6)))))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.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)
(*.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 -1 (*.f64 eps (cos.f64 x)))
(neg.f64 (*.f64 eps (cos.f64 x)))
(*.f64 eps (neg.f64 (cos.f64 x)))
(*.f64 -1 (*.f64 eps (cos.f64 x)))
(neg.f64 (*.f64 eps (cos.f64 x)))
(*.f64 eps (neg.f64 (cos.f64 x)))
(*.f64 -1 (*.f64 eps (cos.f64 x)))
(neg.f64 (*.f64 eps (cos.f64 x)))
(*.f64 eps (neg.f64 (cos.f64 x)))
(*.f64 -1 (*.f64 eps (cos.f64 x)))
(neg.f64 (*.f64 eps (cos.f64 x)))
(*.f64 eps (neg.f64 (cos.f64 x)))
(pow.f64 eps 2)
(*.f64 eps eps)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (pow.f64 x 2))) (pow.f64 eps 2))
(fma.f64 -1 (*.f64 (*.f64 x x) (*.f64 eps eps)) (*.f64 eps eps))
(-.f64 (*.f64 eps eps) (*.f64 x (*.f64 x (*.f64 eps eps))))
(*.f64 eps (-.f64 eps (*.f64 eps (*.f64 x x))))
(neg.f64 (*.f64 (*.f64 eps eps) (fma.f64 x x -1)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (pow.f64 x 2))) (+.f64 (*.f64 (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2))) (pow.f64 x 4)) (pow.f64 eps 2)))
(fma.f64 -1 (*.f64 (*.f64 x x) (*.f64 eps eps)) (fma.f64 (*.f64 (*.f64 eps eps) 1/3) (pow.f64 x 4) (*.f64 eps eps)))
(-.f64 (fma.f64 (pow.f64 x 4) (*.f64 eps (*.f64 eps 1/3)) (*.f64 eps eps)) (*.f64 x (*.f64 x (*.f64 eps eps))))
(fma.f64 eps eps (*.f64 (*.f64 eps eps) (+.f64 (*.f64 x (neg.f64 x)) (*.f64 (pow.f64 x 4) 1/3))))
(fma.f64 eps eps (*.f64 (*.f64 eps eps) (-.f64 (*.f64 (pow.f64 x 4) 1/3) (*.f64 x x))))
(*.f64 eps (-.f64 eps (*.f64 eps (fma.f64 x x (*.f64 (pow.f64 x 4) -1/3)))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (pow.f64 x 2))) (+.f64 (*.f64 (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2))) (pow.f64 x 4)) (+.f64 (pow.f64 eps 2) (*.f64 (+.f64 (*.f64 -1/24 (pow.f64 eps 2)) (*.f64 -1/360 (pow.f64 eps 2))) (pow.f64 x 6)))))
(fma.f64 -1 (*.f64 (*.f64 x x) (*.f64 eps eps)) (+.f64 (fma.f64 (*.f64 (*.f64 eps eps) 1/3) (pow.f64 x 4) (*.f64 eps eps)) (*.f64 (pow.f64 x 6) (*.f64 (*.f64 eps eps) -2/45))))
(-.f64 (fma.f64 (pow.f64 x 4) (*.f64 eps (*.f64 eps 1/3)) (fma.f64 eps eps (*.f64 (pow.f64 x 6) (*.f64 (*.f64 eps eps) -2/45)))) (*.f64 x (*.f64 x (*.f64 eps eps))))
(+.f64 (*.f64 eps (-.f64 eps (*.f64 eps (*.f64 x x)))) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 (pow.f64 x 6) -2/45) (*.f64 (pow.f64 x 4) 1/3))))
(+.f64 (*.f64 eps eps) (*.f64 (*.f64 eps eps) (-.f64 (+.f64 (*.f64 (pow.f64 x 6) -2/45) (*.f64 (pow.f64 x 4) 1/3)) (*.f64 x x))))
(fma.f64 eps eps (*.f64 (*.f64 eps eps) (-.f64 (*.f64 (pow.f64 x 4) 1/3) (fma.f64 x x (*.f64 (pow.f64 x 6) 2/45)))))
(*.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 (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 (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 (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 (pow.f64 eps 2) (pow.f64 (cos.f64 x) 2))
(*.f64 (*.f64 eps eps) (pow.f64 (cos.f64 x) 2))
(*.f64 eps (*.f64 eps (pow.f64 (cos.f64 x) 2)))
(*.f64 (pow.f64 eps 2) (pow.f64 (cos.f64 x) 2))
(*.f64 (*.f64 eps eps) (pow.f64 (cos.f64 x) 2))
(*.f64 eps (*.f64 eps (pow.f64 (cos.f64 x) 2)))
(*.f64 (pow.f64 eps 2) (pow.f64 (cos.f64 x) 2))
(*.f64 (*.f64 eps eps) (pow.f64 (cos.f64 x) 2))
(*.f64 eps (*.f64 eps (pow.f64 (cos.f64 x) 2)))
(*.f64 (pow.f64 eps 2) (pow.f64 (cos.f64 x) 2))
(*.f64 (*.f64 eps eps) (pow.f64 (cos.f64 x) 2))
(*.f64 eps (*.f64 eps (pow.f64 (cos.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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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)))

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (sin.f64 x) 3)
1.6b
(-.f64 (sin.f64 (+.f64 x eps)) (cbrt.f64 (pow.f64 (sin.f64 x) 3)))
2.5b
(sin.f64 (+.f64 x eps))
19.7b
(cbrt.f64 (pow.f64 (sin.f64 x) 3))
Compiler

Compiled 33 to 15 computations (54.5% saved)

series4.0ms (0%)

Counts
3 → 40
Calls

12 calls:

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

rewrite99.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
477×log-prod_binary64
445×fma-def_binary64
325×pow-prod-down_binary64
283×pow2_binary64
196×pow-to-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify110.0ms (0.8%)

Algorithm
egg-herbie
Rules
818×fma-neg_binary64
460×neg-sub0_binary64
422×neg-mul-1_binary64
356×fma-def_binary64
319×*-commutative_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
080476
1220474
2537467
32037466
45604460
Stop Event
node limit
Counts
206 → 199
Calls
Call 1
Inputs
x
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x))
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1/5040 (pow.f64 x 7)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x)))
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(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 (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 x 3)
(+.f64 (*.f64 -1/2 (pow.f64 x 5)) (pow.f64 x 3))
(+.f64 (*.f64 13/120 (pow.f64 x 7)) (+.f64 (*.f64 -1/2 (pow.f64 x 5)) (pow.f64 x 3)))
(+.f64 (*.f64 13/120 (pow.f64 x 7)) (+.f64 (*.f64 -41/3024 (pow.f64 x 9)) (+.f64 (*.f64 -1/2 (pow.f64 x 5)) (pow.f64 x 3))))
Outputs
x
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)
(fma.f64 -1/6 (pow.f64 x 3) x)
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x))
(fma.f64 -1/6 (pow.f64 x 3) (fma.f64 1/120 (pow.f64 x 5) x))
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1/5040 (pow.f64 x 7)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x)))
(fma.f64 -1/6 (pow.f64 x 3) (fma.f64 -1/5040 (pow.f64 x 7) (fma.f64 1/120 (pow.f64 x 5) x)))
(fma.f64 -1/6 (pow.f64 x 3) (fma.f64 1/120 (pow.f64 x 5) (fma.f64 -1/5040 (pow.f64 x 7) x)))
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps))
(fma.f64 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 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 -1/2 (*.f64 x x)) 1) (sin.f64 eps)))
(fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 (sin.f64 eps) (*.f64 -1/2 (*.f64 x x)) (sin.f64 eps)))
(fma.f64 x (+.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (sin.f64 eps) (*.f64 x -1/2))) (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 x (*.f64 x (sin.f64 eps))) (fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 (pow.f64 x 3) (fma.f64 -1/6 (cos.f64 eps) 1/6) (sin.f64 eps))))
(fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 (sin.f64 eps) (*.f64 -1/2 (*.f64 x x)) (fma.f64 (pow.f64 x 3) (fma.f64 -1/6 (cos.f64 eps) 1/6) (sin.f64 eps))))
(fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 (*.f64 x x) (+.f64 (*.f64 x (fma.f64 -1/6 (cos.f64 eps) 1/6)) (*.f64 (sin.f64 eps) -1/2)) (sin.f64 eps)))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 (cos.f64 x) eps (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)) (*.f64 eps (cos.f64 x)))
(fma.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2)) (*.f64 eps (cos.f64 x)))
(*.f64 eps (+.f64 (*.f64 eps (*.f64 (sin.f64 x) -1/2)) (cos.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 (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 (*.f64 (sin.f64 x) (*.f64 eps -1/2)) eps))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps 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 (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 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/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 -1/2 (*.f64 eps eps)) (*.f64 1/24 (pow.f64 eps 4)))))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
(pow.f64 x 3)
(+.f64 (*.f64 -1/2 (pow.f64 x 5)) (pow.f64 x 3))
(fma.f64 -1/2 (pow.f64 x 5) (pow.f64 x 3))
(fma.f64 (pow.f64 x 5) -1/2 (pow.f64 x 3))
(+.f64 (*.f64 13/120 (pow.f64 x 7)) (+.f64 (*.f64 -1/2 (pow.f64 x 5)) (pow.f64 x 3)))
(fma.f64 13/120 (pow.f64 x 7) (fma.f64 -1/2 (pow.f64 x 5) (pow.f64 x 3)))
(fma.f64 (pow.f64 x 7) 13/120 (fma.f64 (pow.f64 x 5) -1/2 (pow.f64 x 3)))
(fma.f64 (pow.f64 x 5) -1/2 (fma.f64 (pow.f64 x 7) 13/120 (pow.f64 x 3)))
(+.f64 (*.f64 13/120 (pow.f64 x 7)) (+.f64 (*.f64 -41/3024 (pow.f64 x 9)) (+.f64 (*.f64 -1/2 (pow.f64 x 5)) (pow.f64 x 3))))
(fma.f64 13/120 (pow.f64 x 7) (fma.f64 -41/3024 (pow.f64 x 9) (fma.f64 -1/2 (pow.f64 x 5) (pow.f64 x 3))))
(fma.f64 (pow.f64 x 7) 13/120 (fma.f64 -41/3024 (pow.f64 x 9) (fma.f64 (pow.f64 x 5) -1/2 (pow.f64 x 3))))
(fma.f64 (pow.f64 x 7) 13/120 (fma.f64 (pow.f64 x 5) -1/2 (fma.f64 -41/3024 (pow.f64 x 9) (pow.f64 x 3))))

localize29.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(+.f64 1 (*.f64 (sin.f64 x) (cos.f64 eps)))
0.3b
(-.f64 1 (*.f64 (cos.f64 x) (sin.f64 eps)))
0.4b
(+.f64 (-.f64 1 (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
3.3b
(fma.f64 (+.f64 1 (*.f64 (sin.f64 x) (cos.f64 eps))) 1 (neg.f64 (+.f64 (-.f64 1 (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))))
Compiler

Compiled 78 to 28 computations (64.1% saved)

series163.0ms (1.1%)

Counts
4 → 80
Calls

24 calls:

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

rewrite129.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
729×fma-def_binary64
403×fma-neg_binary64
294×expm1-udef_binary64
293×log1p-udef_binary64
234×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify98.0ms (0.7%)

Algorithm
egg-herbie
Rules
841×fma-def_binary64
438×unswap-sqr_binary64
412×+-commutative_binary64
347×sub-neg_binary64
329×associate-+l+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01261434
13701367
210811284
338311235
462381235
Stop Event
node limit
Counts
316 → 295
Calls
Call 1
Inputs
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3)) (sin.f64 eps))))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(*.f64 (cos.f64 x) eps)
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 1 (sin.f64 eps))
(-.f64 (+.f64 1 x) (sin.f64 eps))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) x)) (sin.f64 eps))
(-.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 1 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) x))) (sin.f64 eps))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 1 (sin.f64 x))
(+.f64 (*.f64 -1 (*.f64 eps (cos.f64 x))) (+.f64 1 (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 eps (cos.f64 x))) (+.f64 1 (+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))))
(+.f64 (*.f64 -1 (*.f64 eps (cos.f64 x))) (+.f64 1 (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 eps 5) (cos.f64 x))) (+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))))))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 1 (sin.f64 eps))
(-.f64 (+.f64 1 (*.f64 1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps)))) (sin.f64 eps))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 x 4) (sin.f64 eps))) (*.f64 1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))))) (sin.f64 eps))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 x 4) (sin.f64 eps))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (*.f64 1/720 (*.f64 (pow.f64 x 6) (sin.f64 eps)))))) (sin.f64 eps))
1
(+.f64 (*.f64 -1 (*.f64 eps (cos.f64 x))) 1)
(+.f64 (*.f64 -1 (*.f64 eps (cos.f64 x))) (+.f64 1 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))))
(+.f64 (*.f64 -1 (*.f64 eps (cos.f64 x))) (+.f64 1 (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 eps 5) (cos.f64 x))) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))))
1
(+.f64 1 (*.f64 (cos.f64 eps) x))
(+.f64 1 (+.f64 (*.f64 (cos.f64 eps) x) (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)))))
(+.f64 1 (+.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 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 1 (sin.f64 x))
(+.f64 1 (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 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))))))
(+.f64 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)))))))
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
Outputs
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(fma.f64 (-.f64 (cos.f64 eps) 1) x (sin.f64 eps))
(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 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps)))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (*.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (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 (+.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))))
(-.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 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))
(fma.f64 eps (cos.f64 x) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)))
(fma.f64 eps (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps))))
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x)))
(*.f64 eps (+.f64 (*.f64 (sin.f64 x) (*.f64 eps -1/2)) (cos.f64 x)))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))))
(+.f64 (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(fma.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps)) (*.f64 (cos.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))))
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (+.f64 (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (*.f64 eps eps)))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 (*.f64 eps eps) 1/24) -1/2))))
(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)))))
(-.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 1 (sin.f64 eps))
(-.f64 (+.f64 1 x) (sin.f64 eps))
(+.f64 1 (-.f64 x (sin.f64 eps)))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) x)) (sin.f64 eps))
(+.f64 1 (-.f64 (fma.f64 1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) x) (sin.f64 eps)))
(+.f64 (fma.f64 (*.f64 (sin.f64 eps) (*.f64 x x)) 1/2 x) (-.f64 1 (sin.f64 eps)))
(+.f64 1 (fma.f64 (*.f64 x x) (*.f64 (sin.f64 eps) 1/2) (-.f64 x (sin.f64 eps))))
(+.f64 1 (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x 1/2)) (-.f64 x (sin.f64 eps))))
(-.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 1 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) x))) (sin.f64 eps))
(-.f64 (fma.f64 -1/6 (pow.f64 x 3) (+.f64 1 (fma.f64 1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) x))) (sin.f64 eps))
(-.f64 (+.f64 (fma.f64 (*.f64 (sin.f64 eps) (*.f64 x x)) 1/2 x) (fma.f64 -1/6 (pow.f64 x 3) 1)) (sin.f64 eps))
(+.f64 (-.f64 1 (sin.f64 eps)) (fma.f64 -1/6 (pow.f64 x 3) (fma.f64 (*.f64 x x) (*.f64 (sin.f64 eps) 1/2) x)))
(+.f64 (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x 1/2)) x) (-.f64 (fma.f64 -1/6 (pow.f64 x 3) 1) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(+.f64 1 (-.f64 (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))
(-.f64 (sin.f64 x) (fma.f64 (sin.f64 eps) (cos.f64 x) -1))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(+.f64 1 (-.f64 (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))
(-.f64 (sin.f64 x) (fma.f64 (sin.f64 eps) (cos.f64 x) -1))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(+.f64 1 (-.f64 (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))
(-.f64 (sin.f64 x) (fma.f64 (sin.f64 eps) (cos.f64 x) -1))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(+.f64 1 (-.f64 (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))
(-.f64 (sin.f64 x) (fma.f64 (sin.f64 eps) (cos.f64 x) -1))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(+.f64 1 (-.f64 (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))
(-.f64 (sin.f64 x) (fma.f64 (sin.f64 eps) (cos.f64 x) -1))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(+.f64 1 (-.f64 (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))
(-.f64 (sin.f64 x) (fma.f64 (sin.f64 eps) (cos.f64 x) -1))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(+.f64 1 (-.f64 (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))
(-.f64 (sin.f64 x) (fma.f64 (sin.f64 eps) (cos.f64 x) -1))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(+.f64 1 (-.f64 (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))
(-.f64 (sin.f64 x) (fma.f64 (sin.f64 eps) (cos.f64 x) -1))
(+.f64 1 (sin.f64 x))
(+.f64 (*.f64 -1 (*.f64 eps (cos.f64 x))) (+.f64 1 (sin.f64 x)))
(fma.f64 -1 (*.f64 eps (cos.f64 x)) (+.f64 1 (sin.f64 x)))
(fma.f64 (neg.f64 eps) (cos.f64 x) (+.f64 1 (sin.f64 x)))
(+.f64 1 (-.f64 (sin.f64 x) (*.f64 eps (cos.f64 x))))
(-.f64 (sin.f64 x) (fma.f64 eps (cos.f64 x) -1))
(+.f64 (*.f64 -1 (*.f64 eps (cos.f64 x))) (+.f64 1 (+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))))
(+.f64 (fma.f64 -1 (*.f64 eps (cos.f64 x)) 1) (+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)))))
(+.f64 (fma.f64 1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (sin.f64 x)) (fma.f64 (neg.f64 eps) (cos.f64 x) 1))
(+.f64 1 (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (+.f64 (*.f64 1/6 (pow.f64 eps 3)) (neg.f64 eps)))))
(+.f64 1 (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))))
(+.f64 1 (-.f64 (sin.f64 x) (*.f64 (cos.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3))))))
(+.f64 (*.f64 -1 (*.f64 eps (cos.f64 x))) (+.f64 1 (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 eps 5) (cos.f64 x))) (+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))))))
(+.f64 (fma.f64 -1 (*.f64 eps (cos.f64 x)) 1) (fma.f64 -1/120 (*.f64 (cos.f64 x) (pow.f64 eps 5)) (+.f64 (sin.f64 x) (*.f64 1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3))))))
(+.f64 (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (+.f64 (*.f64 1/6 (pow.f64 eps 3)) (*.f64 -1/120 (pow.f64 eps 5))))) (fma.f64 (neg.f64 eps) (cos.f64 x) 1))
(+.f64 (sin.f64 x) (+.f64 1 (*.f64 (cos.f64 x) (+.f64 (neg.f64 eps) (fma.f64 1/6 (pow.f64 eps 3) (*.f64 -1/120 (pow.f64 eps 5)))))))
(+.f64 1 (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (-.f64 (fma.f64 1/6 (pow.f64 eps 3) (*.f64 -1/120 (pow.f64 eps 5))) eps))))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(+.f64 1 (-.f64 (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))
(-.f64 (sin.f64 x) (fma.f64 (sin.f64 eps) (cos.f64 x) -1))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(+.f64 1 (-.f64 (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))
(-.f64 (sin.f64 x) (fma.f64 (sin.f64 eps) (cos.f64 x) -1))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(+.f64 1 (-.f64 (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))
(-.f64 (sin.f64 x) (fma.f64 (sin.f64 eps) (cos.f64 x) -1))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(+.f64 1 (-.f64 (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))
(-.f64 (sin.f64 x) (fma.f64 (sin.f64 eps) (cos.f64 x) -1))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(+.f64 1 (-.f64 (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))
(-.f64 (sin.f64 x) (fma.f64 (sin.f64 eps) (cos.f64 x) -1))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(+.f64 1 (-.f64 (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))
(-.f64 (sin.f64 x) (fma.f64 (sin.f64 eps) (cos.f64 x) -1))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(+.f64 1 (-.f64 (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))
(-.f64 (sin.f64 x) (fma.f64 (sin.f64 eps) (cos.f64 x) -1))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))
(-.f64 (+.f64 1 (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(+.f64 1 (-.f64 (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))
(-.f64 (sin.f64 x) (fma.f64 (sin.f64 eps) (cos.f64 x) -1))
(-.f64 1 (sin.f64 eps))
(-.f64 (+.f64 1 (*.f64 1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps)))) (sin.f64 eps))
(+.f64 1 (-.f64 (*.f64 (*.f64 (sin.f64 eps) (*.f64 x x)) 1/2) (sin.f64 eps)))
(-.f64 (fma.f64 (*.f64 (sin.f64 eps) (*.f64 x x)) 1/2 1) (sin.f64 eps))
(fma.f64 (*.f64 x x) (*.f64 (sin.f64 eps) 1/2) (-.f64 1 (sin.f64 eps)))
(fma.f64 x (*.f64 x (*.f64 (sin.f64 eps) 1/2)) (-.f64 1 (sin.f64 eps)))
(-.f64 (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x 1/2)) 1) (sin.f64 eps))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 x 4) (sin.f64 eps))) (*.f64 1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))))) (sin.f64 eps))
(+.f64 1 (-.f64 (fma.f64 -1/24 (*.f64 (sin.f64 eps) (pow.f64 x 4)) (*.f64 (*.f64 (sin.f64 eps) (*.f64 x x)) 1/2)) (sin.f64 eps)))
(+.f64 1 (-.f64 (*.f64 (sin.f64 eps) (+.f64 (*.f64 (*.f64 x x) 1/2) (*.f64 -1/24 (pow.f64 x 4)))) (sin.f64 eps)))
(-.f64 (fma.f64 (sin.f64 eps) (fma.f64 (*.f64 x x) 1/2 (*.f64 -1/24 (pow.f64 x 4))) 1) (sin.f64 eps))
(fma.f64 (sin.f64 eps) (fma.f64 (*.f64 x x) 1/2 (*.f64 -1/24 (pow.f64 x 4))) (-.f64 1 (sin.f64 eps)))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 x 4) (sin.f64 eps))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (*.f64 1/720 (*.f64 (pow.f64 x 6) (sin.f64 eps)))))) (sin.f64 eps))
(+.f64 1 (-.f64 (fma.f64 -1/24 (*.f64 (sin.f64 eps) (pow.f64 x 4)) (fma.f64 1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (*.f64 1/720 (*.f64 (sin.f64 eps) (pow.f64 x 6))))) (sin.f64 eps)))
(+.f64 (fma.f64 -1/24 (*.f64 (sin.f64 eps) (pow.f64 x 4)) (*.f64 (sin.f64 eps) (+.f64 (*.f64 (*.f64 x x) 1/2) (*.f64 1/720 (pow.f64 x 6))))) (-.f64 1 (sin.f64 eps)))
(+.f64 1 (-.f64 (*.f64 (sin.f64 eps) (+.f64 (*.f64 -1/24 (pow.f64 x 4)) (fma.f64 (*.f64 x x) 1/2 (*.f64 1/720 (pow.f64 x 6))))) (sin.f64 eps)))
(fma.f64 (sin.f64 eps) (+.f64 (*.f64 1/720 (pow.f64 x 6)) (fma.f64 (*.f64 x x) 1/2 (*.f64 -1/24 (pow.f64 x 4)))) (-.f64 1 (sin.f64 eps)))
(+.f64 1 (*.f64 (sin.f64 eps) (+.f64 (+.f64 (*.f64 1/720 (pow.f64 x 6)) (fma.f64 (*.f64 x x) 1/2 (*.f64 -1/24 (pow.f64 x 4)))) -1)))
1
(+.f64 (*.f64 -1 (*.f64 eps (cos.f64 x))) 1)
(fma.f64 -1 (*.f64 eps (cos.f64 x)) 1)
(fma.f64 (neg.f64 eps) (cos.f64 x) 1)
(fma.f64 (cos.f64 x) (neg.f64 eps) 1)
(neg.f64 (fma.f64 eps (cos.f64 x) -1))
(+.f64 (*.f64 -1 (*.f64 eps (cos.f64 x))) (+.f64 1 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))))
(+.f64 (fma.f64 -1 (*.f64 eps (cos.f64 x)) 1) (*.f64 1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3))))
(-.f64 (fma.f64 1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) 1) (*.f64 eps (cos.f64 x)))
(+.f64 1 (*.f64 (cos.f64 x) (+.f64 (*.f64 1/6 (pow.f64 eps 3)) (neg.f64 eps))))
(+.f64 1 (*.f64 (cos.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(-.f64 1 (*.f64 (cos.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))))
(+.f64 (*.f64 -1 (*.f64 eps (cos.f64 x))) (+.f64 1 (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 eps 5) (cos.f64 x))) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))))
(+.f64 (fma.f64 -1 (*.f64 eps (cos.f64 x)) 1) (fma.f64 -1/120 (*.f64 (cos.f64 x) (pow.f64 eps 5)) (*.f64 1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)))))
(+.f64 (fma.f64 (neg.f64 eps) (cos.f64 x) 1) (*.f64 (cos.f64 x) (+.f64 (*.f64 1/6 (pow.f64 eps 3)) (*.f64 -1/120 (pow.f64 eps 5)))))
(+.f64 1 (*.f64 (cos.f64 x) (+.f64 (neg.f64 eps) (fma.f64 1/6 (pow.f64 eps 3) (*.f64 -1/120 (pow.f64 eps 5))))))
(+.f64 1 (*.f64 (cos.f64 x) (-.f64 (fma.f64 1/6 (pow.f64 eps 3) (*.f64 -1/120 (pow.f64 eps 5))) eps)))
1
(+.f64 1 (*.f64 (cos.f64 eps) x))
(fma.f64 (cos.f64 eps) x 1)
(+.f64 1 (+.f64 (*.f64 (cos.f64 eps) x) (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)))))
(+.f64 1 (fma.f64 (cos.f64 eps) x (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)))))
(+.f64 1 (fma.f64 (cos.f64 eps) x (*.f64 (cos.f64 eps) (*.f64 -1/6 (pow.f64 x 3)))))
(+.f64 1 (*.f64 (cos.f64 eps) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))))
(+.f64 1 (+.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 1 (fma.f64 (cos.f64 eps) x (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (*.f64 1/120 (*.f64 (cos.f64 eps) (pow.f64 x 5))))))
(+.f64 1 (fma.f64 (cos.f64 eps) x (*.f64 (cos.f64 eps) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 1/120 (pow.f64 x 5))))))
(+.f64 1 (*.f64 (cos.f64 eps) (+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 1/120 (pow.f64 x 5))))))
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 eps) (sin.f64 x) 1)
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 eps) (sin.f64 x) 1)
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 eps) (sin.f64 x) 1)
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 eps) (sin.f64 x) 1)
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 eps) (sin.f64 x) 1)
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 eps) (sin.f64 x) 1)
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 eps) (sin.f64 x) 1)
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 eps) (sin.f64 x) 1)
(+.f64 1 (sin.f64 x))
(+.f64 1 (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (+.f64 1 (sin.f64 x)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))
(+.f64 1 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (sin.f64 x)))
(fma.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) (sin.f64 x) 1)
(+.f64 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))))))
(+.f64 1 (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))))))
(+.f64 1 (fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (sin.f64 x))))
(+.f64 1 (*.f64 (sin.f64 x) (+.f64 (*.f64 -1/2 (*.f64 eps eps)) (fma.f64 1/24 (pow.f64 eps 4) 1))))
(+.f64 1 (*.f64 (sin.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (fma.f64 -1/2 (*.f64 eps eps) 1))))
(+.f64 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)))))))
(+.f64 1 (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 1 (+.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 (fma.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))) 1))
(+.f64 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 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 eps) (sin.f64 x) 1)
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 eps) (sin.f64 x) 1)
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 eps) (sin.f64 x) 1)
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 eps) (sin.f64 x) 1)
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 eps) (sin.f64 x) 1)
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 eps) (sin.f64 x) 1)
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 eps) (sin.f64 x) 1)
(+.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)))
(fma.f64 (cos.f64 eps) (sin.f64 x) 1)

eval667.0ms (4.6%)

Compiler

Compiled 17994 to 8032 computations (55.4% saved)

prune286.0ms (2%)

Pruning

60 alts after pruning (55 fresh and 5 done)

PrunedKeptTotal
New83119850
Fresh213657
Picked101
Done358
Total85660916
Error
0.0b
Counts
916 → 60
Alt Table
Click to see full alt table
StatusErrorProgram
0.6b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 eps eps)))) (-.f64 -1 (cos.f64 eps))) (sin.f64 x)))
38.6b
(-.f64 (sin.f64 (+.f64 x eps)) (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 x x))))))
33.4b
(+.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)))))
45.2b
(log.f64 (exp.f64 (sin.f64 eps)))
37.7b
(-.f64 (sin.f64 (+.f64 x eps)) (log1p.f64 (expm1.f64 (sin.f64 x))))
29.0b
(+.f64 (+.f64 1 (*.f64 (sin.f64 x) (cos.f64 eps))) (+.f64 -1 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))))
28.8b
(log.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))
37.8b
(*.f64 1/3 (*.f64 3 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
20.7b
(+.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) (*.f64 (sin.f64 x) (cos.f64 eps)))
61.0b
(-.f64 (sin.f64 x) (fabs.f64 (sin.f64 x)))
52.1b
(pow.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/3) 3)
49.1b
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2)
0.6b
(fma.f64 (sin.f64 eps) (cos.f64 x) (pow.f64 (cbrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) 3))
0.4b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
0.4b
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
21.2b
(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)))
33.3b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3)
32.9b
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) eps))
37.8b
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
61.9b
(*.f64 eps (neg.f64 (cos.f64 x)))
39.0b
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x))
37.9b
(*.f64 3 (*.f64 1/3 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
37.9b
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))) 3)
21.3b
(-.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (sin.f64 x) (cos.f64 eps))) -1) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
39.0b
(-.f64 (sin.f64 (+.f64 x eps)) x)
0.5b
(fma.f64 (sin.f64 eps) (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 1 (+.f64 -1 (cos.f64 eps)))))
30.2b
(sin.f64 eps)
39.4b
(-.f64 (sin.f64 (+.f64 x eps)) (fabs.f64 x))
37.4b
(-.f64 (sin.f64 eps) (sin.f64 x))
60.7b
(log.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)))
33.4b
(+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
0.5b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x)))
61.3b
(log.f64 1)
42.5b
(*.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)))
45.9b
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
60.9b
(-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1)
33.0b
(*.f64 eps (+.f64 (*.f64 (sin.f64 x) (*.f64 eps -1/2)) (cos.f64 x)))
31.7b
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
50.0b
(*.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps))
50.8b
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x))
36.0b
(-.f64 (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
38.1b
(-.f64 (sin.f64 eps) (fabs.f64 (sin.f64 x)))
20.7b
(fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
37.7b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
33.4b
(*.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 eps) 2)) (cbrt.f64 eps))
0.4b
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
0.5b
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))
34.1b
(-.f64 (sin.f64 eps) (cbrt.f64 (pow.f64 (sin.f64 x) 3)))
31.0b
(pow.f64 (cbrt.f64 (sin.f64 eps)) 3)
38.3b
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x))
32.7b
(*.f64 (cos.f64 x) eps)
38.1b
(-.f64 (sin.f64 (+.f64 x eps)) (log.f64 (exp.f64 (sin.f64 x))))
51.5b
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))
45.0b
(log.f64 (exp.f64 (-.f64 (sin.f64 eps) (sin.f64 x))))
38.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)
0.5b
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
0.5b
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))
29.0b
(+.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) 1) (+.f64 -1 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))))
37.7b
(-.f64 (sin.f64 (+.f64 x eps)) (pow.f64 (cbrt.f64 (sin.f64 x)) 3))
46.3b
eps
Compiler

Compiled 760 to 542 computations (28.7% saved)

regimes518.0ms (3.5%)

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

4 calls:

142.0ms
x
135.0ms
eps
81.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
74.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 1979 to 595 computations (69.9% saved)

regimes395.0ms (2.7%)

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

4 calls:

107.0ms
eps
97.0ms
x
67.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
62.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 1378 to 477 computations (65.4% saved)

regimes241.0ms (1.7%)

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

4 calls:

87.0ms
x
55.0ms
eps
40.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
32.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 975 to 362 computations (62.9% saved)

regimes207.0ms (1.4%)

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

4 calls:

48.0ms
x
45.0ms
eps
34.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
27.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Results
ErrorSegmentsBranch
0.5b1x
0.5b1eps
0.5b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
0.5b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 857 to 333 computations (61.1% saved)

regimes552.0ms (3.8%)

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

4 calls:

186.0ms
eps
155.0ms
x
107.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
82.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Results
ErrorSegmentsBranch
18.0b3x
15.7b3eps
16.7b3(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
16.7b3(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 753 to 284 computations (62.3% saved)

bsearch120.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
58.0ms
0.0796388076311669
9377.731778247327
61.0ms
-12297687.609885052
-1.2229003836877504e-8
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes213.0ms (1.5%)

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

4 calls:

70.0ms
eps
66.0ms
x
33.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
33.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Results
ErrorSegmentsBranch
18.0b3x
16.1b3eps
17.0b3(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
17.0b3(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 374 to 162 computations (56.7% saved)

bsearch115.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
57.0ms
0.0796388076311669
9377.731778247327
57.0ms
-12297687.609885052
-1.2229003836877504e-8
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes48.0ms (0.3%)

Counts
11 → 3
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1)
(-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1)
(-.f64 (sin.f64 (+.f64 x eps)) x)
(-.f64 (sin.f64 (+.f64 x eps)) x)
(*.f64 eps (neg.f64 (cos.f64 x)))
(*.f64 (cos.f64 x) eps)
(sin.f64 eps)
(sin.f64 eps)
eps
eps
(log.f64 1)
Outputs
(sin.f64 eps)
(*.f64 (cos.f64 x) eps)
(sin.f64 eps)
Calls

2 calls:

28.0ms
x
17.0ms
eps
Results
ErrorSegmentsBranch
18.1b3x
16.7b3eps
Compiler

Compiled 53 to 24 computations (54.7% saved)

bsearch118.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
60.0ms
0.0796388076311669
9377.731778247327
58.0ms
-12297687.609885052
-1.2229003836877504e-8
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes9.0ms (0.1%)

Accuracy

Total -15.5b remaining (-33.6%)

Threshold costs -15.5b (-33.6%)

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

2 calls:

4.0ms
eps
4.0ms
x
Results
ErrorSegmentsBranch
46.3b1x
46.3b1eps
Compiler

Compiled 12 to 8 computations (33.3% saved)

simplify13.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
058241
185241
296241
3102241
4105241
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(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 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(if (<=.f64 eps -52818166100880704/4294967296) (-.f64 (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) (if (<=.f64 eps 1469076702707523072/18446744073709551616) (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) (-.f64 (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))))
(if (<=.f64 eps -52818166100880704/4294967296) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 1469076702707523072/18446744073709551616) (*.f64 eps (+.f64 (*.f64 (sin.f64 x) (*.f64 eps -1/2)) (cos.f64 x))) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -52818166100880704/4294967296) (sin.f64 eps) (if (<=.f64 eps 1469076702707523072/18446744073709551616) (*.f64 (cos.f64 x) eps) (sin.f64 eps)))
eps
(log.f64 1)
Outputs
(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 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(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 -1 (cos.f64 eps))))
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(+.f64 (*.f64 (sin.f64 x) (+.f64 -1 (cos.f64 eps))) (*.f64 (sin.f64 eps) (cos.f64 x)))
(if (<=.f64 eps -52818166100880704/4294967296) (-.f64 (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) (if (<=.f64 eps 1469076702707523072/18446744073709551616) (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) (-.f64 (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))))
(if (<=.f64 eps -825283845326261/67108864) (-.f64 (+.f64 (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) (if (<=.f64 eps 2869290434975631/36028797018963968) (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) (-.f64 (+.f64 (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x))))
(if (<=.f64 eps -52818166100880704/4294967296) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 1469076702707523072/18446744073709551616) (*.f64 eps (+.f64 (*.f64 (sin.f64 x) (*.f64 eps -1/2)) (cos.f64 x))) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -825283845326261/67108864) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 2869290434975631/36028797018963968) (*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -52818166100880704/4294967296) (sin.f64 eps) (if (<=.f64 eps 1469076702707523072/18446744073709551616) (*.f64 (cos.f64 x) eps) (sin.f64 eps)))
(if (<=.f64 eps -825283845326261/67108864) (sin.f64 eps) (if (<=.f64 eps 2869290434975631/36028797018963968) (*.f64 eps (cos.f64 x)) (sin.f64 eps)))
eps
(log.f64 1)
0
Compiler

Compiled 172 to 104 computations (39.5% saved)

soundness101.0ms (0.7%)

Algorithm
egg-herbie
Rules
589×sub-neg_binary64
538×fma-def_binary64
441×*-commutative_binary64
384×+-commutative_binary64
346×unswap-sqr_binary64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0891080
12611063
2710977
32290973
43991973
55252972
67312972
Stop Event
node limit
Compiler

Compiled 137 to 91 computations (33.6% saved)

end72.0ms (0.5%)

Compiler

Compiled 156 to 67 computations (57.1% saved)

Profiling

Loading profile data...