Details

Time bar (total: 17.5s)

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

Results
2.1s3993×body1024valid
1.9s2074×body2048valid
522.0ms1409×body512valid
129.0ms780×body256valid

preprocess31.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 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 eps))
Outputs
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 eps))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 eps))
Compiler

Compiled 11 to 8 computations (27.3% saved)

simplify12.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 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Outputs
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))

eval0.0ms (0%)

Compiler

Compiled 9 to 6 computations (33.3% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 9 to 6 computations (33.3% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.5b
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
2.8b
(cos.f64 (+.f64 x eps))
Compiler

Compiled 20 to 6 computations (70% saved)

series5.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite74.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
588×unpow-prod-down_binary64
457×fma-def_binary64
445×log-prod_binary64
271×pow-prod-down_binary64
266×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify70.0ms (0.4%)

Algorithm
egg-herbie
Rules
813×fma-neg_binary64
459×neg-mul-1_binary64
395×fma-def_binary64
369×associate-+l+_binary64
297×distribute-rgt-neg-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
068630
1191612
2512583
32203567
47547567
Stop Event
node limit
Counts
231 → 219
Calls
Call 1
Inputs
(cos.f64 eps)
(+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps))))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 -1 (*.f64 x (sin.f64 eps)))))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 -1 (*.f64 x (sin.f64 eps))))))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 eps (*.f64 -1 x)))
(cos.f64 (-.f64 eps (*.f64 -1 x)))
(cos.f64 (-.f64 eps (*.f64 -1 x)))
(cos.f64 (-.f64 eps (*.f64 -1 x)))
(cos.f64 x)
(+.f64 (cos.f64 x) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 x (*.f64 -1 eps)))
(cos.f64 (-.f64 x (*.f64 -1 eps)))
(cos.f64 (-.f64 x (*.f64 -1 eps)))
(cos.f64 (-.f64 x (*.f64 -1 eps)))
(-.f64 (cos.f64 eps) 1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))))) 1)
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
Outputs
(cos.f64 eps)
(+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps))))
(+.f64 (cos.f64 eps) (*.f64 (neg.f64 x) (sin.f64 eps)))
(-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps)))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 -1 (*.f64 x (sin.f64 eps)))))
(+.f64 (cos.f64 eps) (fma.f64 -1/2 (*.f64 (cos.f64 eps) (*.f64 x x)) (*.f64 (neg.f64 x) (sin.f64 eps))))
(+.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (*.f64 (cos.f64 eps) (*.f64 (*.f64 x x) -1/2)))
(+.f64 (cos.f64 eps) (*.f64 x (-.f64 (*.f64 (cos.f64 eps) (*.f64 -1/2 x)) (sin.f64 eps))))
(+.f64 (cos.f64 eps) (*.f64 x (fma.f64 (cos.f64 eps) (*.f64 x -1/2) (neg.f64 (sin.f64 eps)))))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))) (*.f64 -1 (*.f64 x (sin.f64 eps))))))
(+.f64 (cos.f64 eps) (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (fma.f64 -1/2 (*.f64 (cos.f64 eps) (*.f64 x x)) (*.f64 (neg.f64 x) (sin.f64 eps)))))
(+.f64 (cos.f64 eps) (+.f64 (*.f64 (cos.f64 eps) (*.f64 (*.f64 x x) -1/2)) (*.f64 (sin.f64 eps) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (neg.f64 x)))))
(+.f64 (cos.f64 eps) (fma.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 x x)) (*.f64 (sin.f64 eps) (fma.f64 1/6 (pow.f64 x 3) (neg.f64 x)))))
(fma.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (cos.f64 eps) (*.f64 (sin.f64 eps) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x)))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 eps (*.f64 -1 x)))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 eps (*.f64 -1 x)))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 eps (*.f64 -1 x)))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 eps (*.f64 -1 x)))
(cos.f64 (+.f64 eps x))
(cos.f64 x)
(+.f64 (cos.f64 x) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (cos.f64 x) (*.f64 (neg.f64 eps) (sin.f64 x)))
(-.f64 (cos.f64 x) (*.f64 eps (sin.f64 x)))
(+.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x))))
(-.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (cos.f64 x)) (*.f64 eps (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (+.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (-.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (cos.f64 x)) (*.f64 eps (sin.f64 x))))
(fma.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/6 (pow.f64 eps 3)) (neg.f64 eps))))
(fma.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 x (*.f64 -1 eps)))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 x (*.f64 -1 eps)))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 x (*.f64 -1 eps)))
(cos.f64 (+.f64 eps x))
(cos.f64 (-.f64 x (*.f64 -1 eps)))
(cos.f64 (+.f64 eps x))
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (*.f64 (neg.f64 x) (sin.f64 eps)) 1))
(+.f64 (cos.f64 eps) (fma.f64 (neg.f64 x) (sin.f64 eps) -1))
(+.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) (neg.f64 x) -1))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(+.f64 (+.f64 (cos.f64 eps) (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2))))) -1)
(+.f64 (fma.f64 (*.f64 x x) (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 (sin.f64 eps) (neg.f64 x))) (+.f64 (cos.f64 eps) -1))
(+.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (-.f64 (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) (sin.f64 eps))))
(+.f64 (cos.f64 eps) (fma.f64 x (fma.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2) (neg.f64 (sin.f64 eps))) -1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))))) 1)
(+.f64 (+.f64 (cos.f64 eps) (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)))))) -1)
(+.f64 (+.f64 (*.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2))) (*.f64 (sin.f64 eps) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (neg.f64 x)))) (+.f64 (cos.f64 eps) -1))
(+.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) (fma.f64 1/6 (pow.f64 x 3) (neg.f64 x)) (fma.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) -1)))
(+.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x) (fma.f64 (*.f64 x x) (fma.f64 (cos.f64 eps) -1/2 1/2) -1)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 (neg.f64 eps) (sin.f64 x))
(*.f64 eps (neg.f64 (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x)))
(-.f64 (*.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x)))) (*.f64 eps (sin.f64 x)))
(-.f64 (*.f64 (*.f64 eps eps) (*.f64 -1/2 (cos.f64 x))) (*.f64 eps (sin.f64 x)))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x))))
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x))))) (*.f64 eps (sin.f64 x)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/6 (pow.f64 eps 3)) (neg.f64 eps))))
(fma.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x)))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x))))) (*.f64 eps (sin.f64 x))))
(fma.f64 (cos.f64 x) (*.f64 1/24 (pow.f64 eps 4)) (fma.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/6 (pow.f64 eps 3)) (neg.f64 eps)))))
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (cos.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (*.f64 eps eps)))))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))

eval53.0ms (0.3%)

Compiler

Compiled 3964 to 1199 computations (69.8% saved)

prune74.0ms (0.4%)

Pruning

37 alts after pruning (36 fresh and 1 done)

PrunedKeptTotal
New18336219
Fresh000
Picked011
Done000
Total18337220
Error
0.1b
Counts
220 → 37
Alt Table
Click to see full alt table
StatusErrorProgram
44.9b
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
39.5b
(-.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (cbrt.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
38.8b
(-.f64 (cos.f64 eps) 1)
39.4b
(-.f64 (log.f64 (exp.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
30.0b
(fma.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
38.8b
(-.f64 (cos.f64 eps) (cos.f64 x))
39.3b
(log.f64 (/.f64 (exp.f64 (cos.f64 (+.f64 x eps))) (+.f64 1 (expm1.f64 (cos.f64 x)))))
39.3b
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
26.6b
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
39.5b
(/.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
26.4b
(-.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
29.8b
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
26.1b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
39.3b
(/.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2)))
55.4b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 eps (sin.f64 x))) (cos.f64 x))
26.0b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
39.4b
(*.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
39.6b
(-.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 3) (cos.f64 x))
26.0b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
36.0b
(*.f64 (sin.f64 x) (neg.f64 eps))
12.8b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
26.0b
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
55.5b
(-.f64 (cos.f64 x) (cos.f64 x))
39.3b
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
14.3b
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
26.1b
(fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
49.0b
(expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
39.5b
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
39.3b
(cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))
40.4b
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
39.3b
(-.f64 (expm1.f64 (log1p.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
39.9b
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
30.3b
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (cos.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (*.f64 eps eps)))))
40.2b
(-.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (cos.f64 x))
46.9b
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
26.4b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
26.2b
(-.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2) (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2) (*.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (cos.f64 x))
Compiler

Compiled 1261 to 812 computations (35.6% saved)

localize33.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
0.0b
(+.f64 x (+.f64 x eps))
0.3b
(*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))
3.0b
(sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))
Compiler

Compiled 88 to 34 computations (61.4% saved)

series14.0ms (0.1%)

Counts
4 → 96
Calls

24 calls:

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

rewrite83.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
687×fma-def_binary64
550×log-prod_binary64
304×fma-neg_binary64
222×expm1-udef_binary64
222×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify70.0ms (0.4%)

Algorithm
egg-herbie
Rules
862×fma-def_binary64
568×distribute-rgt-out_binary64
514×associate-*l*_binary64
499×associate-*r*_binary64
481×distribute-rgt-neg-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01131592
13351560
29841357
340671325
Stop Event
node limit
Counts
301 → 266
Calls
Call 1
Inputs
(sin.f64 (*.f64 1/2 eps))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 x)
(+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(*.f64 1/2 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 1/2 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))) (*.f64 1/2 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (*.f64 1/2 (*.f64 eps (sin.f64 x))))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 -1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))) (*.f64 -1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2))))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
eps
(+.f64 (*.f64 2 x) eps)
(+.f64 (*.f64 2 x) eps)
(+.f64 (*.f64 2 x) eps)
(*.f64 2 x)
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
(*.f64 2 x)
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
(*.f64 2 x)
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
(+.f64 eps (*.f64 2 x))
eps
(+.f64 (*.f64 2 x) eps)
(+.f64 (*.f64 2 x) eps)
(+.f64 (*.f64 2 x) eps)
eps
(+.f64 (*.f64 2 x) eps)
(+.f64 (*.f64 2 x) eps)
(+.f64 (*.f64 2 x) eps)
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 -2 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 -2 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x))))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(+.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))
(+.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(+.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)) (+.f64 (*.f64 1/3 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
Outputs
(sin.f64 (*.f64 1/2 eps))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps)))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))))
(+.f64 (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))) (*.f64 (*.f64 -1/2 (sin.f64 (*.f64 1/2 eps))) (*.f64 x x)))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) x (fma.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) (sin.f64 (*.f64 1/2 eps))))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) x (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))))
(+.f64 (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))) (fma.f64 -1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)) (*.f64 (*.f64 -1/2 (sin.f64 (*.f64 1/2 eps))) (*.f64 x x))))
(+.f64 (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))) (fma.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 (pow.f64 x 3) -1/6))))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) x (fma.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 -1/6 (pow.f64 x 3)) (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 (*.f64 1/2 eps)))))
(+.f64 (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 (*.f64 1/2 eps))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 x)
(+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))
(fma.f64 1/2 (*.f64 eps (cos.f64 x)) (sin.f64 x))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
(fma.f64 -1/8 (*.f64 (sin.f64 x) (*.f64 eps eps)) (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (sin.f64 x)))
(fma.f64 1/2 (*.f64 eps (cos.f64 x)) (fma.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/8)) (sin.f64 x)))
(fma.f64 1/2 (*.f64 eps (cos.f64 x)) (*.f64 (+.f64 (*.f64 eps (*.f64 eps -1/8)) 1) (sin.f64 x)))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))))
(fma.f64 -1/8 (*.f64 (sin.f64 x) (*.f64 eps eps)) (fma.f64 -1/48 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (sin.f64 x))))
(fma.f64 -1/8 (*.f64 (sin.f64 x) (*.f64 eps eps)) (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/48 (pow.f64 eps 3)) (*.f64 1/2 eps)))))
(fma.f64 (cos.f64 x) (fma.f64 -1/48 (pow.f64 eps 3) (*.f64 1/2 eps)) (fma.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/8)) (sin.f64 x)))
(fma.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/8)) (fma.f64 (cos.f64 x) (fma.f64 -1/48 (pow.f64 eps 3) (*.f64 1/2 eps)) (sin.f64 x)))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))
(sin.f64 (fma.f64 1/2 eps x))
(*.f64 1/2 (*.f64 eps (sin.f64 x)))
(*.f64 eps (*.f64 1/2 (sin.f64 x)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 1/2 (*.f64 eps (sin.f64 x))))
(fma.f64 1/4 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 1/2 (*.f64 eps (sin.f64 x))))
(fma.f64 1/2 (*.f64 eps (sin.f64 x)) (*.f64 (*.f64 eps eps) (*.f64 (cos.f64 x) 1/4)))
(fma.f64 eps (*.f64 1/2 (sin.f64 x)) (*.f64 (*.f64 eps (cos.f64 x)) (*.f64 eps 1/4)))
(*.f64 eps (+.f64 (*.f64 1/2 (sin.f64 x)) (*.f64 (cos.f64 x) (*.f64 eps 1/4))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))) (*.f64 1/2 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/4 (*.f64 (cos.f64 x) (*.f64 eps eps)) (fma.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) -1/12) (*.f64 1/2 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/4 (*.f64 eps (*.f64 eps (cos.f64 x))) (fma.f64 1/2 (*.f64 eps (sin.f64 x)) (*.f64 (sin.f64 x) (*.f64 -1/12 (pow.f64 eps 3)))))
(fma.f64 (cos.f64 x) (*.f64 eps (*.f64 eps 1/4)) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/2 eps) (*.f64 (pow.f64 eps 3) -1/12))))
(*.f64 eps (+.f64 (*.f64 eps (*.f64 (cos.f64 x) 1/4)) (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps))))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (*.f64 1/2 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/4 (*.f64 (cos.f64 x) (*.f64 eps eps)) (fma.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) -1/12) (fma.f64 -1/48 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (*.f64 1/2 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/4 (*.f64 eps (*.f64 eps (cos.f64 x))) (fma.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) -1/12) (fma.f64 (*.f64 1/2 eps) (sin.f64 x) (*.f64 (cos.f64 x) (*.f64 -1/48 (pow.f64 eps 4))))))
(fma.f64 (cos.f64 x) (*.f64 eps (*.f64 eps 1/4)) (fma.f64 (cos.f64 x) (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/2 eps) (*.f64 (pow.f64 eps 3) -1/12)))))
(+.f64 (*.f64 eps (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps))))) (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 eps (*.f64 eps 1/4)))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 -1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)))))
(+.f64 (fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 x x)))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps)))) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (*.f64 x x) -1/2)))
(fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 (*.f64 1/2 eps)))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))) (*.f64 -1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2))))))
(+.f64 (fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (fma.f64 -1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (*.f64 (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 x x))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps)))) (fma.f64 -1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (*.f64 x x) -1/2))))
(+.f64 (*.f64 x (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 -1/2 x))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (fma.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 -1/6 (pow.f64 x 3)) (sin.f64 (*.f64 1/2 eps))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 (*.f64 1/2 eps))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps (*.f64 x 1))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
eps
(+.f64 (*.f64 2 x) eps)
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 (*.f64 2 x) eps)
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 (*.f64 2 x) eps)
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(*.f64 2 x)
(*.f64 x 2)
(+.f64 eps (*.f64 2 x))
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(*.f64 2 x)
(*.f64 x 2)
(+.f64 eps (*.f64 2 x))
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(*.f64 2 x)
(*.f64 x 2)
(+.f64 eps (*.f64 2 x))
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 eps (*.f64 2 x))
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
eps
(+.f64 (*.f64 2 x) eps)
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 (*.f64 2 x) eps)
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 (*.f64 2 x) eps)
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
eps
(+.f64 (*.f64 2 x) eps)
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 (*.f64 2 x) eps)
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(+.f64 (*.f64 2 x) eps)
(fma.f64 2 x eps)
(fma.f64 x 2 eps)
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 (neg.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 eps (sin.f64 x)))
(fma.f64 (sin.f64 x) (neg.f64 eps) (*.f64 (*.f64 eps (cos.f64 x)) (*.f64 eps -1/2)))
(*.f64 eps (-.f64 (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 -2 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))))))
(fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (fma.f64 -1 (*.f64 eps (sin.f64 x)) (*.f64 -2 (*.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) -1/12)))))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x))) (fma.f64 (*.f64 -2 (pow.f64 eps 3)) (*.f64 (sin.f64 x) -1/12) (*.f64 (sin.f64 x) (neg.f64 eps))))
(fma.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) 1/6) (fma.f64 (sin.f64 x) (neg.f64 eps) (*.f64 (*.f64 eps (cos.f64 x)) (*.f64 eps -1/2))))
(-.f64 (*.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) 1/6)) (*.f64 eps (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (sin.f64 x))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 -2 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x))))))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (fma.f64 -1 (*.f64 eps (sin.f64 x)) (*.f64 -2 (*.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) -1/12))))))
(+.f64 (fma.f64 (*.f64 -2 (pow.f64 eps 3)) (*.f64 (sin.f64 x) -1/12) (*.f64 (sin.f64 x) (neg.f64 eps))) (*.f64 (cos.f64 x) (+.f64 (*.f64 (pow.f64 eps 4) 1/24) (*.f64 -1/2 (*.f64 eps eps)))))
(fma.f64 (cos.f64 x) (fma.f64 (pow.f64 eps 4) 1/24 (*.f64 eps (*.f64 eps -1/2))) (-.f64 (*.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) 1/6)) (*.f64 eps (sin.f64 x))))
(fma.f64 (cos.f64 x) (fma.f64 (pow.f64 eps 4) 1/24 (*.f64 eps (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (-.f64 (*.f64 (*.f64 -2 (pow.f64 eps 3)) -1/12) eps)))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(+.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))
(*.f64 -2 (fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))) -2))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps)))))
(+.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(fma.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 x x) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(+.f64 (*.f64 (*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) -2) (cos.f64 (*.f64 1/2 eps))) x) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 -2 (*.f64 x x))))
(fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 x -2)) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 (*.f64 x x) -2)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 x -2)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 x x) -2))))
(+.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)) (+.f64 (*.f64 1/3 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))))
(fma.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 x x) (fma.f64 1/3 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))))
(+.f64 (fma.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)) 1/3))) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 -2 (*.f64 x x))))
(fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 (*.f64 x x) -2) (*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))) (+.f64 (*.f64 x -2) (*.f64 (pow.f64 x 3) 1/3))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 x -2) (*.f64 (pow.f64 x 3) 1/3))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 x x) -2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (fma.f64 2 x eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps (*.f64 x 1)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -2 (sin.f64 (fma.f64 1/2 eps x))))

localize8.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
1.4b
(-.f64 (cos.f64 eps) 1)
Compiler

Compiled 10 to 6 computations (40% saved)

series1.0ms (0%)

Counts
1 → 4
Calls

3 calls:

TimeVariablePointExpression
1.0ms
eps
@0
(-.f64 (cos.f64 eps) 1)
0.0ms
eps
@inf
(-.f64 (cos.f64 eps) 1)
0.0ms
eps
@-inf
(-.f64 (cos.f64 eps) 1)

rewrite39.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
498×pow1_binary64
485×add-sqr-sqrt_binary64
464×add-log-exp_binary64
463×log1p-expm1-u_binary64
463×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
056
11046
212836
Stop Event
node limit
Counts
1 → 31
Calls
Call 1
Inputs
(-.f64 (cos.f64 eps) 1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 eps) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (cos.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 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 (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 (pow.f64 (cos.f64 eps) 3) -1) (/.f64 1 (+.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (cos.f64 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (/.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 (pow.f64 (cos.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (+.f64 (pow.f64 (cos.f64 eps) 3) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (cos.f64 eps) 1) (+.f64 (pow.f64 (cos.f64 eps) 2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (cos.f64 eps) 3) -1) (+.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (cos.f64 eps) 3) -1) (+.f64 (pow.f64 (cos.f64 eps) 2) (-.f64 1 (*.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (+.f64 (cos.f64 eps) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (-.f64 (cos.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 eps) 3) -1)) (neg.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (cos.f64 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1)) (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) 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 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 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 log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 eps) -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)))))

simplify108.0ms (0.6%)

Algorithm
egg-herbie
Rules
601×distribute-rgt-out_binary64
520×sqr-pow_binary64
481×associate-+l+_binary64
477×distribute-lft-out_binary64
413×unswap-sqr_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02470
15670
212970
342070
4199570
5437770
6475170
7525770
8624770
9723170
10767070
Stop Event
node limit
Counts
35 → 39
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)))))
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 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(+.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/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/24 (pow.f64 eps 4))))
(fma.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/24) -1/2) (*.f64 -1/720 (pow.f64 eps 6)))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/720 (pow.f64 eps 6))))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (*.f64 1/40320 (pow.f64 eps 8)))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/40320 (pow.f64 eps 8)))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 1/40320 (pow.f64 eps 8) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 -1/2 (*.f64 eps eps)))))
(fma.f64 (pow.f64 eps 4) (fma.f64 (pow.f64 eps 4) 1/40320 1/24) (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) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/40320 (pow.f64 eps 8)))))

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
0.2b
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
0.5b
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
2.8b
(cos.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
(expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
1.0ms
eps
@0
(expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
0.0ms
x
@0
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
0.0ms
x
@-inf
(expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
0.0ms
eps
@inf
(expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))

rewrite90.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
483×log-prod_binary64
470×fma-def_binary64
298×pow-prod-down_binary64
286×pow2_binary64
249×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify93.0ms (0.5%)

Algorithm
egg-herbie
Rules
649×associate-*r*_binary64
619×associate-*l*_binary64
431×associate-+l+_binary64
400×unsub-neg_binary64
351×associate-+r+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01251020
1395988
21268932
36300930
Stop Event
node limit
Counts
204 → 193
Calls
Call 1
Inputs
(-.f64 (cos.f64 eps) 1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))))) 1)
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(-.f64 (+.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (*.f64 -1 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (*.f64 (sin.f64 eps) x)))) 1)
(-.f64 (+.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (+.f64 (*.f64 -1 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (*.f64 (sin.f64 eps) x))) (*.f64 (+.f64 1/2 (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 eps) 2)) (*.f64 -1/2 (cos.f64 eps)))) (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 2))))) 1)
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 eps) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))) (+.f64 (*.f64 1/6 (sin.f64 eps)) (*.f64 -1/6 (pow.f64 (sin.f64 eps) 3)))) (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 3))) (+.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (+.f64 (*.f64 -1 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (*.f64 (sin.f64 eps) x))) (*.f64 (+.f64 1/2 (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 eps) 2)) (*.f64 -1/2 (cos.f64 eps)))) (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 2)))))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))) 1)
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 x) 2)) (*.f64 -1/2 (cos.f64 x)))))
(+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/6 (pow.f64 (sin.f64 x) 3)) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 1/6 (sin.f64 x))))) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 x) 2)) (*.f64 -1/2 (cos.f64 x))))))
(+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/6 (pow.f64 (sin.f64 x) 3)) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 1/6 (sin.f64 x))))) (+.f64 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 1/24 (cos.f64 x)) (+.f64 (*.f64 -1/4 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2))) (+.f64 (*.f64 1/8 (pow.f64 (cos.f64 x) 2)) (+.f64 (*.f64 1/24 (pow.f64 (sin.f64 x) 4)) (*.f64 -1/6 (pow.f64 (sin.f64 x) 2))))))) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 x) 2)) (*.f64 -1/2 (cos.f64 x)))))))
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))) 1)
Outputs
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (*.f64 (neg.f64 x) (sin.f64 eps)) 1))
(+.f64 (cos.f64 eps) (fma.f64 (neg.f64 x) (sin.f64 eps) -1))
(+.f64 (cos.f64 eps) (fma.f64 x (neg.f64 (sin.f64 eps)) -1))
(+.f64 (cos.f64 eps) (-.f64 -1 (*.f64 x (sin.f64 eps))))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 x x))) 1))
(+.f64 (cos.f64 eps) (+.f64 (fma.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 x x) (*.f64 x (neg.f64 (sin.f64 eps)))) -1))
(+.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (-.f64 (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) (sin.f64 eps))))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 x x)))) 1))
(+.f64 (+.f64 (*.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2))) (*.f64 (sin.f64 eps) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (neg.f64 x)))) (+.f64 (cos.f64 eps) -1))
(+.f64 (*.f64 (sin.f64 eps) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x)) (+.f64 (fma.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) -1) (cos.f64 eps)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 (neg.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x)))
(fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (sin.f64 x) (neg.f64 eps)))
(*.f64 eps (-.f64 (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (sin.f64 x) (neg.f64 eps))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 eps (-.f64 (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) (*.f64 eps (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x)))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (sin.f64 x) (neg.f64 eps)))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 eps (-.f64 (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (sin.f64 x)))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (+.f64 (*.f64 (cos.f64 x) (*.f64 eps (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(expm1.f64 (+.f64 (cos.f64 eps) -1))
(-.f64 (+.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (*.f64 -1 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (*.f64 (sin.f64 eps) x)))) 1)
(+.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (-.f64 (neg.f64 (*.f64 (*.f64 x (sin.f64 eps)) (exp.f64 (+.f64 (cos.f64 eps) -1)))) 1))
(+.f64 (*.f64 (*.f64 x (neg.f64 (sin.f64 eps))) (exp.f64 (+.f64 (cos.f64 eps) -1))) (expm1.f64 (+.f64 (cos.f64 eps) -1)))
(+.f64 -1 (*.f64 (+.f64 (*.f64 (sin.f64 eps) (neg.f64 x)) 1) (exp.f64 (+.f64 (cos.f64 eps) -1))))
(-.f64 (+.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (+.f64 (*.f64 -1 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (*.f64 (sin.f64 eps) x))) (*.f64 (+.f64 1/2 (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 eps) 2)) (*.f64 -1/2 (cos.f64 eps)))) (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 2))))) 1)
(+.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (-.f64 (fma.f64 -1 (*.f64 (*.f64 x (sin.f64 eps)) (exp.f64 (+.f64 (cos.f64 eps) -1))) (*.f64 (+.f64 1/2 (fma.f64 1/2 (pow.f64 (sin.f64 eps) 2) (*.f64 (cos.f64 eps) -1/2))) (*.f64 (*.f64 x x) (exp.f64 (+.f64 (cos.f64 eps) -1))))) 1))
(+.f64 (-.f64 (*.f64 (+.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 1/2 (pow.f64 (sin.f64 eps) 2))) (*.f64 x (*.f64 x (exp.f64 (+.f64 (cos.f64 eps) -1))))) (*.f64 x (*.f64 (sin.f64 eps) (exp.f64 (+.f64 (cos.f64 eps) -1))))) (expm1.f64 (+.f64 (cos.f64 eps) -1)))
(+.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)) (*.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (-.f64 (*.f64 (*.f64 x x) (+.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 1/2 (pow.f64 (sin.f64 eps) 2)))) (*.f64 x (sin.f64 eps)))))
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 eps) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))) (+.f64 (*.f64 1/6 (sin.f64 eps)) (*.f64 -1/6 (pow.f64 (sin.f64 eps) 3)))) (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 3))) (+.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (+.f64 (*.f64 -1 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (*.f64 (sin.f64 eps) x))) (*.f64 (+.f64 1/2 (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 eps) 2)) (*.f64 -1/2 (cos.f64 eps)))) (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 2)))))) 1)
(+.f64 (fma.f64 (fma.f64 -1 (*.f64 (sin.f64 eps) (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2))) (fma.f64 1/6 (sin.f64 eps) (*.f64 -1/6 (pow.f64 (sin.f64 eps) 3)))) (*.f64 (pow.f64 x 3) (exp.f64 (+.f64 (cos.f64 eps) -1))) (+.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (fma.f64 -1 (*.f64 (*.f64 x (sin.f64 eps)) (exp.f64 (+.f64 (cos.f64 eps) -1))) (*.f64 (+.f64 1/2 (fma.f64 1/2 (pow.f64 (sin.f64 eps) 2) (*.f64 (cos.f64 eps) -1/2))) (*.f64 (*.f64 x x) (exp.f64 (+.f64 (cos.f64 eps) -1))))))) -1)
(fma.f64 (-.f64 (fma.f64 -1/6 (pow.f64 (sin.f64 eps) 3) (*.f64 (sin.f64 eps) 1/6)) (*.f64 (sin.f64 eps) (fma.f64 (cos.f64 eps) -1/2 1/2))) (*.f64 (pow.f64 x 3) (exp.f64 (+.f64 (cos.f64 eps) -1))) (+.f64 (-.f64 (*.f64 (+.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 1/2 (pow.f64 (sin.f64 eps) 2))) (*.f64 x (*.f64 x (exp.f64 (+.f64 (cos.f64 eps) -1))))) (*.f64 x (*.f64 (sin.f64 eps) (exp.f64 (+.f64 (cos.f64 eps) -1))))) (expm1.f64 (+.f64 (cos.f64 eps) -1))))
(+.f64 -1 (+.f64 (*.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (-.f64 (*.f64 (*.f64 x x) (+.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 1/2 (pow.f64 (sin.f64 eps) 2)))) (*.f64 x (sin.f64 eps)))) (*.f64 (+.f64 (*.f64 (pow.f64 x 3) (+.f64 (*.f64 -1/6 (pow.f64 (sin.f64 eps) 3)) (*.f64 (sin.f64 eps) (+.f64 (neg.f64 (fma.f64 (cos.f64 eps) -1/2 1/2)) 1/6)))) 1) (exp.f64 (+.f64 (cos.f64 eps) -1)))))
(+.f64 -1 (+.f64 (*.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (-.f64 (*.f64 (*.f64 x x) (+.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 1/2 (pow.f64 (sin.f64 eps) 2)))) (*.f64 x (sin.f64 eps)))) (*.f64 (+.f64 (*.f64 (pow.f64 x 3) (+.f64 (*.f64 -1/6 (pow.f64 (sin.f64 eps) 3)) (*.f64 (sin.f64 eps) (-.f64 1/6 (fma.f64 (cos.f64 eps) -1/2 1/2))))) 1) (exp.f64 (+.f64 (cos.f64 eps) -1)))))
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 (neg.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 x) 2)) (*.f64 -1/2 (cos.f64 x)))))
(fma.f64 -1 (*.f64 eps (sin.f64 x)) (*.f64 (*.f64 eps eps) (fma.f64 1/2 (pow.f64 (sin.f64 x) 2) (*.f64 -1/2 (cos.f64 x)))))
(fma.f64 (*.f64 eps eps) (fma.f64 1/2 (pow.f64 (sin.f64 x) 2) (*.f64 -1/2 (cos.f64 x))) (*.f64 (sin.f64 x) (neg.f64 eps)))
(*.f64 eps (-.f64 (*.f64 eps (fma.f64 1/2 (pow.f64 (sin.f64 x) 2) (*.f64 -1/2 (cos.f64 x)))) (sin.f64 x)))
(+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/6 (pow.f64 (sin.f64 x) 3)) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 1/6 (sin.f64 x))))) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 x) 2)) (*.f64 -1/2 (cos.f64 x))))))
(fma.f64 (pow.f64 eps 3) (fma.f64 -1/6 (pow.f64 (sin.f64 x) 3) (fma.f64 1/2 (*.f64 (cos.f64 x) (sin.f64 x)) (*.f64 1/6 (sin.f64 x)))) (fma.f64 -1 (*.f64 eps (sin.f64 x)) (*.f64 (*.f64 eps eps) (fma.f64 1/2 (pow.f64 (sin.f64 x) 2) (*.f64 -1/2 (cos.f64 x))))))
(fma.f64 (pow.f64 eps 3) (fma.f64 -1/6 (pow.f64 (sin.f64 x) 3) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/2 (cos.f64 x)) 1/6))) (fma.f64 (*.f64 eps eps) (fma.f64 1/2 (pow.f64 (sin.f64 x) 2) (*.f64 -1/2 (cos.f64 x))) (*.f64 (sin.f64 x) (neg.f64 eps))))
(fma.f64 (pow.f64 eps 3) (fma.f64 -1/6 (pow.f64 (sin.f64 x) 3) (*.f64 (sin.f64 x) (+.f64 1/6 (*.f64 1/2 (cos.f64 x))))) (*.f64 eps (-.f64 (*.f64 eps (fma.f64 1/2 (pow.f64 (sin.f64 x) 2) (*.f64 -1/2 (cos.f64 x)))) (sin.f64 x))))
(+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/6 (pow.f64 (sin.f64 x) 3)) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 1/6 (sin.f64 x))))) (+.f64 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 1/24 (cos.f64 x)) (+.f64 (*.f64 -1/4 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2))) (+.f64 (*.f64 1/8 (pow.f64 (cos.f64 x) 2)) (+.f64 (*.f64 1/24 (pow.f64 (sin.f64 x) 4)) (*.f64 -1/6 (pow.f64 (sin.f64 x) 2))))))) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 x) 2)) (*.f64 -1/2 (cos.f64 x)))))))
(fma.f64 (pow.f64 eps 3) (fma.f64 -1/6 (pow.f64 (sin.f64 x) 3) (fma.f64 1/2 (*.f64 (cos.f64 x) (sin.f64 x)) (*.f64 1/6 (sin.f64 x)))) (fma.f64 (pow.f64 eps 4) (fma.f64 1/24 (cos.f64 x) (fma.f64 -1/4 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)) (fma.f64 1/8 (pow.f64 (cos.f64 x) 2) (fma.f64 1/24 (pow.f64 (sin.f64 x) 4) (*.f64 -1/6 (pow.f64 (sin.f64 x) 2)))))) (fma.f64 -1 (*.f64 eps (sin.f64 x)) (*.f64 (*.f64 eps eps) (fma.f64 1/2 (pow.f64 (sin.f64 x) 2) (*.f64 -1/2 (cos.f64 x)))))))
(fma.f64 (pow.f64 eps 3) (fma.f64 -1/6 (pow.f64 (sin.f64 x) 3) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/2 (cos.f64 x)) 1/6))) (fma.f64 (pow.f64 eps 4) (fma.f64 (cos.f64 x) 1/24 (fma.f64 -1/4 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)) (fma.f64 1/8 (pow.f64 (cos.f64 x) 2) (fma.f64 1/24 (pow.f64 (sin.f64 x) 4) (*.f64 -1/6 (pow.f64 (sin.f64 x) 2)))))) (fma.f64 (*.f64 eps eps) (fma.f64 1/2 (pow.f64 (sin.f64 x) 2) (*.f64 -1/2 (cos.f64 x))) (*.f64 (sin.f64 x) (neg.f64 eps)))))
(fma.f64 (pow.f64 eps 3) (fma.f64 -1/6 (pow.f64 (sin.f64 x) 3) (*.f64 (sin.f64 x) (+.f64 1/6 (*.f64 1/2 (cos.f64 x))))) (fma.f64 (pow.f64 eps 4) (fma.f64 (cos.f64 x) 1/24 (+.f64 (fma.f64 1/8 (pow.f64 (cos.f64 x) 2) (*.f64 1/24 (pow.f64 (sin.f64 x) 4))) (*.f64 (pow.f64 (sin.f64 x) 2) (+.f64 -1/6 (*.f64 (cos.f64 x) -1/4))))) (*.f64 eps (-.f64 (*.f64 eps (fma.f64 1/2 (pow.f64 (sin.f64 x) 2) (*.f64 -1/2 (cos.f64 x)))) (sin.f64 x)))))
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))

localize29.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 1/6 (pow.f64 eps 3))
0.1b
(*.f64 eps (*.f64 -1/2 (cos.f64 x)))
0.3b
(fma.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
2.9b
(*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))
Compiler

Compiled 64 to 39 computations (39.1% saved)

series16.0ms (0.1%)

Counts
4 → 68
Calls

21 calls:

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

rewrite86.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
852×prod-diff_binary64
744×log-prod_binary64
392×fma-def_binary64
276×expm1-udef_binary64
276×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify76.0ms (0.4%)

Algorithm
egg-herbie
Rules
774×unsub-neg_binary64
441×associate-+l+_binary64
388×fma-def_binary64
365×associate-+r+_binary64
328×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0831309
12231239
26111179
325481152
459741152
Stop Event
node limit
Counts
157 → 131
Calls
Call 1
Inputs
(*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) x)
(+.f64 (*.f64 -1/6 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (pow.f64 x 3))) (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) x))
(+.f64 (*.f64 -1/6 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (pow.f64 x 3))) (+.f64 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) x) (*.f64 1/120 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (pow.f64 x 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (pow.f64 x 3))) (+.f64 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) x) (+.f64 (*.f64 -1/5040 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (pow.f64 x 7))) (*.f64 1/120 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (pow.f64 x 5))))))
(*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x))
(*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x))
(*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x))
(*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(*.f64 -1/2 (pow.f64 eps 2))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) x))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) x) (*.f64 1/4 (*.f64 (pow.f64 eps 2) (pow.f64 x 2)))))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) x) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (pow.f64 x 3))) (*.f64 1/4 (*.f64 (pow.f64 eps 2) (pow.f64 x 2))))))
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))))
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))))
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))))
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))))
(+.f64 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x)) (*.f64 -1/2 (*.f64 (cos.f64 x) (pow.f64 eps 2))))
(+.f64 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x)) (*.f64 -1/2 (*.f64 (cos.f64 x) (pow.f64 eps 2))))
(+.f64 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x)) (*.f64 -1/2 (*.f64 (cos.f64 x) (pow.f64 eps 2))))
(+.f64 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x)) (*.f64 -1/2 (*.f64 (cos.f64 x) (pow.f64 eps 2))))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 -1/2 eps)
(+.f64 (*.f64 -1/2 eps) (*.f64 1/4 (*.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 1/4 (*.f64 eps (pow.f64 x 2))) (*.f64 -1/48 (*.f64 eps (pow.f64 x 4)))))
(+.f64 (*.f64 1/1440 (*.f64 eps (pow.f64 x 6))) (+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 1/4 (*.f64 eps (pow.f64 x 2))) (*.f64 -1/48 (*.f64 eps (pow.f64 x 4))))))
(*.f64 -1/2 (*.f64 (cos.f64 x) eps))
(*.f64 -1/2 (*.f64 (cos.f64 x) eps))
(*.f64 -1/2 (*.f64 (cos.f64 x) eps))
(*.f64 -1/2 (*.f64 (cos.f64 x) eps))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
Outputs
(*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) x)
(*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) x)
(+.f64 (*.f64 -1/6 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (pow.f64 x 3))) (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) x))
(fma.f64 -1/6 (*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (pow.f64 x 3)) (*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) x))
(fma.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) x (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (*.f64 (pow.f64 x 3) -1/6)))
(*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (+.f64 x (*.f64 -1/6 (pow.f64 x 3))))
(+.f64 (*.f64 -1/6 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (pow.f64 x 3))) (+.f64 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) x) (*.f64 1/120 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (pow.f64 x 5)))))
(fma.f64 -1/6 (*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (pow.f64 x 3)) (fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) x (*.f64 1/120 (*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (pow.f64 x 5)))))
(fma.f64 -1/6 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (pow.f64 x 3)) (fma.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) x (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (*.f64 (pow.f64 x 5) 1/120))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (*.f64 1/120 (pow.f64 x 5)) (*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))))
(*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (+.f64 x (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/6 (pow.f64 x 3)))))
(+.f64 (*.f64 -1/6 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (pow.f64 x 3))) (+.f64 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) x) (+.f64 (*.f64 -1/5040 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (pow.f64 x 7))) (*.f64 1/120 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (pow.f64 x 5))))))
(fma.f64 -1/6 (*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (pow.f64 x 3)) (fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) x (fma.f64 -1/5040 (*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (pow.f64 x 7)) (*.f64 1/120 (*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (pow.f64 x 5))))))
(fma.f64 -1/6 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (pow.f64 x 3)) (fma.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) x (fma.f64 1/120 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (pow.f64 x 5)) (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (*.f64 (pow.f64 x 7) -1/5040)))))
(+.f64 (*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/5040 (pow.f64 x 7)))))
(*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (+.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 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x))
(*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x))
(*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x))
(*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x))
(*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x))
(*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x))
(*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x))
(*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 eps (neg.f64 (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x))
(*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x))
(*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x))
(*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x))
(*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)))
(*.f64 (pow.f64 eps 3) (*.f64 1/6 (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x))
(*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x))
(*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x))
(*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x))
(*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)))
(*.f64 (pow.f64 eps 3) (*.f64 1/6 (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x))
(*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x))
(*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x))
(*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 eps (neg.f64 (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (neg.f64 (*.f64 eps (sin.f64 x))))
(-.f64 (*.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x)))) (*.f64 eps (sin.f64 x)))
(*.f64 eps (-.f64 (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (sin.f64 x)))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)) (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (neg.f64 (*.f64 eps (sin.f64 x)))))
(fma.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x) (*.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x) (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)) (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (neg.f64 (*.f64 eps (sin.f64 x)))))
(fma.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x) (*.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x) (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))))
(*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)))
(*.f64 (pow.f64 eps 3) (*.f64 1/6 (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))))
(fma.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x))))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x))) (*.f64 (pow.f64 eps 3) (*.f64 1/6 (sin.f64 x))))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 1/6 (*.f64 eps (sin.f64 x))) (*.f64 -1/2 (cos.f64 x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)) (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (neg.f64 (*.f64 eps (sin.f64 x)))))
(fma.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x) (*.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x) (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)) (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (neg.f64 (*.f64 eps (sin.f64 x)))))
(fma.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x) (*.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x) (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))))
(*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)))
(*.f64 (pow.f64 eps 3) (*.f64 1/6 (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))))
(fma.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x))))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x))) (*.f64 (pow.f64 eps 3) (*.f64 1/6 (sin.f64 x))))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 1/6 (*.f64 eps (sin.f64 x))) (*.f64 -1/2 (cos.f64 x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)) (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (neg.f64 (*.f64 eps (sin.f64 x)))))
(fma.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x) (*.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x) (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)) (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (neg.f64 (*.f64 eps (sin.f64 x)))))
(fma.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x) (*.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x) (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(*.f64 eps (*.f64 eps -1/2))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) x))
(fma.f64 -1/2 (*.f64 eps eps) (*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) x))
(fma.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) x (*.f64 -1/2 (*.f64 eps eps)))
(fma.f64 eps (*.f64 eps -1/2) (*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) x))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) x (*.f64 eps (*.f64 eps -1/2)))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) x) (*.f64 1/4 (*.f64 (pow.f64 eps 2) (pow.f64 x 2)))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) x (*.f64 1/4 (*.f64 (*.f64 eps eps) (*.f64 x x)))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) x (*.f64 (*.f64 eps eps) (*.f64 (*.f64 x x) 1/4))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) x (*.f64 (*.f64 eps eps) (+.f64 -1/2 (*.f64 x (*.f64 x 1/4)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) x (*.f64 eps (*.f64 eps (+.f64 -1/2 (*.f64 x (*.f64 x 1/4))))))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) x) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (pow.f64 x 3))) (*.f64 1/4 (*.f64 (pow.f64 eps 2) (pow.f64 x 2))))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) x (fma.f64 -1/6 (*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (pow.f64 x 3)) (*.f64 1/4 (*.f64 (*.f64 eps eps) (*.f64 x x))))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) x (fma.f64 -1/6 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (pow.f64 x 3)) (*.f64 (*.f64 eps eps) (*.f64 (*.f64 x x) 1/4)))))
(+.f64 (*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (*.f64 eps eps) (+.f64 -1/2 (*.f64 x (*.f64 x 1/4)))))
(+.f64 (*.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 eps (*.f64 eps (+.f64 -1/2 (*.f64 x (*.f64 x 1/4))))))
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))))
(fma.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)) (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (neg.f64 (*.f64 eps (sin.f64 x)))))
(fma.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x) (*.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x) (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))))
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))))
(fma.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)) (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (neg.f64 (*.f64 eps (sin.f64 x)))))
(fma.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x) (*.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x) (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))))
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))))
(fma.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)) (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (neg.f64 (*.f64 eps (sin.f64 x)))))
(fma.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x) (*.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x) (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))))
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))))
(fma.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)) (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (neg.f64 (*.f64 eps (sin.f64 x)))))
(fma.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x) (*.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x) (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))))
(+.f64 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x)) (*.f64 -1/2 (*.f64 (cos.f64 x) (pow.f64 eps 2))))
(fma.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)) (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (neg.f64 (*.f64 eps (sin.f64 x)))))
(fma.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x) (*.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x) (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))))
(+.f64 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x)) (*.f64 -1/2 (*.f64 (cos.f64 x) (pow.f64 eps 2))))
(fma.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)) (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (neg.f64 (*.f64 eps (sin.f64 x)))))
(fma.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x) (*.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x) (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))))
(+.f64 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x)) (*.f64 -1/2 (*.f64 (cos.f64 x) (pow.f64 eps 2))))
(fma.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)) (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (neg.f64 (*.f64 eps (sin.f64 x)))))
(fma.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x) (*.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x) (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))))
(+.f64 (*.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x)) (*.f64 -1/2 (*.f64 (cos.f64 x) (pow.f64 eps 2))))
(fma.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)) (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (neg.f64 (*.f64 eps (sin.f64 x)))))
(fma.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (sin.f64 x) (*.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x)))))
(fma.f64 (fma.f64 1/6 (pow.f64 eps 3) (neg.f64 eps)) (sin.f64 x) (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 eps (*.f64 -1/2 (cos.f64 x)))
(*.f64 (cos.f64 x) (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 eps (*.f64 -1/2 (cos.f64 x)))
(*.f64 (cos.f64 x) (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 eps (*.f64 -1/2 (cos.f64 x)))
(*.f64 (cos.f64 x) (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 eps (*.f64 -1/2 (cos.f64 x)))
(*.f64 (cos.f64 x) (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 eps (*.f64 -1/2 (cos.f64 x)))
(*.f64 (cos.f64 x) (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 eps (*.f64 -1/2 (cos.f64 x)))
(*.f64 (cos.f64 x) (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 eps (*.f64 -1/2 (cos.f64 x)))
(*.f64 (cos.f64 x) (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 eps (*.f64 -1/2 (cos.f64 x)))
(*.f64 (cos.f64 x) (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 eps (*.f64 -1/2 (cos.f64 x)))
(*.f64 (cos.f64 x) (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 eps (*.f64 -1/2 (cos.f64 x)))
(*.f64 (cos.f64 x) (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 eps (*.f64 -1/2 (cos.f64 x)))
(*.f64 (cos.f64 x) (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 eps (*.f64 -1/2 (cos.f64 x)))
(*.f64 (cos.f64 x) (*.f64 eps -1/2))
(*.f64 -1/2 eps)
(*.f64 eps -1/2)
(+.f64 (*.f64 -1/2 eps) (*.f64 1/4 (*.f64 eps (pow.f64 x 2))))
(fma.f64 -1/2 eps (*.f64 1/4 (*.f64 eps (*.f64 x x))))
(fma.f64 eps -1/2 (*.f64 1/4 (*.f64 eps (*.f64 x x))))
(*.f64 eps (+.f64 -1/2 (*.f64 x (*.f64 x 1/4))))
(+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 1/4 (*.f64 eps (pow.f64 x 2))) (*.f64 -1/48 (*.f64 eps (pow.f64 x 4)))))
(fma.f64 -1/2 eps (fma.f64 1/4 (*.f64 eps (*.f64 x x)) (*.f64 (*.f64 -1/48 eps) (pow.f64 x 4))))
(fma.f64 eps -1/2 (fma.f64 1/4 (*.f64 eps (*.f64 x x)) (*.f64 -1/48 (*.f64 eps (pow.f64 x 4)))))
(fma.f64 eps -1/2 (*.f64 eps (+.f64 (*.f64 x (*.f64 x 1/4)) (*.f64 -1/48 (pow.f64 x 4)))))
(*.f64 eps (+.f64 (+.f64 -1/2 (*.f64 -1/48 (pow.f64 x 4))) (*.f64 x (*.f64 x 1/4))))
(+.f64 (*.f64 1/1440 (*.f64 eps (pow.f64 x 6))) (+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 1/4 (*.f64 eps (pow.f64 x 2))) (*.f64 -1/48 (*.f64 eps (pow.f64 x 4))))))
(fma.f64 1/1440 (*.f64 eps (pow.f64 x 6)) (fma.f64 -1/2 eps (fma.f64 1/4 (*.f64 eps (*.f64 x x)) (*.f64 (*.f64 -1/48 eps) (pow.f64 x 4)))))
(fma.f64 1/1440 (*.f64 eps (pow.f64 x 6)) (fma.f64 eps -1/2 (fma.f64 1/4 (*.f64 eps (*.f64 x x)) (*.f64 -1/48 (*.f64 eps (pow.f64 x 4))))))
(fma.f64 eps -1/2 (fma.f64 eps (*.f64 1/1440 (pow.f64 x 6)) (*.f64 eps (+.f64 (*.f64 x (*.f64 x 1/4)) (*.f64 -1/48 (pow.f64 x 4))))))
(*.f64 eps (+.f64 (+.f64 (*.f64 -1/48 (pow.f64 x 4)) (*.f64 x (*.f64 x 1/4))) (+.f64 -1/2 (*.f64 1/1440 (pow.f64 x 6)))))
(*.f64 -1/2 (*.f64 (cos.f64 x) eps))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 eps (*.f64 -1/2 (cos.f64 x)))
(*.f64 (cos.f64 x) (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 (cos.f64 x) eps))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 eps (*.f64 -1/2 (cos.f64 x)))
(*.f64 (cos.f64 x) (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 (cos.f64 x) eps))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 eps (*.f64 -1/2 (cos.f64 x)))
(*.f64 (cos.f64 x) (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 (cos.f64 x) eps))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 eps (*.f64 -1/2 (cos.f64 x)))
(*.f64 (cos.f64 x) (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 eps (*.f64 -1/2 (cos.f64 x)))
(*.f64 (cos.f64 x) (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 eps (*.f64 -1/2 (cos.f64 x)))
(*.f64 (cos.f64 x) (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 eps (*.f64 -1/2 (cos.f64 x)))
(*.f64 (cos.f64 x) (*.f64 eps -1/2))
(*.f64 -1/2 (*.f64 eps (cos.f64 x)))
(*.f64 eps (*.f64 -1/2 (cos.f64 x)))
(*.f64 (cos.f64 x) (*.f64 eps -1/2))

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2)
0.4b
(cbrt.f64 (cos.f64 (+.f64 x eps)))
2.8b
(cos.f64 (+.f64 x eps))
15.0b
(-.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (cbrt.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
Compiler

Compiled 55 to 16 computations (70.9% saved)

series36.0ms (0.2%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
17.0ms
x
@inf
(cbrt.f64 (cos.f64 (+.f64 x eps)))
2.0ms
eps
@0
(cbrt.f64 (cos.f64 (+.f64 x eps)))
2.0ms
x
@-inf
(cbrt.f64 (cos.f64 (+.f64 x eps)))
2.0ms
x
@0
(cbrt.f64 (cos.f64 (+.f64 x eps)))
2.0ms
eps
@0
(pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2)

rewrite84.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
503×log-prod_binary64
430×fma-def_binary64
338×pow-prod-down_binary64
296×pow2_binary64
243×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify171.0ms (1%)

Algorithm
egg-herbie
Rules
489×distribute-lft-in_binary64
489×distribute-rgt-in_binary64
452×unswap-sqr_binary64
440×unsub-neg_binary64
278×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02062442
16462380
223092354
362832342
Stop Event
node limit
Counts
249 → 236
Calls
Call 1
Inputs
(-.f64 (cos.f64 eps) 1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))))) 1)
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(pow.f64 (cos.f64 eps) 1/3)
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/9) (*.f64 (sin.f64 eps) x))) (pow.f64 (cos.f64 eps) 1/3))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/9) (*.f64 (sin.f64 eps) x))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/3) (*.f64 (-.f64 (*.f64 -1/2 (cos.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (pow.f64 x 2)))) (pow.f64 (cos.f64 eps) 1/3)))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/9) (*.f64 (sin.f64 eps) x))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/3) (*.f64 (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/3) (pow.f64 (sin.f64 eps) 3))) (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 5)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 (cos.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (sin.f64 eps)))) (*.f64 -1/6 (sin.f64 eps)))) (pow.f64 x 3)))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/3) (*.f64 (-.f64 (*.f64 -1/2 (cos.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (pow.f64 x 2)))) (pow.f64 (cos.f64 eps) 1/3))))
(pow.f64 (cos.f64 (+.f64 eps x)) 1/3)
(pow.f64 (cos.f64 (+.f64 eps x)) 1/3)
(pow.f64 (cos.f64 (+.f64 eps x)) 1/3)
(pow.f64 (cos.f64 (+.f64 eps x)) 1/3)
(pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 1/3)
(pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 1/3)
(pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 1/3)
(pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 1/3)
(pow.f64 (cos.f64 x) 1/3)
(+.f64 (pow.f64 (cos.f64 x) 1/3) (*.f64 -1/3 (*.f64 (*.f64 eps (sin.f64 x)) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/9))))
(+.f64 (*.f64 1/3 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (cos.f64 x)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/9) (pow.f64 (sin.f64 x) 2)))) (pow.f64 eps 2)) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/3))) (+.f64 (pow.f64 (cos.f64 x) 1/3) (*.f64 -1/3 (*.f64 (*.f64 eps (sin.f64 x)) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/9)))))
(+.f64 (*.f64 -1/3 (*.f64 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 5)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 (cos.f64 x)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/9) (pow.f64 (sin.f64 x) 2)))) (sin.f64 x)))) (+.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/3) (pow.f64 (sin.f64 x) 3))))) (pow.f64 eps 3)) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/3))) (+.f64 (*.f64 1/3 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (cos.f64 x)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/9) (pow.f64 (sin.f64 x) 2)))) (pow.f64 eps 2)) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/3))) (+.f64 (pow.f64 (cos.f64 x) 1/3) (*.f64 -1/3 (*.f64 (*.f64 eps (sin.f64 x)) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/9))))))
(pow.f64 (cos.f64 (+.f64 eps x)) 1/3)
(pow.f64 (cos.f64 (+.f64 eps x)) 1/3)
(pow.f64 (cos.f64 (+.f64 eps x)) 1/3)
(pow.f64 (cos.f64 (+.f64 eps x)) 1/3)
(pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 1/3)
(pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 1/3)
(pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 1/3)
(pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 1/3)
(pow.f64 (pow.f64 (cos.f64 eps) 2) 1/3)
(+.f64 (pow.f64 (pow.f64 (cos.f64 eps) 2) 1/3) (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 (cos.f64 eps) 1) 1/9) (*.f64 (sin.f64 eps) x))))
(+.f64 (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/3) (-.f64 (*.f64 -1/2 (cos.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/9) (pow.f64 (sin.f64 eps) 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 4)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (pow.f64 x 2)) (+.f64 (pow.f64 (pow.f64 (cos.f64 eps) 2) 1/3) (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 (cos.f64 eps) 1) 1/9) (*.f64 (sin.f64 eps) x)))))
(+.f64 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/3) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/3) (pow.f64 (sin.f64 eps) 3))) (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 5)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 (cos.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (sin.f64 eps)))) (*.f64 -1/6 (sin.f64 eps)))))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 8)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 (cos.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (sin.f64 eps))))) (pow.f64 x 3)) (+.f64 (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/3) (-.f64 (*.f64 -1/2 (cos.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/9) (pow.f64 (sin.f64 eps) 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 4)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (pow.f64 x 2)) (+.f64 (pow.f64 (pow.f64 (cos.f64 eps) 2) 1/3) (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 (cos.f64 eps) 1) 1/9) (*.f64 (sin.f64 eps) x))))))
(pow.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3)
(+.f64 (*.f64 -2/3 (*.f64 (*.f64 eps (sin.f64 x)) (pow.f64 (*.f64 (cos.f64 x) 1) 1/9))) (pow.f64 (pow.f64 (cos.f64 x) 2) 1/3))
(+.f64 (*.f64 -2/3 (*.f64 (*.f64 eps (sin.f64 x)) (pow.f64 (*.f64 (cos.f64 x) 1) 1/9))) (+.f64 (pow.f64 (pow.f64 (cos.f64 x) 2) 1/3) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/3) (-.f64 (*.f64 -1/2 (cos.f64 x)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/9) (pow.f64 (sin.f64 x) 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 4)) 1/9) (pow.f64 (sin.f64 x) 2)))))))
(+.f64 (*.f64 -2/3 (*.f64 (*.f64 eps (sin.f64 x)) (pow.f64 (*.f64 (cos.f64 x) 1) 1/9))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 8)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 (cos.f64 x)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/9) (pow.f64 (sin.f64 x) 2)))) (sin.f64 x)))) (*.f64 -2/3 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 5)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 (cos.f64 x)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/9) (pow.f64 (sin.f64 x) 2)))) (sin.f64 x)))) (+.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/3) (pow.f64 (sin.f64 x) 3))))) (pow.f64 (/.f64 1 (cos.f64 x)) 1/3))))) (+.f64 (pow.f64 (pow.f64 (cos.f64 x) 2) 1/3) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/3) (-.f64 (*.f64 -1/2 (cos.f64 x)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/9) (pow.f64 (sin.f64 x) 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 4)) 1/9) (pow.f64 (sin.f64 x) 2))))))))
(pow.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 2) 1/3)
Outputs
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(+.f64 (+.f64 (cos.f64 eps) (*.f64 (neg.f64 x) (sin.f64 eps))) -1)
(+.f64 (cos.f64 eps) (fma.f64 (neg.f64 x) (sin.f64 eps) -1))
(+.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) (neg.f64 x) -1))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 x x))) 1))
(+.f64 -1 (+.f64 (cos.f64 eps) (fma.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 x x) (*.f64 (sin.f64 eps) (neg.f64 x)))))
(+.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (-.f64 (*.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) x) (sin.f64 eps))))
(+.f64 (cos.f64 eps) (fma.f64 x (-.f64 (*.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) x) (sin.f64 eps)) -1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 x x)))) 1))
(+.f64 -1 (+.f64 (+.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (neg.f64 x)))) (*.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)))))
(+.f64 (*.f64 (sin.f64 eps) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x)) (+.f64 (fma.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 x x) -1) (cos.f64 eps)))
(+.f64 (+.f64 (cos.f64 eps) -1) (fma.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) (*.f64 (sin.f64 eps) (fma.f64 1/6 (pow.f64 x 3) (neg.f64 x)))))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 (neg.f64 eps) (sin.f64 x))
(*.f64 eps (neg.f64 (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x)))
(-.f64 (*.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps))) (*.f64 eps (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x))))
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (-.f64 (*.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps))) (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/6 (pow.f64 eps 3)) (neg.f64 eps))))
(fma.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps eps)) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x)))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (-.f64 (*.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps))) (*.f64 eps (sin.f64 x)))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (+.f64 (*.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/6 (pow.f64 eps 3)) (neg.f64 eps)))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps eps)) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(-.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(pow.f64 (cos.f64 eps) 1/3)
(cbrt.f64 (cos.f64 eps))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/9) (*.f64 (sin.f64 eps) x))) (pow.f64 (cos.f64 eps) 1/3))
(fma.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/18)) (*.f64 x (sin.f64 eps))) (cbrt.f64 (cos.f64 eps)))
(fma.f64 -1/3 (*.f64 x (*.f64 (sin.f64 eps) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/18)))) (cbrt.f64 (cos.f64 eps)))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/9) (*.f64 (sin.f64 eps) x))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/3) (*.f64 (-.f64 (*.f64 -1/2 (cos.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (pow.f64 x 2)))) (pow.f64 (cos.f64 eps) 1/3)))
(fma.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/18)) (*.f64 x (sin.f64 eps))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2))) (*.f64 (*.f64 x x) (-.f64 (*.f64 (cos.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18) (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18)) (pow.f64 (sin.f64 eps) 2)))))) (cbrt.f64 (cos.f64 eps))))
(fma.f64 -1/3 (*.f64 x (*.f64 (sin.f64 eps) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/18)))) (fma.f64 1/3 (*.f64 (*.f64 x x) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2))) (fma.f64 (cos.f64 eps) -1/2 (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18) (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18)) (pow.f64 (sin.f64 eps) 2)))))) (cbrt.f64 (cos.f64 eps))))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/9) (*.f64 (sin.f64 eps) x))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/3) (*.f64 (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/3) (pow.f64 (sin.f64 eps) 3))) (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 5)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 (cos.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (sin.f64 eps)))) (*.f64 -1/6 (sin.f64 eps)))) (pow.f64 x 3)))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/3) (*.f64 (-.f64 (*.f64 -1/2 (cos.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (pow.f64 x 2)))) (pow.f64 (cos.f64 eps) 1/3))))
(fma.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/18)) (*.f64 x (sin.f64 eps))) (fma.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2))) (*.f64 (pow.f64 x 3) (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2))) (pow.f64 (sin.f64 eps) 3)) (fma.f64 -2/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 5)) 1/18)) (*.f64 (sin.f64 eps) (-.f64 (*.f64 (cos.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18) (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18)) (pow.f64 (sin.f64 eps) 2)))))) (*.f64 (sin.f64 eps) -1/6))))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2))) (*.f64 (*.f64 x x) (-.f64 (*.f64 (cos.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18) (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18)) (pow.f64 (sin.f64 eps) 2)))))) (cbrt.f64 (cos.f64 eps)))))
(fma.f64 -1/3 (*.f64 x (*.f64 (sin.f64 eps) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/18)))) (fma.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2))) (*.f64 (pow.f64 x 3) (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2))) (pow.f64 (sin.f64 eps) 3)) (fma.f64 -2/3 (*.f64 (fma.f64 (cos.f64 eps) -1/2 (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18) (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18)) (pow.f64 (sin.f64 eps) 2)))) (*.f64 (sin.f64 eps) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 5)) 1/18)))) (*.f64 (sin.f64 eps) -1/6))))) (fma.f64 1/3 (*.f64 (*.f64 x x) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2))) (fma.f64 (cos.f64 eps) -1/2 (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18) (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18)) (pow.f64 (sin.f64 eps) 2)))))) (cbrt.f64 (cos.f64 eps)))))
(+.f64 (fma.f64 -1/3 (*.f64 x (*.f64 (sin.f64 eps) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/18)))) (cbrt.f64 (cos.f64 eps))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2))) (+.f64 (*.f64 1/3 (*.f64 x (*.f64 x (fma.f64 (cos.f64 eps) -1/2 (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18) (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18)) (pow.f64 (sin.f64 eps) 2))))))) (*.f64 -1/3 (*.f64 (pow.f64 x 3) (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2))) (pow.f64 (sin.f64 eps) 3)) (*.f64 (sin.f64 eps) (+.f64 (*.f64 -2/3 (*.f64 (fma.f64 (cos.f64 eps) -1/2 (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18) (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18)) (pow.f64 (sin.f64 eps) 2)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 5)) 1/18)))) -1/6))))))))
(pow.f64 (cos.f64 (+.f64 eps x)) 1/3)
(cbrt.f64 (cos.f64 (+.f64 eps x)))
(pow.f64 (cos.f64 (+.f64 eps x)) 1/3)
(cbrt.f64 (cos.f64 (+.f64 eps x)))
(pow.f64 (cos.f64 (+.f64 eps x)) 1/3)
(cbrt.f64 (cos.f64 (+.f64 eps x)))
(pow.f64 (cos.f64 (+.f64 eps x)) 1/3)
(cbrt.f64 (cos.f64 (+.f64 eps x)))
(pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 1/3)
(cbrt.f64 (cos.f64 (+.f64 eps x)))
(pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 1/3)
(cbrt.f64 (cos.f64 (+.f64 eps x)))
(pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 1/3)
(cbrt.f64 (cos.f64 (+.f64 eps x)))
(pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 1/3)
(cbrt.f64 (cos.f64 (+.f64 eps x)))
(pow.f64 (cos.f64 x) 1/3)
(cbrt.f64 (cos.f64 x))
(+.f64 (pow.f64 (cos.f64 x) 1/3) (*.f64 -1/3 (*.f64 (*.f64 eps (sin.f64 x)) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/9))))
(+.f64 (cbrt.f64 (cos.f64 x)) (*.f64 -1/3 (*.f64 (*.f64 eps (sin.f64 x)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/18)))))
(fma.f64 -1/3 (*.f64 (sin.f64 x) (*.f64 eps (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/18)))) (cbrt.f64 (cos.f64 x)))
(fma.f64 -1/3 (*.f64 eps (*.f64 (sin.f64 x) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/18)))) (cbrt.f64 (cos.f64 x)))
(+.f64 (*.f64 1/3 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (cos.f64 x)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/9) (pow.f64 (sin.f64 x) 2)))) (pow.f64 eps 2)) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/3))) (+.f64 (pow.f64 (cos.f64 x) 1/3) (*.f64 -1/3 (*.f64 (*.f64 eps (sin.f64 x)) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/9)))))
(fma.f64 1/3 (*.f64 (+.f64 (*.f64 -1/2 (cos.f64 x)) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/18) (pow.f64 (/.f64 1 (cos.f64 x)) 1/18)) (pow.f64 (sin.f64 x) 2)))) (*.f64 (*.f64 eps eps) (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2))))) (+.f64 (cbrt.f64 (cos.f64 x)) (*.f64 -1/3 (*.f64 (*.f64 eps (sin.f64 x)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/18))))))
(fma.f64 1/3 (*.f64 (*.f64 eps eps) (*.f64 (fma.f64 -1/2 (cos.f64 x) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (/.f64 1 (cos.f64 x)) 1/18)) (pow.f64 (/.f64 1 (cos.f64 x)) 1/18)))) (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2))))) (fma.f64 -1/3 (*.f64 (sin.f64 x) (*.f64 eps (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/18)))) (cbrt.f64 (cos.f64 x))))
(fma.f64 1/3 (*.f64 (fma.f64 -1/2 (cos.f64 x) (*.f64 (*.f64 -1/3 (pow.f64 (sin.f64 x) 2)) (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/18) (pow.f64 (/.f64 1 (cos.f64 x)) 1/18)))) (*.f64 (*.f64 eps eps) (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2))))) (fma.f64 -1/3 (*.f64 eps (*.f64 (sin.f64 x) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/18)))) (cbrt.f64 (cos.f64 x))))
(+.f64 (*.f64 -1/3 (*.f64 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 5)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 (cos.f64 x)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/9) (pow.f64 (sin.f64 x) 2)))) (sin.f64 x)))) (+.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/3) (pow.f64 (sin.f64 x) 3))))) (pow.f64 eps 3)) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/3))) (+.f64 (*.f64 1/3 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (cos.f64 x)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/9) (pow.f64 (sin.f64 x) 2)))) (pow.f64 eps 2)) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/3))) (+.f64 (pow.f64 (cos.f64 x) 1/3) (*.f64 -1/3 (*.f64 (*.f64 eps (sin.f64 x)) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/9))))))
(fma.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2))) (*.f64 (pow.f64 eps 3) (fma.f64 -2/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 5)) 1/18)) (*.f64 (sin.f64 x) (+.f64 (*.f64 -1/2 (cos.f64 x)) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/18) (pow.f64 (/.f64 1 (cos.f64 x)) 1/18)) (pow.f64 (sin.f64 x) 2)))))) (fma.f64 -1/6 (sin.f64 x) (*.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2))) (pow.f64 (sin.f64 x) 3))))))) (fma.f64 1/3 (*.f64 (+.f64 (*.f64 -1/2 (cos.f64 x)) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/18) (pow.f64 (/.f64 1 (cos.f64 x)) 1/18)) (pow.f64 (sin.f64 x) 2)))) (*.f64 (*.f64 eps eps) (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2))))) (+.f64 (cbrt.f64 (cos.f64 x)) (*.f64 -1/3 (*.f64 (*.f64 eps (sin.f64 x)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/18)))))))
(+.f64 (fma.f64 -1/3 (*.f64 (sin.f64 x) (*.f64 eps (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/18)))) (cbrt.f64 (cos.f64 x))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2))) (+.f64 (*.f64 (*.f64 -1/3 (pow.f64 eps 3)) (fma.f64 -2/3 (*.f64 (sin.f64 x) (*.f64 (fma.f64 -1/2 (cos.f64 x) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (/.f64 1 (cos.f64 x)) 1/18)) (pow.f64 (/.f64 1 (cos.f64 x)) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 5)) 1/18)))) (fma.f64 (sin.f64 x) -1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2))) (*.f64 (pow.f64 (sin.f64 x) 3) -1/27))))) (*.f64 1/3 (*.f64 eps (*.f64 eps (fma.f64 -1/2 (cos.f64 x) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (/.f64 1 (cos.f64 x)) 1/18)) (pow.f64 (/.f64 1 (cos.f64 x)) 1/18))))))))))
(+.f64 (fma.f64 -1/3 (*.f64 eps (*.f64 (sin.f64 x) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/18)))) (cbrt.f64 (cos.f64 x))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2))) (+.f64 (*.f64 (*.f64 1/3 (*.f64 eps eps)) (fma.f64 -1/2 (cos.f64 x) (*.f64 (*.f64 -1/3 (pow.f64 (sin.f64 x) 2)) (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/18) (pow.f64 (/.f64 1 (cos.f64 x)) 1/18))))) (*.f64 (*.f64 -1/3 (pow.f64 eps 3)) (+.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2))) (*.f64 (pow.f64 (sin.f64 x) 3) -1/27)) (*.f64 (sin.f64 x) (+.f64 (*.f64 -2/3 (*.f64 (fma.f64 -1/2 (cos.f64 x) (*.f64 (*.f64 -1/3 (pow.f64 (sin.f64 x) 2)) (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/18) (pow.f64 (/.f64 1 (cos.f64 x)) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 5)) 1/18)))) -1/6)))))))
(pow.f64 (cos.f64 (+.f64 eps x)) 1/3)
(cbrt.f64 (cos.f64 (+.f64 eps x)))
(pow.f64 (cos.f64 (+.f64 eps x)) 1/3)
(cbrt.f64 (cos.f64 (+.f64 eps x)))
(pow.f64 (cos.f64 (+.f64 eps x)) 1/3)
(cbrt.f64 (cos.f64 (+.f64 eps x)))
(pow.f64 (cos.f64 (+.f64 eps x)) 1/3)
(cbrt.f64 (cos.f64 (+.f64 eps x)))
(pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 1/3)
(cbrt.f64 (cos.f64 (+.f64 eps x)))
(pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 1/3)
(cbrt.f64 (cos.f64 (+.f64 eps x)))
(pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 1/3)
(cbrt.f64 (cos.f64 (+.f64 eps x)))
(pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 1/3)
(cbrt.f64 (cos.f64 (+.f64 eps x)))
(pow.f64 (pow.f64 (cos.f64 eps) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 eps) 2))
(+.f64 (pow.f64 (pow.f64 (cos.f64 eps) 2) 1/3) (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 (cos.f64 eps) 1) 1/9) (*.f64 (sin.f64 eps) x))))
(+.f64 (cbrt.f64 (pow.f64 (cos.f64 eps) 2)) (*.f64 -2/3 (*.f64 (*.f64 x (sin.f64 eps)) (*.f64 (pow.f64 (cos.f64 eps) 1/18) (pow.f64 (cos.f64 eps) 1/18)))))
(fma.f64 -2/3 (*.f64 (pow.f64 (cos.f64 eps) 1/18) (*.f64 (pow.f64 (cos.f64 eps) 1/18) (*.f64 x (sin.f64 eps)))) (cbrt.f64 (pow.f64 (cos.f64 eps) 2)))
(+.f64 (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/3) (-.f64 (*.f64 -1/2 (cos.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/9) (pow.f64 (sin.f64 eps) 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 4)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (pow.f64 x 2)) (+.f64 (pow.f64 (pow.f64 (cos.f64 eps) 2) 1/3) (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 (cos.f64 eps) 1) 1/9) (*.f64 (sin.f64 eps) x)))))
(fma.f64 (fma.f64 2/3 (*.f64 (-.f64 (*.f64 (cos.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18) (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18)) (pow.f64 (sin.f64 eps) 2)))) (cbrt.f64 (/.f64 1 (cos.f64 eps)))) (*.f64 1/9 (*.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 4)) 1/18))))) (*.f64 x x) (+.f64 (cbrt.f64 (pow.f64 (cos.f64 eps) 2)) (*.f64 -2/3 (*.f64 (*.f64 x (sin.f64 eps)) (*.f64 (pow.f64 (cos.f64 eps) 1/18) (pow.f64 (cos.f64 eps) 1/18))))))
(fma.f64 (*.f64 x x) (fma.f64 2/3 (*.f64 (fma.f64 (cos.f64 eps) -1/2 (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18) (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18)) (pow.f64 (sin.f64 eps) 2)))) (cbrt.f64 (/.f64 1 (cos.f64 eps)))) (*.f64 1/9 (*.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 4)) 1/18))))) (fma.f64 -2/3 (*.f64 (pow.f64 (cos.f64 eps) 1/18) (*.f64 (pow.f64 (cos.f64 eps) 1/18) (*.f64 x (sin.f64 eps)))) (cbrt.f64 (pow.f64 (cos.f64 eps) 2))))
(fma.f64 (*.f64 x x) (fma.f64 2/3 (*.f64 (fma.f64 (cos.f64 eps) -1/2 (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18) (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18)) (pow.f64 (sin.f64 eps) 2)))) (cbrt.f64 (/.f64 1 (cos.f64 eps)))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 4)) 1/18)) (*.f64 (pow.f64 (sin.f64 eps) 2) 1/9))) (fma.f64 -2/3 (*.f64 (pow.f64 (cos.f64 eps) 1/18) (*.f64 (pow.f64 (cos.f64 eps) 1/18) (*.f64 x (sin.f64 eps)))) (cbrt.f64 (pow.f64 (cos.f64 eps) 2))))
(+.f64 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/3) (+.f64 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2)) 1/3) (pow.f64 (sin.f64 eps) 3))) (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 5)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 (cos.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (sin.f64 eps)))) (*.f64 -1/6 (sin.f64 eps)))))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 8)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 (cos.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (sin.f64 eps))))) (pow.f64 x 3)) (+.f64 (*.f64 (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/3) (-.f64 (*.f64 -1/2 (cos.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/9) (pow.f64 (sin.f64 eps) 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 4)) 1/9) (pow.f64 (sin.f64 eps) 2)))) (pow.f64 x 2)) (+.f64 (pow.f64 (pow.f64 (cos.f64 eps) 2) 1/3) (*.f64 -2/3 (*.f64 (pow.f64 (*.f64 (cos.f64 eps) 1) 1/9) (*.f64 (sin.f64 eps) x))))))
(fma.f64 (fma.f64 -2/3 (*.f64 (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2))) (pow.f64 (sin.f64 eps) 3)) (fma.f64 -2/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 5)) 1/18)) (*.f64 (sin.f64 eps) (-.f64 (*.f64 (cos.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18) (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18)) (pow.f64 (sin.f64 eps) 2)))))) (*.f64 (sin.f64 eps) -1/6))) (cbrt.f64 (/.f64 1 (cos.f64 eps)))) (*.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 8)) 1/18))) (*.f64 (sin.f64 eps) (-.f64 (*.f64 (cos.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18) (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18)) (pow.f64 (sin.f64 eps) 2))))))) (pow.f64 x 3) (fma.f64 (fma.f64 2/3 (*.f64 (-.f64 (*.f64 (cos.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18) (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18)) (pow.f64 (sin.f64 eps) 2)))) (cbrt.f64 (/.f64 1 (cos.f64 eps)))) (*.f64 1/9 (*.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 4)) 1/18))))) (*.f64 x x) (+.f64 (cbrt.f64 (pow.f64 (cos.f64 eps) 2)) (*.f64 -2/3 (*.f64 (*.f64 x (sin.f64 eps)) (*.f64 (pow.f64 (cos.f64 eps) 1/18) (pow.f64 (cos.f64 eps) 1/18)))))))
(fma.f64 (pow.f64 x 3) (fma.f64 -2/3 (*.f64 (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2))) (pow.f64 (sin.f64 eps) 3)) (fma.f64 -2/3 (*.f64 (fma.f64 (cos.f64 eps) -1/2 (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18) (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18)) (pow.f64 (sin.f64 eps) 2)))) (*.f64 (sin.f64 eps) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 5)) 1/18)))) (*.f64 (sin.f64 eps) -1/6))) (cbrt.f64 (/.f64 1 (cos.f64 eps)))) (*.f64 -2/9 (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 8)) 1/18)) (sin.f64 eps)) (fma.f64 (cos.f64 eps) -1/2 (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18) (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18)) (pow.f64 (sin.f64 eps) 2))))))) (fma.f64 (*.f64 x x) (fma.f64 2/3 (*.f64 (fma.f64 (cos.f64 eps) -1/2 (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18) (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18)) (pow.f64 (sin.f64 eps) 2)))) (cbrt.f64 (/.f64 1 (cos.f64 eps)))) (*.f64 1/9 (*.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 4)) 1/18))))) (fma.f64 -2/3 (*.f64 (pow.f64 (cos.f64 eps) 1/18) (*.f64 (pow.f64 (cos.f64 eps) 1/18) (*.f64 x (sin.f64 eps)))) (cbrt.f64 (pow.f64 (cos.f64 eps) 2)))))
(fma.f64 (pow.f64 x 3) (fma.f64 -2/3 (*.f64 (fma.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 2))) (pow.f64 (sin.f64 eps) 3)) (*.f64 (sin.f64 eps) (+.f64 (*.f64 -2/3 (*.f64 (fma.f64 (cos.f64 eps) -1/2 (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18) (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18)) (pow.f64 (sin.f64 eps) 2)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 5)) 1/18)))) -1/6))) (cbrt.f64 (/.f64 1 (cos.f64 eps)))) (*.f64 (*.f64 (sin.f64 eps) (fma.f64 (cos.f64 eps) -1/2 (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18) (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18)) (pow.f64 (sin.f64 eps) 2))))) (*.f64 (*.f64 -2/9 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 8)) 1/18)) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 8)) 1/18)))) (fma.f64 (*.f64 x x) (fma.f64 2/3 (*.f64 (fma.f64 (cos.f64 eps) -1/2 (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18) (pow.f64 (/.f64 1 (cos.f64 eps)) 1/18)) (pow.f64 (sin.f64 eps) 2)))) (cbrt.f64 (/.f64 1 (cos.f64 eps)))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 eps) 4)) 1/18)) (*.f64 (pow.f64 (sin.f64 eps) 2) 1/9))) (fma.f64 -2/3 (*.f64 (pow.f64 (cos.f64 eps) 1/18) (*.f64 (pow.f64 (cos.f64 eps) 1/18) (*.f64 x (sin.f64 eps)))) (cbrt.f64 (pow.f64 (cos.f64 eps) 2)))))
(pow.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2))
(pow.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2))
(pow.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2))
(pow.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2))
(pow.f64 (pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2))
(pow.f64 (pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2))
(pow.f64 (pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2))
(pow.f64 (pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2))
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 x) 2))
(+.f64 (*.f64 -2/3 (*.f64 (*.f64 eps (sin.f64 x)) (pow.f64 (*.f64 (cos.f64 x) 1) 1/9))) (pow.f64 (pow.f64 (cos.f64 x) 2) 1/3))
(fma.f64 -2/3 (*.f64 (*.f64 eps (sin.f64 x)) (*.f64 (pow.f64 (cos.f64 x) 1/18) (pow.f64 (cos.f64 x) 1/18))) (cbrt.f64 (pow.f64 (cos.f64 x) 2)))
(+.f64 (*.f64 -2/3 (*.f64 (*.f64 eps (sin.f64 x)) (pow.f64 (*.f64 (cos.f64 x) 1) 1/9))) (+.f64 (pow.f64 (pow.f64 (cos.f64 x) 2) 1/3) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/3) (-.f64 (*.f64 -1/2 (cos.f64 x)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/9) (pow.f64 (sin.f64 x) 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 4)) 1/9) (pow.f64 (sin.f64 x) 2)))))))
(+.f64 (fma.f64 -2/3 (*.f64 (*.f64 eps (sin.f64 x)) (*.f64 (pow.f64 (cos.f64 x) 1/18) (pow.f64 (cos.f64 x) 1/18))) (cbrt.f64 (pow.f64 (cos.f64 x) 2))) (*.f64 (*.f64 eps eps) (fma.f64 2/3 (*.f64 (+.f64 (*.f64 -1/2 (cos.f64 x)) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/18) (pow.f64 (/.f64 1 (cos.f64 x)) 1/18)) (pow.f64 (sin.f64 x) 2)))) (cbrt.f64 (/.f64 1 (cos.f64 x)))) (*.f64 1/9 (*.f64 (pow.f64 (sin.f64 x) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 4)) 1/18)))))))
(fma.f64 -2/3 (*.f64 (*.f64 eps (sin.f64 x)) (*.f64 (pow.f64 (cos.f64 x) 1/18) (pow.f64 (cos.f64 x) 1/18))) (fma.f64 (*.f64 eps eps) (fma.f64 2/3 (*.f64 (fma.f64 -1/2 (cos.f64 x) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (/.f64 1 (cos.f64 x)) 1/18)) (pow.f64 (/.f64 1 (cos.f64 x)) 1/18)))) (cbrt.f64 (/.f64 1 (cos.f64 x)))) (*.f64 1/9 (*.f64 (pow.f64 (sin.f64 x) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 4)) 1/18))))) (cbrt.f64 (pow.f64 (cos.f64 x) 2))))
(fma.f64 -2/3 (*.f64 (*.f64 eps (sin.f64 x)) (*.f64 (pow.f64 (cos.f64 x) 1/18) (pow.f64 (cos.f64 x) 1/18))) (fma.f64 (*.f64 eps eps) (fma.f64 2/3 (*.f64 (fma.f64 -1/2 (cos.f64 x) (*.f64 (*.f64 -1/3 (pow.f64 (sin.f64 x) 2)) (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/18) (pow.f64 (/.f64 1 (cos.f64 x)) 1/18)))) (cbrt.f64 (/.f64 1 (cos.f64 x)))) (*.f64 (pow.f64 (sin.f64 x) 2) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 4)) 1/18))))) (cbrt.f64 (pow.f64 (cos.f64 x) 2))))
(+.f64 (*.f64 -2/3 (*.f64 (*.f64 eps (sin.f64 x)) (pow.f64 (*.f64 (cos.f64 x) 1) 1/9))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 8)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 (cos.f64 x)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/9) (pow.f64 (sin.f64 x) 2)))) (sin.f64 x)))) (*.f64 -2/3 (*.f64 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 5)) 1/9) (*.f64 (-.f64 (*.f64 -1/2 (cos.f64 x)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/9) (pow.f64 (sin.f64 x) 2)))) (sin.f64 x)))) (+.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2)) 1/3) (pow.f64 (sin.f64 x) 3))))) (pow.f64 (/.f64 1 (cos.f64 x)) 1/3))))) (+.f64 (pow.f64 (pow.f64 (cos.f64 x) 2) 1/3) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/3) (-.f64 (*.f64 -1/2 (cos.f64 x)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/9) (pow.f64 (sin.f64 x) 2)))))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 4)) 1/9) (pow.f64 (sin.f64 x) 2))))))))
(fma.f64 -2/3 (*.f64 (*.f64 eps (sin.f64 x)) (*.f64 (pow.f64 (cos.f64 x) 1/18) (pow.f64 (cos.f64 x) 1/18))) (fma.f64 (pow.f64 eps 3) (fma.f64 -2/9 (*.f64 (*.f64 (sin.f64 x) (+.f64 (*.f64 -1/2 (cos.f64 x)) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/18) (pow.f64 (/.f64 1 (cos.f64 x)) 1/18)) (pow.f64 (sin.f64 x) 2))))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 8)) 1/18))) (*.f64 -2/3 (*.f64 (fma.f64 -2/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 5)) 1/18)) (*.f64 (sin.f64 x) (+.f64 (*.f64 -1/2 (cos.f64 x)) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/18) (pow.f64 (/.f64 1 (cos.f64 x)) 1/18)) (pow.f64 (sin.f64 x) 2)))))) (fma.f64 -1/6 (sin.f64 x) (*.f64 -1/27 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2))) (pow.f64 (sin.f64 x) 3))))) (cbrt.f64 (/.f64 1 (cos.f64 x)))))) (+.f64 (cbrt.f64 (pow.f64 (cos.f64 x) 2)) (*.f64 (*.f64 eps eps) (fma.f64 2/3 (*.f64 (+.f64 (*.f64 -1/2 (cos.f64 x)) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/18) (pow.f64 (/.f64 1 (cos.f64 x)) 1/18)) (pow.f64 (sin.f64 x) 2)))) (cbrt.f64 (/.f64 1 (cos.f64 x)))) (*.f64 1/9 (*.f64 (pow.f64 (sin.f64 x) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 4)) 1/18)))))))))
(fma.f64 -2/3 (*.f64 (*.f64 eps (sin.f64 x)) (*.f64 (pow.f64 (cos.f64 x) 1/18) (pow.f64 (cos.f64 x) 1/18))) (fma.f64 (pow.f64 eps 3) (fma.f64 -2/3 (*.f64 (fma.f64 -2/3 (*.f64 (sin.f64 x) (*.f64 (fma.f64 -1/2 (cos.f64 x) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (/.f64 1 (cos.f64 x)) 1/18)) (pow.f64 (/.f64 1 (cos.f64 x)) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 5)) 1/18)))) (fma.f64 (sin.f64 x) -1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2))) (*.f64 (pow.f64 (sin.f64 x) 3) -1/27)))) (cbrt.f64 (/.f64 1 (cos.f64 x)))) (*.f64 -2/9 (*.f64 (fma.f64 -1/2 (cos.f64 x) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (/.f64 1 (cos.f64 x)) 1/18)) (pow.f64 (/.f64 1 (cos.f64 x)) 1/18)))) (*.f64 (sin.f64 x) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 8)) 1/18)))))) (fma.f64 (*.f64 eps eps) (fma.f64 2/3 (*.f64 (fma.f64 -1/2 (cos.f64 x) (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (/.f64 1 (cos.f64 x)) 1/18)) (pow.f64 (/.f64 1 (cos.f64 x)) 1/18)))) (cbrt.f64 (/.f64 1 (cos.f64 x)))) (*.f64 1/9 (*.f64 (pow.f64 (sin.f64 x) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 4)) 1/18))))) (cbrt.f64 (pow.f64 (cos.f64 x) 2)))))
(fma.f64 -2/3 (*.f64 (*.f64 eps (sin.f64 x)) (*.f64 (pow.f64 (cos.f64 x) 1/18) (pow.f64 (cos.f64 x) 1/18))) (fma.f64 (pow.f64 eps 3) (fma.f64 -2/3 (*.f64 (+.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cos.f64 x) 2))) (*.f64 (pow.f64 (sin.f64 x) 3) -1/27)) (*.f64 (sin.f64 x) (+.f64 (*.f64 -2/3 (*.f64 (fma.f64 -1/2 (cos.f64 x) (*.f64 (*.f64 -1/3 (pow.f64 (sin.f64 x) 2)) (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/18) (pow.f64 (/.f64 1 (cos.f64 x)) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 5)) 1/18)))) -1/6))) (cbrt.f64 (/.f64 1 (cos.f64 x)))) (*.f64 (*.f64 (sin.f64 x) (fma.f64 -1/2 (cos.f64 x) (*.f64 (*.f64 -1/3 (pow.f64 (sin.f64 x) 2)) (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/18) (pow.f64 (/.f64 1 (cos.f64 x)) 1/18))))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 8)) 1/18))))) (fma.f64 (*.f64 eps eps) (fma.f64 2/3 (*.f64 (fma.f64 -1/2 (cos.f64 x) (*.f64 (*.f64 -1/3 (pow.f64 (sin.f64 x) 2)) (*.f64 (pow.f64 (/.f64 1 (cos.f64 x)) 1/18) (pow.f64 (/.f64 1 (cos.f64 x)) 1/18)))) (cbrt.f64 (/.f64 1 (cos.f64 x)))) (*.f64 (pow.f64 (sin.f64 x) 2) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (cos.f64 x) 4)) 1/18))))) (cbrt.f64 (pow.f64 (cos.f64 x) 2)))))
(pow.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2))
(pow.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2))
(pow.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2))
(pow.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2))
(pow.f64 (pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2))
(pow.f64 (pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2))
(pow.f64 (pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2))
(pow.f64 (pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2))

eval664.0ms (3.8%)

Compiler

Compiled 29135 to 13205 computations (54.7% saved)

prune411.0ms (2.3%)

Pruning

70 alts after pruning (68 fresh and 2 done)

PrunedKeptTotal
New1223541277
Fresh171431
Picked101
Done325
Total1244701314
Error
0.1b
Counts
1314 → 70
Alt Table
Click to see full alt table
StatusErrorProgram
30.4b
(fma.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) 3))
49.3b
(*.f64 eps (*.f64 eps -1/2))
38.8b
(-.f64 (cos.f64 eps) 1)
53.8b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (pow.f64 eps 3) 1/3) 1/2))) -2)
39.0b
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
49.7b
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
38.9b
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2))))
39.4b
(-.f64 (log.f64 (exp.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
38.8b
(-.f64 (cos.f64 eps) (cos.f64 x))
43.8b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 eps (*.f64 eps eps))) 1/2))) -2)
38.8b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (log.f64 (exp.f64 (sin.f64 (*.f64 1/2 eps))))) -2)
46.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (/.f64 (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps))))) (sqrt.f64 2))) -2)
46.9b
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
26.6b
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
49.2b
(*.f64 (+.f64 (sqrt.f64 (cos.f64 eps)) 1) (-.f64 (sqrt.f64 (cos.f64 eps)) 1))
50.0b
(/.f64 (-.f64 (*.f64 (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))) (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2)))) (pow.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) 2)) (-.f64 (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))))
54.9b
(sqrt.f64 (*.f64 4 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 2)))
39.3b
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
26.4b
(-.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
29.8b
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
39.0b
(*.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (/.f64 1 (+.f64 (cos.f64 eps) 1)))
44.9b
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
43.5b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (fabs.f64 (sin.f64 (*.f64 1/2 eps)))) -2)
26.1b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))))
54.5b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 (*.f64 eps eps) (pow.f64 eps 3))) 1/2))) -2)
38.9b
(*.f64 (log.f64 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))) -2)
40.1b
(fma.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 eps 6) 1/36) (*.f64 eps eps)) (sin.f64 x)) (fma.f64 1/6 (pow.f64 eps 3) eps)))
26.1b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))
26.0b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
36.0b
(*.f64 (sin.f64 x) (neg.f64 eps))
43.2b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (cbrt.f64 eps) 3) 1/2))) -2)
38.9b
(log1p.f64 (-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1))
36.0b
(*.f64 (*.f64 1/2 (*.f64 eps (sin.f64 x))) -2)
38.9b
(*.f64 (log.f64 (exp.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) -2)
38.8b
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
38.8b
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 eps) 1)))
39.9b
(+.f64 (cos.f64 eps) (-.f64 -1 (*.f64 x (sin.f64 eps))))
38.8b
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
34.9b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
33.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2))) -2)
32.7b
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)) 3)
26.0b
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
38.8b
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x))))
55.5b
(-.f64 (cos.f64 x) (cos.f64 x))
12.9b
(log1p.f64 (expm1.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)))
26.2b
(-.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2) (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2) (*.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (cos.f64 x))
54.9b
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
53.5b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 (pow.f64 eps 3) (*.f64 eps eps)) 1/2))) -2)
44.9b
(fma.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (cbrt.f64 (*.f64 (pow.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) 3) (pow.f64 (sin.f64 x) 3))))
38.9b
(*.f64 (-.f64 (exp.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) 1) -2)
26.1b
(log1p.f64 (expm1.f64 (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
29.9b
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 x -2) (*.f64 (pow.f64 x 3) 1/3))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 x x) -2))))
39.5b
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
14.3b
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
47.9b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (expm1.f64 (log1p.f64 eps)) 1/2))) -2)
39.0b
(/.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (-.f64 (cos.f64 eps) -1))
26.1b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
49.0b
(expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
30.0b
(*.f64 (*.f64 eps (+.f64 (*.f64 eps (*.f64 (cos.f64 x) 1/4)) (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps)))))) -2)
32.9b
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3) -2)
26.4b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
13.2b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (sin.f64 (*.f64 x 1/2))))) -2)
32.3b
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
48.5b
(*.f64 (exp.f64 (*.f64 2 (log.f64 (sin.f64 (*.f64 1/2 eps))))) -2)
29.8b
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 x -2)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 x x) -2))))
12.9b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) -2)
40.4b
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
45.3b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (fma.f64 (*.f64 (+.f64 x eps) (-.f64 x eps)) (/.f64 1 (-.f64 x eps)) (neg.f64 x)) 1/2))) -2)
40.2b
(-.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (cos.f64 x))
37.4b
(*.f64 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3) -2)
Compiler

Compiled 2439 to 1787 computations (26.7% saved)

localize45.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(expm1.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2))
0.2b
(log1p.f64 (expm1.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)))
0.3b
(*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))
3.0b
(sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))
Compiler

Compiled 129 to 55 computations (57.4% saved)

series17.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
6.0ms
eps
@0
(expm1.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2))
3.0ms
x
@0
(expm1.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2))
1.0ms
eps
@inf
(expm1.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2))
1.0ms
eps
@0
(log1p.f64 (expm1.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)))
1.0ms
eps
@-inf
(expm1.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2))

rewrite110.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
699×fma-def_binary64
315×fma-neg_binary64
237×expm1-udef_binary64
237×log1p-udef_binary64
186×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify146.0ms (0.8%)

Algorithm
egg-herbie
Rules
414×associate-+l+_binary64
397×*-commutative_binary64
390×unswap-sqr_binary64
379×associate-+r+_binary64
327×distribute-rgt-neg-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01451632
14601499
215571316
345611306
Stop Event
node limit
Counts
99 → 88
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 -2 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 -2 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x))))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(+.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))
(+.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(+.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)) (+.f64 (*.f64 1/3 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 x) 2)) (*.f64 -1/2 (cos.f64 x)))))
(+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/6 (pow.f64 (sin.f64 x) 3)) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 -2 (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x))))))) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 x) 2)) (*.f64 -1/2 (cos.f64 x))))))
(+.f64 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 1/24 (cos.f64 x)) (+.f64 (*.f64 -1/4 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2))) (+.f64 (*.f64 1/8 (pow.f64 (cos.f64 x) 2)) (+.f64 (*.f64 2 (*.f64 (sin.f64 x) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x))))) (*.f64 1/24 (pow.f64 (sin.f64 x) 4))))))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/6 (pow.f64 (sin.f64 x) 3)) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 -2 (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x))))))) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 x) 2)) (*.f64 -1/2 (cos.f64 x)))))))
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))) 1)
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))) 1)
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))) 1)
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))) 1)
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))) 1)
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))) 1)
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))) 1)
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))) 1)
(-.f64 (exp.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) 1)
(-.f64 (+.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (exp.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))) (exp.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))) 1)
(-.f64 (+.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (exp.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))) (+.f64 (exp.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (*.f64 (exp.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (*.f64 (pow.f64 x 2) (+.f64 (*.f64 2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 (cos.f64 (*.f64 1/2 eps)) 2))) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))) 1)
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps)))) (+.f64 (*.f64 -2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3) (cos.f64 (*.f64 1/2 eps)))) (*.f64 -4/3 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3) (pow.f64 (cos.f64 (*.f64 1/2 eps)) 3))))) (*.f64 (exp.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (pow.f64 x 3))) (+.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (exp.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))) (+.f64 (exp.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (*.f64 (exp.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (*.f64 (pow.f64 x 2) (+.f64 (*.f64 2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 (cos.f64 (*.f64 1/2 eps)) 2))) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))))) 1)
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))) 1)
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))) 1)
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))) 1)
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))) 1)
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))))) 1)
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))))) 1)
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))))) 1)
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))))) 1)
Outputs
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 (neg.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 x) (neg.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (*.f64 (neg.f64 eps) (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 eps (sin.f64 x)))
(*.f64 eps (-.f64 (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 -2 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (fma.f64 -1 (*.f64 eps (sin.f64 x)) (*.f64 -2 (*.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) -1/12)))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (-.f64 (*.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) 1/6)) (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 eps (-.f64 (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (sin.f64 x))) (*.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) 1/6)))
(fma.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) 1/6) (*.f64 eps (-.f64 (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (sin.f64 x))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 -2 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x))))))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (cos.f64 x)) (fma.f64 -1 (*.f64 eps (sin.f64 x)) (*.f64 -2 (*.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) -1/12))))))
(+.f64 (-.f64 (*.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) 1/6)) (*.f64 eps (sin.f64 x))) (*.f64 (cos.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (*.f64 eps eps)))))
(+.f64 (*.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) 1/6)) (-.f64 (*.f64 (cos.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 eps (*.f64 eps -1/2)))) (*.f64 eps (sin.f64 x))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) 1/6) (*.f64 eps (-.f64 (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (sin.f64 x)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x))))
(*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x))))
(*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x))))
(*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x))))
(*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x))))
(*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x))))
(*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x))))
(*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x))))
(*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2))
(+.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))
(*.f64 -2 (+.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) (*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 x (cos.f64 (*.f64 eps 1/2))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (+.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 x (cos.f64 (*.f64 eps 1/2))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (+.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 x (cos.f64 (*.f64 eps 1/2)))))
(+.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(fma.f64 -2 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) (fma.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) (*.f64 x x) (*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 x (cos.f64 (*.f64 eps 1/2)))))))
(+.f64 (*.f64 (*.f64 x (cos.f64 (*.f64 eps 1/2))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))) (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) (+.f64 -2 (*.f64 x x))))
(+.f64 (*.f64 x (*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 eps 1/2))))) (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) (+.f64 -2 (*.f64 x x))))
(+.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)) (+.f64 (*.f64 1/3 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))))
(fma.f64 -2 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) (fma.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) (*.f64 x x) (fma.f64 1/3 (*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 (cos.f64 (*.f64 eps 1/2)) (pow.f64 x 3))) (*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 x (cos.f64 (*.f64 eps 1/2))))))))
(+.f64 (fma.f64 1/3 (*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 (cos.f64 (*.f64 eps 1/2)) (pow.f64 x 3))) (*.f64 (*.f64 x (cos.f64 (*.f64 eps 1/2))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))) (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) (+.f64 -2 (*.f64 x x))))
(+.f64 (*.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 eps 1/2))) (+.f64 (*.f64 x -2) (*.f64 1/3 (pow.f64 x 3)))) (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) (+.f64 -2 (*.f64 x x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x))))
(*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x))))
(*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x))))
(*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x))))
(*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x))))
(*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x))))
(*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x))))
(*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x))))
(*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2))))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 (neg.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 x) (neg.f64 eps))
(+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 x) 2)) (*.f64 -1/2 (cos.f64 x)))))
(fma.f64 -1 (*.f64 eps (sin.f64 x)) (*.f64 (*.f64 eps eps) (fma.f64 1/2 (pow.f64 (sin.f64 x) 2) (*.f64 -1/2 (cos.f64 x)))))
(fma.f64 (*.f64 eps eps) (fma.f64 -1/2 (cos.f64 x) (*.f64 1/2 (pow.f64 (sin.f64 x) 2))) (*.f64 (sin.f64 x) (neg.f64 eps)))
(*.f64 eps (-.f64 (*.f64 eps (fma.f64 -1/2 (cos.f64 x) (*.f64 1/2 (pow.f64 (sin.f64 x) 2)))) (sin.f64 x)))
(+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/6 (pow.f64 (sin.f64 x) 3)) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 -2 (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x))))))) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 x) 2)) (*.f64 -1/2 (cos.f64 x))))))
(fma.f64 (pow.f64 eps 3) (fma.f64 -1/6 (pow.f64 (sin.f64 x) 3) (fma.f64 1/2 (*.f64 (sin.f64 x) (cos.f64 x)) (*.f64 -2 (*.f64 (sin.f64 x) -1/12)))) (fma.f64 -1 (*.f64 eps (sin.f64 x)) (*.f64 (*.f64 eps eps) (fma.f64 1/2 (pow.f64 (sin.f64 x) 2) (*.f64 -1/2 (cos.f64 x))))))
(fma.f64 (pow.f64 eps 3) (fma.f64 -1/6 (pow.f64 (sin.f64 x) 3) (fma.f64 1/2 (*.f64 (sin.f64 x) (cos.f64 x)) (*.f64 (sin.f64 x) 1/6))) (fma.f64 (*.f64 eps eps) (fma.f64 -1/2 (cos.f64 x) (*.f64 1/2 (pow.f64 (sin.f64 x) 2))) (*.f64 (sin.f64 x) (neg.f64 eps))))
(fma.f64 (pow.f64 eps 3) (fma.f64 -1/6 (pow.f64 (sin.f64 x) 3) (*.f64 (sin.f64 x) (+.f64 (*.f64 (cos.f64 x) 1/2) 1/6))) (*.f64 eps (-.f64 (*.f64 eps (fma.f64 -1/2 (cos.f64 x) (*.f64 1/2 (pow.f64 (sin.f64 x) 2)))) (sin.f64 x))))
(+.f64 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 1/24 (cos.f64 x)) (+.f64 (*.f64 -1/4 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2))) (+.f64 (*.f64 1/8 (pow.f64 (cos.f64 x) 2)) (+.f64 (*.f64 2 (*.f64 (sin.f64 x) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x))))) (*.f64 1/24 (pow.f64 (sin.f64 x) 4))))))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/6 (pow.f64 (sin.f64 x) 3)) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 -2 (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x))))))) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/2 (pow.f64 (sin.f64 x) 2)) (*.f64 -1/2 (cos.f64 x)))))))
(fma.f64 (pow.f64 eps 4) (fma.f64 1/24 (cos.f64 x) (fma.f64 -1/4 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)) (fma.f64 1/8 (pow.f64 (cos.f64 x) 2) (fma.f64 2 (*.f64 (sin.f64 x) (*.f64 (sin.f64 x) -1/12)) (*.f64 1/24 (pow.f64 (sin.f64 x) 4)))))) (fma.f64 (pow.f64 eps 3) (fma.f64 -1/6 (pow.f64 (sin.f64 x) 3) (fma.f64 1/2 (*.f64 (sin.f64 x) (cos.f64 x)) (*.f64 -2 (*.f64 (sin.f64 x) -1/12)))) (fma.f64 -1 (*.f64 eps (sin.f64 x)) (*.f64 (*.f64 eps eps) (fma.f64 1/2 (pow.f64 (sin.f64 x) 2) (*.f64 -1/2 (cos.f64 x)))))))
(fma.f64 (pow.f64 eps 4) (fma.f64 (cos.f64 x) 1/24 (fma.f64 -1/4 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)) (fma.f64 1/8 (pow.f64 (cos.f64 x) 2) (fma.f64 2 (*.f64 (pow.f64 (sin.f64 x) 2) -1/12) (*.f64 1/24 (pow.f64 (sin.f64 x) 4)))))) (fma.f64 (pow.f64 eps 3) (fma.f64 -1/6 (pow.f64 (sin.f64 x) 3) (fma.f64 1/2 (*.f64 (sin.f64 x) (cos.f64 x)) (*.f64 (sin.f64 x) 1/6))) (fma.f64 (*.f64 eps eps) (fma.f64 -1/2 (cos.f64 x) (*.f64 1/2 (pow.f64 (sin.f64 x) 2))) (*.f64 (sin.f64 x) (neg.f64 eps)))))
(fma.f64 (pow.f64 eps 4) (+.f64 (fma.f64 1/8 (pow.f64 (cos.f64 x) 2) (fma.f64 2 (*.f64 (pow.f64 (sin.f64 x) 2) -1/12) (*.f64 1/24 (pow.f64 (sin.f64 x) 4)))) (*.f64 (cos.f64 x) (+.f64 1/24 (*.f64 (pow.f64 (sin.f64 x) 2) -1/4)))) (fma.f64 (pow.f64 eps 3) (fma.f64 -1/6 (pow.f64 (sin.f64 x) 3) (*.f64 (sin.f64 x) (+.f64 (*.f64 (cos.f64 x) 1/2) 1/6))) (*.f64 eps (-.f64 (*.f64 eps (fma.f64 -1/2 (cos.f64 x) (*.f64 1/2 (pow.f64 (sin.f64 x) 2)))) (sin.f64 x)))))
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))) 1)
(expm1.f64 (*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(expm1.f64 (*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(expm1.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x)))))
(expm1.f64 (*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))) 1)
(expm1.f64 (*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(expm1.f64 (*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(expm1.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x)))))
(expm1.f64 (*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))) 1)
(expm1.f64 (*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(expm1.f64 (*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(expm1.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x)))))
(expm1.f64 (*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))) 1)
(expm1.f64 (*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(expm1.f64 (*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(expm1.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x)))))
(expm1.f64 (*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))) 1)
(expm1.f64 (*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(expm1.f64 (*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(expm1.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x)))))
(expm1.f64 (*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))) 1)
(expm1.f64 (*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(expm1.f64 (*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(expm1.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x)))))
(expm1.f64 (*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))) 1)
(expm1.f64 (*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(expm1.f64 (*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(expm1.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x)))))
(expm1.f64 (*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))))) 1)
(expm1.f64 (*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(expm1.f64 (*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(expm1.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x)))))
(expm1.f64 (*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(-.f64 (exp.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) 1)
(expm1.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)))
(-.f64 (+.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (exp.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))) (exp.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))) 1)
(+.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 (*.f64 x (cos.f64 (*.f64 eps 1/2))) (pow.f64 (exp.f64 -2) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2))))) (expm1.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2))))
(fma.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (*.f64 (cos.f64 (*.f64 eps 1/2)) (*.f64 x (pow.f64 (exp.f64 -2) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)))) (expm1.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2))))
(+.f64 -1 (*.f64 (+.f64 (*.f64 x (*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 eps 1/2))))) 1) (pow.f64 (exp.f64 -2) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2))))
(fma.f64 (+.f64 (*.f64 (*.f64 x (cos.f64 (*.f64 eps 1/2))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))) 1) (pow.f64 (exp.f64 -2) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)) -1)
(-.f64 (+.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (exp.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))) (+.f64 (exp.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (*.f64 (exp.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (*.f64 (pow.f64 x 2) (+.f64 (*.f64 2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 (cos.f64 (*.f64 1/2 eps)) 2))) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))) 1)
(+.f64 (+.f64 (fma.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 (*.f64 x (cos.f64 (*.f64 eps 1/2))) (pow.f64 (exp.f64 -2) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)))) (pow.f64 (exp.f64 -2) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2))) (*.f64 (pow.f64 (exp.f64 -2) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)) (*.f64 (*.f64 x x) (fma.f64 2 (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) (pow.f64 (cos.f64 (*.f64 eps 1/2)) 2)) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2))))) -1)
(+.f64 -1 (fma.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 (cos.f64 (*.f64 eps 1/2)) (*.f64 x (pow.f64 (exp.f64 -2) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2))))) (*.f64 (+.f64 (*.f64 x (*.f64 x (fma.f64 2 (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) (pow.f64 (cos.f64 (*.f64 eps 1/2)) 2)) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)))) 1) (pow.f64 (exp.f64 -2) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)))))
(+.f64 -1 (*.f64 (pow.f64 (exp.f64 -2) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)) (+.f64 (*.f64 x (*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 eps 1/2))))) (+.f64 1 (*.f64 (*.f64 x x) (*.f64 (+.f64 (*.f64 2 (pow.f64 (cos.f64 (*.f64 eps 1/2)) 2)) 1) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)))))))
(fma.f64 (pow.f64 (exp.f64 -2) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)) (+.f64 (*.f64 (*.f64 x (cos.f64 (*.f64 eps 1/2))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))) (+.f64 1 (*.f64 (*.f64 x x) (*.f64 (+.f64 (*.f64 2 (pow.f64 (cos.f64 (*.f64 eps 1/2)) 2)) 1) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2))))) -1)
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps)))) (+.f64 (*.f64 -2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3) (cos.f64 (*.f64 1/2 eps)))) (*.f64 -4/3 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3) (pow.f64 (cos.f64 (*.f64 1/2 eps)) 3))))) (*.f64 (exp.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (pow.f64 x 3))) (+.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (exp.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))) (+.f64 (exp.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (*.f64 (exp.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (*.f64 (pow.f64 x 2) (+.f64 (*.f64 2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 (cos.f64 (*.f64 1/2 eps)) 2))) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))))) 1)
(+.f64 (fma.f64 (fma.f64 1/3 (*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 eps 1/2))) (fma.f64 -2 (*.f64 (cos.f64 (*.f64 eps 1/2)) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 3)) (*.f64 -4/3 (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 3) (pow.f64 (cos.f64 (*.f64 eps 1/2)) 3))))) (*.f64 (pow.f64 x 3) (pow.f64 (exp.f64 -2) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2))) (+.f64 (fma.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 (*.f64 x (cos.f64 (*.f64 eps 1/2))) (pow.f64 (exp.f64 -2) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)))) (pow.f64 (exp.f64 -2) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2))) (*.f64 (pow.f64 (exp.f64 -2) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)) (*.f64 (*.f64 x x) (fma.f64 2 (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) (pow.f64 (cos.f64 (*.f64 eps 1/2)) 2)) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)))))) -1)
(+.f64 -1 (fma.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 3) (*.f64 (pow.f64 (cos.f64 (*.f64 eps 1/2)) 3) -4/3)) (*.f64 (cos.f64 (*.f64 eps 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) 1/3) (*.f64 -2 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 3))))) (*.f64 (pow.f64 x 3) (pow.f64 (exp.f64 -2) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2))) (fma.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 (cos.f64 (*.f64 eps 1/2)) (*.f64 x (pow.f64 (exp.f64 -2) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2))))) (*.f64 (+.f64 (*.f64 x (*.f64 x (fma.f64 2 (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) (pow.f64 (cos.f64 (*.f64 eps 1/2)) 2)) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)))) 1) (pow.f64 (exp.f64 -2) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2))))))
(+.f64 (*.f64 (pow.f64 (exp.f64 -2) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)) (+.f64 (*.f64 x (*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 eps 1/2))))) (+.f64 1 (*.f64 (*.f64 x x) (*.f64 (+.f64 (*.f64 2 (pow.f64 (cos.f64 (*.f64 eps 1/2)) 2)) 1) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)))))) (fma.f64 (pow.f64 x 3) (*.f64 (pow.f64 (exp.f64 -2) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)) (fma.f64 1/3 (*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 eps 1/2))) (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 3) (+.f64 (*.f64 -2 (cos.f64 (*.f64 eps 1/2))) (*.f64 -4/3 (pow.f64 (cos.f64 (*.f64 eps 1/2)) 3)))))) -1))
(fma.f64 (fma.f64 1/3 (*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 eps 1/2))) (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 3) (+.f64 (*.f64 -2 (cos.f64 (*.f64 eps 1/2))) (*.f64 -4/3 (pow.f64 (cos.f64 (*.f64 eps 1/2)) 3))))) (*.f64 (pow.f64 x 3) (pow.f64 (exp.f64 -2) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2))) (fma.f64 (pow.f64 (exp.f64 -2) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)) (+.f64 (*.f64 (*.f64 x (cos.f64 (*.f64 eps 1/2))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))) (+.f64 1 (*.f64 (*.f64 x x) (*.f64 (+.f64 (*.f64 2 (pow.f64 (cos.f64 (*.f64 eps 1/2)) 2)) 1) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2))))) -1))
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))) 1)
(expm1.f64 (*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(expm1.f64 (*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(expm1.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x)))))
(expm1.f64 (*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))) 1)
(expm1.f64 (*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(expm1.f64 (*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(expm1.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x)))))
(expm1.f64 (*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))) 1)
(expm1.f64 (*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(expm1.f64 (*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(expm1.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x)))))
(expm1.f64 (*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))) 1)
(expm1.f64 (*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(expm1.f64 (*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(expm1.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x)))))
(expm1.f64 (*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))))) 1)
(expm1.f64 (*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(expm1.f64 (*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(expm1.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x)))))
(expm1.f64 (*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))))) 1)
(expm1.f64 (*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(expm1.f64 (*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(expm1.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x)))))
(expm1.f64 (*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))))) 1)
(expm1.f64 (*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(expm1.f64 (*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(expm1.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x)))))
(expm1.f64 (*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(-.f64 (exp.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))))) 1)
(expm1.f64 (*.f64 (*.f64 -2 (sin.f64 (*.f64 eps 1/2))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(expm1.f64 (*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))
(expm1.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (fma.f64 eps 1/2 x)))))
(expm1.f64 (*.f64 (sin.f64 (fma.f64 eps 1/2 x)) (*.f64 -2 (sin.f64 (*.f64 eps 1/2)))))

localize12.0ms (0.1%)

Compiler

Compiled 12 to 8 computations (33.3% saved)

localize19.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
0.3b
(pow.f64 (+.f64 (cos.f64 eps) -1) 3)
1.4b
(+.f64 (cos.f64 eps) -1)
Compiler

Compiled 24 to 16 computations (33.3% saved)

series10.0ms (0.1%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
4.0ms
eps
@inf
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
1.0ms
eps
@-inf
(pow.f64 (+.f64 (cos.f64 eps) -1) 3)
1.0ms
eps
@inf
(pow.f64 (+.f64 (cos.f64 eps) -1) 3)
1.0ms
eps
@0
(pow.f64 (+.f64 (cos.f64 eps) -1) 3)
1.0ms
eps
@0
(+.f64 (cos.f64 eps) -1)

rewrite100.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
713×pow1_binary64
670×add-log-exp_binary64
670×log1p-expm1-u_binary64
670×expm1-log1p-u_binary64
656×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify87.0ms (0.5%)

Algorithm
egg-herbie
Rules
878×distribute-rgt-out_binary64
822×distribute-lft-out_binary64
722×associate-*l*_binary64
648×fma-def_binary64
553×associate-*r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
047378
1115378
2264378
3871378
44146378
57177378
Stop Event
node limit
Counts
136 → 85
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 -1/8 (pow.f64 eps 6))
(+.f64 (*.f64 1/32 (pow.f64 eps 8)) (*.f64 -1/8 (pow.f64 eps 6)))
(+.f64 (*.f64 1/32 (pow.f64 eps 8)) (+.f64 (*.f64 -7/1920 (pow.f64 eps 10)) (*.f64 -1/8 (pow.f64 eps 6))))
(+.f64 (*.f64 1/32 (pow.f64 eps 8)) (+.f64 (*.f64 -7/1920 (pow.f64 eps 10)) (+.f64 (*.f64 -1/8 (pow.f64 eps 6)) (*.f64 1/3780 (pow.f64 eps 12)))))
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(*.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)
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 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(*.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/24) -1/2))
(+.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/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/720 (pow.f64 eps 6))))
(fma.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/24) -1/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)))))
(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)))))
(fma.f64 (pow.f64 eps 4) (fma.f64 (pow.f64 eps 4) 1/40320 1/24) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 -1/2 (*.f64 eps eps))))
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(*.f64 -1/8 (pow.f64 eps 6))
(*.f64 (pow.f64 eps 6) -1/8)
(+.f64 (*.f64 1/32 (pow.f64 eps 8)) (*.f64 -1/8 (pow.f64 eps 6)))
(fma.f64 1/32 (pow.f64 eps 8) (*.f64 (pow.f64 eps 6) -1/8))
(fma.f64 (pow.f64 eps 6) -1/8 (*.f64 (pow.f64 eps 8) 1/32))
(+.f64 (*.f64 1/32 (pow.f64 eps 8)) (+.f64 (*.f64 -7/1920 (pow.f64 eps 10)) (*.f64 -1/8 (pow.f64 eps 6))))
(fma.f64 1/32 (pow.f64 eps 8) (fma.f64 -7/1920 (pow.f64 eps 10) (*.f64 (pow.f64 eps 6) -1/8)))
(fma.f64 (pow.f64 eps 8) 1/32 (fma.f64 (pow.f64 eps 6) -1/8 (*.f64 -7/1920 (pow.f64 eps 10))))
(fma.f64 (pow.f64 eps 6) -1/8 (fma.f64 (pow.f64 eps 8) 1/32 (*.f64 -7/1920 (pow.f64 eps 10))))
(+.f64 (*.f64 1/32 (pow.f64 eps 8)) (+.f64 (*.f64 -7/1920 (pow.f64 eps 10)) (+.f64 (*.f64 -1/8 (pow.f64 eps 6)) (*.f64 1/3780 (pow.f64 eps 12)))))
(fma.f64 1/32 (pow.f64 eps 8) (fma.f64 -7/1920 (pow.f64 eps 10) (fma.f64 -1/8 (pow.f64 eps 6) (*.f64 1/3780 (pow.f64 eps 12)))))
(fma.f64 (pow.f64 eps 8) 1/32 (fma.f64 -7/1920 (pow.f64 eps 10) (fma.f64 (pow.f64 eps 6) -1/8 (*.f64 1/3780 (pow.f64 eps 12)))))
(fma.f64 (pow.f64 eps 6) -1/8 (fma.f64 (pow.f64 eps 8) 1/32 (fma.f64 -7/1920 (pow.f64 eps 10) (*.f64 1/3780 (pow.f64 eps 12)))))
(fma.f64 (pow.f64 eps 6) -1/8 (fma.f64 (pow.f64 eps 8) 1/32 (fma.f64 1/3780 (pow.f64 eps 12) (*.f64 -7/1920 (pow.f64 eps 10)))))
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (+.f64 (cos.f64 eps) -1) 3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (+.f64 (cos.f64 eps) -1) 3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (+.f64 (cos.f64 eps) -1) 3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (+.f64 (cos.f64 eps) -1) 3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (+.f64 (cos.f64 eps) -1) 3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (+.f64 (cos.f64 eps) -1) 3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (+.f64 (cos.f64 eps) -1) 3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 3)
(pow.f64 (+.f64 (cos.f64 eps) -1) 3)
(*.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 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(*.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/24) -1/2))
(+.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/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/720 (pow.f64 eps 6))))
(fma.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/24) -1/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)))))
(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)))))
(fma.f64 (pow.f64 eps 4) (fma.f64 (pow.f64 eps 4) 1/40320 1/24) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 -1/2 (*.f64 eps eps))))
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)

localize69.0ms (0.4%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(exp.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
0.3b
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
1.6b
(log.f64 (exp.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))
Compiler

Compiled 44 to 37 computations (15.9% saved)

series6.0ms (0%)

Counts
3 → 20
Calls

9 calls:

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

rewrite74.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
644×pow1_binary64
593×add-log-exp_binary64
593×log1p-expm1-u_binary64
593×expm1-log1p-u_binary64
580×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify94.0ms (0.5%)

Algorithm
egg-herbie
Rules
624×distribute-rgt-out_binary64
614×distribute-lft-out_binary64
518×fma-def_binary64
493×*-commutative_binary64
483×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
039262
192260
2205258
3646258
42858258
55791258
66234258
76816258
87669258
Stop Event
node limit
Counts
84 → 60
Calls
Call 1
Inputs
(*.f64 1/4 (pow.f64 eps 2))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 -1/48 (pow.f64 eps 4)))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 1/1440 (pow.f64 eps 6))))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (+.f64 (*.f64 -1/80640 (pow.f64 eps 8)) (*.f64 1/1440 (pow.f64 eps 6)))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 1/4 (pow.f64 eps 2))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 -1/48 (pow.f64 eps 4)))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 1/1440 (pow.f64 eps 6))))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (+.f64 (*.f64 -1/80640 (pow.f64 eps 8)) (*.f64 1/1440 (pow.f64 eps 6)))))
1
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) 1)
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 1 (*.f64 1/96 (pow.f64 eps 4))))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 1 (+.f64 (*.f64 1/96 (pow.f64 eps 4)) (*.f64 -11/5760 (pow.f64 eps 6)))))
Outputs
(*.f64 1/4 (pow.f64 eps 2))
(*.f64 1/4 (*.f64 eps eps))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 -1/48 (pow.f64 eps 4)))
(fma.f64 1/4 (*.f64 eps eps) (*.f64 -1/48 (pow.f64 eps 4)))
(fma.f64 -1/48 (pow.f64 eps 4) (*.f64 1/4 (*.f64 eps eps)))
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps -1/48) 1/4)))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 1/1440 (pow.f64 eps 6))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 -1/48 (pow.f64 eps 4) (*.f64 1/1440 (pow.f64 eps 6))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 1/1440 (pow.f64 eps 6) (*.f64 -1/48 (pow.f64 eps 4))))
(fma.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps -1/48) 1/4) (*.f64 1/1440 (pow.f64 eps 6)))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (+.f64 (*.f64 -1/80640 (pow.f64 eps 8)) (*.f64 1/1440 (pow.f64 eps 6)))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 -1/48 (pow.f64 eps 4) (fma.f64 -1/80640 (pow.f64 eps 8) (*.f64 1/1440 (pow.f64 eps 6)))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 -1/48 (pow.f64 eps 4) (fma.f64 1/1440 (pow.f64 eps 6) (*.f64 -1/80640 (pow.f64 eps 8)))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 -1/80640 (pow.f64 eps 8) (fma.f64 1/1440 (pow.f64 eps 6) (*.f64 -1/48 (pow.f64 eps 4)))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 (pow.f64 eps 4) (fma.f64 (pow.f64 eps 4) -1/80640 -1/48) (*.f64 1/1440 (pow.f64 eps 6))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)
(*.f64 1/4 (pow.f64 eps 2))
(*.f64 1/4 (*.f64 eps eps))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 -1/48 (pow.f64 eps 4)))
(fma.f64 1/4 (*.f64 eps eps) (*.f64 -1/48 (pow.f64 eps 4)))
(fma.f64 -1/48 (pow.f64 eps 4) (*.f64 1/4 (*.f64 eps eps)))
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps -1/48) 1/4)))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 1/1440 (pow.f64 eps 6))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 -1/48 (pow.f64 eps 4) (*.f64 1/1440 (pow.f64 eps 6))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 1/1440 (pow.f64 eps 6) (*.f64 -1/48 (pow.f64 eps 4))))
(fma.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps -1/48) 1/4) (*.f64 1/1440 (pow.f64 eps 6)))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (+.f64 (*.f64 -1/80640 (pow.f64 eps 8)) (*.f64 1/1440 (pow.f64 eps 6)))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 -1/48 (pow.f64 eps 4) (fma.f64 -1/80640 (pow.f64 eps 8) (*.f64 1/1440 (pow.f64 eps 6)))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 -1/48 (pow.f64 eps 4) (fma.f64 1/1440 (pow.f64 eps 6) (*.f64 -1/80640 (pow.f64 eps 8)))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 -1/80640 (pow.f64 eps 8) (fma.f64 1/1440 (pow.f64 eps 6) (*.f64 -1/48 (pow.f64 eps 4)))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 (pow.f64 eps 4) (fma.f64 (pow.f64 eps 4) -1/80640 -1/48) (*.f64 1/1440 (pow.f64 eps 6))))
1
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) 1)
(fma.f64 1/4 (*.f64 eps eps) 1)
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 1 (*.f64 1/96 (pow.f64 eps 4))))
(+.f64 (fma.f64 1/4 (*.f64 eps eps) 1) (*.f64 (pow.f64 eps 4) 1/96))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 (pow.f64 eps 4) 1/96 1))
(fma.f64 (pow.f64 eps 4) 1/96 (fma.f64 1/4 (*.f64 eps eps) 1))
(fma.f64 (*.f64 eps eps) (fma.f64 (*.f64 eps eps) 1/96 1/4) 1)
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 1 (+.f64 (*.f64 1/96 (pow.f64 eps 4)) (*.f64 -11/5760 (pow.f64 eps 6)))))
(+.f64 (fma.f64 1/4 (*.f64 eps eps) 1) (fma.f64 1/96 (pow.f64 eps 4) (*.f64 (pow.f64 eps 6) -11/5760)))
(+.f64 (fma.f64 1/4 (*.f64 eps eps) 1) (fma.f64 (pow.f64 eps 4) 1/96 (*.f64 (pow.f64 eps 6) -11/5760)))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 (pow.f64 eps 4) 1/96 (fma.f64 (pow.f64 eps 6) -11/5760 1)))
(fma.f64 (pow.f64 eps 4) 1/96 (fma.f64 (pow.f64 eps 6) -11/5760 (fma.f64 1/4 (*.f64 eps eps) 1)))

localize42.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 x (sin.f64 eps))
1.4b
(+.f64 1/2 (*.f64 -1/2 (cos.f64 eps)))
2.1b
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
8.5b
(*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))
Compiler

Compiled 105 to 61 computations (41.9% saved)

series19.0ms (0.1%)

Counts
4 → 50
Calls

21 calls:

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

rewrite99.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
538×fma-neg_binary64
331×log1p-udef_binary64
330×expm1-udef_binary64
259×log-pow_binary64
210×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify74.0ms (0.4%)

Algorithm
egg-herbie
Rules
583×fma-def_binary64
552×distribute-lft-out_binary64
423×unswap-sqr_binary64
396×distribute-rgt-out_binary64
367×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
093929
1261831
2773783
33091765
47267765
Stop Event
node limit
Counts
177 → 171
Calls
Call 1
Inputs
(*.f64 1/4 (*.f64 (pow.f64 eps 2) (pow.f64 x 2)))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 4) (pow.f64 x 2))) (*.f64 1/4 (*.f64 (pow.f64 eps 2) (pow.f64 x 2))))
(+.f64 (*.f64 1/1440 (*.f64 (pow.f64 eps 6) (pow.f64 x 2))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 4) (pow.f64 x 2))) (*.f64 1/4 (*.f64 (pow.f64 eps 2) (pow.f64 x 2)))))
(+.f64 (*.f64 -1/80640 (*.f64 (pow.f64 eps 8) (pow.f64 x 2))) (+.f64 (*.f64 1/1440 (*.f64 (pow.f64 eps 6) (pow.f64 x 2))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 4) (pow.f64 x 2))) (*.f64 1/4 (*.f64 (pow.f64 eps 2) (pow.f64 x 2))))))
(*.f64 (pow.f64 x 2) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))
(*.f64 (pow.f64 x 2) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))
(*.f64 (pow.f64 x 2) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))
(*.f64 (pow.f64 x 2) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))
(*.f64 (pow.f64 x 2) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))
(*.f64 (pow.f64 x 2) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))
(*.f64 (pow.f64 x 2) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))
(*.f64 (pow.f64 x 2) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))
(*.f64 -1 (*.f64 eps x))
(+.f64 (*.f64 -1 (*.f64 eps x)) (*.f64 (pow.f64 eps 2) (-.f64 (*.f64 1/4 (pow.f64 x 2)) 1/2)))
(+.f64 (*.f64 -1 (*.f64 eps x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) x)) (*.f64 (pow.f64 eps 2) (-.f64 (*.f64 1/4 (pow.f64 x 2)) 1/2))))
(+.f64 (*.f64 (pow.f64 eps 4) (+.f64 1/24 (*.f64 -1/48 (pow.f64 x 2)))) (+.f64 (*.f64 -1 (*.f64 eps x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) x)) (*.f64 (pow.f64 eps 2) (-.f64 (*.f64 1/4 (pow.f64 x 2)) 1/2)))))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 eps) x)) (+.f64 (cos.f64 eps) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 eps) x)) (+.f64 (cos.f64 eps) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 eps) x)) (+.f64 (cos.f64 eps) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 eps) x)) (+.f64 (cos.f64 eps) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 eps) x)) (+.f64 (cos.f64 eps) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 eps) x)) (+.f64 (cos.f64 eps) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 eps) x)) (+.f64 (cos.f64 eps) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 eps) x)) (+.f64 (cos.f64 eps) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(-.f64 (cos.f64 eps) 1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))
(*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))
(+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))
(*.f64 1/4 (pow.f64 eps 2))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 -1/48 (pow.f64 eps 4)))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 1/1440 (pow.f64 eps 6))))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (+.f64 (*.f64 -1/80640 (pow.f64 eps 8)) (*.f64 1/1440 (pow.f64 eps 6)))))
(*.f64 (sin.f64 eps) x)
(*.f64 (sin.f64 eps) x)
(*.f64 (sin.f64 eps) x)
(*.f64 (sin.f64 eps) x)
(*.f64 (sin.f64 eps) x)
(*.f64 (sin.f64 eps) x)
(*.f64 (sin.f64 eps) x)
(*.f64 (sin.f64 eps) x)
(*.f64 (sin.f64 eps) x)
(*.f64 (sin.f64 eps) x)
(*.f64 (sin.f64 eps) x)
(*.f64 (sin.f64 eps) x)
(*.f64 eps x)
(+.f64 (*.f64 eps x) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) x)))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) x)) (+.f64 (*.f64 eps x) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) x))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) x)) (+.f64 (*.f64 eps x) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) x)) (*.f64 -1/5040 (*.f64 (pow.f64 eps 7) x)))))
Outputs
(*.f64 1/4 (*.f64 (pow.f64 eps 2) (pow.f64 x 2)))
(*.f64 (*.f64 1/4 (*.f64 eps eps)) (*.f64 x x))
(*.f64 1/4 (*.f64 eps (*.f64 eps (*.f64 x x))))
(*.f64 x (*.f64 (*.f64 (*.f64 eps eps) x) 1/4))
(*.f64 1/4 (*.f64 (*.f64 eps x) (*.f64 eps x)))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 4) (pow.f64 x 2))) (*.f64 1/4 (*.f64 (pow.f64 eps 2) (pow.f64 x 2))))
(fma.f64 -1/48 (*.f64 (*.f64 x x) (pow.f64 eps 4)) (*.f64 (*.f64 1/4 (*.f64 eps eps)) (*.f64 x x)))
(*.f64 (*.f64 x x) (fma.f64 1/4 (*.f64 eps eps) (*.f64 -1/48 (pow.f64 eps 4))))
(+.f64 (*.f64 1/1440 (*.f64 (pow.f64 eps 6) (pow.f64 x 2))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 4) (pow.f64 x 2))) (*.f64 1/4 (*.f64 (pow.f64 eps 2) (pow.f64 x 2)))))
(fma.f64 1/1440 (*.f64 (*.f64 x x) (pow.f64 eps 6)) (fma.f64 -1/48 (*.f64 (*.f64 x x) (pow.f64 eps 4)) (*.f64 (*.f64 1/4 (*.f64 eps eps)) (*.f64 x x))))
(fma.f64 1/1440 (*.f64 (*.f64 x x) (pow.f64 eps 6)) (*.f64 (*.f64 x x) (fma.f64 1/4 (*.f64 eps eps) (*.f64 -1/48 (pow.f64 eps 4)))))
(*.f64 (*.f64 x x) (fma.f64 1/4 (*.f64 eps eps) (fma.f64 -1/48 (pow.f64 eps 4) (*.f64 1/1440 (pow.f64 eps 6)))))
(+.f64 (*.f64 -1/80640 (*.f64 (pow.f64 eps 8) (pow.f64 x 2))) (+.f64 (*.f64 1/1440 (*.f64 (pow.f64 eps 6) (pow.f64 x 2))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 4) (pow.f64 x 2))) (*.f64 1/4 (*.f64 (pow.f64 eps 2) (pow.f64 x 2))))))
(fma.f64 -1/80640 (*.f64 (*.f64 x x) (pow.f64 eps 8)) (fma.f64 1/1440 (*.f64 (*.f64 x x) (pow.f64 eps 6)) (fma.f64 -1/48 (*.f64 (*.f64 x x) (pow.f64 eps 4)) (*.f64 (*.f64 1/4 (*.f64 eps eps)) (*.f64 x x)))))
(+.f64 (*.f64 (*.f64 x x) (fma.f64 1/4 (*.f64 eps eps) (*.f64 -1/48 (pow.f64 eps 4)))) (*.f64 (*.f64 x x) (fma.f64 1/1440 (pow.f64 eps 6) (*.f64 -1/80640 (pow.f64 eps 8)))))
(*.f64 (*.f64 x x) (fma.f64 1/4 (*.f64 eps eps) (fma.f64 -1/48 (pow.f64 eps 4) (fma.f64 1/1440 (pow.f64 eps 6) (*.f64 -1/80640 (pow.f64 eps 8))))))
(*.f64 (pow.f64 x 2) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))
(*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))
(*.f64 x (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)))
(*.f64 (*.f64 x x) (fma.f64 -1/2 (cos.f64 eps) 1/2))
(*.f64 (pow.f64 x 2) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))
(*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))
(*.f64 x (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)))
(*.f64 (*.f64 x x) (fma.f64 -1/2 (cos.f64 eps) 1/2))
(*.f64 (pow.f64 x 2) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))
(*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))
(*.f64 x (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)))
(*.f64 (*.f64 x x) (fma.f64 -1/2 (cos.f64 eps) 1/2))
(*.f64 (pow.f64 x 2) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))
(*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))
(*.f64 x (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)))
(*.f64 (*.f64 x x) (fma.f64 -1/2 (cos.f64 eps) 1/2))
(*.f64 (pow.f64 x 2) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))
(*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))
(*.f64 x (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)))
(*.f64 (*.f64 x x) (fma.f64 -1/2 (cos.f64 eps) 1/2))
(*.f64 (pow.f64 x 2) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))
(*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))
(*.f64 x (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)))
(*.f64 (*.f64 x x) (fma.f64 -1/2 (cos.f64 eps) 1/2))
(*.f64 (pow.f64 x 2) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))
(*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))
(*.f64 x (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)))
(*.f64 (*.f64 x x) (fma.f64 -1/2 (cos.f64 eps) 1/2))
(*.f64 (pow.f64 x 2) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))
(*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))
(*.f64 x (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)))
(*.f64 (*.f64 x x) (fma.f64 -1/2 (cos.f64 eps) 1/2))
(*.f64 -1 (*.f64 eps x))
(neg.f64 (*.f64 eps x))
(*.f64 eps (neg.f64 x))
(+.f64 (*.f64 -1 (*.f64 eps x)) (*.f64 (pow.f64 eps 2) (-.f64 (*.f64 1/4 (pow.f64 x 2)) 1/2)))
(fma.f64 -1 (*.f64 eps x) (*.f64 (*.f64 eps eps) (fma.f64 1/4 (*.f64 x x) -1/2)))
(-.f64 (*.f64 eps (*.f64 eps (fma.f64 1/4 (*.f64 x x) -1/2))) (*.f64 eps x))
(*.f64 eps (-.f64 (*.f64 eps (fma.f64 1/4 (*.f64 x x) -1/2)) x))
(+.f64 (*.f64 -1 (*.f64 eps x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) x)) (*.f64 (pow.f64 eps 2) (-.f64 (*.f64 1/4 (pow.f64 x 2)) 1/2))))
(fma.f64 -1 (*.f64 eps x) (fma.f64 1/6 (*.f64 x (pow.f64 eps 3)) (*.f64 (*.f64 eps eps) (fma.f64 1/4 (*.f64 x x) -1/2))))
(-.f64 (fma.f64 (*.f64 eps eps) (fma.f64 1/4 (*.f64 x x) -1/2) (*.f64 x (*.f64 1/6 (pow.f64 eps 3)))) (*.f64 eps x))
(fma.f64 x (*.f64 1/6 (pow.f64 eps 3)) (*.f64 eps (-.f64 (*.f64 eps (fma.f64 1/4 (*.f64 x x) -1/2)) x)))
(fma.f64 eps (*.f64 eps (fma.f64 1/4 (*.f64 x x) -1/2)) (*.f64 x (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
(+.f64 (*.f64 (pow.f64 eps 4) (+.f64 1/24 (*.f64 -1/48 (pow.f64 x 2)))) (+.f64 (*.f64 -1 (*.f64 eps x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) x)) (*.f64 (pow.f64 eps 2) (-.f64 (*.f64 1/4 (pow.f64 x 2)) 1/2)))))
(fma.f64 (pow.f64 eps 4) (+.f64 1/24 (*.f64 (*.f64 x x) -1/48)) (fma.f64 -1 (*.f64 eps x) (fma.f64 1/6 (*.f64 x (pow.f64 eps 3)) (*.f64 (*.f64 eps eps) (fma.f64 1/4 (*.f64 x x) -1/2)))))
(fma.f64 (pow.f64 eps 4) (fma.f64 (*.f64 x x) -1/48 1/24) (-.f64 (fma.f64 (*.f64 eps eps) (fma.f64 1/4 (*.f64 x x) -1/2) (*.f64 x (*.f64 1/6 (pow.f64 eps 3)))) (*.f64 eps x)))
(fma.f64 (pow.f64 eps 4) (fma.f64 x (*.f64 x -1/48) 1/24) (fma.f64 x (*.f64 1/6 (pow.f64 eps 3)) (*.f64 eps (-.f64 (*.f64 eps (fma.f64 1/4 (*.f64 x x) -1/2)) x))))
(fma.f64 (pow.f64 eps 4) (fma.f64 x (*.f64 x -1/48) 1/24) (fma.f64 eps (*.f64 eps (fma.f64 1/4 (*.f64 x x) -1/2)) (*.f64 x (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 eps) x)) (+.f64 (cos.f64 eps) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(+.f64 (fma.f64 -1 (*.f64 x (sin.f64 eps)) (+.f64 (cos.f64 eps) (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps)))))) -1)
(+.f64 -1 (-.f64 (fma.f64 (*.f64 x x) (fma.f64 -1/2 (cos.f64 eps) 1/2) (cos.f64 eps)) (*.f64 x (sin.f64 eps))))
(+.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (-.f64 (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)) (sin.f64 eps))))
(+.f64 (cos.f64 eps) (fma.f64 x (-.f64 (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)) (sin.f64 eps)) -1))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 eps) x)) (+.f64 (cos.f64 eps) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(+.f64 (fma.f64 -1 (*.f64 x (sin.f64 eps)) (+.f64 (cos.f64 eps) (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps)))))) -1)
(+.f64 -1 (-.f64 (fma.f64 (*.f64 x x) (fma.f64 -1/2 (cos.f64 eps) 1/2) (cos.f64 eps)) (*.f64 x (sin.f64 eps))))
(+.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (-.f64 (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)) (sin.f64 eps))))
(+.f64 (cos.f64 eps) (fma.f64 x (-.f64 (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)) (sin.f64 eps)) -1))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 eps) x)) (+.f64 (cos.f64 eps) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(+.f64 (fma.f64 -1 (*.f64 x (sin.f64 eps)) (+.f64 (cos.f64 eps) (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps)))))) -1)
(+.f64 -1 (-.f64 (fma.f64 (*.f64 x x) (fma.f64 -1/2 (cos.f64 eps) 1/2) (cos.f64 eps)) (*.f64 x (sin.f64 eps))))
(+.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (-.f64 (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)) (sin.f64 eps))))
(+.f64 (cos.f64 eps) (fma.f64 x (-.f64 (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)) (sin.f64 eps)) -1))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 eps) x)) (+.f64 (cos.f64 eps) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(+.f64 (fma.f64 -1 (*.f64 x (sin.f64 eps)) (+.f64 (cos.f64 eps) (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps)))))) -1)
(+.f64 -1 (-.f64 (fma.f64 (*.f64 x x) (fma.f64 -1/2 (cos.f64 eps) 1/2) (cos.f64 eps)) (*.f64 x (sin.f64 eps))))
(+.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (-.f64 (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)) (sin.f64 eps))))
(+.f64 (cos.f64 eps) (fma.f64 x (-.f64 (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)) (sin.f64 eps)) -1))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 eps) x)) (+.f64 (cos.f64 eps) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(+.f64 (fma.f64 -1 (*.f64 x (sin.f64 eps)) (+.f64 (cos.f64 eps) (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps)))))) -1)
(+.f64 -1 (-.f64 (fma.f64 (*.f64 x x) (fma.f64 -1/2 (cos.f64 eps) 1/2) (cos.f64 eps)) (*.f64 x (sin.f64 eps))))
(+.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (-.f64 (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)) (sin.f64 eps))))
(+.f64 (cos.f64 eps) (fma.f64 x (-.f64 (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)) (sin.f64 eps)) -1))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 eps) x)) (+.f64 (cos.f64 eps) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(+.f64 (fma.f64 -1 (*.f64 x (sin.f64 eps)) (+.f64 (cos.f64 eps) (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps)))))) -1)
(+.f64 -1 (-.f64 (fma.f64 (*.f64 x x) (fma.f64 -1/2 (cos.f64 eps) 1/2) (cos.f64 eps)) (*.f64 x (sin.f64 eps))))
(+.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (-.f64 (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)) (sin.f64 eps))))
(+.f64 (cos.f64 eps) (fma.f64 x (-.f64 (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)) (sin.f64 eps)) -1))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 eps) x)) (+.f64 (cos.f64 eps) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(+.f64 (fma.f64 -1 (*.f64 x (sin.f64 eps)) (+.f64 (cos.f64 eps) (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps)))))) -1)
(+.f64 -1 (-.f64 (fma.f64 (*.f64 x x) (fma.f64 -1/2 (cos.f64 eps) 1/2) (cos.f64 eps)) (*.f64 x (sin.f64 eps))))
(+.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (-.f64 (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)) (sin.f64 eps))))
(+.f64 (cos.f64 eps) (fma.f64 x (-.f64 (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)) (sin.f64 eps)) -1))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 eps) x)) (+.f64 (cos.f64 eps) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))) 1)
(+.f64 (fma.f64 -1 (*.f64 x (sin.f64 eps)) (+.f64 (cos.f64 eps) (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps)))))) -1)
(+.f64 -1 (-.f64 (fma.f64 (*.f64 x x) (fma.f64 -1/2 (cos.f64 eps) 1/2) (cos.f64 eps)) (*.f64 x (sin.f64 eps))))
(+.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (-.f64 (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)) (sin.f64 eps))))
(+.f64 (cos.f64 eps) (fma.f64 x (-.f64 (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)) (sin.f64 eps)) -1))
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (neg.f64 (*.f64 x (sin.f64 eps))) 1))
(+.f64 (cos.f64 eps) (fma.f64 (neg.f64 x) (sin.f64 eps) -1))
(fma.f64 x (neg.f64 (sin.f64 eps)) (+.f64 (cos.f64 eps) -1))
(-.f64 (cos.f64 eps) (fma.f64 x (sin.f64 eps) 1))
(*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))
(*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))
(*.f64 x (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)))
(*.f64 (*.f64 x x) (fma.f64 -1/2 (cos.f64 eps) 1/2))
(+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))
(fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps)))))
(fma.f64 (*.f64 x x) (fma.f64 -1/2 (cos.f64 eps) 1/2) (*.f64 x (neg.f64 (sin.f64 eps))))
(*.f64 x (-.f64 (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)) (sin.f64 eps)))
(*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2))
(*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))))
(*.f64 x (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)))
(*.f64 (*.f64 x x) (fma.f64 -1/2 (cos.f64 eps) 1/2))
(+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (*.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (pow.f64 x 2)))
(fma.f64 -1 (*.f64 x (sin.f64 eps)) (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps)))))
(fma.f64 (*.f64 x x) (fma.f64 -1/2 (cos.f64 eps) 1/2) (*.f64 x (neg.f64 (sin.f64 eps))))
(*.f64 x (-.f64 (*.f64 x (fma.f64 -1/2 (cos.f64 eps) 1/2)) (sin.f64 eps)))
(*.f64 1/4 (pow.f64 eps 2))
(*.f64 1/4 (*.f64 eps eps))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 -1/48 (pow.f64 eps 4)))
(fma.f64 1/4 (*.f64 eps eps) (*.f64 -1/48 (pow.f64 eps 4)))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 1/1440 (pow.f64 eps 6))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 -1/48 (pow.f64 eps 4) (*.f64 1/1440 (pow.f64 eps 6))))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (+.f64 (*.f64 -1/80640 (pow.f64 eps 8)) (*.f64 1/1440 (pow.f64 eps 6)))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 -1/48 (pow.f64 eps 4) (fma.f64 -1/80640 (pow.f64 eps 8) (*.f64 1/1440 (pow.f64 eps 6)))))
(fma.f64 1/4 (*.f64 eps eps) (fma.f64 -1/48 (pow.f64 eps 4) (fma.f64 1/1440 (pow.f64 eps 6) (*.f64 -1/80640 (pow.f64 eps 8)))))
(*.f64 (sin.f64 eps) x)
(*.f64 x (sin.f64 eps))
(*.f64 (sin.f64 eps) x)
(*.f64 x (sin.f64 eps))
(*.f64 (sin.f64 eps) x)
(*.f64 x (sin.f64 eps))
(*.f64 (sin.f64 eps) x)
(*.f64 x (sin.f64 eps))
(*.f64 (sin.f64 eps) x)
(*.f64 x (sin.f64 eps))
(*.f64 (sin.f64 eps) x)
(*.f64 x (sin.f64 eps))
(*.f64 (sin.f64 eps) x)
(*.f64 x (sin.f64 eps))
(*.f64 (sin.f64 eps) x)
(*.f64 x (sin.f64 eps))
(*.f64 (sin.f64 eps) x)
(*.f64 x (sin.f64 eps))
(*.f64 (sin.f64 eps) x)
(*.f64 x (sin.f64 eps))
(*.f64 (sin.f64 eps) x)
(*.f64 x (sin.f64 eps))
(*.f64 (sin.f64 eps) x)
(*.f64 x (sin.f64 eps))
(*.f64 eps x)
(+.f64 (*.f64 eps x) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) x)))
(fma.f64 eps x (*.f64 (*.f64 x (pow.f64 eps 3)) -1/6))
(*.f64 x (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)))
(*.f64 x (fma.f64 (pow.f64 eps 3) -1/6 eps))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) x)) (+.f64 (*.f64 eps x) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) x))))
(fma.f64 1/120 (*.f64 x (pow.f64 eps 5)) (fma.f64 eps x (*.f64 (*.f64 x (pow.f64 eps 3)) -1/6)))
(fma.f64 1/120 (*.f64 x (pow.f64 eps 5)) (*.f64 x (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6))))
(*.f64 x (+.f64 (*.f64 (pow.f64 eps 3) -1/6) (fma.f64 1/120 (pow.f64 eps 5) eps)))
(*.f64 x (+.f64 (*.f64 1/120 (pow.f64 eps 5)) (fma.f64 (pow.f64 eps 3) -1/6 eps)))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) x)) (+.f64 (*.f64 eps x) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) x)) (*.f64 -1/5040 (*.f64 (pow.f64 eps 7) x)))))
(fma.f64 1/120 (*.f64 x (pow.f64 eps 5)) (fma.f64 eps x (fma.f64 -1/6 (*.f64 x (pow.f64 eps 3)) (*.f64 -1/5040 (*.f64 x (pow.f64 eps 7))))))
(fma.f64 1/120 (*.f64 x (pow.f64 eps 5)) (fma.f64 eps x (*.f64 x (+.f64 (*.f64 (pow.f64 eps 3) -1/6) (*.f64 -1/5040 (pow.f64 eps 7))))))
(*.f64 x (+.f64 (fma.f64 (pow.f64 eps 3) -1/6 (*.f64 -1/5040 (pow.f64 eps 7))) (fma.f64 1/120 (pow.f64 eps 5) eps)))
(*.f64 x (+.f64 (fma.f64 1/120 (pow.f64 eps 5) eps) (fma.f64 -1/5040 (pow.f64 eps 7) (*.f64 (pow.f64 eps 3) -1/6))))

eval341.0ms (1.9%)

Compiler

Compiled 10798 to 7337 computations (32.1% saved)

prune269.0ms (1.5%)

Pruning

72 alts after pruning (68 fresh and 4 done)

PrunedKeptTotal
New48013493
Fresh85563
Picked101
Done246
Total49172563
Error
0.1b
Counts
563 → 72
Alt Table
Click to see full alt table
StatusErrorProgram
39.1b
(cbrt.f64 (-.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 3)) 1))
53.8b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (pow.f64 eps 3) 1/3) 1/2))) -2)
30.4b
(fma.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) 3))
49.3b
(*.f64 eps (*.f64 eps -1/2))
38.8b
(-.f64 (cos.f64 eps) 1)
39.0b
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
49.7b
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
38.9b
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2))))
39.4b
(-.f64 (log.f64 (exp.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
39.0b
(*.f64 (-.f64 (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) 1) -2)
38.8b
(-.f64 (cos.f64 eps) (cos.f64 x))
43.8b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 eps (*.f64 eps eps))) 1/2))) -2)
46.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (/.f64 (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps))))) (sqrt.f64 2))) -2)
46.9b
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
26.6b
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
49.2b
(*.f64 (+.f64 (sqrt.f64 (cos.f64 eps)) 1) (-.f64 (sqrt.f64 (cos.f64 eps)) 1))
50.0b
(/.f64 (-.f64 (*.f64 (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))) (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2)))) (pow.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) 2)) (-.f64 (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))))
39.3b
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
26.4b
(-.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
35.9b
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 4)) -2)
29.8b
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
39.0b
(*.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (/.f64 1 (+.f64 (cos.f64 eps) 1)))
44.9b
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
43.5b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (fabs.f64 (sin.f64 (*.f64 1/2 eps)))) -2)
26.1b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))))
32.9b
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3) -2)
54.5b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 (*.f64 eps eps) (pow.f64 eps 3))) 1/2))) -2)
38.9b
(*.f64 (log.f64 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))) -2)
40.1b
(fma.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 eps 6) 1/36) (*.f64 eps eps)) (sin.f64 x)) (fma.f64 1/6 (pow.f64 eps 3) eps)))
26.1b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))
37.4b
(*.f64 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3) -2)
26.0b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
36.0b
(*.f64 (sin.f64 x) (neg.f64 eps))
43.2b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (cbrt.f64 eps) 3) 1/2))) -2)
38.9b
(log1p.f64 (-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1))
36.0b
(*.f64 (*.f64 1/2 (*.f64 eps (sin.f64 x))) -2)
38.8b
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
38.8b
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 eps) 1)))
54.9b
(sqrt.f64 (*.f64 4 (pow.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) 2)))
39.9b
(+.f64 (cos.f64 eps) (-.f64 -1 (*.f64 x (sin.f64 eps))))
38.8b
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
34.9b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
32.3b
(*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)
38.8b
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x))))
33.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2))) -2)
26.0b
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
54.9b
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
53.5b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 (pow.f64 eps 3) (*.f64 eps eps)) 1/2))) -2)
44.9b
(fma.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (cbrt.f64 (*.f64 (pow.f64 (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) 3) (pow.f64 (sin.f64 x) 3))))
26.1b
(log1p.f64 (expm1.f64 (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
29.9b
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 x -2) (*.f64 (pow.f64 x 3) 1/3))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 x x) -2))))
26.2b
(-.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2) (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2) (*.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (cos.f64 x))
39.5b
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
14.3b
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
47.9b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (expm1.f64 (log1p.f64 eps)) 1/2))) -2)
39.0b
(/.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (-.f64 (cos.f64 eps) -1))
26.1b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
49.0b
(expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
40.4b
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (+.f64 (*.f64 (*.f64 x x) (*.f64 -1/2 (cos.f64 eps))) (*.f64 (*.f64 x x) 1/2)))) 1)
30.0b
(*.f64 (*.f64 eps (+.f64 (*.f64 eps (*.f64 (cos.f64 x) 1/4)) (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps)))))) -2)
26.4b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
13.2b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (sin.f64 (*.f64 x 1/2))))) -2)
55.5b
(*.f64 (log.f64 1) -2)
54.9b
(cbrt.f64 (sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 6)))
12.9b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) -2)
48.5b
(*.f64 (exp.f64 (*.f64 2 (log.f64 (sin.f64 (*.f64 1/2 eps))))) -2)
34.9b
(log1p.f64 (expm1.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)))
45.8b
(*.f64 eps (-.f64 (*.f64 eps (fma.f64 1/4 (*.f64 x x) -1/2)) x))
29.8b
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 x -2)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 x x) -2))))
45.3b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (fma.f64 (*.f64 (+.f64 x eps) (-.f64 x eps)) (/.f64 1 (-.f64 x eps)) (neg.f64 x)) 1/2))) -2)
51.6b
(*.f64 eps (neg.f64 x))
40.2b
(-.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (cos.f64 x))
Compiler

Compiled 2437 to 1782 computations (26.9% saved)

localize52.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) -2)
0.3b
(*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
3.0b
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
Compiler

Compiled 64 to 47 computations (26.6% saved)

series12.0ms (0.1%)

Counts
3 → 56
Calls

18 calls:

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

rewrite107.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
709×log-prod_binary64
455×fma-def_binary64
370×pow2_binary64
257×pow1/3_binary64
257×expm1-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify117.0ms (0.7%)

Algorithm
egg-herbie
Rules
875×fma-def_binary64
794×unsub-neg_binary64
539×distribute-rgt-out_binary64
455×associate-*l*_binary64
419×distribute-lft-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01121343
13361231
210011076
337451044
473441044
Stop Event
node limit
Counts
127 → 125
Calls
Call 1
Inputs
(sin.f64 x)
(+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))))
(sin.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 eps) (*.f64 -2 x))))
(sin.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 eps) (*.f64 -2 x))))
(sin.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 eps) (*.f64 -2 x))))
(sin.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 eps) (*.f64 -2 x))))
(sin.f64 (*.f64 1/2 eps))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(*.f64 1/2 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 1/2 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))) (*.f64 1/2 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (*.f64 1/2 (*.f64 eps (sin.f64 x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 eps) (*.f64 -2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 eps) (*.f64 -2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 eps) (*.f64 -2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 eps) (*.f64 -2 x)))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 -1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))) (*.f64 -1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2))))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 -2 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 -2 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x))))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 eps) (*.f64 -2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 eps) (*.f64 -2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 eps) (*.f64 -2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 eps) (*.f64 -2 x))))))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(+.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))
(+.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(+.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)) (+.f64 (*.f64 1/3 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
Outputs
(sin.f64 x)
(+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))
(fma.f64 1/2 (*.f64 eps (cos.f64 x)) (sin.f64 x))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)))
(fma.f64 -1/8 (*.f64 (sin.f64 x) (*.f64 eps eps)) (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (sin.f64 x)))
(fma.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/8)) (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (sin.f64 x)))
(fma.f64 1/2 (*.f64 eps (cos.f64 x)) (fma.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/8)) (sin.f64 x)))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))))
(fma.f64 -1/8 (*.f64 (sin.f64 x) (*.f64 eps eps)) (fma.f64 -1/48 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (sin.f64 x))))
(fma.f64 -1/8 (*.f64 (sin.f64 x) (*.f64 eps eps)) (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/48 (pow.f64 eps 3)) (*.f64 1/2 eps)))))
(fma.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/8)) (fma.f64 (cos.f64 x) (fma.f64 -1/48 (pow.f64 eps 3) (*.f64 1/2 eps)) (sin.f64 x)))
(fma.f64 (cos.f64 x) (fma.f64 -1/48 (pow.f64 eps 3) (*.f64 1/2 eps)) (fma.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/8)) (sin.f64 x)))
(sin.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 eps) (*.f64 -2 x))))
(sin.f64 (*.f64 -1/2 (fma.f64 -1 eps (*.f64 x -2))))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 eps) (*.f64 -2 x))))
(sin.f64 (*.f64 -1/2 (fma.f64 -1 eps (*.f64 x -2))))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 eps) (*.f64 -2 x))))
(sin.f64 (*.f64 -1/2 (fma.f64 -1 eps (*.f64 x -2))))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 eps) (*.f64 -2 x))))
(sin.f64 (*.f64 -1/2 (fma.f64 -1 eps (*.f64 x -2))))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 eps))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps)))
(fma.f64 x (cos.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 eps)))
(fma.f64 x (cos.f64 (*.f64 eps -1/2)) (sin.f64 (*.f64 1/2 eps)))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))))
(+.f64 (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x))))
(fma.f64 x (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) (sin.f64 (*.f64 1/2 eps))))
(fma.f64 x (cos.f64 (*.f64 eps -1/2)) (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 (*.f64 1/2 eps))))
(fma.f64 x (cos.f64 (*.f64 eps -1/2)) (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (sin.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))))
(+.f64 (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))) (fma.f64 -1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)))))
(+.f64 (fma.f64 x (cos.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 eps))) (fma.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 (pow.f64 x 3) -1/6))))
(fma.f64 x (cos.f64 (*.f64 eps -1/2)) (fma.f64 (cos.f64 (*.f64 eps -1/2)) (*.f64 -1/6 (pow.f64 x 3)) (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 (*.f64 1/2 eps)))))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (sin.f64 (*.f64 1/2 eps))) (*.f64 (cos.f64 (*.f64 eps -1/2)) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))))
(-.f64 (*.f64 (cos.f64 (*.f64 eps -1/2)) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (sin.f64 (*.f64 eps -1/2))))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 -1/2 (fma.f64 -1 eps (*.f64 x -2))))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 -1/2 (fma.f64 -1 eps (*.f64 x -2))))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 -1/2 (fma.f64 -1 eps (*.f64 x -2))))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 -1/2 (fma.f64 -1 eps (*.f64 x -2))))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(sin.f64 (fma.f64 1/2 eps x))
(*.f64 1/2 (*.f64 eps (sin.f64 x)))
(*.f64 1/2 (*.f64 (sin.f64 x) eps))
(*.f64 (sin.f64 x) (*.f64 1/2 eps))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 1/2 (*.f64 eps (sin.f64 x))))
(fma.f64 1/4 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 1/2 (*.f64 (sin.f64 x) eps)))
(fma.f64 1/2 (*.f64 (sin.f64 x) eps) (*.f64 1/4 (*.f64 (cos.f64 x) (*.f64 eps eps))))
(fma.f64 (sin.f64 x) (*.f64 1/2 eps) (*.f64 (cos.f64 x) (*.f64 (*.f64 eps eps) 1/4)))
(*.f64 eps (+.f64 (*.f64 (sin.f64 x) 1/2) (*.f64 (cos.f64 x) (*.f64 eps 1/4))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))) (*.f64 1/2 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/4 (*.f64 (cos.f64 x) (*.f64 eps eps)) (fma.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) -1/12) (*.f64 1/2 (*.f64 (sin.f64 x) eps))))
(fma.f64 1/4 (*.f64 (cos.f64 x) (*.f64 eps eps)) (fma.f64 1/2 (*.f64 (sin.f64 x) eps) (*.f64 (sin.f64 x) (*.f64 -1/12 (pow.f64 eps 3)))))
(fma.f64 (cos.f64 x) (*.f64 (*.f64 eps eps) 1/4) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/2 eps) (*.f64 (pow.f64 eps 3) -1/12))))
(*.f64 eps (+.f64 (*.f64 eps (*.f64 (cos.f64 x) 1/4)) (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps))))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (*.f64 1/2 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/4 (*.f64 (cos.f64 x) (*.f64 eps eps)) (fma.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) -1/12) (fma.f64 -1/48 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (*.f64 1/2 (*.f64 (sin.f64 x) eps)))))
(fma.f64 1/4 (*.f64 (cos.f64 x) (*.f64 eps eps)) (fma.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) -1/12) (fma.f64 1/2 (*.f64 (sin.f64 x) eps) (*.f64 -1/48 (*.f64 (cos.f64 x) (pow.f64 eps 4))))))
(fma.f64 (cos.f64 x) (*.f64 (*.f64 eps eps) 1/4) (fma.f64 (cos.f64 x) (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/2 eps) (*.f64 (pow.f64 eps 3) -1/12)))))
(+.f64 (*.f64 (sin.f64 x) (+.f64 (*.f64 1/2 eps) (*.f64 (pow.f64 eps 3) -1/12))) (*.f64 (cos.f64 x) (+.f64 (*.f64 eps (*.f64 eps 1/4)) (*.f64 -1/48 (pow.f64 eps 4)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 eps) (*.f64 -2 x)))))
(*.f64 (sin.f64 (*.f64 -1/2 (fma.f64 -1 eps (*.f64 x -2)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 eps) (*.f64 -2 x)))))
(*.f64 (sin.f64 (*.f64 -1/2 (fma.f64 -1 eps (*.f64 x -2)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 eps) (*.f64 -2 x)))))
(*.f64 (sin.f64 (*.f64 -1/2 (fma.f64 -1 eps (*.f64 x -2)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 eps) (*.f64 -2 x)))))
(*.f64 (sin.f64 (*.f64 -1/2 (fma.f64 -1 eps (*.f64 x -2)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x (cos.f64 (*.f64 1/2 eps))) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 x (cos.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 x (cos.f64 (*.f64 eps -1/2)) (sin.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 -1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)))))
(+.f64 (fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x (cos.f64 (*.f64 1/2 eps))) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 -1/2 (*.f64 (*.f64 x x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 x (cos.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 eps)))) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (*.f64 x x) -1/2)))
(fma.f64 x (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 eps -1/2))) (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 x (cos.f64 (*.f64 eps -1/2)) (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (sin.f64 (*.f64 1/2 eps)))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))) (*.f64 -1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2))))))
(+.f64 (fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x (cos.f64 (*.f64 1/2 eps))) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (fma.f64 -1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (*.f64 -1/2 (*.f64 (*.f64 x x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 x (cos.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 eps)))) (fma.f64 -1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 (pow.f64 x 3) (sin.f64 (*.f64 1/2 eps)))) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (*.f64 x x) -1/2))))
(+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 x (*.f64 x -1/2))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 x (cos.f64 (*.f64 eps -1/2)) (fma.f64 (cos.f64 (*.f64 eps -1/2)) (*.f64 -1/6 (pow.f64 x 3)) (sin.f64 (*.f64 1/2 eps))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (sin.f64 (*.f64 1/2 eps))) (*.f64 (cos.f64 (*.f64 eps -1/2)) (+.f64 x (*.f64 -1/6 (pow.f64 x 3))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (-.f64 (*.f64 (cos.f64 (*.f64 eps -1/2)) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (sin.f64 (*.f64 eps -1/2)))))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 -1/2 (fma.f64 -1 eps (*.f64 x -2)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 -1/2 (fma.f64 -1 eps (*.f64 x -2)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 -1/2 (fma.f64 -1 eps (*.f64 x -2)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 -1/2 (fma.f64 -1 eps (*.f64 x -2)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 (neg.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 x) (neg.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (neg.f64 eps) (sin.f64 x)))
(-.f64 (*.f64 (*.f64 eps eps) (*.f64 (cos.f64 x) -1/2)) (*.f64 (sin.f64 x) eps))
(-.f64 (*.f64 eps (*.f64 eps (*.f64 (cos.f64 x) -1/2))) (*.f64 (sin.f64 x) eps))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 -2 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))))))
(fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (fma.f64 -1 (*.f64 (sin.f64 x) eps) (*.f64 (*.f64 -2 (pow.f64 eps 3)) (*.f64 (sin.f64 x) -1/12))))
(fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (-.f64 (*.f64 (*.f64 (sin.f64 x) -1/12) (*.f64 (pow.f64 eps 3) -2)) (*.f64 (sin.f64 x) eps)))
(fma.f64 (cos.f64 x) (*.f64 eps (*.f64 eps -1/2)) (-.f64 (*.f64 (*.f64 (sin.f64 x) (pow.f64 eps 3)) 1/6) (*.f64 (sin.f64 x) eps)))
(-.f64 (*.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) 1/6)) (*.f64 eps (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (sin.f64 x))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (*.f64 -1 (*.f64 eps (sin.f64 x))) (*.f64 -2 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x))))))))
(fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (fma.f64 -1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (fma.f64 -1 (*.f64 (sin.f64 x) eps) (*.f64 (*.f64 -2 (pow.f64 eps 3)) (*.f64 (sin.f64 x) -1/12)))))
(+.f64 (-.f64 (*.f64 (*.f64 (sin.f64 x) -1/12) (*.f64 (pow.f64 eps 3) -2)) (*.f64 (sin.f64 x) eps)) (*.f64 (cos.f64 x) (+.f64 (*.f64 (pow.f64 eps 4) 1/24) (*.f64 (*.f64 eps eps) -1/2))))
(-.f64 (fma.f64 (cos.f64 x) (fma.f64 (pow.f64 eps 4) 1/24 (*.f64 eps (*.f64 eps -1/2))) (*.f64 (*.f64 (sin.f64 x) (pow.f64 eps 3)) 1/6)) (*.f64 (sin.f64 x) eps))
(fma.f64 (cos.f64 x) (fma.f64 (pow.f64 eps 4) 1/24 (*.f64 eps (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (-.f64 (*.f64 (*.f64 (pow.f64 eps 3) -2) -1/12) eps)))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 eps) (*.f64 -2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 eps) (*.f64 -2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 eps) (*.f64 -2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 eps) (*.f64 -2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(+.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))
(*.f64 -2 (fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x (cos.f64 (*.f64 1/2 eps))) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 x (cos.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 eps)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 x (cos.f64 (*.f64 eps -1/2)) (sin.f64 (*.f64 1/2 eps)))))
(+.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(fma.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 x x) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x (cos.f64 (*.f64 1/2 eps)))))))
(+.f64 (*.f64 -2 (*.f64 x (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))))) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 -2 (*.f64 x x))))
(fma.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x (cos.f64 (*.f64 eps -1/2)))) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 -2 (*.f64 x x))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (*.f64 x -2) (cos.f64 (*.f64 eps -1/2))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 -2 (*.f64 x x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (-.f64 (*.f64 (*.f64 x -2) (cos.f64 (*.f64 eps -1/2))) (*.f64 (sin.f64 (*.f64 eps -1/2)) (+.f64 -2 (*.f64 x x)))))
(+.f64 (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)) (+.f64 (*.f64 1/3 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))))
(fma.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 x x) (fma.f64 1/3 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x (cos.f64 (*.f64 1/2 eps))))))))
(+.f64 (fma.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (*.f64 x (cos.f64 (*.f64 1/2 eps))) (*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))) (*.f64 (pow.f64 x 3) 1/3))) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 -2 (*.f64 x x))))
(fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 -2 (*.f64 x x)) (*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 eps -1/2))) (+.f64 (*.f64 x -2) (*.f64 (pow.f64 x 3) 1/3))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 eps -1/2)) (+.f64 (*.f64 x -2) (*.f64 (pow.f64 x 3) 1/3))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 -2 (*.f64 x x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (-.f64 (*.f64 (cos.f64 (*.f64 eps -1/2)) (+.f64 (*.f64 x -2) (*.f64 (pow.f64 x 3) 1/3))) (*.f64 (sin.f64 (*.f64 eps -1/2)) (+.f64 -2 (*.f64 x x)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))))
(*.f64 (*.f64 -2 (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))

localize5.0ms (0%)

Compiler

Compiled 10 to 4 computations (60% saved)

localize13.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(expm1.f64 (-.f64 (cos.f64 eps) 1))
0.2b
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 eps) 1)))
1.4b
(-.f64 (cos.f64 eps) 1)
Compiler

Compiled 21 to 13 computations (38.1% saved)

series3.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
eps
@0
(expm1.f64 (-.f64 (cos.f64 eps) 1))
0.0ms
eps
@0
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 eps) 1)))
0.0ms
eps
@-inf
(expm1.f64 (-.f64 (cos.f64 eps) 1))
0.0ms
eps
@inf
(expm1.f64 (-.f64 (cos.f64 eps) 1))
0.0ms
eps
@inf
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 eps) 1)))

rewrite51.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
579×pow1_binary64
538×add-log-exp_binary64
538×expm1-log1p-u_binary64
537×log1p-expm1-u_binary64
527×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify155.0ms (0.9%)

Algorithm
egg-herbie
Rules
902×distribute-rgt-out_binary64
620×fma-def_binary64
565×associate-*l*_binary64
520×distribute-lft-in_binary64
434×sqr-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041252
1101252
2226252
3719252
43407252
55312252
66312252
76649252
86979252
97348252
107801252
Stop Event
node limit
Counts
75 → 67
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 -1/2 (pow.f64 eps 2))
(+.f64 (*.f64 1/6 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(+.f64 (*.f64 1/6 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -31/720 (pow.f64 eps 6))))
(+.f64 (*.f64 1/6 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 379/40320 (pow.f64 eps 8)) (*.f64 -31/720 (pow.f64 eps 6)))))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 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 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(+.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/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/24 (pow.f64 eps 4))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/720 (pow.f64 eps 6))))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (*.f64 1/40320 (pow.f64 eps 8)))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/40320 (pow.f64 eps 8)))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) (fma.f64 1/40320 (pow.f64 eps 8) (*.f64 -1/2 (*.f64 eps eps)))))
(fma.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/24) -1/2) (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 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(+.f64 (*.f64 1/6 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(fma.f64 1/6 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps)))
(fma.f64 -1/2 (*.f64 eps eps) (*.f64 (pow.f64 eps 4) 1/6))
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/6) -1/2)))
(*.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/6) -1/2))
(+.f64 (*.f64 1/6 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -31/720 (pow.f64 eps 6))))
(fma.f64 1/6 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 (pow.f64 eps 6) -31/720)))
(fma.f64 (pow.f64 eps 4) 1/6 (fma.f64 (pow.f64 eps 6) -31/720 (*.f64 -1/2 (*.f64 eps eps))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 (pow.f64 eps 6) -31/720 (*.f64 (pow.f64 eps 4) 1/6)))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 (pow.f64 eps 4) 1/6 (*.f64 (pow.f64 eps 6) -31/720)))
(+.f64 (*.f64 1/6 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 379/40320 (pow.f64 eps 8)) (*.f64 -31/720 (pow.f64 eps 6)))))
(fma.f64 1/6 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 379/40320 (pow.f64 eps 8) (*.f64 (pow.f64 eps 6) -31/720))))
(fma.f64 (pow.f64 eps 4) 1/6 (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 (pow.f64 eps 6) -31/720 (*.f64 (pow.f64 eps 8) 379/40320))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 (pow.f64 eps 4) 1/6 (fma.f64 (pow.f64 eps 6) -31/720 (*.f64 (pow.f64 eps 8) 379/40320))))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(expm1.f64 (+.f64 (cos.f64 eps) -1))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(expm1.f64 (+.f64 (cos.f64 eps) -1))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(expm1.f64 (+.f64 (cos.f64 eps) -1))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(expm1.f64 (+.f64 (cos.f64 eps) -1))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(expm1.f64 (+.f64 (cos.f64 eps) -1))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(expm1.f64 (+.f64 (cos.f64 eps) -1))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(expm1.f64 (+.f64 (cos.f64 eps) -1))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(expm1.f64 (+.f64 (cos.f64 eps) -1))

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x)))
0.3b
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x))))
1.3b
(-.f64 (cos.f64 eps) (cos.f64 x))
Compiler

Compiled 26 to 7 computations (73.1% saved)

series11.0ms (0.1%)

Counts
3 → 56
Calls

18 calls:

TimeVariablePointExpression
5.0ms
eps
@inf
(expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x)))
1.0ms
eps
@0
(expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x)))
1.0ms
x
@0
(expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x)))
0.0ms
eps
@-inf
(expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x)))
0.0ms
eps
@0
(-.f64 (cos.f64 eps) (cos.f64 x))

rewrite71.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
925×pow1_binary64
861×expm1-log1p-u_binary64
860×add-log-exp_binary64
860×log1p-expm1-u_binary64
843×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify71.0ms (0.4%)

Algorithm
egg-herbie
Rules
529×cancel-sign-sub-inv_binary64
459×distribute-lft-out_binary64
459×fma-def_binary64
414×*-commutative_binary64
291×+-commutative_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
084852
1234812
2671768
32510748
45053744
Stop Event
node limit
Counts
153 → 92
Calls
Call 1
Inputs
(-.f64 1 (cos.f64 x))
(-.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) 1) (cos.f64 x))
(-.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) 1)) (cos.f64 x))
(-.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 1 (*.f64 -1/720 (pow.f64 eps 6))))) (cos.f64 x))
(-.f64 (cos.f64 eps) 1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/2 (pow.f64 x 2))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/2 (pow.f64 x 2)) (*.f64 -1/24 (pow.f64 x 4)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/24 (pow.f64 x 4)) (*.f64 1/720 (pow.f64 x 6))))) 1)
(-.f64 1 (cos.f64 x))
(-.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) 1) (cos.f64 x))
(-.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) 1)) (cos.f64 x))
(-.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 1 (*.f64 -1/720 (pow.f64 eps 6))))) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) 1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/2 (pow.f64 x 2))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/2 (pow.f64 x 2)) (*.f64 -1/24 (pow.f64 x 4)))) 1)
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/24 (pow.f64 x 4)) (*.f64 1/720 (pow.f64 x 6))))) 1)
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (exp.f64 (-.f64 1 (cos.f64 x))) 1)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (exp.f64 (-.f64 1 (cos.f64 x))))) (exp.f64 (-.f64 1 (cos.f64 x)))) 1)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (exp.f64 (-.f64 1 (cos.f64 x))))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 4) (exp.f64 (-.f64 1 (cos.f64 x))))) (exp.f64 (-.f64 1 (cos.f64 x))))) 1)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (exp.f64 (-.f64 1 (cos.f64 x))))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 4) (exp.f64 (-.f64 1 (cos.f64 x))))) (+.f64 (*.f64 -31/720 (*.f64 (pow.f64 eps 6) (exp.f64 (-.f64 1 (cos.f64 x))))) (exp.f64 (-.f64 1 (cos.f64 x)))))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 2))) (exp.f64 (-.f64 (cos.f64 eps) 1))) 1)
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 2))) (+.f64 (*.f64 1/12 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 4))) (exp.f64 (-.f64 (cos.f64 eps) 1)))) 1)
(-.f64 (+.f64 (*.f64 1/720 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 6))) (+.f64 (*.f64 1/2 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 2))) (+.f64 (*.f64 1/12 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 4))) (exp.f64 (-.f64 (cos.f64 eps) 1))))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
Outputs
(-.f64 1 (cos.f64 x))
(-.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) 1) (cos.f64 x))
(-.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) (cos.f64 x))
(fma.f64 eps (*.f64 -1/2 eps) (-.f64 1 (cos.f64 x)))
(-.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) 1)) (cos.f64 x))
(-.f64 (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) 1)) (cos.f64 x))
(-.f64 (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) 1)) (cos.f64 x))
(-.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 1 (*.f64 -1/720 (pow.f64 eps 6))))) (cos.f64 x))
(-.f64 (fma.f64 1/24 (pow.f64 eps 4) (+.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) (*.f64 -1/720 (pow.f64 eps 6)))) (cos.f64 x))
(-.f64 (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) 1))) (cos.f64 x))
(fma.f64 1/24 (pow.f64 eps 4) (-.f64 (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) 1)) (cos.f64 x)))
(-.f64 (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) 1))) (cos.f64 x))
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/2 (pow.f64 x 2))) 1)
(+.f64 (cos.f64 eps) (-.f64 (*.f64 1/2 (*.f64 x x)) 1))
(+.f64 (cos.f64 eps) (fma.f64 1/2 (*.f64 x x) -1))
(+.f64 (cos.f64 eps) (fma.f64 x (*.f64 x 1/2) -1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/2 (pow.f64 x 2)) (*.f64 -1/24 (pow.f64 x 4)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 1/2 (*.f64 x x) (*.f64 -1/24 (pow.f64 x 4))) 1))
(+.f64 (fma.f64 1/2 (*.f64 x x) (cos.f64 eps)) (-.f64 (*.f64 -1/24 (pow.f64 x 4)) 1))
(+.f64 (fma.f64 x (*.f64 x 1/2) (cos.f64 eps)) (fma.f64 -1/24 (pow.f64 x 4) -1))
(+.f64 (cos.f64 eps) (fma.f64 x (*.f64 x 1/2) (fma.f64 -1/24 (pow.f64 x 4) -1)))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/24 (pow.f64 x 4)) (*.f64 1/720 (pow.f64 x 6))))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 1/2 (*.f64 x x) (fma.f64 -1/24 (pow.f64 x 4) (*.f64 1/720 (pow.f64 x 6)))) 1))
(+.f64 (cos.f64 eps) (+.f64 (fma.f64 1/2 (*.f64 x x) (fma.f64 -1/24 (pow.f64 x 4) (*.f64 1/720 (pow.f64 x 6)))) -1))
(+.f64 (fma.f64 x (*.f64 x 1/2) (fma.f64 -1/24 (pow.f64 x 4) (cos.f64 eps))) (fma.f64 1/720 (pow.f64 x 6) -1))
(-.f64 1 (cos.f64 x))
(-.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) 1) (cos.f64 x))
(-.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) (cos.f64 x))
(fma.f64 eps (*.f64 -1/2 eps) (-.f64 1 (cos.f64 x)))
(-.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) 1)) (cos.f64 x))
(-.f64 (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) 1)) (cos.f64 x))
(-.f64 (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) 1)) (cos.f64 x))
(-.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 1 (*.f64 -1/720 (pow.f64 eps 6))))) (cos.f64 x))
(-.f64 (fma.f64 1/24 (pow.f64 eps 4) (+.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) (*.f64 -1/720 (pow.f64 eps 6)))) (cos.f64 x))
(-.f64 (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) 1))) (cos.f64 x))
(fma.f64 1/24 (pow.f64 eps 4) (-.f64 (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) 1)) (cos.f64 x)))
(-.f64 (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) 1))) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) 1)
(+.f64 (cos.f64 eps) -1)
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/2 (pow.f64 x 2))) 1)
(+.f64 (cos.f64 eps) (-.f64 (*.f64 1/2 (*.f64 x x)) 1))
(+.f64 (cos.f64 eps) (fma.f64 1/2 (*.f64 x x) -1))
(+.f64 (cos.f64 eps) (fma.f64 x (*.f64 x 1/2) -1))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/2 (pow.f64 x 2)) (*.f64 -1/24 (pow.f64 x 4)))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 1/2 (*.f64 x x) (*.f64 -1/24 (pow.f64 x 4))) 1))
(+.f64 (fma.f64 1/2 (*.f64 x x) (cos.f64 eps)) (-.f64 (*.f64 -1/24 (pow.f64 x 4)) 1))
(+.f64 (fma.f64 x (*.f64 x 1/2) (cos.f64 eps)) (fma.f64 -1/24 (pow.f64 x 4) -1))
(+.f64 (cos.f64 eps) (fma.f64 x (*.f64 x 1/2) (fma.f64 -1/24 (pow.f64 x 4) -1)))
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/24 (pow.f64 x 4)) (*.f64 1/720 (pow.f64 x 6))))) 1)
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 1/2 (*.f64 x x) (fma.f64 -1/24 (pow.f64 x 4) (*.f64 1/720 (pow.f64 x 6)))) 1))
(+.f64 (cos.f64 eps) (+.f64 (fma.f64 1/2 (*.f64 x x) (fma.f64 -1/24 (pow.f64 x 4) (*.f64 1/720 (pow.f64 x 6)))) -1))
(+.f64 (fma.f64 x (*.f64 x 1/2) (fma.f64 -1/24 (pow.f64 x 4) (cos.f64 eps))) (fma.f64 1/720 (pow.f64 x 6) -1))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (exp.f64 (-.f64 1 (cos.f64 x))) 1)
(expm1.f64 (-.f64 1 (cos.f64 x)))
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (exp.f64 (-.f64 1 (cos.f64 x))))) (exp.f64 (-.f64 1 (cos.f64 x)))) 1)
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 eps eps) (exp.f64 (-.f64 1 (cos.f64 x))))) (expm1.f64 (-.f64 1 (cos.f64 x))))
(+.f64 (*.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) (exp.f64 (-.f64 1 (cos.f64 x)))) -1)
(fma.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) (exp.f64 (-.f64 1 (cos.f64 x))) -1)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (exp.f64 (-.f64 1 (cos.f64 x))))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 4) (exp.f64 (-.f64 1 (cos.f64 x))))) (exp.f64 (-.f64 1 (cos.f64 x))))) 1)
(+.f64 (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (exp.f64 (-.f64 1 (cos.f64 x)))) (fma.f64 1/6 (*.f64 (pow.f64 eps 4) (exp.f64 (-.f64 1 (cos.f64 x)))) (exp.f64 (-.f64 1 (cos.f64 x))))) -1)
(+.f64 (*.f64 (exp.f64 (-.f64 1 (cos.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 (pow.f64 eps 4) 1/6))) (expm1.f64 (-.f64 1 (cos.f64 x))))
(+.f64 (*.f64 (exp.f64 (-.f64 1 (cos.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 eps eps)) (fma.f64 (pow.f64 eps 4) 1/6 1))) -1)
(fma.f64 (exp.f64 (-.f64 1 (cos.f64 x))) (+.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) (*.f64 (pow.f64 eps 4) 1/6)) -1)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (exp.f64 (-.f64 1 (cos.f64 x))))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 4) (exp.f64 (-.f64 1 (cos.f64 x))))) (+.f64 (*.f64 -31/720 (*.f64 (pow.f64 eps 6) (exp.f64 (-.f64 1 (cos.f64 x))))) (exp.f64 (-.f64 1 (cos.f64 x)))))) 1)
(+.f64 (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (exp.f64 (-.f64 1 (cos.f64 x)))) (fma.f64 1/6 (*.f64 (pow.f64 eps 4) (exp.f64 (-.f64 1 (cos.f64 x)))) (fma.f64 -31/720 (*.f64 (pow.f64 eps 6) (exp.f64 (-.f64 1 (cos.f64 x)))) (exp.f64 (-.f64 1 (cos.f64 x)))))) -1)
(+.f64 (+.f64 (*.f64 (exp.f64 (-.f64 1 (cos.f64 x))) (+.f64 (*.f64 (pow.f64 eps 4) 1/6) (*.f64 (pow.f64 eps 6) -31/720))) (*.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) (exp.f64 (-.f64 1 (cos.f64 x))))) -1)
(+.f64 (*.f64 (exp.f64 (-.f64 1 (cos.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 eps eps)) (fma.f64 (pow.f64 eps 4) 1/6 (*.f64 (pow.f64 eps 6) -31/720)))) (expm1.f64 (-.f64 1 (cos.f64 x))))
(+.f64 (*.f64 (exp.f64 (-.f64 1 (cos.f64 x))) (+.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) (fma.f64 (pow.f64 eps 4) 1/6 (*.f64 (pow.f64 eps 6) -31/720)))) -1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1)
(expm1.f64 (+.f64 (cos.f64 eps) -1))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 2))) (exp.f64 (-.f64 (cos.f64 eps) 1))) 1)
(+.f64 (*.f64 1/2 (*.f64 (*.f64 x x) (exp.f64 (+.f64 (cos.f64 eps) -1)))) (expm1.f64 (+.f64 (cos.f64 eps) -1)))
(fma.f64 1/2 (*.f64 x (*.f64 x (exp.f64 (+.f64 (cos.f64 eps) -1)))) (expm1.f64 (+.f64 (cos.f64 eps) -1)))
(+.f64 (*.f64 (+.f64 (*.f64 x (*.f64 x 1/2)) 1) (exp.f64 (+.f64 (cos.f64 eps) -1))) -1)
(fma.f64 (+.f64 1 (*.f64 x (*.f64 x 1/2))) (exp.f64 (+.f64 (cos.f64 eps) -1)) -1)
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 2))) (+.f64 (*.f64 1/12 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 4))) (exp.f64 (-.f64 (cos.f64 eps) 1)))) 1)
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 x x) (exp.f64 (+.f64 (cos.f64 eps) -1))) (fma.f64 1/12 (*.f64 (pow.f64 x 4) (exp.f64 (+.f64 (cos.f64 eps) -1))) (exp.f64 (+.f64 (cos.f64 eps) -1)))) -1)
(+.f64 (fma.f64 1/2 (*.f64 x (*.f64 x (exp.f64 (+.f64 (cos.f64 eps) -1)))) (*.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (*.f64 (pow.f64 x 4) 1/12))) (expm1.f64 (+.f64 (cos.f64 eps) -1)))
(+.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)) (*.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (+.f64 (*.f64 x (*.f64 x 1/2)) (*.f64 (pow.f64 x 4) 1/12))))
(+.f64 (*.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (+.f64 (*.f64 x (*.f64 x 1/2)) (+.f64 1 (*.f64 (pow.f64 x 4) 1/12)))) -1)
(-.f64 (+.f64 (*.f64 1/720 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 6))) (+.f64 (*.f64 1/2 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 2))) (+.f64 (*.f64 1/12 (*.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) (pow.f64 x 4))) (exp.f64 (-.f64 (cos.f64 eps) 1))))) 1)
(+.f64 (fma.f64 1/720 (*.f64 (pow.f64 x 6) (exp.f64 (+.f64 (cos.f64 eps) -1))) (fma.f64 1/2 (*.f64 (*.f64 x x) (exp.f64 (+.f64 (cos.f64 eps) -1))) (fma.f64 1/12 (*.f64 (pow.f64 x 4) (exp.f64 (+.f64 (cos.f64 eps) -1))) (exp.f64 (+.f64 (cos.f64 eps) -1))))) -1)
(fma.f64 1/720 (*.f64 (pow.f64 x 6) (exp.f64 (+.f64 (cos.f64 eps) -1))) (+.f64 (fma.f64 1/2 (*.f64 x (*.f64 x (exp.f64 (+.f64 (cos.f64 eps) -1)))) (*.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (*.f64 (pow.f64 x 4) 1/12))) (expm1.f64 (+.f64 (cos.f64 eps) -1))))
(+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x 4) 1/12) 1) (exp.f64 (+.f64 (cos.f64 eps) -1))) (-.f64 (*.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (fma.f64 x (*.f64 x 1/2) (*.f64 1/720 (pow.f64 x 6)))) 1))
(+.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)) (*.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (+.f64 (*.f64 (pow.f64 x 4) 1/12) (fma.f64 x (*.f64 x 1/2) (*.f64 1/720 (pow.f64 x 6))))))
(+.f64 (*.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (+.f64 (+.f64 1 (*.f64 (pow.f64 x 4) 1/12)) (fma.f64 x (*.f64 x 1/2) (*.f64 1/720 (pow.f64 x 6))))) -1)
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x)))
(-.f64 (exp.f64 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x)))

localize37.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (+.f64 x eps))
0.3b
(*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))
1.0b
(cbrt.f64 -2)
3.0b
(sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))
Compiler

Compiled 98 to 44 computations (55.1% saved)

series0.0ms (0%)

Counts
1 → 0

rewrite83.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
569×fma-def_binary64
367×expm1-udef_binary64
366×log1p-udef_binary64
312×fma-neg_binary64
228×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
033
1593
25973
359103
Stop Event
node limit
Counts
1 → 45
Calls
Call 1
Inputs
(cbrt.f64 -2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cbrt.f64 -2) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 -2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 -2)))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cbrt.f64 -2) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 -2)) (cbrt.f64 (cbrt.f64 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 4)) (cbrt.f64 (cbrt.f64 -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 -2 1/6) (pow.f64 -2 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 4))) (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 -2))) (cbrt.f64 (cbrt.f64 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 16))) (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 4))) (cbrt.f64 (cbrt.f64 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 -2) 1/6) (*.f64 (pow.f64 (cbrt.f64 -2) 1/6) (cbrt.f64 (cbrt.f64 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 -2 1/12) (pow.f64 -2 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 -2 1/12) (*.f64 (pow.f64 -2 1/12) (pow.f64 -2 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 -2 1/4) (pow.f64 -2 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 -2)) 5)) (pow.f64 (cbrt.f64 -2) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 -2 1/6) (cbrt.f64 (cbrt.f64 -2))) (pow.f64 (cbrt.f64 -2) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (cbrt.f64 -2)) (cbrt.f64 (cbrt.f64 (cbrt.f64 16)))) (cbrt.f64 (cbrt.f64 (cbrt.f64 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (cbrt.f64 4)) (cbrt.f64 (cbrt.f64 (cbrt.f64 4)))) (cbrt.f64 (cbrt.f64 (cbrt.f64 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (cbrt.f64 4)) (pow.f64 (cbrt.f64 -2) 1/6)) (pow.f64 (cbrt.f64 -2) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 (cbrt.f64 -2) 1) 3) 1) (fma.f64 (+.f64 (cbrt.f64 -2) 1) (+.f64 (cbrt.f64 -2) 1) (+.f64 1 (+.f64 (cbrt.f64 -2) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (+.f64 (cbrt.f64 -2) 1) (+.f64 (cbrt.f64 -2) 1) -1) (+.f64 (+.f64 (cbrt.f64 -2) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 -2 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 -2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 4 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 -2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 -2 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/3) (log.f64 -2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (cbrt.f64 -2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 -2)))) (sqrt.f64 (log.f64 (cbrt.f64 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 -2))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (cbrt.f64 4))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 -2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 -2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 -2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 -2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 -2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/6 (log.f64 -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 (cbrt.f64 -2) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (cbrt.f64 -2) 1) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (+.f64 (cbrt.f64 -2) 1)) (cbrt.f64 (+.f64 (cbrt.f64 -2) 1))) (cbrt.f64 (+.f64 (cbrt.f64 -2) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 1 (pow.f64 -2 1/6)) (hypot.f64 1 (pow.f64 -2 1/6)) -1)))))

simplify16.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

eval573.0ms (3.3%)

Compiler

Compiled 12556 to 8281 computations (34% saved)

prune321.0ms (1.8%)

Pruning

82 alts after pruning (74 fresh and 8 done)

PrunedKeptTotal
New56730597
Fresh194463
Picked101
Done088
Total58782669
Error
0.0b
Counts
669 → 82
Alt Table
Click to see full alt table
StatusErrorProgram
39.1b
(cbrt.f64 (-.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 3)) 1))
53.8b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (pow.f64 eps 3) 1/3) 1/2))) -2)
38.8b
(*.f64 (*.f64 (pow.f64 (sqrt.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))) 2) (sin.f64 (*.f64 1/2 eps))) -2)
29.8b
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
30.0b
(*.f64 (*.f64 eps (+.f64 (*.f64 eps (*.f64 (cos.f64 x) 1/4)) (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps)))))) -2)
49.3b
(*.f64 eps (*.f64 eps -1/2))
39.0b
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
38.8b
(-.f64 (cos.f64 eps) 1)
13.6b
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))) 3) (sin.f64 (*.f64 1/2 eps))) -2)
39.4b
(-.f64 (log.f64 (exp.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
39.0b
(*.f64 (-.f64 (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) 1) -2)
38.8b
(-.f64 (cos.f64 eps) (cos.f64 x))
43.8b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 eps (*.f64 eps eps))) 1/2))) -2)
29.9b
(*.f64 (sin.f64 (*.f64 1/2 eps)) (-.f64 (*.f64 (cos.f64 (*.f64 eps -1/2)) (+.f64 (*.f64 x -2) (*.f64 (pow.f64 x 3) 1/3))) (*.f64 (sin.f64 (*.f64 eps -1/2)) (+.f64 -2 (*.f64 x x)))))
36.0b
(*.f64 (sin.f64 x) (neg.f64 eps))
46.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (/.f64 (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps))))) (sqrt.f64 2))) -2)
46.9b
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
32.5b
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) 3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3))) -2)
26.6b
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
50.0b
(/.f64 (-.f64 (*.f64 (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))) (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2)))) (pow.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) 2)) (-.f64 (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))))
39.3b
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
38.9b
(log1p.f64 (-.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)) 1))
26.4b
(-.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
35.9b
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 4)) -2)
13.6b
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 -2 (sin.f64 (*.f64 1/2 eps))))) 3)
29.8b
(*.f64 (sin.f64 (*.f64 1/2 eps)) (-.f64 (*.f64 (*.f64 x -2) (cos.f64 (*.f64 eps -1/2))) (*.f64 (sin.f64 (*.f64 eps -1/2)) (+.f64 -2 (*.f64 x x)))))
44.9b
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
39.0b
(*.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (/.f64 1 (+.f64 (cos.f64 eps) 1)))
26.1b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))))
54.5b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 (*.f64 eps eps) (pow.f64 eps 3))) 1/2))) -2)
39.2b
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))))
26.0b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
38.8b
(-.f64 (+.f64 1 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
40.1b
(fma.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 eps 6) 1/36) (*.f64 eps eps)) (sin.f64 x)) (fma.f64 1/6 (pow.f64 eps 3) eps)))
26.1b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))
37.4b
(*.f64 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3) -2)
39.0b
(/.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (-.f64 (cos.f64 eps) -1))
43.2b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (cbrt.f64 eps) 3) 1/2))) -2)
44.2b
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 1 (/.f64 eps (*.f64 eps eps))) 1/2))))
34.9b
(*.f64 (*.f64 (sin.f64 x) (sin.f64 (*.f64 1/2 eps))) -2)
39.2b
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (/.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))) 2))
49.7b
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
36.0b
(*.f64 (*.f64 1/2 (*.f64 eps (sin.f64 x))) -2)
38.8b
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
38.8b
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 eps) 1)))
39.9b
(+.f64 (cos.f64 eps) (-.f64 -1 (*.f64 x (sin.f64 eps))))
38.8b
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))
32.3b
(*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)
38.8b
(log1p.f64 (expm1.f64 (-.f64 (cos.f64 eps) (cos.f64 x))))
33.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2))) -2)
26.0b
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
55.5b
(*.f64 (pow.f64 (pow.f64 4 1/6) 3) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
55.0b
(log1p.f64 (sqrt.f64 (pow.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1)) 2)))
26.2b
(-.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 2) (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2) (*.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (cos.f64 x))
54.9b
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
53.5b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 (pow.f64 eps 3) (*.f64 eps eps)) 1/2))) -2)
26.1b
(log1p.f64 (expm1.f64 (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
12.9b
(*.f64 (*.f64 (log1p.f64 (expm1.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))) (sin.f64 (*.f64 1/2 eps))) -2)
39.5b
(pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)
39.0b
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)))
47.9b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (expm1.f64 (log1p.f64 eps)) 1/2))) -2)
23.6b
(*.f64 (*.f64 (-.f64 (exp.f64 (log1p.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))) 1) (sin.f64 (*.f64 1/2 eps))) -2)
26.1b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
12.9b
(*.f64 (*.f64 (expm1.f64 (log1p.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))) (sin.f64 (*.f64 1/2 eps))) -2)
49.0b
(expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
40.4b
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (*.f64 x (sin.f64 eps))) (+.f64 (*.f64 (*.f64 x x) (*.f64 -1/2 (cos.f64 eps))) (*.f64 (*.f64 x x) 1/2)))) 1)
39.2b
(log1p.f64 (pow.f64 (cbrt.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1))) 3))
55.0b
(log1p.f64 (expm1.f64 (-.f64 1 (cos.f64 x))))
13.2b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (sin.f64 (*.f64 x 1/2))))) -2)
55.5b
(*.f64 (log.f64 1) -2)
35.6b
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)))
54.9b
(cbrt.f64 (sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 6)))
12.9b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) -2)
48.5b
(*.f64 (exp.f64 (*.f64 2 (log.f64 (sin.f64 (*.f64 1/2 eps))))) -2)
34.9b
(log1p.f64 (expm1.f64 (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)))
45.8b
(*.f64 eps (-.f64 (*.f64 eps (fma.f64 1/4 (*.f64 x x) -1/2)) x))
39.0b
(*.f64 (*.f64 (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (fma.f64 x 2 eps))))) (sin.f64 (*.f64 1/2 eps))) -2)
0.3b
(*.f64 (*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 (*.f64 x 2) 1/2))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 (*.f64 x 2) 1/2)))) (sin.f64 (*.f64 1/2 eps))) -2)
45.3b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (fma.f64 (*.f64 (+.f64 x eps) (-.f64 x eps)) (/.f64 1 (-.f64 x eps)) (neg.f64 x)) 1/2))) -2)
51.6b
(*.f64 eps (neg.f64 x))
40.2b
(-.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (cos.f64 x))
23.6b
(*.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))))) (sin.f64 (*.f64 1/2 eps))) -2)
Compiler

Compiled 1409 to 1061 computations (24.7% saved)

regimes461.0ms (2.6%)

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

4 calls:

122.0ms
x
79.0ms
eps
71.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
58.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
0.3b1x
0.3b1eps
0.3b1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
0.3b1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 2056 to 1156 computations (43.8% saved)

regimes1.7s (9.8%)

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

4 calls:

334.0ms
x
273.0ms
eps
187.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
177.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
10.6b3x
0.4b3eps
6.5b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
6.5b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 1485 to 947 computations (36.2% saved)

bsearch165.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
89.0ms
7.0733017174529855e-15
1.9313168011378832
75.0ms
-0.06558902832275153
-1.3142923159780232e-5
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes1.0s (5.8%)

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

4 calls:

272.0ms
x
269.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
269.0ms
eps
132.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
10.6b3x
0.4b3eps
6.5b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
6.5b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 1353 to 848 computations (37.3% saved)

bsearch112.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
53.0ms
7.0733017174529855e-15
1.9313168011378832
58.0ms
-0.06558902832275153
-1.3142923159780232e-5
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes197.0ms (1.1%)

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

4 calls:

49.0ms
eps
48.0ms
x
32.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
29.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
12.8b1x
12.8b1eps
12.8b1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
12.8b1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 1339 to 844 computations (37% saved)

regimes62.0ms (0.4%)

Counts
26 → 1
Calls
Call 1
Inputs
(*.f64 eps (neg.f64 x))
(*.f64 eps (*.f64 eps -1/2))
(*.f64 (log.f64 1) -2)
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (*.f64 1/2 (*.f64 eps (sin.f64 x))) -2)
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(*.f64 eps (-.f64 (*.f64 eps (fma.f64 1/4 (*.f64 x x) -1/2)) x))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 x) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(-.f64 (+.f64 1 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(*.f64 (*.f64 (sin.f64 x) (sin.f64 (*.f64 1/2 eps))) -2)
(+.f64 (cos.f64 eps) (-.f64 -1 (*.f64 x (sin.f64 eps))))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
(*.f64 (-.f64 (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) 1) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2))) -2)
Outputs
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) -2)
Calls

4 calls:

22.0ms
eps
14.0ms
x
8.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
8.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
12.9b1x
12.9b1eps
12.9b1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
12.9b1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 259 to 160 computations (38.2% saved)

regimes114.0ms (0.7%)

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

4 calls:

41.0ms
x
35.0ms
eps
15.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
15.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
16.1b3x
12.6b3eps
13.7b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
13.7b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 225 to 138 computations (38.7% saved)

bsearch165.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
78.0ms
7.0733017174529855e-15
1.9313168011378832
86.0ms
-0.06558902832275153
-1.3142923159780232e-5
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes145.0ms (0.8%)

Counts
19 → 3
Calls
Call 1
Inputs
(*.f64 eps (neg.f64 x))
(*.f64 eps (*.f64 eps -1/2))
(*.f64 (log.f64 1) -2)
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (*.f64 1/2 (*.f64 eps (sin.f64 x))) -2)
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(*.f64 eps (-.f64 (*.f64 eps (fma.f64 1/4 (*.f64 x x) -1/2)) x))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 x) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(-.f64 (+.f64 1 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
(*.f64 (*.f64 (sin.f64 x) (sin.f64 (*.f64 1/2 eps))) -2)
(+.f64 (cos.f64 eps) (-.f64 -1 (*.f64 x (sin.f64 eps))))
Outputs
(*.f64 (*.f64 (sin.f64 x) (sin.f64 (*.f64 1/2 eps))) -2)
(*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)
(*.f64 (*.f64 (sin.f64 x) (sin.f64 (*.f64 1/2 eps))) -2)
Calls

4 calls:

47.0ms
eps
47.0ms
x
21.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
20.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
16.1b3x
18.7b3eps
19.2b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
19.2b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 167 to 104 computations (37.7% saved)

bsearch289.0ms (1.7%)

Algorithm
binary-search
Steps
TimeLeftRight
139.0ms
1.3414793418423655e-66
6.018662880455897e-65
150.0ms
-2.1785999829974862e-89
-6.308333738079953e-90
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes189.0ms (1.1%)

Counts
17 → 3
Calls
Call 1
Inputs
(*.f64 eps (neg.f64 x))
(*.f64 eps (*.f64 eps -1/2))
(*.f64 (log.f64 1) -2)
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (*.f64 1/2 (*.f64 eps (sin.f64 x))) -2)
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(*.f64 eps (-.f64 (*.f64 eps (fma.f64 1/4 (*.f64 x x) -1/2)) x))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 x) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(-.f64 (+.f64 1 (-.f64 (cos.f64 eps) (cos.f64 x))) 1)
Outputs
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)
(*.f64 (sin.f64 x) (neg.f64 eps))
Calls

4 calls:

59.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
57.0ms
x
45.0ms
eps
19.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
17.2b3x
18.7b3eps
20.1b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
20.1b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 149 to 93 computations (37.6% saved)

bsearch376.0ms (2.1%)

Algorithm
binary-search
Steps
TimeLeftRight
172.0ms
1.3414793418423655e-66
6.018662880455897e-65
203.0ms
-2.1785999829974862e-89
-6.308333738079953e-90
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes136.0ms (0.8%)

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

4 calls:

54.0ms
eps
39.0ms
x
19.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
18.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
23.5b3x
19.0b3eps
20.1b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
20.1b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 124 to 75 computations (39.5% saved)

bsearch175.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
88.0ms
7.0733017174529855e-15
1.9313168011378832
86.0ms
-0.06558902832275153
-1.3142923159780232e-5
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes139.0ms (0.8%)

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

2 calls:

100.0ms
x
32.0ms
eps
Results
ErrorSegmentsBranch
23.5b3x
19.3b3eps
Compiler

Compiled 89 to 57 computations (36% saved)

bsearch204.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
52.0ms
7.0733017174529855e-15
1.9313168011378832
152.0ms
-0.06558902832275153
-1.3142923159780232e-5
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes32.0ms (0.2%)

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

2 calls:

16.0ms
x
14.0ms
eps
Results
ErrorSegmentsBranch
23.5b3x
19.3b3eps
Compiler

Compiled 35 to 21 computations (40% saved)

bsearch112.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
58.0ms
7.0733017174529855e-15
1.9313168011378832
53.0ms
-0.06558902832275153
-1.3142923159780232e-5
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes58.0ms (0.3%)

Counts
4 → 5
Calls
Call 1
Inputs
(*.f64 eps (neg.f64 x))
(*.f64 eps (*.f64 eps -1/2))
(*.f64 (log.f64 1) -2)
(-.f64 (cos.f64 eps) 1)
Outputs
(-.f64 (cos.f64 eps) 1)
(*.f64 eps (*.f64 eps -1/2))
(*.f64 eps (neg.f64 x))
(*.f64 eps (*.f64 eps -1/2))
(-.f64 (cos.f64 eps) 1)
Calls

2 calls:

39.0ms
x
18.0ms
eps
Results
ErrorSegmentsBranch
37.6b3x
30.2b5eps
Compiler

Compiled 25 to 18 computations (28% saved)

bsearch427.0ms (2.4%)

Algorithm
binary-search
Steps
TimeLeftRight
55.0ms
7.0733017174529855e-15
1.9313168011378832
133.0ms
1.820551508707074e-123
1.2772007751762257e-120
180.0ms
-1.511609088854967e-150
-5.197066995262055e-162
60.0ms
-1.7565918431791834e-25
-2.7981743792207993e-27
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes30.0ms (0.2%)

Accuracy

Total -11.1b remaining (-24.4%)

Threshold costs -11.1b (-24.4%)

Counts
3 → 3
Calls
Call 1
Inputs
(*.f64 eps (neg.f64 x))
(*.f64 eps (*.f64 eps -1/2))
(*.f64 (log.f64 1) -2)
Outputs
(*.f64 eps (neg.f64 x))
(*.f64 eps (*.f64 eps -1/2))
(*.f64 eps (neg.f64 x))
Calls

2 calls:

19.0ms
eps
10.0ms
x
Results
ErrorSegmentsBranch
45.5b3x
47.2b3eps
Compiler

Compiled 21 to 15 computations (28.6% saved)

bsearch212.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
101.0ms
4.786131795453176e-126
4.4341402645622766e-116
111.0ms
-9.164731730283988e-98
-1.3762128694841321e-101
Compiler

Compiled 14 to 10 computations (28.6% saved)

simplify118.0ms (0.7%)

Algorithm
egg-herbie
Rules
259×distribute-rgt-neg-in_binary64
196×cancel-sign-sub-inv_binary64
181×distribute-lft-neg-out_binary64
160×distribute-lft-neg-in_binary64
157×neg-sub0_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0118619
1192617
2240617
3288617
4374617
5462617
6539617
7606617
8678617
9785617
10903617
111032617
121190617
131356617
141496617
151593617
161667617
171734617
181808617
191885617
201926617
211949617
221957617
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 (*.f64 x 2) 1/2))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 (*.f64 x 2) 1/2)))) (sin.f64 (*.f64 1/2 eps))) -2)
(if (<=.f64 eps -4726187576222987/72057594037927936) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 (*.f64 eps (+.f64 (*.f64 eps (*.f64 (cos.f64 x) 1/4)) (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps)))))) -2) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
(if (<=.f64 eps -4726187576222987/72057594037927936) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 (*.f64 eps (+.f64 (*.f64 eps (*.f64 (cos.f64 x) 1/4)) (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps)))))) -2) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) -2)
(if (<=.f64 eps -4726187576222987/72057594037927936) (-.f64 (cos.f64 eps) (cos.f64 x)) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x))) (-.f64 (cos.f64 eps) (cos.f64 x))))
(if (<=.f64 x -3122885028625455/143343663499379469475676305956380433799785311823017570233599302461682679755530300504376159569382855409664) (*.f64 (*.f64 (sin.f64 x) (sin.f64 (*.f64 1/2 eps))) -2) (if (<=.f64 x 2544970885703719/1897137590064188545819787018382342682267975428761855001222473056385648716020711424) (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2) (*.f64 (*.f64 (sin.f64 x) (sin.f64 (*.f64 1/2 eps))) -2)))
(if (<=.f64 x -3122885028625455/143343663499379469475676305956380433799785311823017570233599302461682679755530300504376159569382855409664) (*.f64 (sin.f64 x) (neg.f64 eps)) (if (<=.f64 x 2544970885703719/1897137590064188545819787018382342682267975428761855001222473056385648716020711424) (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2) (*.f64 (sin.f64 x) (neg.f64 eps))))
(if (<=.f64 eps -4726187576222987/72057594037927936) (-.f64 (cos.f64 eps) (cos.f64 x)) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 (*.f64 1/2 (*.f64 eps (sin.f64 x))) -2) (-.f64 (cos.f64 eps) (cos.f64 x))))
(if (<=.f64 eps -4726187576222987/72057594037927936) (-.f64 (cos.f64 eps) 1) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 (*.f64 1/2 (*.f64 eps (sin.f64 x))) -2) (-.f64 (cos.f64 eps) 1)))
(if (<=.f64 eps -4726187576222987/72057594037927936) (-.f64 (cos.f64 eps) 1) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 (sin.f64 x) (neg.f64 eps)) (-.f64 (cos.f64 eps) 1)))
(if (<=.f64 eps -7651036545421139/43556142965880123323311949751266331066368) (-.f64 (cos.f64 eps) 1) (if (<=.f64 eps -5571050685895871/3685510180489786476798393145496356338786055879312930105836138965083617346086082863365358130056307390177215209990980317284932211552660930305235775636164742230126362624) (*.f64 eps (*.f64 eps -1/2)) (if (<=.f64 eps 5420021088678265/2977131414714805823690030317109266572712515013375254774912983855843898524112477893944078543723575564536883288499266264815757728270805630976) (*.f64 eps (neg.f64 x)) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 eps (*.f64 eps -1/2)) (-.f64 (cos.f64 eps) 1)))))
(if (<=.f64 x -440806660674979/4809815209520810450717656262224562232065397860164239095208531909697964083434718092213655548692006303809402830848) (*.f64 eps (neg.f64 x)) (if (<=.f64 x 3647729490741511/762145642166990290864647761179972242614403843424065222377723867096038022172794340849684107193235344521442121855812163792833978437326241529856) (*.f64 eps (*.f64 eps -1/2)) (*.f64 eps (neg.f64 x))))
(*.f64 eps (neg.f64 x))
Outputs
(*.f64 (*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 (*.f64 x 2) 1/2))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 (*.f64 x 2) 1/2)))) (sin.f64 (*.f64 1/2 eps))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (*.f64 x 2)))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (*.f64 x 2)))))) -2)
(if (<=.f64 eps -4726187576222987/72057594037927936) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 (*.f64 eps (+.f64 (*.f64 eps (*.f64 (cos.f64 x) 1/4)) (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps)))))) -2) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
(if (<=.f64 eps -4726187576222987/72057594037927936) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 -2 (*.f64 eps (+.f64 (*.f64 eps (*.f64 (cos.f64 x) 1/4)) (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps))))))) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
(if (<=.f64 eps -4726187576222987/72057594037927936) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 -2 (*.f64 eps (+.f64 (*.f64 eps (*.f64 (cos.f64 x) 1/4)) (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps))))))) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
(if (<=.f64 eps -4726187576222987/72057594037927936) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 2 (*.f64 eps (-.f64 (*.f64 eps (*.f64 (cos.f64 x) -1/4)) (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps))))))) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
(if (<=.f64 eps -4726187576222987/72057594037927936) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 2 (*.f64 eps (+.f64 (*.f64 eps (*.f64 (cos.f64 x) -1/4)) (*.f64 (sin.f64 x) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/12)))))) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
(if (<=.f64 eps -4726187576222987/72057594037927936) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 (*.f64 eps (+.f64 (*.f64 eps (*.f64 (cos.f64 x) 1/4)) (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps)))))) -2) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
(if (<=.f64 eps -4726187576222987/72057594037927936) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 -2 (*.f64 eps (+.f64 (*.f64 eps (*.f64 (cos.f64 x) 1/4)) (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps))))))) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
(if (<=.f64 eps -4726187576222987/72057594037927936) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 2 (*.f64 eps (-.f64 (*.f64 eps (*.f64 (cos.f64 x) -1/4)) (*.f64 (sin.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps))))))) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
(if (<=.f64 eps -4726187576222987/72057594037927936) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 2 (*.f64 eps (+.f64 (*.f64 eps (*.f64 (cos.f64 x) -1/4)) (*.f64 (sin.f64 x) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/12)))))) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (-.f64 x x)))) (sin.f64 (*.f64 1/2 (+.f64 x (+.f64 eps x))))))
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) -2)
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(if (<=.f64 eps -4726187576222987/72057594037927936) (-.f64 (cos.f64 eps) (cos.f64 x)) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x))) (-.f64 (cos.f64 eps) (cos.f64 x))))
(if (<=.f64 x -3122885028625455/143343663499379469475676305956380433799785311823017570233599302461682679755530300504376159569382855409664) (*.f64 (*.f64 (sin.f64 x) (sin.f64 (*.f64 1/2 eps))) -2) (if (<=.f64 x 2544970885703719/1897137590064188545819787018382342682267975428761855001222473056385648716020711424) (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2) (*.f64 (*.f64 (sin.f64 x) (sin.f64 (*.f64 1/2 eps))) -2)))
(if (<=.f64 x -3122885028625455/143343663499379469475676305956380433799785311823017570233599302461682679755530300504376159569382855409664) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 x))) (if (<=.f64 x 2544970885703719/1897137590064188545819787018382342682267975428761855001222473056385648716020711424) (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 x)))))
(if (<=.f64 x -3122885028625455/143343663499379469475676305956380433799785311823017570233599302461682679755530300504376159569382855409664) (*.f64 (sin.f64 x) (neg.f64 eps)) (if (<=.f64 x 2544970885703719/1897137590064188545819787018382342682267975428761855001222473056385648716020711424) (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2) (*.f64 (sin.f64 x) (neg.f64 eps))))
(if (<=.f64 x -3122885028625455/143343663499379469475676305956380433799785311823017570233599302461682679755530300504376159569382855409664) (*.f64 (sin.f64 x) (neg.f64 eps)) (if (<=.f64 x 2544970885703719/1897137590064188545819787018382342682267975428761855001222473056385648716020711424) (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 (sin.f64 x) (neg.f64 eps))))
(if (<=.f64 x -3122885028625455/143343663499379469475676305956380433799785311823017570233599302461682679755530300504376159569382855409664) (*.f64 eps (neg.f64 (sin.f64 x))) (if (<=.f64 x 2544970885703719/1897137590064188545819787018382342682267975428761855001222473056385648716020711424) (*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 eps (neg.f64 (sin.f64 x)))))
(if (<=.f64 eps -4726187576222987/72057594037927936) (-.f64 (cos.f64 eps) (cos.f64 x)) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 (*.f64 1/2 (*.f64 eps (sin.f64 x))) -2) (-.f64 (cos.f64 eps) (cos.f64 x))))
(if (<=.f64 eps -4726187576222987/72057594037927936) (-.f64 (cos.f64 eps) (cos.f64 x)) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 -2 (*.f64 1/2 (*.f64 eps (sin.f64 x)))) (-.f64 (cos.f64 eps) (cos.f64 x))))
(if (<=.f64 eps -4726187576222987/72057594037927936) (-.f64 (cos.f64 eps) (cos.f64 x)) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 2 (*.f64 -1/2 (*.f64 eps (sin.f64 x)))) (-.f64 (cos.f64 eps) (cos.f64 x))))
(if (<=.f64 eps -4726187576222987/72057594037927936) (-.f64 (cos.f64 eps) 1) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 (*.f64 1/2 (*.f64 eps (sin.f64 x))) -2) (-.f64 (cos.f64 eps) 1)))
(if (<=.f64 eps -4726187576222987/72057594037927936) (+.f64 (cos.f64 eps) -1) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 -2 (*.f64 1/2 (*.f64 eps (sin.f64 x)))) (+.f64 (cos.f64 eps) -1)))
(if (<=.f64 eps -4726187576222987/72057594037927936) (+.f64 (cos.f64 eps) -1) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 2 (*.f64 -1/2 (*.f64 eps (sin.f64 x)))) (+.f64 (cos.f64 eps) -1)))
(if (<=.f64 eps -4726187576222987/72057594037927936) (-.f64 (cos.f64 eps) 1) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 (sin.f64 x) (neg.f64 eps)) (-.f64 (cos.f64 eps) 1)))
(if (<=.f64 eps -4726187576222987/72057594037927936) (+.f64 (cos.f64 eps) -1) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 (sin.f64 x) (neg.f64 eps)) (+.f64 (cos.f64 eps) -1)))
(if (<=.f64 eps -4726187576222987/72057594037927936) (+.f64 (cos.f64 eps) -1) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 eps (neg.f64 (sin.f64 x))) (+.f64 (cos.f64 eps) -1)))
(if (<=.f64 eps -7651036545421139/43556142965880123323311949751266331066368) (-.f64 (cos.f64 eps) 1) (if (<=.f64 eps -5571050685895871/3685510180489786476798393145496356338786055879312930105836138965083617346086082863365358130056307390177215209990980317284932211552660930305235775636164742230126362624) (*.f64 eps (*.f64 eps -1/2)) (if (<=.f64 eps 5420021088678265/2977131414714805823690030317109266572712515013375254774912983855843898524112477893944078543723575564536883288499266264815757728270805630976) (*.f64 eps (neg.f64 x)) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 eps (*.f64 eps -1/2)) (-.f64 (cos.f64 eps) 1)))))
(if (<=.f64 eps -7651036545421139/43556142965880123323311949751266331066368) (+.f64 (cos.f64 eps) -1) (if (<=.f64 eps -5571050685895871/3685510180489786476798393145496356338786055879312930105836138965083617346086082863365358130056307390177215209990980317284932211552660930305235775636164742230126362624) (*.f64 eps (*.f64 eps -1/2)) (if (<=.f64 eps 5420021088678265/2977131414714805823690030317109266572712515013375254774912983855843898524112477893944078543723575564536883288499266264815757728270805630976) (*.f64 eps (neg.f64 x)) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 eps (*.f64 eps -1/2)) (+.f64 (cos.f64 eps) -1)))))
(if (<=.f64 eps -7651036545421139/43556142965880123323311949751266331066368) (+.f64 (cos.f64 eps) -1) (if (<=.f64 eps -5571050685895871/3685510180489786476798393145496356338786055879312930105836138965083617346086082863365358130056307390177215209990980317284932211552660930305235775636164742230126362624) (*.f64 eps (*.f64 eps -1/2)) (if (<=.f64 eps 5420021088678265/2977131414714805823690030317109266572712515013375254774912983855843898524112477893944078543723575564536883288499266264815757728270805630976) (*.f64 (neg.f64 eps) x) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 eps (*.f64 eps -1/2)) (+.f64 (cos.f64 eps) -1)))))
(if (<=.f64 eps -7651036545421139/43556142965880123323311949751266331066368) (+.f64 (cos.f64 eps) -1) (if (<=.f64 eps -5571050685895871/3685510180489786476798393145496356338786055879312930105836138965083617346086082863365358130056307390177215209990980317284932211552660930305235775636164742230126362624) (*.f64 eps (*.f64 eps -1/2)) (if (<=.f64 eps 5420021088678265/2977131414714805823690030317109266572712515013375254774912983855843898524112477893944078543723575564536883288499266264815757728270805630976) (*.f64 x (neg.f64 eps)) (if (<=.f64 eps 8966475167724643/1267650600228229401496703205376) (*.f64 eps (*.f64 eps -1/2)) (+.f64 (cos.f64 eps) -1)))))
(if (<=.f64 x -440806660674979/4809815209520810450717656262224562232065397860164239095208531909697964083434718092213655548692006303809402830848) (*.f64 eps (neg.f64 x)) (if (<=.f64 x 3647729490741511/762145642166990290864647761179972242614403843424065222377723867096038022172794340849684107193235344521442121855812163792833978437326241529856) (*.f64 eps (*.f64 eps -1/2)) (*.f64 eps (neg.f64 x))))
(if (<=.f64 x -440806660674979/4809815209520810450717656262224562232065397860164239095208531909697964083434718092213655548692006303809402830848) (*.f64 (neg.f64 eps) x) (if (<=.f64 x 3647729490741511/762145642166990290864647761179972242614403843424065222377723867096038022172794340849684107193235344521442121855812163792833978437326241529856) (*.f64 eps (*.f64 eps -1/2)) (*.f64 (neg.f64 eps) x)))
(if (<=.f64 x -440806660674979/4809815209520810450717656262224562232065397860164239095208531909697964083434718092213655548692006303809402830848) (*.f64 x (neg.f64 eps)) (if (<=.f64 x 3647729490741511/762145642166990290864647761179972242614403843424065222377723867096038022172794340849684107193235344521442121855812163792833978437326241529856) (*.f64 eps (*.f64 eps -1/2)) (*.f64 x (neg.f64 eps))))
(*.f64 eps (neg.f64 x))
(*.f64 (neg.f64 eps) x)
(*.f64 x (neg.f64 eps))
Compiler

Compiled 429 to 275 computations (35.9% saved)

soundness0.0ms (0%)

end338.0ms (1.9%)

Compiler

Compiled 403 to 219 computations (45.7% saved)

Profiling

Loading profile data...