Details

Time bar (total: 25.1s)

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)

sample5.1s (20.4%)

Results
2.2s4002×body1024valid
2.1s2082×body2048valid
637.0ms1377×body512valid
161.0ms794×body256valid
2.0msbody4096valid

preprocess44.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%)

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

eval1.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
41.7b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
41.7b
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 9 to 6 computations (33.3% saved)

localize9.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
1.4b
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
3.1b
(cos.f64 (+.f64 x eps))
Compiler

Compiled 20 to 6 computations (70% saved)

series6.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite124.0ms (0.5%)

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

simplify78.0ms (0.3%)

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

eval71.0ms (0.3%)

Compiler

Compiled 3964 to 1199 computations (69.8% saved)

prune86.0ms (0.3%)

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
25.6b
(fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
48.8b
(expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
55.3b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 eps (sin.f64 x))) (cos.f64 x))
42.7b
(-.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)
41.7b
(cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))
41.2b
(-.f64 (cos.f64 eps) (cos.f64 x))
40.9b
(-.f64 (cos.f64 eps) 1)
41.7b
(-.f64 (expm1.f64 (log1p.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
55.7b
(-.f64 (cos.f64 x) (cos.f64 x))
34.6b
(-.f64 (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))) (cos.f64 x))
30.7b
(+.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.8b
(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))))
30.6b
(fma.f64 eps (*.f64 eps (*.f64 -1/2 (cos.f64 x))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)))
26.3b
(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)))))
41.7b
(/.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)))
41.7b
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
30.3b
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
25.6b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
41.7b
(/.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)))
30.3b
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
25.5b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
41.7b
(/.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))))
25.6b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
26.1b
(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)))))
41.7b
(log.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
42.2b
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
55.5b
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
15.7b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
40.7b
(-.f64 (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))) (cos.f64 x))
25.6b
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
34.8b
(*.f64 (sin.f64 x) (neg.f64 eps))
25.6b
(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)))))
17.0b
(*.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))))
41.7b
(-.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
42.5b
(-.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (cos.f64 x))
46.8b
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
34.8b
(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)))))
Compiler

Compiled 1233 to 802 computations (35% saved)

localize38.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (+.f64 x eps))
0.2b
(*.f64 (+.f64 x (+.f64 x eps)) 1/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 88 to 34 computations (61.4% saved)

series13.0ms (0.1%)

Counts
4 → 96
Calls

24 calls:

TimeVariablePointExpression
1.0ms
eps
@inf
(*.f64 (+.f64 x (+.f64 x eps)) 1/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
@inf
(*.f64 (+.f64 x (+.f64 x eps)) 1/2)

rewrite146.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
675×fma-def_binary64
454×log-prod_binary64
298×fma-neg_binary64
187×expm1-udef_binary64
187×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify84.0ms (0.3%)

Algorithm
egg-herbie
Rules
642×fma-neg_binary64
585×fma-def_binary64
505×neg-sub0_binary64
460×neg-mul-1_binary64
360×unswap-sqr_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0911091
12591079
2714952
32756930
45957927
Stop Event
node limit
Counts
332 → 282
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)))
(*.f64 1/2 eps)
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
x
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
x
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
x
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 eps)
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 eps)
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
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)
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))))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) x (*.f64 (+.f64 1 (*.f64 x (*.f64 x -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 (*.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 1 (*.f64 x (*.f64 x -1/2))) (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 (*.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 2 x eps)))
(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 2 x eps)))
(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 2 x eps)))
(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 2 x eps)))
(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 2 x eps)))
(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 2 x eps)))
(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 2 x eps)))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(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)) (*.f64 (+.f64 (*.f64 -1/8 (*.f64 eps eps)) 1) (sin.f64 x)))
(fma.f64 1/2 (*.f64 eps (cos.f64 x)) (*.f64 (+.f64 1 (*.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 -1/8 (*.f64 eps eps)) (fma.f64 (cos.f64 x) (fma.f64 -1/48 (pow.f64 eps 3) (*.f64 1/2 eps)) (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)))
(fma.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/8)) (fma.f64 (cos.f64 x) (fma.f64 1/2 eps (*.f64 -1/48 (pow.f64 eps 3))) (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 (*.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 2 x eps)))
(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 2 x eps)))
(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 2 x eps)))
(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 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(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 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(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 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(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 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (fma.f64 2 x eps)))
(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 (*.f64 1/2 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 (cos.f64 x) (*.f64 (*.f64 1/4 eps) eps)))
(fma.f64 1/2 (*.f64 eps (sin.f64 x)) (*.f64 (cos.f64 x) (*.f64 eps (*.f64 eps 1/4))))
(*.f64 eps (+.f64 (*.f64 1/4 (*.f64 eps (cos.f64 x))) (*.f64 1/2 (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)))))
(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 (pow.f64 eps 3) (*.f64 (sin.f64 x) -1/12))))
(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 (*.f64 eps eps) -1/12)))))
(fma.f64 (cos.f64 x) (*.f64 eps (*.f64 eps 1/4)) (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/12 (*.f64 1/2 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 -1/48 (*.f64 (cos.f64 x) (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 (*.f64 eps eps) -1/12)))) (*.f64 (cos.f64 x) (+.f64 (*.f64 eps (*.f64 eps 1/4)) (*.f64 -1/48 (pow.f64 eps 4)))))
(+.f64 (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 3) -1/12 (*.f64 1/2 eps))) (*.f64 (cos.f64 x) (+.f64 (*.f64 eps (*.f64 eps 1/4)) (*.f64 -1/48 (pow.f64 eps 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 (*.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 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x 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 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x 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 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x 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 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 (*.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 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 (*.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 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 (*.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 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 (*.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 (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 -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 (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 1 (*.f64 x (*.f64 x -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 (*.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 -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 (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 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 x (*.f64 x -1/2))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (fma.f64 (pow.f64 x 3) (*.f64 (cos.f64 (*.f64 1/2 eps)) -1/6) (sin.f64 (*.f64 1/2 eps))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (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 (*.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 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x 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 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x 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 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x 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 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x 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 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x 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 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x 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 eps)) (sin.f64 (*.f64 1/2 (fma.f64 2 x 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/2 eps)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
x
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
x
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
x
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(*.f64 1/2 eps)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(*.f64 1/2 eps)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(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)

localize6.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
1.9b
(-.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)

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

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

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))
0.1b
(log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
1.4b
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
3.1b
(cos.f64 (+.f64 x eps))
Compiler

Compiled 37 to 8 computations (78.4% saved)

series156.0ms (0.6%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
47.0ms
x
@-inf
(log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
45.0ms
x
@inf
(log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
42.0ms
eps
@-inf
(log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
16.0ms
eps
@inf
(log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
2.0ms
x
@0
(log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))

rewrite100.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

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

simplify82.0ms (0.3%)

Algorithm
egg-herbie
Rules
791×fma-def_binary64
741×associate-*r*_binary64
729×associate-*l*_binary64
282×associate-+l+_binary64
268×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01371070
1417990
21383948
37783948
Stop Event
node limit
Counts
203 → 191
Calls
Call 1
Inputs
(log.f64 (cos.f64 eps))
(+.f64 (log.f64 (cos.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 eps) x) (cos.f64 eps))))
(+.f64 (log.f64 (cos.f64 eps)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 eps) x) (cos.f64 eps))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (cos.f64 eps) 2))) (*.f64 2 (/.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (cos.f64 eps)))) (pow.f64 x 2)))))
(+.f64 (log.f64 (cos.f64 eps)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 eps) x) (cos.f64 eps))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (cos.f64 eps) 2))) (*.f64 2 (/.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (cos.f64 eps)))) (pow.f64 x 2))) (*.f64 1/6 (*.f64 (+.f64 (*.f64 6 (/.f64 (*.f64 (sin.f64 eps) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps)))) (pow.f64 (cos.f64 eps) 2))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (cos.f64 eps) 3))) (/.f64 (sin.f64 eps) (cos.f64 eps)))) (pow.f64 x 3))))))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (+.f64 eps x))) (cos.f64 x)))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (+.f64 eps x))) (cos.f64 x)))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (+.f64 eps x))) (cos.f64 x)))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (+.f64 eps x))) (cos.f64 x)))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (-.f64 eps (*.f64 -1 x)))) (cos.f64 x)))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (-.f64 eps (*.f64 -1 x)))) (cos.f64 x)))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (-.f64 eps (*.f64 -1 x)))) (cos.f64 x)))
(log.f64 (-.f64 (+.f64 1 (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) (+.f64 (*.f64 -1 (pow.f64 (sin.f64 x) 2)) (*.f64 -1 (cos.f64 x))))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1 (pow.f64 (sin.f64 x) 2)) (*.f64 -1 (cos.f64 x))))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -3 (*.f64 (cos.f64 x) (sin.f64 x))) (+.f64 (sin.f64 x) (*.f64 -2 (pow.f64 (sin.f64 x) 3)))))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1 (pow.f64 (sin.f64 x) 2)) (*.f64 -1 (cos.f64 x))))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -3 (*.f64 (cos.f64 x) (sin.f64 x))) (+.f64 (sin.f64 x) (*.f64 -2 (pow.f64 (sin.f64 x) 3)))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 -3 (pow.f64 (cos.f64 x) 2)) (+.f64 (cos.f64 x) (+.f64 (*.f64 -12 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2))) (+.f64 (*.f64 4 (pow.f64 (sin.f64 x) 2)) (*.f64 -6 (pow.f64 (sin.f64 x) 4)))))))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (+.f64 eps x))) (cos.f64 x)))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (+.f64 eps x))) (cos.f64 x)))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (+.f64 eps x))) (cos.f64 x)))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (+.f64 eps x))) (cos.f64 x)))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (-.f64 x (*.f64 -1 eps)))) (cos.f64 x)))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (-.f64 x (*.f64 -1 eps)))) (cos.f64 x)))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (-.f64 x (*.f64 -1 eps)))) (cos.f64 x)))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (-.f64 x (*.f64 -1 eps)))) (cos.f64 x)))
(-.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
(log.f64 (cos.f64 eps))
(+.f64 (log.f64 (cos.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 eps) x) (cos.f64 eps))))
(+.f64 (log.f64 (cos.f64 eps)) (neg.f64 (/.f64 (sin.f64 eps) (/.f64 (cos.f64 eps) x))))
(-.f64 (log.f64 (cos.f64 eps)) (/.f64 (sin.f64 eps) (/.f64 (cos.f64 eps) x)))
(-.f64 (log.f64 (cos.f64 eps)) (*.f64 x (/.f64 (sin.f64 eps) (cos.f64 eps))))
(+.f64 (log.f64 (cos.f64 eps)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 eps) x) (cos.f64 eps))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (cos.f64 eps) 2))) (*.f64 2 (/.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (cos.f64 eps)))) (pow.f64 x 2)))))
(+.f64 (log.f64 (cos.f64 eps)) (fma.f64 -1 (/.f64 (sin.f64 eps) (/.f64 (cos.f64 eps) x)) (*.f64 1/2 (*.f64 (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (cos.f64 eps) 2)) (*.f64 2 (/.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (cos.f64 eps)))) (*.f64 x x)))))
(+.f64 (log.f64 (cos.f64 eps)) (fma.f64 1/2 (*.f64 (fma.f64 2 (/.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (cos.f64 eps)) (/.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (pow.f64 (cos.f64 eps) 2))) (*.f64 x x)) (/.f64 (neg.f64 x) (/.f64 (cos.f64 eps) (sin.f64 eps)))))
(+.f64 (log.f64 (cos.f64 eps)) (*.f64 x (-.f64 (*.f64 x (*.f64 1/2 (-.f64 (/.f64 (+.f64 1 (*.f64 (cos.f64 eps) -1)) (cos.f64 eps)) (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (cos.f64 eps) 2))))) (/.f64 (sin.f64 eps) (cos.f64 eps)))))
(+.f64 (log.f64 (cos.f64 eps)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 eps) x) (cos.f64 eps))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (cos.f64 eps) 2))) (*.f64 2 (/.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps))) (cos.f64 eps)))) (pow.f64 x 2))) (*.f64 1/6 (*.f64 (+.f64 (*.f64 6 (/.f64 (*.f64 (sin.f64 eps) (+.f64 1/2 (*.f64 -1/2 (cos.f64 eps)))) (pow.f64 (cos.f64 eps) 2))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (cos.f64 eps) 3))) (/.f64 (sin.f64 eps) (cos.f64 eps)))) (pow.f64 x 3))))))
(+.f64 (log.f64 (cos.f64 eps)) (fma.f64 -1 (/.f64 (sin.f64 eps) (/.f64 (cos.f64 eps) x)) (fma.f64 1/2 (*.f64 (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (cos.f64 eps) 2)) (*.f64 2 (/.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (cos.f64 eps)))) (*.f64 x x)) (*.f64 1/6 (*.f64 (fma.f64 6 (/.f64 (*.f64 (sin.f64 eps) (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2))) (pow.f64 (cos.f64 eps) 2)) (fma.f64 -2 (/.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (cos.f64 eps) 3)) (/.f64 (sin.f64 eps) (cos.f64 eps)))) (pow.f64 x 3))))))
(+.f64 (-.f64 (log.f64 (cos.f64 eps)) (/.f64 (sin.f64 eps) (/.f64 (cos.f64 eps) x))) (fma.f64 1/6 (*.f64 (fma.f64 6 (*.f64 (/.f64 (sin.f64 eps) (pow.f64 (cos.f64 eps) 2)) (fma.f64 (cos.f64 eps) -1/2 1/2)) (fma.f64 -2 (/.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (cos.f64 eps) 3)) (/.f64 (sin.f64 eps) (cos.f64 eps)))) (pow.f64 x 3)) (*.f64 1/2 (*.f64 (fma.f64 2 (/.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (cos.f64 eps)) (/.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (pow.f64 (cos.f64 eps) 2))) (*.f64 x x)))))
(+.f64 (log.f64 (cos.f64 eps)) (fma.f64 1/6 (*.f64 (fma.f64 6 (/.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (/.f64 (pow.f64 (cos.f64 eps) 2) (sin.f64 eps))) (fma.f64 -2 (pow.f64 (/.f64 (sin.f64 eps) (cos.f64 eps)) 3) (/.f64 (sin.f64 eps) (cos.f64 eps)))) (pow.f64 x 3)) (*.f64 x (-.f64 (*.f64 x (*.f64 1/2 (-.f64 (/.f64 (+.f64 1 (*.f64 (cos.f64 eps) -1)) (cos.f64 eps)) (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (cos.f64 eps) 2))))) (/.f64 (sin.f64 eps) (cos.f64 eps))))))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (+.f64 eps x))) (cos.f64 x)))
(log.f64 (+.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))))
(log1p.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (+.f64 eps x))) (cos.f64 x)))
(log.f64 (+.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))))
(log1p.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (+.f64 eps x))) (cos.f64 x)))
(log.f64 (+.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))))
(log1p.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (+.f64 eps x))) (cos.f64 x)))
(log.f64 (+.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))))
(log1p.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (-.f64 eps (*.f64 -1 x)))) (cos.f64 x)))
(log.f64 (+.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))))
(log1p.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (-.f64 eps (*.f64 -1 x)))) (cos.f64 x)))
(log.f64 (+.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))))
(log1p.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (-.f64 eps (*.f64 -1 x)))) (cos.f64 x)))
(log.f64 (+.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))))
(log1p.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (-.f64 eps (*.f64 -1 x)))) (cos.f64 x)))
(log.f64 (+.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))))
(log1p.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 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1 (pow.f64 (sin.f64 x) 2)) (*.f64 -1 (cos.f64 x))))) (*.f64 -1 (*.f64 eps (sin.f64 x))))
(fma.f64 1/2 (*.f64 (*.f64 eps eps) (*.f64 -1 (+.f64 (pow.f64 (sin.f64 x) 2) (cos.f64 x)))) (*.f64 (neg.f64 eps) (sin.f64 x)))
(-.f64 (*.f64 (*.f64 eps eps) (*.f64 (-.f64 (neg.f64 (pow.f64 (sin.f64 x) 2)) (cos.f64 x)) 1/2)) (*.f64 eps (sin.f64 x)))
(-.f64 (*.f64 (+.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)) (*.f64 eps (*.f64 eps -1/2))) (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1 (pow.f64 (sin.f64 x) 2)) (*.f64 -1 (cos.f64 x))))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -3 (*.f64 (cos.f64 x) (sin.f64 x))) (+.f64 (sin.f64 x) (*.f64 -2 (pow.f64 (sin.f64 x) 3)))))) (*.f64 -1 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/2 (*.f64 (*.f64 eps eps) (*.f64 -1 (+.f64 (pow.f64 (sin.f64 x) 2) (cos.f64 x)))) (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (fma.f64 -3 (*.f64 (cos.f64 x) (sin.f64 x)) (+.f64 (sin.f64 x) (*.f64 -2 (pow.f64 (sin.f64 x) 3))))) (*.f64 (neg.f64 eps) (sin.f64 x))))
(-.f64 (fma.f64 (*.f64 1/2 (*.f64 eps eps)) (-.f64 (neg.f64 (pow.f64 (sin.f64 x) 2)) (cos.f64 x)) (*.f64 (fma.f64 -3 (*.f64 (cos.f64 x) (sin.f64 x)) (fma.f64 -2 (pow.f64 (sin.f64 x) 3) (sin.f64 x))) (*.f64 1/6 (pow.f64 eps 3)))) (*.f64 eps (sin.f64 x)))
(-.f64 (fma.f64 (fma.f64 -2 (pow.f64 (sin.f64 x) 3) (*.f64 (sin.f64 x) (fma.f64 (cos.f64 x) -3 1))) (*.f64 1/6 (pow.f64 eps 3)) (*.f64 (+.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)) (*.f64 eps (*.f64 eps -1/2)))) (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1 (pow.f64 (sin.f64 x) 2)) (*.f64 -1 (cos.f64 x))))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -3 (*.f64 (cos.f64 x) (sin.f64 x))) (+.f64 (sin.f64 x) (*.f64 -2 (pow.f64 (sin.f64 x) 3)))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 -3 (pow.f64 (cos.f64 x) 2)) (+.f64 (cos.f64 x) (+.f64 (*.f64 -12 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2))) (+.f64 (*.f64 4 (pow.f64 (sin.f64 x) 2)) (*.f64 -6 (pow.f64 (sin.f64 x) 4)))))))) (*.f64 -1 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/2 (*.f64 (*.f64 eps eps) (*.f64 -1 (+.f64 (pow.f64 (sin.f64 x) 2) (cos.f64 x)))) (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (fma.f64 -3 (*.f64 (cos.f64 x) (sin.f64 x)) (+.f64 (sin.f64 x) (*.f64 -2 (pow.f64 (sin.f64 x) 3))))) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (fma.f64 -3 (pow.f64 (cos.f64 x) 2) (+.f64 (cos.f64 x) (fma.f64 -12 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)) (fma.f64 4 (pow.f64 (sin.f64 x) 2) (*.f64 -6 (pow.f64 (sin.f64 x) 4))))))) (*.f64 (neg.f64 eps) (sin.f64 x)))))
(fma.f64 1/2 (*.f64 eps (*.f64 eps (-.f64 (neg.f64 (pow.f64 (sin.f64 x) 2)) (cos.f64 x)))) (-.f64 (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (fma.f64 -3 (*.f64 (cos.f64 x) (sin.f64 x)) (fma.f64 -2 (pow.f64 (sin.f64 x) 3) (sin.f64 x)))) (*.f64 (pow.f64 eps 4) (*.f64 (+.f64 (+.f64 (*.f64 -6 (pow.f64 (sin.f64 x) 4)) (*.f64 (pow.f64 (sin.f64 x) 2) (+.f64 (*.f64 (cos.f64 x) -12) 4))) (fma.f64 -3 (pow.f64 (cos.f64 x) 2) (cos.f64 x))) 1/24))) (*.f64 eps (sin.f64 x))))
(-.f64 (fma.f64 (*.f64 eps eps) (*.f64 -1/2 (+.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2))) (fma.f64 (fma.f64 -3 (pow.f64 (cos.f64 x) 2) (fma.f64 (pow.f64 (sin.f64 x) 2) (fma.f64 (cos.f64 x) -12 4) (fma.f64 -6 (pow.f64 (sin.f64 x) 4) (cos.f64 x)))) (*.f64 1/24 (pow.f64 eps 4)) (*.f64 (fma.f64 -2 (pow.f64 (sin.f64 x) 3) (*.f64 (sin.f64 x) (fma.f64 (cos.f64 x) -3 1))) (*.f64 1/6 (pow.f64 eps 3))))) (*.f64 eps (sin.f64 x)))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (+.f64 eps x))) (cos.f64 x)))
(log.f64 (+.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))))
(log1p.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (+.f64 eps x))) (cos.f64 x)))
(log.f64 (+.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))))
(log1p.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (+.f64 eps x))) (cos.f64 x)))
(log.f64 (+.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))))
(log1p.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (+.f64 eps x))) (cos.f64 x)))
(log.f64 (+.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))))
(log1p.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (-.f64 x (*.f64 -1 eps)))) (cos.f64 x)))
(log.f64 (+.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))))
(log1p.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (-.f64 x (*.f64 -1 eps)))) (cos.f64 x)))
(log.f64 (+.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))))
(log1p.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (-.f64 x (*.f64 -1 eps)))) (cos.f64 x)))
(log.f64 (+.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))))
(log1p.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)))
(log.f64 (-.f64 (+.f64 1 (cos.f64 (-.f64 x (*.f64 -1 eps)))) (cos.f64 x)))
(log.f64 (+.f64 1 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))))
(log1p.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 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 (+.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 (sin.f64 eps) x) (*.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 x x))) 1))
(+.f64 (fma.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 x x) (*.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 (+.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 (sin.f64 eps) x) (*.f64 (+.f64 1/2 (*.f64 (cos.f64 eps) -1/2)) (*.f64 x x)))) 1))
(+.f64 (cos.f64 eps) (+.f64 (+.f64 (*.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 x x)) (*.f64 (sin.f64 eps) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (neg.f64 x)))) -1))
(+.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x) (fma.f64 (fma.f64 (cos.f64 eps) -1/2 1/2) (*.f64 x x) -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 (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 (cos.f64 x) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 eps (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (*.f64 eps (*.f64 eps -1/2))) (*.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))))
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps eps)))) (*.f64 eps (sin.f64 x)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (+.f64 (neg.f64 eps) (*.f64 1/6 (pow.f64 eps 3)))))
(+.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 (cos.f64 x) (*.f64 -1/2 (*.f64 eps eps)))) (*.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 (neg.f64 eps) (*.f64 1/6 (pow.f64 eps 3))))))
(-.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))

localize30.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 eps (*.f64 -1/2 (cos.f64 x)))
0.3b
(*.f64 1/6 (pow.f64 eps 3))
0.5b
(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.7b
(*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))
Compiler

Compiled 64 to 39 computations (39.1% saved)

series17.0ms (0.1%)

Counts
4 → 68
Calls

21 calls:

TimeVariablePointExpression
1.0ms
x
@0
(*.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
eps
@0
(*.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
@inf
(*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))

rewrite85.0ms (0.3%)

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 1/6 (pow.f64 eps 3))
(*.f64 eps (*.f64 -1/2 (cos.f64 x)))
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 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))))))
((#(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))))))

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

localize692.0ms (2.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (cos.f64 x) 2)
0.4b
(pow.f64 (cos.f64 (+.f64 x eps)) 2)
1.3b
(-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))
3.1b
(cos.f64 (+.f64 x eps))
Compiler

Compiled 61 to 22 computations (63.9% saved)

series9.0ms (0%)

Counts
3 → 52
Calls

15 calls:

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

rewrite90.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
500×log-prod_binary64
383×fma-def_binary64
338×pow-prod-down_binary64
298×pow2_binary64
203×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify80.0ms (0.3%)

Algorithm
egg-herbie
Rules
844×fma-def_binary64
648×distribute-rgt-neg-out_binary64
556×unsub-neg_binary64
534×associate-*l*_binary64
532×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01001060
13041029
21004986
35307978
Stop Event
node limit
Counts
199 → 190
Calls
Call 1
Inputs
(-.f64 (pow.f64 (cos.f64 eps) 2) 1)
(-.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) (*.f64 -2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)))) 1)
(-.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (*.f64 -2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))) (*.f64 (+.f64 1 (+.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 -1 (pow.f64 (cos.f64 eps) 2)))) (pow.f64 x 2)))) 1)
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 eps)) (*.f64 1/3 (*.f64 (cos.f64 eps) (sin.f64 eps)))) (pow.f64 x 3)) (+.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (*.f64 -2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))) (*.f64 (+.f64 1 (+.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 -1 (pow.f64 (cos.f64 eps) 2)))) (pow.f64 x 2))))) 1)
(-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 2) (pow.f64 (cos.f64 x) 2))
(*.f64 -2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x))))
(+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (pow.f64 (sin.f64 x) 2) (*.f64 -1 (pow.f64 (cos.f64 x) 2)))) (*.f64 -2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x)))))
(+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (pow.f64 (sin.f64 x) 2) (*.f64 -1 (pow.f64 (cos.f64 x) 2)))) (+.f64 (*.f64 -2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x)))) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 (cos.f64 x) (sin.f64 x)) (*.f64 1/3 (*.f64 (cos.f64 x) (sin.f64 x)))))))
(+.f64 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 -1/3 (pow.f64 (sin.f64 x) 2)) (+.f64 (*.f64 1/12 (pow.f64 (cos.f64 x) 2)) (*.f64 1/4 (pow.f64 (cos.f64 x) 2))))) (+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (pow.f64 (sin.f64 x) 2) (*.f64 -1 (pow.f64 (cos.f64 x) 2)))) (+.f64 (*.f64 -2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x)))) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 (cos.f64 x) (sin.f64 x)) (*.f64 1/3 (*.f64 (cos.f64 x) (sin.f64 x))))))))
(-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 2) (pow.f64 (cos.f64 x) 2))
(pow.f64 (cos.f64 eps) 2)
(+.f64 (pow.f64 (cos.f64 eps) 2) (*.f64 -2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))))
(+.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (*.f64 -2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))) (*.f64 (+.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 -1 (pow.f64 (cos.f64 eps) 2))) (pow.f64 x 2))))
(+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 eps)) (*.f64 1/3 (*.f64 (cos.f64 eps) (sin.f64 eps)))) (pow.f64 x 3)) (+.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (*.f64 -2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))) (*.f64 (+.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 -1 (pow.f64 (cos.f64 eps) 2))) (pow.f64 x 2)))))
(pow.f64 (cos.f64 (+.f64 eps x)) 2)
(pow.f64 (cos.f64 (+.f64 eps x)) 2)
(pow.f64 (cos.f64 (+.f64 eps x)) 2)
(pow.f64 (cos.f64 (+.f64 eps x)) 2)
(pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 2)
(pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 2)
(pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 2)
(pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 2)
(pow.f64 (cos.f64 x) 2)
(+.f64 (*.f64 -2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x)))) (pow.f64 (cos.f64 x) 2))
(+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (pow.f64 (sin.f64 x) 2) (*.f64 -1 (pow.f64 (cos.f64 x) 2)))) (+.f64 (*.f64 -2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x)))) (pow.f64 (cos.f64 x) 2)))
(+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (pow.f64 (sin.f64 x) 2) (*.f64 -1 (pow.f64 (cos.f64 x) 2)))) (+.f64 (*.f64 -2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x)))) (+.f64 (pow.f64 (cos.f64 x) 2) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 (cos.f64 x) (sin.f64 x)) (*.f64 1/3 (*.f64 (cos.f64 x) (sin.f64 x))))))))
(pow.f64 (cos.f64 (+.f64 eps x)) 2)
(pow.f64 (cos.f64 (+.f64 eps x)) 2)
(pow.f64 (cos.f64 (+.f64 eps x)) 2)
(pow.f64 (cos.f64 (+.f64 eps x)) 2)
(pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 2)
(pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 2)
(pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 2)
(pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 2)
1
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (+.f64 (*.f64 -1 (pow.f64 x 2)) (*.f64 1/3 (pow.f64 x 4))))
(+.f64 1 (+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 (*.f64 -2/45 (pow.f64 x 6)) (*.f64 1/3 (pow.f64 x 4)))))
Outputs
(-.f64 (pow.f64 (cos.f64 eps) 2) 1)
(+.f64 (pow.f64 (cos.f64 eps) 2) -1)
(neg.f64 (pow.f64 (sin.f64 eps) 2))
(-.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) (*.f64 -2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)))) 1)
(+.f64 (pow.f64 (cos.f64 eps) 2) (-.f64 (*.f64 -2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))) 1))
(+.f64 (pow.f64 (cos.f64 eps) 2) (fma.f64 -2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)) -1))
(+.f64 (*.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) (*.f64 -2 x)))) -1)
(fma.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) (*.f64 -2 (*.f64 (sin.f64 eps) x))) -1)
(-.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (*.f64 -2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))) (*.f64 (+.f64 1 (+.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 -1 (pow.f64 (cos.f64 eps) 2)))) (pow.f64 x 2)))) 1)
(+.f64 (pow.f64 (cos.f64 eps) 2) (-.f64 (fma.f64 -2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)) (*.f64 (+.f64 (+.f64 1 (pow.f64 (sin.f64 eps) 2)) (neg.f64 (pow.f64 (cos.f64 eps) 2))) (*.f64 x x))) 1))
(+.f64 (fma.f64 -2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)) (*.f64 (-.f64 (+.f64 1 (pow.f64 (sin.f64 eps) 2)) (pow.f64 (cos.f64 eps) 2)) (*.f64 x x))) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 x (+.f64 (*.f64 (cos.f64 eps) (*.f64 -2 (sin.f64 eps))) (*.f64 x (-.f64 (pow.f64 (sin.f64 eps) 2) (neg.f64 (pow.f64 (sin.f64 eps) 2)))))) (pow.f64 (sin.f64 eps) 2))
(fma.f64 x (+.f64 (*.f64 (cos.f64 eps) (*.f64 -2 (sin.f64 eps))) (*.f64 x (+.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (sin.f64 eps) 2)))) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 eps)) (*.f64 1/3 (*.f64 (cos.f64 eps) (sin.f64 eps)))) (pow.f64 x 3)) (+.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (*.f64 -2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))) (*.f64 (+.f64 1 (+.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 -1 (pow.f64 (cos.f64 eps) 2)))) (pow.f64 x 2))))) 1)
(+.f64 (fma.f64 (*.f64 4/3 (*.f64 (cos.f64 eps) (sin.f64 eps))) (pow.f64 x 3) (+.f64 (pow.f64 (cos.f64 eps) 2) (fma.f64 -2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)) (*.f64 (+.f64 (+.f64 1 (pow.f64 (sin.f64 eps) 2)) (neg.f64 (pow.f64 (cos.f64 eps) 2))) (*.f64 x x))))) -1)
(fma.f64 (*.f64 (*.f64 4/3 (cos.f64 eps)) (sin.f64 eps)) (pow.f64 x 3) (+.f64 (fma.f64 -2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)) (*.f64 (-.f64 (+.f64 1 (pow.f64 (sin.f64 eps) 2)) (pow.f64 (cos.f64 eps) 2)) (*.f64 x x))) (neg.f64 (pow.f64 (sin.f64 eps) 2))))
(fma.f64 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) 4/3)) (pow.f64 x 3) (-.f64 (*.f64 x (+.f64 (*.f64 (cos.f64 eps) (*.f64 -2 (sin.f64 eps))) (*.f64 x (-.f64 (pow.f64 (sin.f64 eps) 2) (neg.f64 (pow.f64 (sin.f64 eps) 2)))))) (pow.f64 (sin.f64 eps) 2)))
(+.f64 (*.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) (*.f64 -2 (*.f64 (sin.f64 eps) x)))) (fma.f64 (*.f64 x x) (+.f64 (+.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (sin.f64 eps) 2)) (*.f64 (*.f64 (sin.f64 eps) x) (*.f64 (cos.f64 eps) 4/3))) -1))
(-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) (pow.f64 (cos.f64 x) 2))
(*.f64 -2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x))))
(*.f64 -2 (*.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x)))
(*.f64 eps (*.f64 (*.f64 (cos.f64 x) (sin.f64 x)) -2))
(*.f64 eps (*.f64 (cos.f64 x) (*.f64 -2 (sin.f64 x))))
(+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (pow.f64 (sin.f64 x) 2) (*.f64 -1 (pow.f64 (cos.f64 x) 2)))) (*.f64 -2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x)))))
(fma.f64 (*.f64 eps eps) (+.f64 (pow.f64 (sin.f64 x) 2) (neg.f64 (pow.f64 (cos.f64 x) 2))) (*.f64 -2 (*.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x))))
(fma.f64 -2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 eps (*.f64 eps (-.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)))))
(*.f64 eps (+.f64 (*.f64 (cos.f64 x) (*.f64 -2 (sin.f64 x))) (*.f64 eps (-.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)))))
(+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (pow.f64 (sin.f64 x) 2) (*.f64 -1 (pow.f64 (cos.f64 x) 2)))) (+.f64 (*.f64 -2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x)))) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 (cos.f64 x) (sin.f64 x)) (*.f64 1/3 (*.f64 (cos.f64 x) (sin.f64 x)))))))
(fma.f64 (*.f64 eps eps) (+.f64 (pow.f64 (sin.f64 x) 2) (neg.f64 (pow.f64 (cos.f64 x) 2))) (fma.f64 -2 (*.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x)) (*.f64 (pow.f64 eps 3) (*.f64 4/3 (*.f64 (cos.f64 x) (sin.f64 x))))))
(fma.f64 (*.f64 eps eps) (-.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) (fma.f64 -2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 (pow.f64 eps 3) (*.f64 (*.f64 (cos.f64 x) (sin.f64 x)) 4/3))))
(fma.f64 eps (*.f64 eps (-.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))) (*.f64 (*.f64 (cos.f64 x) (sin.f64 x)) (+.f64 (*.f64 eps -2) (*.f64 (pow.f64 eps 3) 4/3))))
(+.f64 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 -1/3 (pow.f64 (sin.f64 x) 2)) (+.f64 (*.f64 1/12 (pow.f64 (cos.f64 x) 2)) (*.f64 1/4 (pow.f64 (cos.f64 x) 2))))) (+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (pow.f64 (sin.f64 x) 2) (*.f64 -1 (pow.f64 (cos.f64 x) 2)))) (+.f64 (*.f64 -2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x)))) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 (cos.f64 x) (sin.f64 x)) (*.f64 1/3 (*.f64 (cos.f64 x) (sin.f64 x))))))))
(fma.f64 (pow.f64 eps 4) (fma.f64 -1/3 (pow.f64 (sin.f64 x) 2) (*.f64 (pow.f64 (cos.f64 x) 2) 1/3)) (fma.f64 (*.f64 eps eps) (+.f64 (pow.f64 (sin.f64 x) 2) (neg.f64 (pow.f64 (cos.f64 x) 2))) (fma.f64 -2 (*.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x)) (*.f64 (pow.f64 eps 3) (*.f64 4/3 (*.f64 (cos.f64 x) (sin.f64 x)))))))
(fma.f64 (pow.f64 eps 4) (fma.f64 (pow.f64 (cos.f64 x) 2) 1/3 (*.f64 (pow.f64 (sin.f64 x) 2) -1/3)) (fma.f64 (*.f64 eps eps) (-.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) (fma.f64 -2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 (pow.f64 eps 3) (*.f64 (*.f64 (cos.f64 x) (sin.f64 x)) 4/3)))))
(fma.f64 eps (*.f64 eps (-.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))) (fma.f64 (pow.f64 eps 4) (fma.f64 (pow.f64 (sin.f64 x) 2) -1/3 (*.f64 1/3 (pow.f64 (cos.f64 x) 2))) (*.f64 (*.f64 (cos.f64 x) (sin.f64 x)) (+.f64 (*.f64 eps -2) (*.f64 (pow.f64 eps 3) 4/3)))))
(fma.f64 eps (*.f64 eps (-.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))) (fma.f64 (pow.f64 eps 4) (fma.f64 1/3 (pow.f64 (cos.f64 x) 2) (*.f64 (pow.f64 (sin.f64 x) 2) -1/3)) (*.f64 (*.f64 (cos.f64 x) (sin.f64 x)) (+.f64 (*.f64 eps -2) (*.f64 (pow.f64 eps 3) 4/3)))))
(-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 2) (pow.f64 (cos.f64 x) 2))
(-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) 2) (pow.f64 (cos.f64 x) 2))
(pow.f64 (cos.f64 eps) 2)
(+.f64 (pow.f64 (cos.f64 eps) 2) (*.f64 -2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))))
(fma.f64 -2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)) (pow.f64 (cos.f64 eps) 2))
(*.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) (*.f64 -2 x))))
(*.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) (*.f64 -2 (*.f64 (sin.f64 eps) x))))
(+.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (*.f64 -2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))) (*.f64 (+.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 -1 (pow.f64 (cos.f64 eps) 2))) (pow.f64 x 2))))
(+.f64 (pow.f64 (cos.f64 eps) 2) (fma.f64 -2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)) (*.f64 (+.f64 (pow.f64 (sin.f64 eps) 2) (neg.f64 (pow.f64 (cos.f64 eps) 2))) (*.f64 x x))))
(+.f64 (pow.f64 (cos.f64 eps) 2) (fma.f64 -2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)) (*.f64 (-.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (cos.f64 eps) 2)) (*.f64 x x))))
(fma.f64 (-.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (cos.f64 eps) 2)) (*.f64 x x) (*.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) (*.f64 -2 x)))))
(fma.f64 x (*.f64 x (-.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (cos.f64 eps) 2))) (*.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) (*.f64 -2 (*.f64 (sin.f64 eps) x)))))
(+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 eps)) (*.f64 1/3 (*.f64 (cos.f64 eps) (sin.f64 eps)))) (pow.f64 x 3)) (+.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (*.f64 -2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))) (*.f64 (+.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 -1 (pow.f64 (cos.f64 eps) 2))) (pow.f64 x 2)))))
(fma.f64 (*.f64 4/3 (*.f64 (cos.f64 eps) (sin.f64 eps))) (pow.f64 x 3) (+.f64 (pow.f64 (cos.f64 eps) 2) (fma.f64 -2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)) (*.f64 (+.f64 (pow.f64 (sin.f64 eps) 2) (neg.f64 (pow.f64 (cos.f64 eps) 2))) (*.f64 x x)))))
(+.f64 (fma.f64 -2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)) (*.f64 (-.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (cos.f64 eps) 2)) (*.f64 x x))) (fma.f64 (*.f64 (*.f64 4/3 (cos.f64 eps)) (sin.f64 eps)) (pow.f64 x 3) (pow.f64 (cos.f64 eps) 2)))
(fma.f64 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) 4/3)) (pow.f64 x 3) (fma.f64 (-.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (cos.f64 eps) 2)) (*.f64 x x) (*.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) (*.f64 -2 x))))))
(fma.f64 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) 4/3)) (pow.f64 x 3) (fma.f64 x (*.f64 x (-.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (cos.f64 eps) 2))) (*.f64 (cos.f64 eps) (+.f64 (cos.f64 eps) (*.f64 -2 (*.f64 (sin.f64 eps) x))))))
(pow.f64 (cos.f64 (+.f64 eps x)) 2)
(pow.f64 (cos.f64 (+.f64 eps x)) 2)
(pow.f64 (cos.f64 (+.f64 eps x)) 2)
(pow.f64 (cos.f64 (+.f64 eps x)) 2)
(pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 2)
(pow.f64 (cos.f64 (+.f64 eps x)) 2)
(pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 2)
(pow.f64 (cos.f64 (+.f64 eps x)) 2)
(pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 2)
(pow.f64 (cos.f64 (+.f64 eps x)) 2)
(pow.f64 (cos.f64 (-.f64 eps (*.f64 -1 x))) 2)
(pow.f64 (cos.f64 (+.f64 eps x)) 2)
(pow.f64 (cos.f64 x) 2)
(+.f64 (*.f64 -2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x)))) (pow.f64 (cos.f64 x) 2))
(fma.f64 -2 (*.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x)) (pow.f64 (cos.f64 x) 2))
(fma.f64 -2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x))) (pow.f64 (cos.f64 x) 2))
(*.f64 (cos.f64 x) (+.f64 (cos.f64 x) (*.f64 eps (*.f64 -2 (sin.f64 x)))))
(+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (pow.f64 (sin.f64 x) 2) (*.f64 -1 (pow.f64 (cos.f64 x) 2)))) (+.f64 (*.f64 -2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x)))) (pow.f64 (cos.f64 x) 2)))
(fma.f64 (*.f64 eps eps) (+.f64 (pow.f64 (sin.f64 x) 2) (neg.f64 (pow.f64 (cos.f64 x) 2))) (fma.f64 -2 (*.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x)) (pow.f64 (cos.f64 x) 2)))
(fma.f64 (*.f64 eps eps) (-.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) (fma.f64 -2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x))) (pow.f64 (cos.f64 x) 2)))
(fma.f64 eps (*.f64 eps (-.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))) (*.f64 (cos.f64 x) (+.f64 (cos.f64 x) (*.f64 eps (*.f64 -2 (sin.f64 x))))))
(+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (pow.f64 (sin.f64 x) 2) (*.f64 -1 (pow.f64 (cos.f64 x) 2)))) (+.f64 (*.f64 -2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x)))) (+.f64 (pow.f64 (cos.f64 x) 2) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 (cos.f64 x) (sin.f64 x)) (*.f64 1/3 (*.f64 (cos.f64 x) (sin.f64 x))))))))
(fma.f64 (*.f64 eps eps) (+.f64 (pow.f64 (sin.f64 x) 2) (neg.f64 (pow.f64 (cos.f64 x) 2))) (+.f64 (fma.f64 -2 (*.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x)) (pow.f64 (cos.f64 x) 2)) (*.f64 (pow.f64 eps 3) (*.f64 4/3 (*.f64 (cos.f64 x) (sin.f64 x))))))
(fma.f64 (*.f64 eps eps) (-.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) (fma.f64 -2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x))) (fma.f64 (pow.f64 eps 3) (*.f64 (*.f64 (cos.f64 x) (sin.f64 x)) 4/3) (pow.f64 (cos.f64 x) 2))))
(+.f64 (pow.f64 (cos.f64 x) 2) (fma.f64 eps (*.f64 eps (-.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))) (*.f64 (*.f64 (cos.f64 x) (sin.f64 x)) (+.f64 (*.f64 eps -2) (*.f64 (pow.f64 eps 3) 4/3)))))
(pow.f64 (cos.f64 (+.f64 eps x)) 2)
(pow.f64 (cos.f64 (+.f64 eps x)) 2)
(pow.f64 (cos.f64 (+.f64 eps x)) 2)
(pow.f64 (cos.f64 (+.f64 eps x)) 2)
(pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 2)
(pow.f64 (cos.f64 (+.f64 eps x)) 2)
(pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 2)
(pow.f64 (cos.f64 (+.f64 eps x)) 2)
(pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 2)
(pow.f64 (cos.f64 (+.f64 eps x)) 2)
(pow.f64 (cos.f64 (-.f64 x (*.f64 -1 eps))) 2)
(pow.f64 (cos.f64 (+.f64 eps x)) 2)
1
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
(fma.f64 x (neg.f64 x) 1)
(+.f64 1 (+.f64 (*.f64 -1 (pow.f64 x 2)) (*.f64 1/3 (pow.f64 x 4))))
(+.f64 1 (fma.f64 -1 (*.f64 x x) (*.f64 1/3 (pow.f64 x 4))))
(+.f64 1 (-.f64 (*.f64 1/3 (pow.f64 x 4)) (*.f64 x x)))
(-.f64 (fma.f64 1/3 (pow.f64 x 4) 1) (*.f64 x x))
(-.f64 (*.f64 1/3 (pow.f64 x 4)) (fma.f64 x x -1))
(+.f64 1 (+.f64 (*.f64 -1 (pow.f64 x 2)) (+.f64 (*.f64 -2/45 (pow.f64 x 6)) (*.f64 1/3 (pow.f64 x 4)))))
(+.f64 1 (fma.f64 -1 (*.f64 x x) (fma.f64 -2/45 (pow.f64 x 6) (*.f64 1/3 (pow.f64 x 4)))))
(+.f64 1 (-.f64 (fma.f64 1/3 (pow.f64 x 4) (*.f64 -2/45 (pow.f64 x 6))) (*.f64 x x)))
(-.f64 (fma.f64 1/3 (pow.f64 x 4) (*.f64 -2/45 (pow.f64 x 6))) (fma.f64 x x -1))

eval634.0ms (2.5%)

Compiler

Compiled 27655 to 12464 computations (54.9% saved)

prune453.0ms (1.8%)

Pruning

76 alts after pruning (73 fresh and 3 done)

PrunedKeptTotal
New1139551194
Fresh131831
Picked101
Done235
Total1155761231
Error
0.1b
Counts
1231 → 76
Alt Table
Click to see full alt table
StatusErrorProgram
38.9b
(+.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (-.f64 (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) (sin.f64 eps))))
39.2b
(*.f64 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3) -2)
41.0b
(log.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)))
41.7b
(-.f64 (+.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1) 1)
34.9b
(/.f64 (*.f64 eps (*.f64 (cos.f64 x) (*.f64 -2 (sin.f64 x)))) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
54.8b
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
33.3b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
44.8b
(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))))
41.7b
(cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))
52.1b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 eps)) 2))) -2)
45.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (fabs.f64 (sin.f64 (*.f64 1/2 eps)))) -2)
45.7b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (*.f64 eps eps) (/.f64 1 eps)) 1/2))) -2)
45.6b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 eps)) 3))) -2)
54.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (pow.f64 (pow.f64 (*.f64 1/2 eps) 3) 1/3))) -2)
55.7b
(-.f64 (cos.f64 x) (cos.f64 x))
41.1b
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
41.2b
(-.f64 (cos.f64 eps) (cos.f64 x))
40.9b
(-.f64 (cos.f64 eps) 1)
41.7b
(-.f64 (expm1.f64 (log1p.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
40.9b
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
40.8b
(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))))
34.6b
(-.f64 (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))) (cos.f64 x))
30.7b
(+.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)))))
42.5b
(-.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (cos.f64 x))
46.2b
(*.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)
45.5b
(expm1.f64 (-.f64 (log.f64 (cos.f64 eps)) (*.f64 x (/.f64 (sin.f64 eps) (cos.f64 eps)))))
15.5b
(*.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)
34.7b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (sin.f64 (*.f64 1/2 eps))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)))) -2)
34.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)) x) 1/2))) -2)
46.8b
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
40.8b
(/.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) 1) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
26.3b
(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)))))
41.0b
(/.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (-.f64 (cos.f64 eps) -1))
34.5b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (*.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (sin.f64 (*.f64 1/2 eps))))) -2)
31.1b
(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))
34.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))) -2)
51.2b
(*.f64 eps (*.f64 eps -1/2))
51.8b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (sqrt.f64 eps) 2) 1/2))) -2)
56.0b
(*.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)
41.7b
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
48.1b
(*.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)
25.6b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
45.3b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (cbrt.f64 eps) 3) 1/2))) -2)
36.4b
(*.f64 (expm1.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) -2)
30.3b
(-.f64 (*.f64 (cos.f64 x) (*.f64 eps (*.f64 eps -1/2))) (*.f64 eps (sin.f64 x)))
35.9b
(/.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
30.6b
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))))
25.5b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
25.6b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
26.1b
(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)))))
56.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (exp.f64 (log.f64 eps)) 1/2))) -2)
44.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (/.f64 (*.f64 (*.f64 eps eps) 1/2) eps))) -2)
40.4b
(/.f64 (-.f64 (pow.f64 (cos.f64 eps) 2) 1) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
35.8b
(expm1.f64 (log1p.f64 (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
41.0b
(/.f64 1 (/.f64 (+.f64 (cos.f64 eps) 1) (+.f64 (pow.f64 (cos.f64 eps) 2) -1)))
51.6b
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
36.4b
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
42.2b
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
45.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (+.f64 x eps) 2) (*.f64 x x)) eps) 1/2))) -2)
49.8b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (expm1.f64 (log1p.f64 (*.f64 1/2 eps))))) -2)
55.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (/.f64 (*.f64 (pow.f64 eps 3) 1/2) (*.f64 eps eps)))) -2)
41.1b
(*.f64 (log.f64 (exp.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) -2)
33.8b
(expm1.f64 (*.f64 (sin.f64 x) (neg.f64 eps)))
51.6b
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
40.6b
(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)))
15.7b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
40.7b
(-.f64 (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))) (cos.f64 x))
25.6b
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
34.8b
(*.f64 (sin.f64 x) (neg.f64 eps))
34.8b
(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)))))
30.3b
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
25.6b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))))
17.0b
(*.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))))
55.5b
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
25.6b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))
36.8b
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3) -2)
Compiler

Compiled 2652 to 1910 computations (28% saved)

localize73.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (sin.f64 (*.f64 x 1/2)))
0.3b
(*.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)))))
3.0b
(sin.f64 (*.f64 (+.f64 x eps) 1/2))
3.1b
(cos.f64 (*.f64 (+.f64 x eps) 1/2))
Compiler

Compiled 171 to 97 computations (43.3% saved)

series18.0ms (0.1%)

Counts
4 → 96
Calls

24 calls:

TimeVariablePointExpression
2.0ms
eps
@inf
(*.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.0ms
eps
@0
(*.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)))))
1.0ms
x
@inf
(*.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)))))
1.0ms
x
@-inf
(*.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)))))
1.0ms
eps
@-inf
(*.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)))))

rewrite96.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
476×fma-neg_binary64
343×expm1-udef_binary64
343×log1p-udef_binary64
223×add-sqr-sqrt_binary64
220×pow1_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify116.0ms (0.5%)

Algorithm
egg-herbie
Rules
758×neg-mul-1_binary64
522×distribute-rgt-neg-out_binary64
447×distribute-lft-neg-out_binary64
394×+-commutative_binary64
382×unsub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01582398
14932377
215792226
333802193
478632193
Stop Event
node limit
Counts
193 → 169
Calls
Call 1
Inputs
(cos.f64 (*.f64 1/2 eps))
(+.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)))
(+.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) x))))
(+.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) (*.f64 1/48 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 3))))))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(cos.f64 (*.f64 1/2 x))
(+.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 -1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x)))))
(+.f64 (cos.f64 (*.f64 1/2 x)) (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x)))) (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (pow.f64 eps 2)))))
(+.f64 (cos.f64 (*.f64 1/2 x)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 eps 3) (sin.f64 (*.f64 1/2 x)))) (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x)))) (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (pow.f64 eps 2))))))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 eps))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/8 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))
(+.f64 (*.f64 -1/48 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (+.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/8 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(sin.f64 (*.f64 1/2 x))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 x)) eps)) (sin.f64 (*.f64 1/2 x)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 x)) eps)) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 (*.f64 1/2 x)))) (sin.f64 (*.f64 1/2 x))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 x)) eps)) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 (*.f64 1/2 x)))) (+.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 -1/48 (*.f64 (cos.f64 (*.f64 1/2 x)) (pow.f64 eps 3))))))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))))) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/24 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)))) (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)))))) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x))))))
(+.f64 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1/48 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2)) (*.f64 1/48 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)))) (*.f64 -1/48 (+.f64 (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2)))))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/24 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)))) (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)))))) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/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 (sin.f64 (*.f64 1/2 eps)) (*.f64 (+.f64 (*.f64 -1/24 (cos.f64 (*.f64 1/2 eps))) (*.f64 -1/8 (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 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x))
(+.f64 (*.f64 -1/4 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))
(+.f64 (*.f64 -1/4 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (+.f64 (*.f64 (+.f64 (*.f64 -1/48 (cos.f64 (*.f64 1/2 eps))) (*.f64 -1/16 (cos.f64 (*.f64 1/2 eps)))) (pow.f64 x 3)) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))
(+.f64 (*.f64 -1/4 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (+.f64 (*.f64 1/48 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 4))) (+.f64 (*.f64 (+.f64 (*.f64 -1/48 (cos.f64 (*.f64 1/2 eps))) (*.f64 -1/16 (cos.f64 (*.f64 1/2 eps)))) (pow.f64 x 3)) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x))) (*.f64 -1/2 (*.f64 eps (pow.f64 (sin.f64 (*.f64 1/2 x)) 2))))
(+.f64 (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (pow.f64 eps 2) (sin.f64 (*.f64 1/2 x))))) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x))) (*.f64 -1/2 (*.f64 eps (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)))))
(+.f64 (*.f64 1/48 (*.f64 (pow.f64 eps 3) (pow.f64 (sin.f64 (*.f64 1/2 x)) 2))) (+.f64 (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (pow.f64 eps 2) (sin.f64 (*.f64 1/2 x))))) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x))) (*.f64 -1/2 (*.f64 eps (pow.f64 (sin.f64 (*.f64 1/2 x)) 2))))))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))
Outputs
(cos.f64 (*.f64 1/2 eps))
(cos.f64 (*.f64 eps -1/2))
(+.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)))
(fma.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) x) (cos.f64 (*.f64 1/2 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) x) (cos.f64 (*.f64 eps -1/2)))
(+.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) x))))
(+.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 x x)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) x))))
(+.f64 (fma.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) x) (cos.f64 (*.f64 1/2 eps))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 x x) -1/8)))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) (*.f64 (+.f64 (*.f64 -1/8 (*.f64 x x)) 1) (cos.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) (*.f64 (+.f64 1 (*.f64 -1/8 (*.f64 x x))) (cos.f64 (*.f64 eps -1/2))))
(+.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) (*.f64 1/48 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 3))))))
(+.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 x x)) (fma.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) x) (*.f64 1/48 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 3))))))
(+.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 x x)) (fma.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) x) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (pow.f64 x 3) 1/48)))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/2 x) (*.f64 1/48 (pow.f64 x 3)))) (*.f64 (+.f64 (*.f64 -1/8 (*.f64 x x)) 1) (cos.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 1/48 (pow.f64 x 3)) (*.f64 -1/2 x))) (*.f64 (+.f64 1 (*.f64 -1/8 (*.f64 x x))) (cos.f64 (*.f64 eps -1/2))))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 x))
(+.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 -1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x)))))
(fma.f64 -1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x))) (cos.f64 (*.f64 1/2 x)))
(+.f64 (cos.f64 (*.f64 1/2 x)) (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x)))) (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (pow.f64 eps 2)))))
(+.f64 (cos.f64 (*.f64 1/2 x)) (fma.f64 -1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x))) (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps eps)))))
(+.f64 (fma.f64 -1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x))) (cos.f64 (*.f64 1/2 x))) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 -1/8 (*.f64 eps eps))))
(+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x)))) (*.f64 (+.f64 1 (*.f64 eps (*.f64 eps -1/8))) (cos.f64 (*.f64 1/2 x))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 eps -1/2)) (*.f64 (+.f64 1 (*.f64 -1/8 (*.f64 eps eps))) (cos.f64 (*.f64 1/2 x))))
(+.f64 (cos.f64 (*.f64 1/2 x)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 eps 3) (sin.f64 (*.f64 1/2 x)))) (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x)))) (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (pow.f64 eps 2))))))
(+.f64 (cos.f64 (*.f64 1/2 x)) (fma.f64 1/48 (*.f64 (sin.f64 (*.f64 1/2 x)) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x))) (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps eps))))))
(+.f64 (+.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 x)) (+.f64 (*.f64 1/48 (pow.f64 eps 3)) (*.f64 eps -1/2)))) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 -1/8 (*.f64 eps eps))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 eps (+.f64 (*.f64 1/48 (*.f64 eps eps)) -1/2))) (*.f64 (+.f64 1 (*.f64 eps (*.f64 eps -1/8))) (cos.f64 (*.f64 1/2 x))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 x)) (+.f64 (*.f64 1/48 (pow.f64 eps 3)) (*.f64 eps -1/2))) (*.f64 (+.f64 1 (*.f64 -1/8 (*.f64 eps eps))) (cos.f64 (*.f64 1/2 x))))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 eps))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))
(fma.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))
(fma.f64 1/2 (*.f64 (cos.f64 (*.f64 eps -1/2)) x) (sin.f64 (*.f64 1/2 eps)))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/8 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/8 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))
(+.f64 (fma.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 x x) -1/8)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (*.f64 (+.f64 (*.f64 -1/8 (*.f64 x x)) 1) (sin.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 (*.f64 eps -1/2)) x)) (*.f64 (+.f64 1 (*.f64 -1/8 (*.f64 x x))) (sin.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 -1/48 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (+.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/8 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(fma.f64 -1/48 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)) (+.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/8 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(+.f64 (fma.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 x x) -1/8))) (fma.f64 -1/48 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)) (sin.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/8 (*.f64 x x)) 1) (sin.f64 (*.f64 1/2 eps))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 1/2 x) (*.f64 (pow.f64 x 3) -1/48))))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1/8 (*.f64 x x))) (sin.f64 (*.f64 1/2 eps))) (*.f64 (cos.f64 (*.f64 eps -1/2)) (+.f64 (*.f64 1/2 x) (*.f64 (pow.f64 x 3) -1/48))))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 x))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 x)) eps)) (sin.f64 (*.f64 1/2 x)))
(fma.f64 1/2 (*.f64 eps (cos.f64 (*.f64 1/2 x))) (sin.f64 (*.f64 1/2 x)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 x)) eps)) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 (*.f64 1/2 x)))) (sin.f64 (*.f64 1/2 x))))
(fma.f64 1/2 (*.f64 eps (cos.f64 (*.f64 1/2 x))) (fma.f64 -1/8 (*.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 eps eps)) (sin.f64 (*.f64 1/2 x))))
(fma.f64 1/2 (*.f64 eps (cos.f64 (*.f64 1/2 x))) (*.f64 (+.f64 (*.f64 -1/8 (*.f64 eps eps)) 1) (sin.f64 (*.f64 1/2 x))))
(fma.f64 1/2 (*.f64 eps (cos.f64 (*.f64 1/2 x))) (*.f64 (sin.f64 (*.f64 1/2 x)) (+.f64 1 (*.f64 eps (*.f64 eps -1/8)))))
(fma.f64 1/2 (*.f64 eps (cos.f64 (*.f64 1/2 x))) (*.f64 (sin.f64 (*.f64 1/2 x)) (+.f64 1 (*.f64 -1/8 (*.f64 eps eps)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 x)) eps)) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (sin.f64 (*.f64 1/2 x)))) (+.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 -1/48 (*.f64 (cos.f64 (*.f64 1/2 x)) (pow.f64 eps 3))))))
(fma.f64 1/2 (*.f64 eps (cos.f64 (*.f64 1/2 x))) (fma.f64 -1/8 (*.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 eps eps)) (+.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 -1/48 (*.f64 (cos.f64 (*.f64 1/2 x)) (pow.f64 eps 3))))))
(+.f64 (fma.f64 1/2 (*.f64 eps (cos.f64 (*.f64 1/2 x))) (*.f64 (+.f64 (*.f64 -1/8 (*.f64 eps eps)) 1) (sin.f64 (*.f64 1/2 x)))) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (pow.f64 eps 3) -1/48)))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 x)) (+.f64 1 (*.f64 eps (*.f64 eps -1/8)))) (*.f64 (cos.f64 (*.f64 1/2 x)) (+.f64 (*.f64 (pow.f64 eps 3) -1/48) (*.f64 1/2 eps))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 x)) (+.f64 1 (*.f64 -1/8 (*.f64 eps eps)))) (*.f64 (cos.f64 (*.f64 1/2 x)) (+.f64 (*.f64 (pow.f64 eps 3) -1/48) (*.f64 1/2 eps))))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (+.f64 eps x)))
(*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x))))
(*.f64 eps (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x))))
(*.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 eps (cos.f64 (*.f64 1/2 x))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))))) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))))
(fma.f64 1/2 (*.f64 (*.f64 eps eps) (fma.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2)))) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))))
(fma.f64 1/2 (*.f64 eps (*.f64 eps (fma.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2) (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2))))) (*.f64 eps (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)))))
(fma.f64 1/2 (*.f64 eps (*.f64 eps (fma.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))))) (*.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 eps (cos.f64 (*.f64 1/2 x)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/24 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)))) (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)))))) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x))))))
(fma.f64 1/2 (*.f64 (*.f64 eps eps) (fma.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2)))) (fma.f64 (pow.f64 eps 3) (*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x))) -1/6) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x))))))
(fma.f64 1/2 (*.f64 eps (*.f64 eps (fma.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2) (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2))))) (fma.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x))) (*.f64 (pow.f64 eps 3) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 x)) -1/6)))))
(fma.f64 1/2 (*.f64 eps (*.f64 eps (fma.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))))) (*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x))) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6))))
(fma.f64 (*.f64 1/2 (*.f64 eps eps)) (fma.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2) (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2))) (*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x))) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6))))
(+.f64 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1/48 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2)) (*.f64 1/48 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)))) (*.f64 -1/48 (+.f64 (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2)))))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/24 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)))) (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)))))) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))))))
(fma.f64 (pow.f64 eps 4) (fma.f64 1/2 (fma.f64 -1/48 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2) (*.f64 1/48 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2))) (*.f64 -1/48 (fma.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))))) (fma.f64 1/2 (*.f64 (*.f64 eps eps) (fma.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2)))) (fma.f64 (pow.f64 eps 3) (*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x))) -1/6) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))))))
(fma.f64 (pow.f64 eps 4) (fma.f64 1/2 (fma.f64 1/48 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) (*.f64 -1/48 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))) (+.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2) -1/96) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) 1/96))) (fma.f64 1/2 (*.f64 eps (*.f64 eps (fma.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2) (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2))))) (fma.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x))) (*.f64 (pow.f64 eps 3) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 x)) -1/6))))))
(fma.f64 (pow.f64 eps 4) (*.f64 (fma.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))) -1/24) (fma.f64 1/2 (*.f64 eps (*.f64 eps (fma.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) (*.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2))))) (*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x))) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)))))
(+.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x))) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6))) (*.f64 (fma.f64 1/2 (pow.f64 (cos.f64 (*.f64 1/2 x)) 2) (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2))) (+.f64 (*.f64 1/2 (*.f64 eps eps)) (*.f64 (pow.f64 eps 4) -1/24))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 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)) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 eps -1/2)) x)))
(+.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 -1/2 (*.f64 (*.f64 x 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) (fma.f64 -1/2 (*.f64 (*.f64 x x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (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) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 x x)) 1) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))
(fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 eps -1/2)) x) (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x 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 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (+.f64 (*.f64 -1/24 (cos.f64 (*.f64 1/2 eps))) (*.f64 -1/8 (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 (sin.f64 (*.f64 1/2 eps)) (*.f64 (pow.f64 x 3) (*.f64 (cos.f64 (*.f64 1/2 eps)) -1/6)) (*.f64 -1/2 (*.f64 (*.f64 x x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) (fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 -1/6 (pow.f64 x 3))) (*.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 -1/2 (*.f64 x x))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 (pow.f64 x 3) -1/6)))))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 eps -1/2)) x) (*.f64 (pow.f64 x 3) (*.f64 (cos.f64 (*.f64 eps -1/2)) -1/6)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x)))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x))))) (*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))) (*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 eps x))))))
(*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x))
(*.f64 1/2 (*.f64 (cos.f64 (*.f64 eps -1/2)) x))
(+.f64 (*.f64 -1/4 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))
(fma.f64 -1/4 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))
(fma.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 x x) -1/4)))
(*.f64 x (+.f64 (*.f64 1/2 (cos.f64 (*.f64 1/2 eps))) (*.f64 x (*.f64 (sin.f64 (*.f64 1/2 eps)) -1/4))))
(*.f64 x (+.f64 (*.f64 1/2 (cos.f64 (*.f64 eps -1/2))) (*.f64 x (*.f64 (sin.f64 (*.f64 1/2 eps)) -1/4))))
(+.f64 (*.f64 -1/4 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (+.f64 (*.f64 (+.f64 (*.f64 -1/48 (cos.f64 (*.f64 1/2 eps))) (*.f64 -1/16 (cos.f64 (*.f64 1/2 eps)))) (pow.f64 x 3)) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))
(fma.f64 -1/4 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) (fma.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) -1/12) (pow.f64 x 3) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))
(fma.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) -1/4 (fma.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 -1/12 (pow.f64 x 3)))))
(fma.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) -1/4 (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 1/2 x) (*.f64 (pow.f64 x 3) -1/12))))
(fma.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) -1/4 (*.f64 (cos.f64 (*.f64 eps -1/2)) (+.f64 (*.f64 1/2 x) (*.f64 (pow.f64 x 3) -1/12))))
(+.f64 (*.f64 -1/4 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (+.f64 (*.f64 1/48 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 4))) (+.f64 (*.f64 (+.f64 (*.f64 -1/48 (cos.f64 (*.f64 1/2 eps))) (*.f64 -1/16 (cos.f64 (*.f64 1/2 eps)))) (pow.f64 x 3)) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(fma.f64 -1/4 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) (fma.f64 1/48 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 4)) (fma.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) -1/12) (pow.f64 x 3) (*.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x)))))
(fma.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) -1/4 (fma.f64 1/48 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 4)) (fma.f64 1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 -1/12 (pow.f64 x 3))))))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 1/2 x) (*.f64 (pow.f64 x 3) -1/12))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (*.f64 x x) -1/4) (*.f64 1/48 (pow.f64 x 4)))))
(+.f64 (*.f64 (cos.f64 (*.f64 eps -1/2)) (+.f64 (*.f64 1/2 x) (*.f64 (pow.f64 x 3) -1/12))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (*.f64 x x) -1/4) (*.f64 1/48 (pow.f64 x 4)))))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -1 x)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x))) (*.f64 -1/2 (*.f64 eps (pow.f64 (sin.f64 (*.f64 1/2 x)) 2))))
(fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)) (*.f64 (*.f64 -1/2 eps) (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)))
(fma.f64 -1/2 (*.f64 eps (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x))))
(*.f64 (sin.f64 (*.f64 1/2 x)) (fma.f64 -1/2 (*.f64 eps (sin.f64 (*.f64 1/2 x))) (cos.f64 (*.f64 1/2 x))))
(+.f64 (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (pow.f64 eps 2) (sin.f64 (*.f64 1/2 x))))) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x))) (*.f64 -1/2 (*.f64 eps (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)))))
(fma.f64 -1/8 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps eps)) (sin.f64 (*.f64 1/2 x))) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)) (*.f64 (*.f64 -1/2 eps) (pow.f64 (sin.f64 (*.f64 1/2 x)) 2))))
(fma.f64 -1/8 (*.f64 (*.f64 eps eps) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)))) (fma.f64 -1/2 (*.f64 eps (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)))))
(+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) (*.f64 eps -1/2)) (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 x)) (+.f64 1 (*.f64 eps (*.f64 eps -1/8))))))
(*.f64 (sin.f64 (*.f64 1/2 x)) (+.f64 (*.f64 (sin.f64 (*.f64 1/2 x)) (*.f64 eps -1/2)) (*.f64 (+.f64 1 (*.f64 -1/8 (*.f64 eps eps))) (cos.f64 (*.f64 1/2 x)))))
(+.f64 (*.f64 1/48 (*.f64 (pow.f64 eps 3) (pow.f64 (sin.f64 (*.f64 1/2 x)) 2))) (+.f64 (*.f64 -1/8 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (pow.f64 eps 2) (sin.f64 (*.f64 1/2 x))))) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x))) (*.f64 -1/2 (*.f64 eps (pow.f64 (sin.f64 (*.f64 1/2 x)) 2))))))
(fma.f64 1/48 (*.f64 (pow.f64 eps 3) (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)) (fma.f64 -1/8 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps eps)) (sin.f64 (*.f64 1/2 x))) (fma.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)) (*.f64 (*.f64 -1/2 eps) (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)))))
(fma.f64 1/48 (*.f64 (pow.f64 eps 3) (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)) (fma.f64 -1/8 (*.f64 (*.f64 eps eps) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x)))) (fma.f64 -1/2 (*.f64 eps (pow.f64 (sin.f64 (*.f64 1/2 x)) 2)) (*.f64 (cos.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 x))))))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 (sin.f64 (*.f64 1/2 x)) (+.f64 1 (*.f64 eps (*.f64 eps -1/8))))) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 x)) 2) (*.f64 eps (+.f64 (*.f64 1/48 (*.f64 eps eps)) -1/2))))
(*.f64 (sin.f64 (*.f64 1/2 x)) (+.f64 (*.f64 (sin.f64 (*.f64 1/2 x)) (+.f64 (*.f64 1/48 (pow.f64 eps 3)) (*.f64 eps -1/2))) (*.f64 (+.f64 1 (*.f64 -1/8 (*.f64 eps eps))) (cos.f64 (*.f64 1/2 x)))))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 x (*.f64 -1 eps)))) (sin.f64 (*.f64 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (+.f64 eps x))) (sin.f64 (*.f64 1/2 x)))

localize5.0ms (0%)

Compiler

Compiled 12 to 8 computations (33.3% saved)

localize16.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 23 to 15 computations (34.8% saved)

series9.0ms (0%)

Counts
3 → 28
Calls

9 calls:

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

rewrite77.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
707×pow1_binary64
664×add-log-exp_binary64
664×log1p-expm1-u_binary64
664×expm1-log1p-u_binary64
650×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify145.0ms (0.6%)

Algorithm
egg-herbie
Rules
601×distribute-rgt-out_binary64
480×associate-+l+_binary64
477×distribute-lft-out_binary64
452×sqr-pow_binary64
425×unswap-sqr_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
031230
177230
2163230
3468230
42086230
54521230
64914230
75443230
86463230
97484230
107971230
Stop Event
node limit
Counts
124 → 74
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 (pow.f64 1 1/3) (-.f64 (cos.f64 eps) 1))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 eps) 1))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 eps) 1))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 eps) 1))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 eps) 1))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 eps) 1))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 eps) 1))
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 eps) 1))
(pow.f64 (-.f64 (cos.f64 eps) 1) 1/3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 1/3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 1/3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 1/3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 1/3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 1/3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 1/3)
(pow.f64 (-.f64 (cos.f64 eps) 1) 1/3)
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 (*.f64 eps eps) 1/24 -1/2)))
(*.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/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 -1/2 (*.f64 eps eps))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/720 (pow.f64 eps 6))))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (*.f64 1/40320 (pow.f64 eps 8)))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/40320 (pow.f64 eps 8)))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) (fma.f64 1/40320 (pow.f64 eps 8) (*.f64 -1/2 (*.f64 eps eps)))))
(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)))))
(-.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 (pow.f64 1 1/3) (-.f64 (cos.f64 eps) 1))
(+.f64 (cos.f64 eps) -1)
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 eps) 1))
(+.f64 (cos.f64 eps) -1)
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 eps) 1))
(+.f64 (cos.f64 eps) -1)
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 eps) 1))
(+.f64 (cos.f64 eps) -1)
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 eps) 1))
(+.f64 (cos.f64 eps) -1)
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 eps) 1))
(+.f64 (cos.f64 eps) -1)
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 eps) 1))
(+.f64 (cos.f64 eps) -1)
(*.f64 (pow.f64 1 1/3) (-.f64 (cos.f64 eps) 1))
(+.f64 (cos.f64 eps) -1)
(pow.f64 (-.f64 (cos.f64 eps) 1) 1/3)
(cbrt.f64 (+.f64 (cos.f64 eps) -1))
(pow.f64 (-.f64 (cos.f64 eps) 1) 1/3)
(cbrt.f64 (+.f64 (cos.f64 eps) -1))
(pow.f64 (-.f64 (cos.f64 eps) 1) 1/3)
(cbrt.f64 (+.f64 (cos.f64 eps) -1))
(pow.f64 (-.f64 (cos.f64 eps) 1) 1/3)
(cbrt.f64 (+.f64 (cos.f64 eps) -1))
(pow.f64 (-.f64 (cos.f64 eps) 1) 1/3)
(cbrt.f64 (+.f64 (cos.f64 eps) -1))
(pow.f64 (-.f64 (cos.f64 eps) 1) 1/3)
(cbrt.f64 (+.f64 (cos.f64 eps) -1))
(pow.f64 (-.f64 (cos.f64 eps) 1) 1/3)
(cbrt.f64 (+.f64 (cos.f64 eps) -1))
(pow.f64 (-.f64 (cos.f64 eps) 1) 1/3)
(cbrt.f64 (+.f64 (cos.f64 eps) -1))

localize30.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3) -2)
0.4b
(pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2)
0.5b
(pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3)
0.6b
(cbrt.f64 (sin.f64 (*.f64 1/2 eps)))
Compiler

Compiled 46 to 39 computations (15.2% saved)

series12.0ms (0%)

Counts
4 → 36
Calls

12 calls:

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

rewrite76.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
935×pow1_binary64
876×add-log-exp_binary64
874×log1p-expm1-u_binary64
874×expm1-log1p-u_binary64
857×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01244
125240
2255540
Stop Event
node limit
Counts
4 → 72
Calls
Call 1
Inputs
(cbrt.f64 (sin.f64 (*.f64 1/2 eps)))
(pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3)
(pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3) -2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (sin.f64 (*.f64 1/2 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps)))) 2) (cbrt.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps)))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 1/6) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (sin.f64 (*.f64 1/2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (sin.f64 (*.f64 1/2 eps))) 1/3) (pow.f64 (sqrt.f64 (sin.f64 (*.f64 1/2 eps))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 (*.f64 1/2 eps)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps)))))))))
((#(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 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) (*.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) (pow.f64 (cbrt.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) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 4))))) (#(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))) 4) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 4)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps)))) 2) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 4)))))) (#(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 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps)))) 2) 6) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps)))) 6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 1/6) 6) (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 1/6) 6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 4)) 3) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2))))) (#(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 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 4) (cbrt.f64 (sin.f64 (*.f64 1/2 eps)))) (cbrt.f64 (sin.f64 (*.f64 1/2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 4) 1) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 4) (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 4))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps)))) 2))))) (#(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 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 12))))) (#(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 (log.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) (cbrt.f64 (sin.f64 (*.f64 1/2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps)))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps)))) (cbrt.f64 (sin.f64 (*.f64 1/2 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 4)) (pow.f64 (cbrt.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))) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 1/6) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 1/6) (cbrt.f64 (sin.f64 (*.f64 1/2 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps)))) 2)) (cbrt.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)) 1)))) (#(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 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 12)))))) (#(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 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)))))))

simplify143.0ms (0.6%)

Algorithm
egg-herbie
Rules
599×distribute-rgt-out_binary64
481×associate-+l+_binary64
477×distribute-lft-out_binary64
449×unswap-sqr_binary64
402×associate-+r+_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
036414
187390
2177390
3515390
42161390
54663390
65090390
75665390
86745390
97842390
Stop Event
node limit
Counts
108 → 86
Calls
Call 1
Inputs
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 1/3)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 1/3)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 1/3)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 1/3)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 1/3)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 1/3)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 1/3)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 1/3)
(*.f64 (pow.f64 1 1/3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (pow.f64 1 1/3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (pow.f64 1 1/3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (pow.f64 1 1/3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (pow.f64 1 1/3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (pow.f64 1 1/3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (pow.f64 1 1/3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (pow.f64 1 1/3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1/3)
(pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1/3)
(pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1/3)
(pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1/3)
(pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1/3)
(pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1/3)
(pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1/3)
(pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 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 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
Outputs
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 1/3)
(cbrt.f64 (sin.f64 (*.f64 1/2 eps)))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 1/3)
(cbrt.f64 (sin.f64 (*.f64 1/2 eps)))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 1/3)
(cbrt.f64 (sin.f64 (*.f64 1/2 eps)))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 1/3)
(cbrt.f64 (sin.f64 (*.f64 1/2 eps)))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 1/3)
(cbrt.f64 (sin.f64 (*.f64 1/2 eps)))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 1/3)
(cbrt.f64 (sin.f64 (*.f64 1/2 eps)))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 1/3)
(cbrt.f64 (sin.f64 (*.f64 1/2 eps)))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 1/3)
(cbrt.f64 (sin.f64 (*.f64 1/2 eps)))
(*.f64 (pow.f64 1 1/3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 (pow.f64 1 1/3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 (pow.f64 1 1/3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 (pow.f64 1 1/3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 (pow.f64 1 1/3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 (pow.f64 1 1/3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 (pow.f64 1 1/3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 (pow.f64 1 1/3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1/3)
(cbrt.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1/3)
(cbrt.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1/3)
(cbrt.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1/3)
(cbrt.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1/3)
(cbrt.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1/3)
(cbrt.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1/3)
(cbrt.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1/3)
(cbrt.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(*.f64 eps (*.f64 eps -1/2))
(+.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/24 (pow.f64 eps 4) (*.f64 eps (*.f64 eps -1/2)))
(*.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/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 eps (*.f64 eps -1/2))))
(fma.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/24) -1/2) (*.f64 -1/720 (pow.f64 eps 6)))
(fma.f64 eps (*.f64 eps -1/2) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/24 (pow.f64 eps 4))))
(+.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 eps (*.f64 eps -1/2)))))
(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))))
(fma.f64 eps (*.f64 eps -1/2) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 (pow.f64 eps 4) (fma.f64 (pow.f64 eps 4) 1/40320 1/24))))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)

localize155.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 -1/6 (pow.f64 x 3))
2.5b
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (sin.f64 (*.f64 1/2 eps))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x))))
4.3b
(*.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (sin.f64 (*.f64 1/2 eps)))
6.0b
(+.f64 (*.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (sin.f64 (*.f64 1/2 eps))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)))
Compiler

Compiled 162 to 122 computations (24.7% saved)

series34.0ms (0.1%)

Counts
4 → 72
Calls

21 calls:

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

rewrite116.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
450×fma-neg_binary64
385×expm1-udef_binary64
385×log1p-udef_binary64
229×add-sqr-sqrt_binary64
219×pow1_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify301.0ms (1.2%)

Algorithm
egg-herbie
Rules
730×*-commutative_binary64
708×distribute-rgt-in_binary64
591×distribute-lft-in_binary64
525×associate-+l+_binary64
512×unswap-sqr_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0992510
13582098
212561964
335151956
447171956
555721956
658751956
761171956
862941956
964041956
1067961956
1175231956
1277191956
1380001956
Stop Event
node limit
Counts
171 → 158
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))))))
(*.f64 -1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))
(+.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 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.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 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.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 -1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))
(+.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 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.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 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.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 (*.f64 -1/6 (pow.f64 x 3)) x)
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) x))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x))) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) x)))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x))) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 3) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) x))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps))))
(sin.f64 (*.f64 1/2 eps))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))
(*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))
(*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))
(*.f64 1/2 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 3) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) (*.f64 1/2 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 3) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) (+.f64 (*.f64 1/3840 (*.f64 (pow.f64 eps 5) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) (*.f64 1/2 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))))))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 3) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) (+.f64 (*.f64 1/3840 (*.f64 (pow.f64 eps 5) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) (*.f64 -1/645120 (*.f64 (pow.f64 eps 7) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))
(*.f64 1/2 (*.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) (*.f64 1/2 (*.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x))) (*.f64 (+.f64 (*.f64 -1/16 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)) (*.f64 -1/48 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x))) (pow.f64 eps 3))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 4) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x))) (*.f64 (+.f64 (*.f64 -1/16 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)) (*.f64 -1/48 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x))) (pow.f64 eps 3)))))
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps)))) (sin.f64 (*.f64 1/2 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 -1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))))
(+.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 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.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 (*.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 -1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))))
(+.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 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.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 (*.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))))))
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 (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1)))
(+.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))))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x) (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1)))
(*.f64 -1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))
(*.f64 (*.f64 -1/6 (cos.f64 (*.f64 1/2 eps))) (pow.f64 x 3))
(*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 -1/6 (pow.f64 x 3)))
(+.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))))
(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)))
(fma.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 -1/6 (pow.f64 x 3))))
(*.f64 (*.f64 x x) (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) -1/2) (*.f64 x (*.f64 (cos.f64 (*.f64 1/2 eps)) -1/6))))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.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)))))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) x (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 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x (*.f64 x -1/2))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x)))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x)))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.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))))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x) (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1)))
(*.f64 -1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))
(*.f64 (*.f64 -1/6 (cos.f64 (*.f64 1/2 eps))) (pow.f64 x 3))
(*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 -1/6 (pow.f64 x 3)))
(+.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))))
(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)))
(fma.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 -1/6 (pow.f64 x 3))))
(*.f64 (*.f64 x x) (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) -1/2) (*.f64 x (*.f64 (cos.f64 (*.f64 1/2 eps)) -1/6))))
(+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.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)))))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) x (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 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x (*.f64 x -1/2))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x)))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x)))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (+.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))))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x) (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1)))
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)
(fma.f64 -1/6 (pow.f64 x 3) x)
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) x))
(fma.f64 -1/6 (pow.f64 x 3) (fma.f64 1/2 (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x)))) x))
(fma.f64 -1/6 (pow.f64 x 3) (fma.f64 1/2 (*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1)) x))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x))) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) x)))
(fma.f64 -1/8 (*.f64 (fma.f64 -1/6 (pow.f64 x 3) x) (*.f64 eps eps)) (fma.f64 -1/6 (pow.f64 x 3) (fma.f64 1/2 (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x)))) x)))
(fma.f64 -1/8 (*.f64 eps (*.f64 eps (fma.f64 -1/6 (pow.f64 x 3) x))) (fma.f64 -1/6 (pow.f64 x 3) (fma.f64 1/2 (*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1)) x)))
(fma.f64 -1/8 (*.f64 (fma.f64 -1/6 (pow.f64 x 3) x) (*.f64 eps eps)) (fma.f64 -1/6 (pow.f64 x 3) (fma.f64 1/2 (*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1)) x)))
(+.f64 (*.f64 1/2 (*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1))) (*.f64 (+.f64 (*.f64 eps (*.f64 eps -1/8)) 1) (fma.f64 -1/6 (pow.f64 x 3) x)))
(+.f64 (*.f64 1/2 (*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1))) (*.f64 (fma.f64 -1/6 (pow.f64 x 3) x) (+.f64 (*.f64 eps (*.f64 eps -1/8)) 1)))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x))) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 3) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) x))))
(fma.f64 -1/8 (*.f64 (fma.f64 -1/6 (pow.f64 x 3) x) (*.f64 eps eps)) (fma.f64 -1/6 (pow.f64 x 3) (fma.f64 -1/48 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (pow.f64 eps 3)) (fma.f64 1/2 (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x)))) x))))
(fma.f64 -1/8 (*.f64 eps (*.f64 eps (fma.f64 -1/6 (pow.f64 x 3) x))) (+.f64 (*.f64 (fma.f64 -1/2 (*.f64 x x) 1) (+.f64 (*.f64 1/2 eps) (*.f64 -1/48 (pow.f64 eps 3)))) (fma.f64 -1/6 (pow.f64 x 3) x)))
(fma.f64 (*.f64 eps (*.f64 eps -1/8)) (fma.f64 -1/6 (pow.f64 x 3) x) (fma.f64 -1/6 (pow.f64 x 3) (+.f64 x (*.f64 (fma.f64 -1/2 (*.f64 x x) 1) (+.f64 (*.f64 1/2 eps) (*.f64 -1/48 (pow.f64 eps 3)))))))
(+.f64 (*.f64 (fma.f64 -1/2 (*.f64 x x) 1) (+.f64 (*.f64 1/2 eps) (*.f64 -1/48 (pow.f64 eps 3)))) (*.f64 (+.f64 (*.f64 eps (*.f64 eps -1/8)) 1) (fma.f64 -1/6 (pow.f64 x 3) x)))
(+.f64 (*.f64 (fma.f64 -1/2 (*.f64 x x) 1) (+.f64 (*.f64 1/2 eps) (*.f64 -1/48 (pow.f64 eps 3)))) (*.f64 (fma.f64 -1/6 (pow.f64 x 3) x) (+.f64 (*.f64 eps (*.f64 eps -1/8)) 1)))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps))))
(+.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))))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x) (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1)))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps))))
(+.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))))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x) (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1)))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps))))
(+.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))))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x) (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1)))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps))))
(+.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))))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x) (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1)))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps))))
(+.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))))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x) (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1)))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps))))
(+.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))))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x) (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1)))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps))))
(+.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))))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x) (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1)))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps))))
(+.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))))
(fma.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x) (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1)))
(sin.f64 (*.f64 1/2 eps))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 -1/2 (sin.f64 (*.f64 1/2 eps))) (*.f64 x x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 -1/2 (sin.f64 (*.f64 1/2 eps))) (*.f64 x x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 -1/2 (sin.f64 (*.f64 1/2 eps))) (*.f64 x x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1))
(*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))
(*.f64 (*.f64 -1/2 (sin.f64 (*.f64 1/2 eps))) (*.f64 x x))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x (*.f64 x -1/2)))
(*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 -1/2 (sin.f64 (*.f64 1/2 eps))) (*.f64 x x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 -1/2 (sin.f64 (*.f64 1/2 eps))) (*.f64 x x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 -1/2 (sin.f64 (*.f64 1/2 eps))) (*.f64 x x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1))
(*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))
(*.f64 (*.f64 -1/2 (sin.f64 (*.f64 1/2 eps))) (*.f64 x x))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x (*.f64 x -1/2)))
(*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 -1/2 (sin.f64 (*.f64 1/2 eps))) (*.f64 x x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 -1/2 (sin.f64 (*.f64 1/2 eps))) (*.f64 x x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 -1/2 (sin.f64 (*.f64 1/2 eps))) (*.f64 x x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1))
(*.f64 1/2 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))))
(*.f64 (*.f64 1/2 eps) (+.f64 1 (*.f64 -1/2 (*.f64 x x))))
(*.f64 eps (*.f64 1/2 (fma.f64 -1/2 (*.f64 x x) 1)))
(*.f64 1/2 (*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1)))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 3) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) (*.f64 1/2 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))))
(fma.f64 -1/48 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (pow.f64 eps 3)) (*.f64 (*.f64 1/2 eps) (+.f64 1 (*.f64 -1/2 (*.f64 x x)))))
(*.f64 (fma.f64 -1/2 (*.f64 x x) 1) (+.f64 (*.f64 1/2 eps) (*.f64 -1/48 (pow.f64 eps 3))))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 3) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) (+.f64 (*.f64 1/3840 (*.f64 (pow.f64 eps 5) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) (*.f64 1/2 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))))))
(fma.f64 -1/48 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (pow.f64 eps 3)) (fma.f64 1/3840 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (pow.f64 eps 5)) (*.f64 (*.f64 1/2 eps) (+.f64 1 (*.f64 -1/2 (*.f64 x x))))))
(fma.f64 -1/48 (*.f64 (fma.f64 -1/2 (*.f64 x x) 1) (pow.f64 eps 3)) (*.f64 (fma.f64 -1/2 (*.f64 x x) 1) (+.f64 (*.f64 1/2 eps) (*.f64 1/3840 (pow.f64 eps 5)))))
(*.f64 (fma.f64 -1/2 (*.f64 x x) 1) (+.f64 (*.f64 1/2 eps) (+.f64 (*.f64 1/3840 (pow.f64 eps 5)) (*.f64 -1/48 (pow.f64 eps 3)))))
(+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 3) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) (+.f64 (*.f64 1/3840 (*.f64 (pow.f64 eps 5) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) (*.f64 -1/645120 (*.f64 (pow.f64 eps 7) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))))))
(fma.f64 -1/48 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (pow.f64 eps 3)) (fma.f64 1/3840 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (pow.f64 eps 5)) (fma.f64 1/2 (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x)))) (*.f64 -1/645120 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (pow.f64 eps 7))))))
(+.f64 (*.f64 (fma.f64 -1/2 (*.f64 x x) 1) (+.f64 (*.f64 1/2 eps) (*.f64 -1/645120 (pow.f64 eps 7)))) (*.f64 (fma.f64 -1/2 (*.f64 x x) 1) (+.f64 (*.f64 -1/48 (pow.f64 eps 3)) (*.f64 1/3840 (pow.f64 eps 5)))))
(*.f64 (fma.f64 -1/2 (*.f64 x x) 1) (+.f64 (+.f64 (*.f64 1/2 eps) (*.f64 -1/645120 (pow.f64 eps 7))) (+.f64 (*.f64 1/3840 (pow.f64 eps 5)) (*.f64 -1/48 (pow.f64 eps 3)))))
(*.f64 (fma.f64 -1/2 (*.f64 x x) 1) (+.f64 (*.f64 -1/48 (pow.f64 eps 3)) (+.f64 (*.f64 1/3840 (pow.f64 eps 5)) (+.f64 (*.f64 1/2 eps) (*.f64 -1/645120 (pow.f64 eps 7))))))
(*.f64 (fma.f64 -1/2 (*.f64 x x) 1) (+.f64 (+.f64 (+.f64 (*.f64 1/2 eps) (*.f64 -1/645120 (pow.f64 eps 7))) (*.f64 -1/48 (pow.f64 eps 3))) (*.f64 1/3840 (pow.f64 eps 5))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 -1/2 (sin.f64 (*.f64 1/2 eps))) (*.f64 x x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 -1/2 (sin.f64 (*.f64 1/2 eps))) (*.f64 x x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 -1/2 (sin.f64 (*.f64 1/2 eps))) (*.f64 x x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 -1/2 (sin.f64 (*.f64 1/2 eps))) (*.f64 x x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 -1/2 (sin.f64 (*.f64 1/2 eps))) (*.f64 x x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 -1/2 (sin.f64 (*.f64 1/2 eps))) (*.f64 x x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 -1/2 (sin.f64 (*.f64 1/2 eps))) (*.f64 x x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 -1/2 (sin.f64 (*.f64 1/2 eps))) (*.f64 x x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1))
(*.f64 1/2 (*.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)))
(*.f64 (*.f64 1/2 eps) (fma.f64 -1/6 (pow.f64 x 3) x))
(*.f64 1/2 (*.f64 eps (fma.f64 -1/6 (pow.f64 x 3) x)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) (*.f64 1/2 (*.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x))))
(fma.f64 1/4 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (*.f64 eps eps)) (*.f64 (*.f64 1/2 eps) (fma.f64 -1/6 (pow.f64 x 3) x)))
(fma.f64 1/2 (*.f64 eps (fma.f64 -1/6 (pow.f64 x 3) x)) (*.f64 (fma.f64 -1/2 (*.f64 x x) 1) (*.f64 (*.f64 1/4 eps) eps)))
(fma.f64 (*.f64 1/2 eps) (fma.f64 -1/6 (pow.f64 x 3) x) (*.f64 (fma.f64 -1/2 (*.f64 x x) 1) (*.f64 eps (*.f64 eps 1/4))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x))) (*.f64 (+.f64 (*.f64 -1/16 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)) (*.f64 -1/48 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x))) (pow.f64 eps 3))))
(fma.f64 1/4 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (*.f64 eps eps)) (fma.f64 1/2 (*.f64 eps (fma.f64 -1/6 (pow.f64 x 3) x)) (*.f64 (pow.f64 eps 3) (*.f64 (fma.f64 -1/6 (pow.f64 x 3) x) -1/12))))
(fma.f64 1/4 (*.f64 (fma.f64 -1/2 (*.f64 x x) 1) (*.f64 eps eps)) (fma.f64 1/2 (*.f64 eps (fma.f64 -1/6 (pow.f64 x 3) x)) (*.f64 (fma.f64 -1/6 (pow.f64 x 3) x) (*.f64 -1/12 (pow.f64 eps 3)))))
(fma.f64 1/4 (*.f64 eps (*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1))) (*.f64 (fma.f64 -1/6 (pow.f64 x 3) x) (+.f64 (*.f64 1/2 eps) (*.f64 (pow.f64 eps 3) -1/12))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 eps 4) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x))) (*.f64 (+.f64 (*.f64 -1/16 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)) (*.f64 -1/48 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x))) (pow.f64 eps 3)))))
(fma.f64 1/4 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (*.f64 eps eps)) (fma.f64 -1/48 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (pow.f64 eps 4)) (fma.f64 1/2 (*.f64 eps (fma.f64 -1/6 (pow.f64 x 3) x)) (*.f64 (pow.f64 eps 3) (*.f64 (fma.f64 -1/6 (pow.f64 x 3) x) -1/12)))))
(+.f64 (fma.f64 1/2 (*.f64 eps (fma.f64 -1/6 (pow.f64 x 3) x)) (*.f64 (fma.f64 -1/6 (pow.f64 x 3) x) (*.f64 -1/12 (pow.f64 eps 3)))) (*.f64 (fma.f64 -1/2 (*.f64 x x) 1) (+.f64 (*.f64 (*.f64 1/4 eps) eps) (*.f64 -1/48 (pow.f64 eps 4)))))
(+.f64 (*.f64 (fma.f64 -1/6 (pow.f64 x 3) x) (+.f64 (*.f64 1/2 eps) (*.f64 (pow.f64 eps 3) -1/12))) (*.f64 (fma.f64 -1/2 (*.f64 x x) 1) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (*.f64 eps (*.f64 eps 1/4)))))
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x) (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1))))
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x) (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1))))
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x) (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1))))
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x) (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1))))
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x) (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1))))
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x) (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1))))
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x) (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1))))
(*.f64 (+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (cos.f64 (*.f64 1/2 eps)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x) (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 -1/2 (*.f64 x x) 1))))
(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 (*.f64 x x) (*.f64 -1/2 (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) (*.f64 (fma.f64 -1/2 (*.f64 x x) 1) (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 (*.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 (cos.f64 (*.f64 1/2 eps)) (*.f64 (pow.f64 x 3) (sin.f64 (*.f64 1/2 eps)))) (*.f64 (*.f64 x x) (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))
(+.f64 (*.f64 (fma.f64 -1/2 (*.f64 x x) 1) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x))))
(*.f64 -1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 -1/6 (pow.f64 x 3))))
(*.f64 (pow.f64 x 3) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -1/6)))
(+.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))))
(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)))
(fma.f64 -1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 (pow.f64 x 3) (sin.f64 (*.f64 1/2 eps)))) (*.f64 (*.f64 x x) (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))
(fma.f64 (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 x x) (*.f64 (pow.f64 x 3) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -1/6))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.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)))))
(fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (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))))
(fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (fma.f64 -1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 (pow.f64 x 3) (sin.f64 (*.f64 1/2 eps)))) (*.f64 (*.f64 x x) (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))
(+.f64 (*.f64 (*.f64 x x) (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x))))
(+.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 (cos.f64 (*.f64 1/2 eps)) (*.f64 (pow.f64 x 3) (sin.f64 (*.f64 1/2 eps)))) (*.f64 (*.f64 x x) (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))
(+.f64 (*.f64 (fma.f64 -1/2 (*.f64 x x) 1) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x))))
(*.f64 -1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 -1/6 (pow.f64 x 3))))
(*.f64 (pow.f64 x 3) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -1/6)))
(+.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))))
(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)))
(fma.f64 -1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 (pow.f64 x 3) (sin.f64 (*.f64 1/2 eps)))) (*.f64 (*.f64 x x) (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))
(fma.f64 (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 x x) (*.f64 (pow.f64 x 3) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -1/6))))
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.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)))))
(fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (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))))
(fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (fma.f64 -1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 (pow.f64 x 3) (sin.f64 (*.f64 1/2 eps)))) (*.f64 (*.f64 x x) (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))
(+.f64 (*.f64 (*.f64 x x) (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x))))
(+.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 (cos.f64 (*.f64 1/2 eps)) (*.f64 (pow.f64 x 3) (sin.f64 (*.f64 1/2 eps)))) (*.f64 (*.f64 x x) (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))
(+.f64 (*.f64 (fma.f64 -1/2 (*.f64 x x) 1) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (fma.f64 -1/6 (pow.f64 x 3) x))))

eval408.0ms (1.6%)

Compiler

Compiled 15149 to 11317 computations (25.3% saved)

prune231.0ms (0.9%)

Pruning

87 alts after pruning (80 fresh and 7 done)

PrunedKeptTotal
New46621487
Fresh95968
Picked011
Done167
Total47687563
Error
0.0b
Counts
563 → 87
Alt Table
Click to see full alt table
StatusErrorProgram
38.9b
(+.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (-.f64 (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) (sin.f64 eps))))
39.2b
(*.f64 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3) -2)
41.0b
(log.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)))
18.5b
(*.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 (exp.f64 (log1p.f64 (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (sin.f64 (*.f64 x 1/2))))) 1))) -2)
41.7b
(-.f64 (+.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1) 1)
34.9b
(/.f64 (*.f64 eps (*.f64 (cos.f64 x) (*.f64 -2 (sin.f64 x)))) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
34.0b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))) -2)
54.8b
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
33.3b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
41.7b
(cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))
51.3b
(pow.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 eps eps))) 3)
52.1b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 eps)) 2))) -2)
45.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (fabs.f64 (sin.f64 (*.f64 1/2 eps)))) -2)
39.1b
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 12)) -2)
45.7b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (*.f64 eps eps) (/.f64 1 eps)) 1/2))) -2)
45.6b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 eps)) 3))) -2)
41.7b
(-.f64 (expm1.f64 (log1p.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
15.7b
(*.f64 (expm1.f64 (log1p.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))))) -2)
54.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (pow.f64 (pow.f64 (*.f64 1/2 eps) 3) 1/3))) -2)
55.7b
(-.f64 (cos.f64 x) (cos.f64 x))
41.1b
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
41.2b
(-.f64 (cos.f64 eps) (cos.f64 x))
40.9b
(-.f64 (cos.f64 eps) 1)
53.1b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)) -2)
40.9b
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
41.1b
(*.f64 (-.f64 (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) 1) -2)
40.8b
(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))))
34.6b
(-.f64 (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))) (cos.f64 x))
30.7b
(+.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)))))
42.5b
(-.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (cos.f64 x))
46.2b
(*.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)
45.5b
(expm1.f64 (-.f64 (log.f64 (cos.f64 eps)) (*.f64 x (/.f64 (sin.f64 eps) (cos.f64 eps)))))
34.7b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (sin.f64 (*.f64 1/2 eps))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)))) -2)
34.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)) x) 1/2))) -2)
32.1b
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))) 3)) -2)
46.8b
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
40.7b
(*.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))))) -2)
40.8b
(/.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) 1) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
26.3b
(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)))))
34.5b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (*.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (sin.f64 (*.f64 1/2 eps))))) -2)
34.9b
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))) -2)
54.8b
(sqrt.f64 (*.f64 4 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 12)))
41.0b
(/.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) -1) (-.f64 (cos.f64 eps) -1))
40.0b
(*.f64 (pow.f64 (pow.f64 (-.f64 (+.f64 1 (cbrt.f64 (sin.f64 (*.f64 1/2 eps)))) 1) 2) 3) -2)
51.2b
(*.f64 eps (*.f64 eps -1/2))
51.8b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (sqrt.f64 eps) 2) 1/2))) -2)
56.0b
(*.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)
41.7b
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
40.7b
(*.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))))) 1) -2)
25.6b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
45.3b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (cbrt.f64 eps) 3) 1/2))) -2)
32.9b
(*.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))) 2)) -2)
30.3b
(-.f64 (*.f64 (cos.f64 x) (*.f64 eps (*.f64 eps -1/2))) (*.f64 eps (sin.f64 x)))
35.9b
(/.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
36.6b
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)) 3)
30.6b
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))))
25.5b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
28.0b
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 2) -2)
25.6b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
26.1b
(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)))))
56.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (exp.f64 (log.f64 eps)) 1/2))) -2)
16.3b
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 3) -2)
44.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (/.f64 (*.f64 (*.f64 eps eps) 1/2) eps))) -2)
40.4b
(/.f64 (-.f64 (pow.f64 (cos.f64 eps) 2) 1) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
35.8b
(expm1.f64 (log1p.f64 (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
41.0b
(/.f64 1 (/.f64 (+.f64 (cos.f64 eps) 1) (+.f64 (pow.f64 (cos.f64 eps) 2) -1)))
51.6b
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
42.2b
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
45.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (+.f64 x eps) 2) (*.f64 x x)) eps) 1/2))) -2)
49.8b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (expm1.f64 (log1p.f64 (*.f64 1/2 eps))))) -2)
55.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (/.f64 (*.f64 (pow.f64 eps 3) 1/2) (*.f64 eps eps)))) -2)
36.8b
(*.f64 (exp.f64 (log.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) -2)
36.4b
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
33.8b
(expm1.f64 (*.f64 (sin.f64 x) (neg.f64 eps)))
54.8b
(pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 2)) 3)
15.7b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
40.7b
(-.f64 (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))) (cos.f64 x))
25.6b
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
34.8b
(*.f64 (sin.f64 x) (neg.f64 eps))
34.8b
(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)))))
30.3b
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
25.6b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))))
51.6b
(*.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/24) -1/2))
17.0b
(*.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))))
55.5b
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
25.6b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))
36.8b
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3) -2)
Compiler

Compiled 2883 to 2122 computations (26.4% saved)

localize41.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 95 to 51 computations (46.3% saved)

series149.0ms (0.6%)

Counts
4 → 96
Calls

24 calls:

TimeVariablePointExpression
82.0ms
x
@-inf
(log1p.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))))
22.0ms
eps
@-inf
(log1p.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))))
18.0ms
x
@inf
(log1p.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))))
17.0ms
eps
@inf
(log1p.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))))
2.0ms
x
@0
(log1p.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))))

rewrite93.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
662×log-prod_binary64
646×fma-def_binary64
316×fma-neg_binary64
252×pow1/3_binary64
251×expm1-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify86.0ms (0.3%)

Algorithm
egg-herbie
Rules
442×unswap-sqr_binary64
406×*-commutative_binary64
400×times-frac_binary64
346×associate-+l+_binary64
310×associate-+r+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01752056
15411927
218771732
364751729
Stop Event
node limit
Counts
217 → 180
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)))
(*.f64 1/2 eps)
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
x
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
x
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
x
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 eps)
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 eps)
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (*.f64 eps (sin.f64 x)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/4 (pow.f64 (sin.f64 x) 2)) (*.f64 1/2 (cos.f64 x))))) (*.f64 1/2 (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/4 (pow.f64 (sin.f64 x) 2)) (*.f64 1/2 (cos.f64 x))))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -3/4 (*.f64 (cos.f64 x) (sin.f64 x))) (+.f64 (*.f64 6 (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))) (*.f64 1/4 (pow.f64 (sin.f64 x) 3)))))) (*.f64 1/2 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 -3/4 (pow.f64 (cos.f64 x) 2)) (+.f64 (*.f64 3/2 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2))) (+.f64 (*.f64 -3/8 (pow.f64 (sin.f64 x) 4)) (+.f64 (*.f64 -1/2 (cos.f64 x)) (*.f64 -12 (*.f64 (sin.f64 x) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x))))))))))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/4 (pow.f64 (sin.f64 x) 2)) (*.f64 1/2 (cos.f64 x))))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -3/4 (*.f64 (cos.f64 x) (sin.f64 x))) (+.f64 (*.f64 6 (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))) (*.f64 1/4 (pow.f64 (sin.f64 x) 3)))))) (*.f64 1/2 (*.f64 eps (sin.f64 x))))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))))
(log.f64 (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))
(+.f64 (/.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (log.f64 (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))
(+.f64 (/.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 (cos.f64 (*.f64 1/2 eps)) 2)) (pow.f64 (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) 2))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))) (pow.f64 x 2))) (log.f64 (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))
(+.f64 (/.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 (cos.f64 (*.f64 1/2 eps)) 2)) (pow.f64 (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) 2))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))) (pow.f64 x 2))) (+.f64 (log.f64 (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (*.f64 1/6 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))) (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))) (+.f64 (*.f64 3 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3) (cos.f64 (*.f64 1/2 eps))) (pow.f64 (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) 2))) (*.f64 2 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3) (pow.f64 (cos.f64 (*.f64 1/2 eps)) 3)) (pow.f64 (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) 3))))) (pow.f64 x 3))))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))))))
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 -1/2 (*.f64 (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 -1/2 (*.f64 x x)) 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 -1/2 (*.f64 (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 (pow.f64 x 3) (*.f64 (cos.f64 (*.f64 1/2 eps)) -1/6))))
(+.f64 (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (*.f64 (+.f64 (*.f64 -1/2 (*.f64 x x)) 1) (sin.f64 (*.f64 1/2 eps)))) (*.f64 (pow.f64 x 3) (*.f64 (cos.f64 (*.f64 1/2 eps)) -1/6)))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 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 (+.f64 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 (+.f64 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 (+.f64 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 (+.f64 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 (+.f64 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 (+.f64 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 (+.f64 eps (*.f64 x 2))))
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(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)))
(+.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)))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 (*.f64 1/2 eps) (*.f64 -1/48 (pow.f64 eps 3)))) (*.f64 (+.f64 (*.f64 eps (*.f64 eps -1/8)) 1) (sin.f64 x)))
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(sin.f64 (*.f64 1/2 (+.f64 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 (+.f64 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 (+.f64 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 (+.f64 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 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (+.f64 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 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (+.f64 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 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (+.f64 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 2 x) (*.f64 -1 eps))))
(sin.f64 (*.f64 1/2 (+.f64 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 (*.f64 1/2 eps) (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 1/2 (*.f64 eps (sin.f64 x)) (*.f64 (cos.f64 x) (*.f64 eps (*.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 (pow.f64 eps 3) (*.f64 (sin.f64 x) -1/12) (*.f64 (*.f64 1/2 eps) (sin.f64 x))))
(fma.f64 1/4 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/2 eps) (*.f64 (pow.f64 eps 3) -1/12))))
(+.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 (pow.f64 eps 4) (*.f64 (cos.f64 x) -1/48)))))
(+.f64 (fma.f64 1/4 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/2 eps) (*.f64 (pow.f64 eps 3) -1/12)))) (*.f64 (cos.f64 x) (*.f64 -1/48 (pow.f64 eps 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 (+.f64 eps (*.f64 x 2)))))
(*.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 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.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 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.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 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.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 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.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 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.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 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.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 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.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 (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 -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 (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 -1/2 (*.f64 x x)) 1) (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 (*.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 -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 (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 (*.f64 x x) (*.f64 -1/2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))) (*.f64 (pow.f64 x 3) (*.f64 (cos.f64 (*.f64 1/2 eps)) -1/6)))))
(*.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 eps (*.f64 x 2)))))
(*.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 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.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 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.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 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.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 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.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 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.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 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.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 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.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/2 eps)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
x
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
x
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
x
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(*.f64 1/2 eps)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(*.f64 1/2 eps)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(*.f64 1/2 (*.f64 eps (sin.f64 x)))
(*.f64 (*.f64 1/2 eps) (sin.f64 x))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/4 (pow.f64 (sin.f64 x) 2)) (*.f64 1/2 (cos.f64 x))))) (*.f64 1/2 (*.f64 eps (sin.f64 x))))
(*.f64 1/2 (+.f64 (*.f64 (*.f64 eps eps) (fma.f64 -1/4 (pow.f64 (sin.f64 x) 2) (*.f64 1/2 (cos.f64 x)))) (*.f64 eps (sin.f64 x))))
(*.f64 1/2 (fma.f64 (*.f64 eps eps) (fma.f64 1/2 (cos.f64 x) (*.f64 -1/4 (pow.f64 (sin.f64 x) 2))) (*.f64 eps (sin.f64 x))))
(*.f64 1/2 (*.f64 eps (+.f64 (sin.f64 x) (*.f64 eps (fma.f64 1/2 (cos.f64 x) (*.f64 -1/4 (pow.f64 (sin.f64 x) 2)))))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/4 (pow.f64 (sin.f64 x) 2)) (*.f64 1/2 (cos.f64 x))))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -3/4 (*.f64 (cos.f64 x) (sin.f64 x))) (+.f64 (*.f64 6 (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))) (*.f64 1/4 (pow.f64 (sin.f64 x) 3)))))) (*.f64 1/2 (*.f64 eps (sin.f64 x)))))
(fma.f64 1/2 (*.f64 (*.f64 eps eps) (fma.f64 -1/4 (pow.f64 (sin.f64 x) 2) (*.f64 1/2 (cos.f64 x)))) (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (fma.f64 -3/4 (*.f64 (sin.f64 x) (cos.f64 x)) (fma.f64 6 (*.f64 (sin.f64 x) -1/12) (*.f64 1/4 (pow.f64 (sin.f64 x) 3))))) (*.f64 1/2 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/2 (fma.f64 (*.f64 eps eps) (fma.f64 1/2 (cos.f64 x) (*.f64 -1/4 (pow.f64 (sin.f64 x) 2))) (*.f64 eps (sin.f64 x)))) (*.f64 (fma.f64 -3/4 (*.f64 (sin.f64 x) (cos.f64 x)) (fma.f64 1/4 (pow.f64 (sin.f64 x) 3) (*.f64 (sin.f64 x) -1/2))) (*.f64 (pow.f64 eps 3) 1/6)))
(+.f64 (*.f64 1/2 (*.f64 eps (+.f64 (sin.f64 x) (*.f64 eps (fma.f64 1/2 (cos.f64 x) (*.f64 -1/4 (pow.f64 (sin.f64 x) 2))))))) (*.f64 (+.f64 (*.f64 1/4 (pow.f64 (sin.f64 x) 3)) (*.f64 (sin.f64 x) (+.f64 (*.f64 (cos.f64 x) -3/4) -1/2))) (*.f64 (pow.f64 eps 3) 1/6)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 -3/4 (pow.f64 (cos.f64 x) 2)) (+.f64 (*.f64 3/2 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2))) (+.f64 (*.f64 -3/8 (pow.f64 (sin.f64 x) 4)) (+.f64 (*.f64 -1/2 (cos.f64 x)) (*.f64 -12 (*.f64 (sin.f64 x) (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x))))))))))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/4 (pow.f64 (sin.f64 x) 2)) (*.f64 1/2 (cos.f64 x))))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -3/4 (*.f64 (cos.f64 x) (sin.f64 x))) (+.f64 (*.f64 6 (+.f64 (*.f64 -1/16 (sin.f64 x)) (*.f64 -1/48 (sin.f64 x)))) (*.f64 1/4 (pow.f64 (sin.f64 x) 3)))))) (*.f64 1/2 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (fma.f64 -3/4 (pow.f64 (cos.f64 x) 2) (fma.f64 3/2 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)) (fma.f64 -3/8 (pow.f64 (sin.f64 x) 4) (fma.f64 -1/2 (cos.f64 x) (*.f64 -12 (*.f64 (sin.f64 x) (*.f64 (sin.f64 x) -1/12)))))))) (fma.f64 1/2 (*.f64 (*.f64 eps eps) (fma.f64 -1/4 (pow.f64 (sin.f64 x) 2) (*.f64 1/2 (cos.f64 x)))) (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (fma.f64 -3/4 (*.f64 (sin.f64 x) (cos.f64 x)) (fma.f64 6 (*.f64 (sin.f64 x) -1/12) (*.f64 1/4 (pow.f64 (sin.f64 x) 3))))) (*.f64 1/2 (*.f64 eps (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (fma.f64 -3/4 (pow.f64 (cos.f64 x) 2) (fma.f64 3/2 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)) (fma.f64 -3/8 (pow.f64 (sin.f64 x) 4) (fma.f64 -12 (*.f64 (pow.f64 (sin.f64 x) 2) -1/12) (*.f64 -1/2 (cos.f64 x))))))) (+.f64 (*.f64 1/2 (fma.f64 (*.f64 eps eps) (fma.f64 1/2 (cos.f64 x) (*.f64 -1/4 (pow.f64 (sin.f64 x) 2))) (*.f64 eps (sin.f64 x)))) (*.f64 (fma.f64 -3/4 (*.f64 (sin.f64 x) (cos.f64 x)) (fma.f64 1/4 (pow.f64 (sin.f64 x) 3) (*.f64 (sin.f64 x) -1/2))) (*.f64 (pow.f64 eps 3) 1/6))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (fma.f64 -3/4 (pow.f64 (cos.f64 x) 2) (fma.f64 3/2 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)) (fma.f64 -3/8 (pow.f64 (sin.f64 x) 4) (fma.f64 -12 (*.f64 (pow.f64 (sin.f64 x) 2) -1/12) (*.f64 -1/2 (cos.f64 x))))))) (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 (sin.f64 x) (*.f64 eps (fma.f64 1/2 (cos.f64 x) (*.f64 -1/4 (pow.f64 (sin.f64 x) 2))))))) (*.f64 (+.f64 (*.f64 1/4 (pow.f64 (sin.f64 x) 3)) (*.f64 (sin.f64 x) (+.f64 (*.f64 (cos.f64 x) -3/4) -1/2))) (*.f64 (pow.f64 eps 3) 1/6))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(log.f64 (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))
(log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(+.f64 (/.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (log.f64 (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))
(+.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (/.f64 (sin.f64 (*.f64 1/2 eps)) (/.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))
(+.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (/.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1))))
(+.f64 (/.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 (cos.f64 (*.f64 1/2 eps)) 2)) (pow.f64 (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) 2))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))) (pow.f64 x 2))) (log.f64 (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))
(+.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (/.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) (fma.f64 1/2 (*.f64 (*.f64 x x) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (/.f64 (pow.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1) 2) (pow.f64 (cos.f64 (*.f64 1/2 eps)) 2))) (neg.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1))))) (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))
(+.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (/.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) (fma.f64 (*.f64 -1/2 (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (/.f64 (pow.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1) 2) (pow.f64 (cos.f64 (*.f64 1/2 eps)) 2))) (/.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1)))) (*.f64 x x) (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))
(+.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (/.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1))) (fma.f64 1/2 (*.f64 x (*.f64 x (*.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1)) (-.f64 -1 (/.f64 (pow.f64 (cos.f64 (*.f64 1/2 eps)) 2) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1)))))) (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))
(+.f64 (/.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 (cos.f64 (*.f64 1/2 eps)) 2)) (pow.f64 (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) 2))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))) (pow.f64 x 2))) (+.f64 (log.f64 (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (*.f64 1/6 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))) (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))) (+.f64 (*.f64 3 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3) (cos.f64 (*.f64 1/2 eps))) (pow.f64 (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) 2))) (*.f64 2 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3) (pow.f64 (cos.f64 (*.f64 1/2 eps)) 3)) (pow.f64 (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) 3))))) (pow.f64 x 3))))))
(+.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (/.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) (+.f64 (fma.f64 1/2 (*.f64 (*.f64 x x) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (/.f64 (pow.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1) 2) (pow.f64 (cos.f64 (*.f64 1/2 eps)) 2))) (neg.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1))))) (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) (*.f64 1/6 (*.f64 (pow.f64 x 3) (fma.f64 -1 (/.f64 (sin.f64 (*.f64 1/2 eps)) (/.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1) (cos.f64 (*.f64 1/2 eps)))) (fma.f64 3 (/.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3)) (pow.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1) 2)) (*.f64 2 (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3) (pow.f64 (cos.f64 (*.f64 1/2 eps)) 3)) (pow.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1) 3)))))))))
(+.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (/.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) (fma.f64 (*.f64 -1/2 (+.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (/.f64 (pow.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1) 2) (pow.f64 (cos.f64 (*.f64 1/2 eps)) 2))) (/.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1)))) (*.f64 x x) (fma.f64 1/6 (*.f64 (pow.f64 x 3) (-.f64 (fma.f64 2 (*.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3) (pow.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1) 3)) (pow.f64 (cos.f64 (*.f64 1/2 eps)) 3)) (/.f64 3 (/.f64 (pow.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1) 2) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3))))) (*.f64 (/.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1)) (cos.f64 (*.f64 1/2 eps))))) (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))
(+.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (/.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1))) (fma.f64 1/2 (*.f64 x (*.f64 x (*.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1)) (-.f64 -1 (/.f64 (pow.f64 (cos.f64 (*.f64 1/2 eps)) 2) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1)))))) (fma.f64 1/6 (*.f64 (pow.f64 x 3) (-.f64 (fma.f64 2 (/.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3) (pow.f64 (/.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1) (cos.f64 (*.f64 1/2 eps))) 3)) (*.f64 (/.f64 (*.f64 3 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3)) (pow.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1) 2)) (cos.f64 (*.f64 1/2 eps)))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (/.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1))))) (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))
(+.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (/.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1))) (fma.f64 1/2 (*.f64 x (*.f64 x (*.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1)) (-.f64 -1 (/.f64 (pow.f64 (cos.f64 (*.f64 1/2 eps)) 2) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1)))))) (fma.f64 1/6 (*.f64 (pow.f64 x 3) (-.f64 (fma.f64 2 (pow.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) (/.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1))) 3) (*.f64 (/.f64 (*.f64 3 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3)) (pow.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1) 2)) (cos.f64 (*.f64 1/2 eps)))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (/.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1))))) (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))
(log.f64 (+.f64 1 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))))
(log1p.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))))

localize7.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (sin.f64 x) (neg.f64 eps))
Compiler

Compiled 13 to 5 computations (61.5% saved)

series28.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
25.0ms
x
@inf
(*.f64 (sin.f64 x) (neg.f64 eps))
1.0ms
eps
@0
(*.f64 (sin.f64 x) (neg.f64 eps))
1.0ms
x
@-inf
(*.f64 (sin.f64 x) (neg.f64 eps))
1.0ms
x
@0
(*.f64 (sin.f64 x) (neg.f64 eps))
1.0ms
eps
@inf
(*.f64 (sin.f64 x) (neg.f64 eps))

rewrite41.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
495×pow1_binary64
474×add-sqr-sqrt_binary64
454×add-log-exp_binary64
453×log1p-expm1-u_binary64
453×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify127.0ms (0.5%)

Algorithm
egg-herbie
Rules
654×distribute-rgt-neg-in_binary64
541×distribute-lft-neg-in_binary64
510×fma-def_binary64
426×unswap-sqr_binary64
374×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
030247
183244
2219236
3655228
41989228
54116228
65914228
77384228
87914228
Stop Event
node limit
Counts
37 → 23
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 eps x))
(+.f64 (*.f64 -1 (*.f64 eps x)) (*.f64 1/6 (*.f64 eps (pow.f64 x 3))))
(+.f64 (*.f64 -1 (*.f64 eps x)) (+.f64 (*.f64 -1/120 (*.f64 eps (pow.f64 x 5))) (*.f64 1/6 (*.f64 eps (pow.f64 x 3)))))
(+.f64 (*.f64 -1 (*.f64 eps x)) (+.f64 (*.f64 -1/120 (*.f64 eps (pow.f64 x 5))) (+.f64 (*.f64 1/6 (*.f64 eps (pow.f64 x 3))) (*.f64 1/5040 (*.f64 eps (pow.f64 x 7))))))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
Outputs
(*.f64 -1 (*.f64 eps x))
(neg.f64 (*.f64 eps x))
(*.f64 x (neg.f64 eps))
(*.f64 eps (neg.f64 x))
(+.f64 (*.f64 -1 (*.f64 eps x)) (*.f64 1/6 (*.f64 eps (pow.f64 x 3))))
(fma.f64 -1 (*.f64 eps x) (*.f64 1/6 (*.f64 eps (pow.f64 x 3))))
(-.f64 (*.f64 1/6 (*.f64 eps (pow.f64 x 3))) (*.f64 eps x))
(*.f64 eps (-.f64 (*.f64 1/6 (pow.f64 x 3)) x))
(*.f64 eps (fma.f64 1/6 (pow.f64 x 3) (neg.f64 x)))
(+.f64 (*.f64 -1 (*.f64 eps x)) (+.f64 (*.f64 -1/120 (*.f64 eps (pow.f64 x 5))) (*.f64 1/6 (*.f64 eps (pow.f64 x 3)))))
(fma.f64 -1 (*.f64 eps x) (fma.f64 -1/120 (*.f64 eps (pow.f64 x 5)) (*.f64 1/6 (*.f64 eps (pow.f64 x 3)))))
(-.f64 (fma.f64 1/6 (*.f64 eps (pow.f64 x 3)) (*.f64 -1/120 (*.f64 eps (pow.f64 x 5)))) (*.f64 eps x))
(fma.f64 eps (*.f64 -1/120 (pow.f64 x 5)) (*.f64 eps (-.f64 (*.f64 1/6 (pow.f64 x 3)) x)))
(*.f64 eps (-.f64 (fma.f64 1/6 (pow.f64 x 3) (*.f64 -1/120 (pow.f64 x 5))) x))
(+.f64 (*.f64 -1 (*.f64 eps x)) (+.f64 (*.f64 -1/120 (*.f64 eps (pow.f64 x 5))) (+.f64 (*.f64 1/6 (*.f64 eps (pow.f64 x 3))) (*.f64 1/5040 (*.f64 eps (pow.f64 x 7))))))
(fma.f64 -1 (*.f64 eps x) (fma.f64 -1/120 (*.f64 eps (pow.f64 x 5)) (fma.f64 1/6 (*.f64 eps (pow.f64 x 3)) (*.f64 1/5040 (*.f64 eps (pow.f64 x 7))))))
(-.f64 (fma.f64 -1/120 (*.f64 eps (pow.f64 x 5)) (fma.f64 1/6 (*.f64 eps (pow.f64 x 3)) (*.f64 1/5040 (*.f64 eps (pow.f64 x 7))))) (*.f64 eps x))
(+.f64 (*.f64 eps (-.f64 (*.f64 1/6 (pow.f64 x 3)) x)) (*.f64 eps (+.f64 (*.f64 1/5040 (pow.f64 x 7)) (*.f64 -1/120 (pow.f64 x 5)))))
(*.f64 eps (+.f64 (fma.f64 1/6 (pow.f64 x 3) (*.f64 1/5040 (pow.f64 x 7))) (-.f64 (*.f64 -1/120 (pow.f64 x 5)) x)))
(*.f64 eps (+.f64 (*.f64 1/5040 (pow.f64 x 7)) (-.f64 (fma.f64 1/6 (pow.f64 x 3) (*.f64 -1/120 (pow.f64 x 5))) x)))
(*.f64 eps (+.f64 (*.f64 -1/120 (pow.f64 x 5)) (-.f64 (fma.f64 1/6 (pow.f64 x 3) (*.f64 1/5040 (pow.f64 x 7))) x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(*.f64 -1 (*.f64 eps (sin.f64 x)))
(neg.f64 (*.f64 eps (sin.f64 x)))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))

localize11.0ms (0%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
0.3b
(pow.f64 (+.f64 (cos.f64 eps) -1) 2)
1.9b
(+.f64 (cos.f64 eps) -1)
Compiler

Compiled 24 to 16 computations (33.3% saved)

series3.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
eps
@0
(pow.f64 (+.f64 (cos.f64 eps) -1) 2)
1.0ms
eps
@inf
(pow.f64 (+.f64 (cos.f64 eps) -1) 2)
1.0ms
eps
@-inf
(pow.f64 (+.f64 (cos.f64 eps) -1) 2)
0.0ms
eps
@0
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))
0.0ms
eps
@inf
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))

rewrite59.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
688×pow1_binary64
641×add-log-exp_binary64
640×log1p-expm1-u_binary64
640×expm1-log1p-u_binary64
628×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify80.0ms (0.3%)

Algorithm
egg-herbie
Rules
837×distribute-rgt-out_binary64
775×distribute-lft-out_binary64
644×fma-def_binary64
598×associate-*l*_binary64
458×associate-*r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
042260
1100260
2232260
3768260
43623260
56928260
67834260
Stop Event
node limit
Counts
89 → 83
Calls
Call 1
Inputs
(*.f64 1/4 (pow.f64 eps 4))
(+.f64 (*.f64 1/4 (pow.f64 eps 4)) (*.f64 -1/24 (pow.f64 eps 6)))
(+.f64 (*.f64 1/4 (pow.f64 eps 4)) (+.f64 (*.f64 -1/24 (pow.f64 eps 6)) (*.f64 1/320 (pow.f64 eps 8))))
(+.f64 (*.f64 -17/120960 (pow.f64 eps 10)) (+.f64 (*.f64 1/4 (pow.f64 eps 4)) (+.f64 (*.f64 -1/24 (pow.f64 eps 6)) (*.f64 1/320 (pow.f64 eps 8)))))
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(*.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/4 (pow.f64 eps 4))
(+.f64 (*.f64 1/4 (pow.f64 eps 4)) (*.f64 -1/24 (pow.f64 eps 6)))
(fma.f64 1/4 (pow.f64 eps 4) (*.f64 -1/24 (pow.f64 eps 6)))
(+.f64 (*.f64 1/4 (pow.f64 eps 4)) (+.f64 (*.f64 -1/24 (pow.f64 eps 6)) (*.f64 1/320 (pow.f64 eps 8))))
(fma.f64 1/4 (pow.f64 eps 4) (fma.f64 -1/24 (pow.f64 eps 6) (*.f64 1/320 (pow.f64 eps 8))))
(fma.f64 (pow.f64 eps 4) (fma.f64 (pow.f64 eps 4) 1/320 1/4) (*.f64 -1/24 (pow.f64 eps 6)))
(+.f64 (*.f64 -17/120960 (pow.f64 eps 10)) (+.f64 (*.f64 1/4 (pow.f64 eps 4)) (+.f64 (*.f64 -1/24 (pow.f64 eps 6)) (*.f64 1/320 (pow.f64 eps 8)))))
(fma.f64 -17/120960 (pow.f64 eps 10) (fma.f64 1/4 (pow.f64 eps 4) (fma.f64 -1/24 (pow.f64 eps 6) (*.f64 1/320 (pow.f64 eps 8)))))
(fma.f64 1/4 (pow.f64 eps 4) (fma.f64 -17/120960 (pow.f64 eps 10) (fma.f64 -1/24 (pow.f64 eps 6) (*.f64 1/320 (pow.f64 eps 8)))))
(fma.f64 1/4 (pow.f64 eps 4) (fma.f64 -1/24 (pow.f64 eps 6) (fma.f64 1/320 (pow.f64 eps 8) (*.f64 -17/120960 (pow.f64 eps 10)))))
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (+.f64 (cos.f64 eps) -1) 2)
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (+.f64 (cos.f64 eps) -1) 2)
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (+.f64 (cos.f64 eps) -1) 2)
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (+.f64 (cos.f64 eps) -1) 2)
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (+.f64 (cos.f64 eps) -1) 2)
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (+.f64 (cos.f64 eps) -1) 2)
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (+.f64 (cos.f64 eps) -1) 2)
(pow.f64 (-.f64 (cos.f64 eps) 1) 2)
(pow.f64 (+.f64 (cos.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/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 (pow.f64 eps 4) 1/24 (*.f64 -1/2 (*.f64 eps eps)))
(fma.f64 eps (*.f64 eps -1/2) (*.f64 (pow.f64 eps 4) 1/24))
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(*.f64 (*.f64 eps eps) (fma.f64 (*.f64 eps 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 (pow.f64 eps 6) -1/720)))
(fma.f64 (pow.f64 eps 4) 1/24 (fma.f64 (pow.f64 eps 6) -1/720 (*.f64 -1/2 (*.f64 eps eps))))
(fma.f64 (pow.f64 eps 4) 1/24 (fma.f64 eps (*.f64 eps -1/2) (*.f64 (pow.f64 eps 6) -1/720)))
(fma.f64 (pow.f64 eps 6) -1/720 (*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2))))
(fma.f64 (pow.f64 eps 6) -1/720 (*.f64 (*.f64 eps eps) (fma.f64 (*.f64 eps eps) 1/24 -1/2)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (*.f64 1/40320 (pow.f64 eps 8)))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 (pow.f64 eps 8) 1/40320))))
(fma.f64 (pow.f64 eps 4) 1/24 (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 (pow.f64 eps 6) -1/720 (*.f64 (pow.f64 eps 8) 1/40320))))
(fma.f64 (pow.f64 eps 4) 1/24 (fma.f64 eps (*.f64 eps -1/2) (fma.f64 (pow.f64 eps 6) -1/720 (*.f64 (pow.f64 eps 8) 1/40320))))
(fma.f64 eps (*.f64 eps -1/2) (fma.f64 (pow.f64 eps 4) 1/24 (fma.f64 (pow.f64 eps 6) -1/720 (*.f64 (pow.f64 eps 8) 1/40320))))
(fma.f64 (pow.f64 eps 8) 1/40320 (fma.f64 (pow.f64 eps 6) -1/720 (*.f64 (*.f64 eps eps) (fma.f64 (*.f64 eps eps) 1/24 -1/2))))
(-.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)

localize32.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3) -2)
0.2b
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
0.4b
(pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3)
12.3b
(pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3)
Compiler

Compiled 51 to 44 computations (13.7% saved)

series11.0ms (0%)

Counts
4 → 40
Calls

12 calls:

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

rewrite90.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
964×pow1_binary64
908×add-log-exp_binary64
906×log1p-expm1-u_binary64
906×expm1-log1p-u_binary64
117×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01339
128439
2265639
Stop Event
node limit
Counts
4 → 77
Calls
Call 1
Inputs
(pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3)
(pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(*.f64 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3) -2)
Outputs
((#(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 (exp.f64 (log1p.f64 (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) (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 4) 1/3))))) (#(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 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 4) 1/3) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))) (#(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 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 (sin.f64 (*.f64 1/2 eps)) 6))))) (#(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 (exp.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 6))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 4) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 4)) (*.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 6) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (sin.f64 (*.f64 1/2 eps))) 6) (pow.f64 (sqrt.f64 (sin.f64 (*.f64 1/2 eps))) 6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 4)) 3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 4) (sin.f64 (*.f64 1/2 eps))) (sin.f64 (*.f64 1/2 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 4) 1) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 4) (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 sqrt.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 12))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 6))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 6) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 6)))))))
((#(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 (exp.f64 (log1p.f64 (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) (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 4) 1/3))))) (#(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 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 4) 1/3) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))) (#(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 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 (sin.f64 (*.f64 1/2 eps)) 6))))) (#(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 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2))) 1)))) (#(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 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 4) 4))))) (#(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)))))))

simplify114.0ms (0.5%)

Algorithm
egg-herbie
Rules
669×distribute-lft-out_binary64
625×associate-/l*_binary64
597×unswap-sqr_binary64
455×associate-/r*_binary64
375×*-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
087590
1210576
2537576
31893576
45528576
Stop Event
node limit
Counts
117 → 92
Calls
Call 1
Inputs
(*.f64 (pow.f64 eps 2) (cbrt.f64 1/64))
(+.f64 (*.f64 -1/768 (/.f64 (pow.f64 eps 4) (pow.f64 (cbrt.f64 1/64) 2))) (*.f64 (pow.f64 eps 2) (cbrt.f64 1/64)))
(+.f64 (*.f64 -1/768 (/.f64 (pow.f64 eps 4) (pow.f64 (cbrt.f64 1/64) 2))) (+.f64 (*.f64 1/23040 (/.f64 (pow.f64 eps 6) (pow.f64 (cbrt.f64 1/64) 2))) (*.f64 (pow.f64 eps 2) (cbrt.f64 1/64))))
(+.f64 (*.f64 -1/768 (/.f64 (pow.f64 eps 4) (pow.f64 (cbrt.f64 1/64) 2))) (+.f64 (*.f64 1/23040 (/.f64 (pow.f64 eps 6) (pow.f64 (cbrt.f64 1/64) 2))) (+.f64 (*.f64 1/3 (/.f64 (*.f64 (-.f64 (*.f64 1/452984832 (/.f64 1 (pow.f64 (cbrt.f64 1/64) 6))) 11/967680) (pow.f64 eps 8)) (pow.f64 (cbrt.f64 1/64) 2))) (*.f64 (pow.f64 eps 2) (cbrt.f64 1/64)))))
(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/64 (pow.f64 eps 6))
(+.f64 (*.f64 1/64 (pow.f64 eps 6)) (*.f64 -1/256 (pow.f64 eps 8)))
(+.f64 (*.f64 1/64 (pow.f64 eps 6)) (+.f64 (*.f64 -1/256 (pow.f64 eps 8)) (*.f64 7/15360 (pow.f64 eps 10))))
(+.f64 (*.f64 -1/30240 (pow.f64 eps 12)) (+.f64 (*.f64 1/64 (pow.f64 eps 6)) (+.f64 (*.f64 -1/256 (pow.f64 eps 8)) (*.f64 7/15360 (pow.f64 eps 10)))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 6)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 6)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 6)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 6)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 6)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 6)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 6)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 6)
(*.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 -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 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
Outputs
(*.f64 (pow.f64 eps 2) (cbrt.f64 1/64))
(*.f64 (*.f64 eps eps) (cbrt.f64 1/64))
(*.f64 eps (*.f64 eps (cbrt.f64 1/64)))
(+.f64 (*.f64 -1/768 (/.f64 (pow.f64 eps 4) (pow.f64 (cbrt.f64 1/64) 2))) (*.f64 (pow.f64 eps 2) (cbrt.f64 1/64)))
(fma.f64 -1/768 (/.f64 (pow.f64 eps 4) (pow.f64 (cbrt.f64 1/64) 2)) (*.f64 (*.f64 eps eps) (cbrt.f64 1/64)))
(fma.f64 (*.f64 eps eps) (cbrt.f64 1/64) (/.f64 (*.f64 -1/768 (pow.f64 eps 4)) (pow.f64 (cbrt.f64 1/64) 2)))
(fma.f64 eps (*.f64 eps (cbrt.f64 1/64)) (/.f64 (pow.f64 eps 4) (/.f64 (pow.f64 (cbrt.f64 1/64) 2) -1/768)))
(+.f64 (*.f64 -1/768 (/.f64 (pow.f64 eps 4) (pow.f64 (cbrt.f64 1/64) 2))) (+.f64 (*.f64 1/23040 (/.f64 (pow.f64 eps 6) (pow.f64 (cbrt.f64 1/64) 2))) (*.f64 (pow.f64 eps 2) (cbrt.f64 1/64))))
(fma.f64 -1/768 (/.f64 (pow.f64 eps 4) (pow.f64 (cbrt.f64 1/64) 2)) (fma.f64 1/23040 (/.f64 (pow.f64 eps 6) (pow.f64 (cbrt.f64 1/64) 2)) (*.f64 (*.f64 eps eps) (cbrt.f64 1/64))))
(fma.f64 eps (*.f64 eps (cbrt.f64 1/64)) (fma.f64 1/23040 (/.f64 (pow.f64 eps 6) (pow.f64 (cbrt.f64 1/64) 2)) (/.f64 (pow.f64 eps 4) (/.f64 (pow.f64 (cbrt.f64 1/64) 2) -1/768))))
(fma.f64 eps (*.f64 eps (cbrt.f64 1/64)) (fma.f64 -1/768 (/.f64 (pow.f64 eps 4) (pow.f64 (cbrt.f64 1/64) 2)) (*.f64 (pow.f64 eps 6) (/.f64 1/23040 (pow.f64 (cbrt.f64 1/64) 2)))))
(+.f64 (*.f64 -1/768 (/.f64 (pow.f64 eps 4) (pow.f64 (cbrt.f64 1/64) 2))) (+.f64 (*.f64 1/23040 (/.f64 (pow.f64 eps 6) (pow.f64 (cbrt.f64 1/64) 2))) (+.f64 (*.f64 1/3 (/.f64 (*.f64 (-.f64 (*.f64 1/452984832 (/.f64 1 (pow.f64 (cbrt.f64 1/64) 6))) 11/967680) (pow.f64 eps 8)) (pow.f64 (cbrt.f64 1/64) 2))) (*.f64 (pow.f64 eps 2) (cbrt.f64 1/64)))))
(fma.f64 -1/768 (/.f64 (pow.f64 eps 4) (pow.f64 (cbrt.f64 1/64) 2)) (fma.f64 1/23040 (/.f64 (pow.f64 eps 6) (pow.f64 (cbrt.f64 1/64) 2)) (fma.f64 1/3 (/.f64 (+.f64 (/.f64 1/452984832 (pow.f64 (cbrt.f64 1/64) 6)) -11/967680) (/.f64 (pow.f64 (cbrt.f64 1/64) 2) (pow.f64 eps 8))) (*.f64 (*.f64 eps eps) (cbrt.f64 1/64)))))
(fma.f64 -1/768 (/.f64 (pow.f64 eps 4) (pow.f64 (cbrt.f64 1/64) 2)) (fma.f64 1/23040 (/.f64 (pow.f64 eps 6) (pow.f64 (cbrt.f64 1/64) 2)) (fma.f64 (*.f64 eps eps) (cbrt.f64 1/64) (/.f64 -1/1290240 (/.f64 (pow.f64 (cbrt.f64 1/64) 2) (pow.f64 eps 8))))))
(fma.f64 -1/768 (/.f64 (pow.f64 eps 4) (pow.f64 (cbrt.f64 1/64) 2)) (fma.f64 eps (*.f64 eps (cbrt.f64 1/64)) (fma.f64 1/23040 (/.f64 (pow.f64 eps 6) (pow.f64 (cbrt.f64 1/64) 2)) (*.f64 (/.f64 -1/1290240 (pow.f64 (cbrt.f64 1/64) 2)) (pow.f64 eps 8)))))
(fma.f64 -1/768 (/.f64 (pow.f64 eps 4) (pow.f64 (cbrt.f64 1/64) 2)) (fma.f64 eps (*.f64 eps (cbrt.f64 1/64)) (fma.f64 1/23040 (/.f64 (pow.f64 eps 6) (pow.f64 (cbrt.f64 1/64) 2)) (*.f64 (pow.f64 eps 8) (/.f64 -1/1290240 (pow.f64 (cbrt.f64 1/64) 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)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)
(pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)
(*.f64 1/64 (pow.f64 eps 6))
(+.f64 (*.f64 1/64 (pow.f64 eps 6)) (*.f64 -1/256 (pow.f64 eps 8)))
(fma.f64 1/64 (pow.f64 eps 6) (*.f64 (pow.f64 eps 8) -1/256))
(+.f64 (*.f64 1/64 (pow.f64 eps 6)) (+.f64 (*.f64 -1/256 (pow.f64 eps 8)) (*.f64 7/15360 (pow.f64 eps 10))))
(fma.f64 1/64 (pow.f64 eps 6) (fma.f64 -1/256 (pow.f64 eps 8) (*.f64 7/15360 (pow.f64 eps 10))))
(fma.f64 1/64 (pow.f64 eps 6) (fma.f64 (pow.f64 eps 8) -1/256 (*.f64 7/15360 (pow.f64 eps 10))))
(fma.f64 (pow.f64 eps 8) -1/256 (fma.f64 7/15360 (pow.f64 eps 10) (*.f64 1/64 (pow.f64 eps 6))))
(fma.f64 (pow.f64 eps 8) -1/256 (fma.f64 1/64 (pow.f64 eps 6) (*.f64 7/15360 (pow.f64 eps 10))))
(+.f64 (*.f64 -1/30240 (pow.f64 eps 12)) (+.f64 (*.f64 1/64 (pow.f64 eps 6)) (+.f64 (*.f64 -1/256 (pow.f64 eps 8)) (*.f64 7/15360 (pow.f64 eps 10)))))
(fma.f64 -1/30240 (pow.f64 eps 12) (fma.f64 1/64 (pow.f64 eps 6) (fma.f64 -1/256 (pow.f64 eps 8) (*.f64 7/15360 (pow.f64 eps 10)))))
(fma.f64 -1/30240 (pow.f64 eps 12) (fma.f64 1/64 (pow.f64 eps 6) (fma.f64 (pow.f64 eps 8) -1/256 (*.f64 7/15360 (pow.f64 eps 10)))))
(fma.f64 -1/30240 (pow.f64 eps 12) (fma.f64 (pow.f64 eps 8) -1/256 (fma.f64 7/15360 (pow.f64 eps 10) (*.f64 1/64 (pow.f64 eps 6)))))
(fma.f64 -1/30240 (pow.f64 eps 12) (fma.f64 (pow.f64 eps 8) -1/256 (fma.f64 1/64 (pow.f64 eps 6) (*.f64 7/15360 (pow.f64 eps 10)))))
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 6)
(pow.f64 (sin.f64 (*.f64 eps 1/2)) 6)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 6)
(pow.f64 (sin.f64 (*.f64 eps 1/2)) 6)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 6)
(pow.f64 (sin.f64 (*.f64 eps 1/2)) 6)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 6)
(pow.f64 (sin.f64 (*.f64 eps 1/2)) 6)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 6)
(pow.f64 (sin.f64 (*.f64 eps 1/2)) 6)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 6)
(pow.f64 (sin.f64 (*.f64 eps 1/2)) 6)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 6)
(pow.f64 (sin.f64 (*.f64 eps 1/2)) 6)
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 6)
(pow.f64 (sin.f64 (*.f64 eps 1/2)) 6)
(*.f64 1/4 (pow.f64 eps 2))
(*.f64 (*.f64 eps eps) 1/4)
(*.f64 eps (*.f64 eps 1/4))
(+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 -1/48 (pow.f64 eps 4)))
(fma.f64 1/4 (*.f64 eps eps) (*.f64 (pow.f64 eps 4) -1/48))
(fma.f64 (pow.f64 eps 4) -1/48 (*.f64 (*.f64 eps eps) 1/4))
(fma.f64 eps (*.f64 eps 1/4) (*.f64 (pow.f64 eps 4) -1/48))
(+.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 (pow.f64 eps 6) 1/1440)))
(fma.f64 (*.f64 eps eps) 1/4 (fma.f64 (pow.f64 eps 4) -1/48 (*.f64 (pow.f64 eps 6) 1/1440)))
(fma.f64 (pow.f64 eps 4) -1/48 (fma.f64 eps (*.f64 eps 1/4) (*.f64 (pow.f64 eps 6) 1/1440)))
(+.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 (pow.f64 eps 6) 1/1440))))
(fma.f64 (*.f64 eps eps) 1/4 (fma.f64 (pow.f64 eps 4) -1/48 (fma.f64 (pow.f64 eps 6) 1/1440 (*.f64 (pow.f64 eps 8) -1/80640))))
(fma.f64 eps (*.f64 eps 1/4) (fma.f64 (pow.f64 eps 4) -1/48 (fma.f64 (pow.f64 eps 8) -1/80640 (*.f64 (pow.f64 eps 6) 1/1440))))
(fma.f64 eps (*.f64 eps 1/4) (fma.f64 (pow.f64 eps 6) 1/1440 (fma.f64 (pow.f64 eps 4) -1/48 (*.f64 (pow.f64 eps 8) -1/80640))))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 (*.f64 eps eps) -1/2)
(*.f64 eps (*.f64 eps -1/2))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(fma.f64 1/24 (pow.f64 eps 4) (*.f64 (*.f64 eps eps) -1/2))
(fma.f64 (pow.f64 eps 4) 1/24 (*.f64 (*.f64 eps eps) -1/2))
(fma.f64 eps (*.f64 eps -1/2) (*.f64 (pow.f64 eps 4) 1/24))
(+.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 (pow.f64 eps 6) -1/720)))
(fma.f64 (pow.f64 eps 4) 1/24 (fma.f64 (pow.f64 eps 6) -1/720 (*.f64 (*.f64 eps eps) -1/2)))
(fma.f64 eps (*.f64 eps -1/2) (fma.f64 (pow.f64 eps 4) 1/24 (*.f64 (pow.f64 eps 6) -1/720)))
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (*.f64 1/40320 (pow.f64 eps 8)))))
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 (pow.f64 eps 8) 1/40320))))
(fma.f64 (pow.f64 eps 4) 1/24 (fma.f64 (*.f64 eps eps) -1/2 (fma.f64 (pow.f64 eps 6) -1/720 (*.f64 (pow.f64 eps 8) 1/40320))))
(fma.f64 eps (*.f64 eps -1/2) (fma.f64 (pow.f64 eps 4) 1/24 (fma.f64 (pow.f64 eps 8) 1/40320 (*.f64 (pow.f64 eps 6) -1/720))))
(fma.f64 eps (*.f64 eps -1/2) (fma.f64 (pow.f64 eps 4) 1/24 (fma.f64 (pow.f64 eps 6) -1/720 (*.f64 (pow.f64 eps 8) 1/40320))))
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))
(*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)

localize79.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (+.f64 x (+.f64 x eps)) 1/2)
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

rewrite92.0ms (0.4%)

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

simplify9.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

eval547.0ms (2.2%)

Compiler

Compiled 12884 to 9283 computations (27.9% saved)

prune234.0ms (0.9%)

Pruning

90 alts after pruning (81 fresh and 9 done)

PrunedKeptTotal
New59119610
Fresh136275
Picked011
Done3811
Total60790697
Error
0.0b
Counts
697 → 90
Alt Table
Click to see full alt table
StatusErrorProgram
38.9b
(+.f64 (+.f64 (cos.f64 eps) -1) (*.f64 x (-.f64 (*.f64 x (fma.f64 (cos.f64 eps) -1/2 1/2)) (sin.f64 eps))))
39.2b
(*.f64 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3) -2)
41.7b
(-.f64 (+.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1) 1)
34.9b
(/.f64 (*.f64 eps (*.f64 (cos.f64 x) (*.f64 -2 (sin.f64 x)))) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
34.0b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (sin.f64 (*.f64 1/2 eps)))) -2)
33.3b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
51.6b
(*.f64 (*.f64 eps eps) (fma.f64 (*.f64 eps eps) 1/24 -1/2))
54.8b
(sqrt.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 4) 4))
41.7b
(cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))
51.3b
(pow.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 eps eps))) 3)
52.1b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 eps)) 2))) -2)
39.1b
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 12)) -2)
53.1b
(+.f64 (*.f64 -1 (*.f64 eps x)) (*.f64 1/6 (*.f64 eps (pow.f64 x 3))))
38.8b
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 4)) -2)
36.4b
(*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)
45.7b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (*.f64 (*.f64 eps eps) (/.f64 1 eps)) 1/2))) -2)
45.6b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 eps)) 3))) -2)
36.6b
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)) 3)
41.2b
(-.f64 (cos.f64 eps) (cos.f64 x))
41.1b
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)
54.8b
(sqrt.f64 (-.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) 1))
52.5b
(*.f64 eps (neg.f64 x))
40.9b
(-.f64 (cos.f64 eps) 1)
41.7b
(-.f64 (expm1.f64 (log1p.f64 (cos.f64 (+.f64 x eps)))) (cos.f64 x))
54.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (pow.f64 (pow.f64 (*.f64 1/2 eps) 3) 1/3))) -2)
41.0b
(log.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)))
30.7b
(+.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)))))
54.8b
(fabs.f64 (+.f64 (cos.f64 eps) -1))
40.9b
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
41.1b
(*.f64 (-.f64 (+.f64 1 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) 1) -2)
40.8b
(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))))
34.6b
(-.f64 (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))) (cos.f64 x))
42.5b
(-.f64 (-.f64 (cos.f64 eps) (*.f64 x (sin.f64 eps))) (cos.f64 x))
46.2b
(*.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)
39.2b
(*.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 6) 1/3) -2)
45.5b
(expm1.f64 (-.f64 (log.f64 (cos.f64 eps)) (*.f64 x (/.f64 (sin.f64 eps) (cos.f64 eps)))))
34.7b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (sin.f64 (*.f64 1/2 eps))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)))) -2)
32.1b
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))) 3)) -2)
34.0b
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)))
46.8b
(-.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (cos.f64 x))
40.7b
(*.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))))) -2)
40.8b
(/.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) 1) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
26.3b
(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)))))
34.5b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (*.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (sin.f64 (*.f64 1/2 eps))))) -2)
34.9b
(*.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))) -2)
54.8b
(sqrt.f64 (*.f64 4 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 12)))
40.0b
(*.f64 (pow.f64 (pow.f64 (-.f64 (+.f64 1 (cbrt.f64 (sin.f64 (*.f64 1/2 eps)))) 1) 2) 3) -2)
51.2b
(*.f64 eps (*.f64 eps -1/2))
51.8b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (sqrt.f64 eps) 2) 1/2))) -2)
56.0b
(*.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)
41.7b
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
40.7b
(*.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))))) 1) -2)
45.3b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (pow.f64 (cbrt.f64 eps) 3) 1/2))) -2)
51.3b
(*.f64 (*.f64 eps (*.f64 eps (cbrt.f64 1/64))) -2)
55.6b
(-.f64 (+.f64 1 (*.f64 (sin.f64 x) eps)) 1)
25.6b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))
32.9b
(*.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x)))) 2)) -2)
30.6b
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 eps (*.f64 (cos.f64 x) (*.f64 eps -1/2))))
25.5b
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))
28.0b
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 2) -2)
25.6b
(-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))
35.9b
(/.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
41.0b
(/.f64 (-.f64 1 (pow.f64 (cos.f64 eps) 2)) (-.f64 -1 (cos.f64 eps)))
40.4b
(/.f64 (-.f64 (pow.f64 (cos.f64 eps) 2) 1) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))
26.1b
(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)))))
56.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (exp.f64 (log.f64 eps)) 1/2))) -2)
23.1b
(*.f64 (expm1.f64 (log1p.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (log.f64 (exp.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (+.f64 x x))))))))) -2)
16.3b
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x eps) x))))) 3) -2)
44.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (/.f64 (*.f64 (*.f64 eps eps) 1/2) eps))) -2)
35.8b
(expm1.f64 (log1p.f64 (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))
41.0b
(/.f64 1 (/.f64 (+.f64 (cos.f64 eps) 1) (+.f64 (pow.f64 (cos.f64 eps) 2) -1)))
41.8b
(*.f64 (pow.f64 (log.f64 (exp.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 6))) 1/3) -2)
42.2b
(-.f64 (+.f64 (cos.f64 eps) (*.f64 -1 (*.f64 x (sin.f64 eps)))) 1)
45.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (+.f64 x eps) 2) (*.f64 x x)) eps) 1/2))) -2)
49.8b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (expm1.f64 (log1p.f64 (*.f64 1/2 eps))))) -2)
55.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (/.f64 (*.f64 (pow.f64 eps 3) 1/2) (*.f64 eps eps)))) -2)
33.8b
(expm1.f64 (*.f64 (sin.f64 x) (neg.f64 eps)))
54.8b
(pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 2)) 3)
15.7b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)
40.7b
(-.f64 (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))) (cos.f64 x))
25.6b
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (cos.f64 x))
34.8b
(*.f64 (sin.f64 x) (neg.f64 eps))
33.3b
(*.f64 (expm1.f64 (log1p.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (sin.f64 x)))) -2)
34.8b
(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)))))
30.3b
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
25.6b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))))
41.3b
(*.f64 (pow.f64 (cbrt.f64 -2) 3) (/.f64 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))) 2))
17.0b
(*.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))))
55.5b
(sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))
25.6b
(-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))
Compiler

Compiled 1478 to 1105 computations (25.2% saved)

regimes1.8s (7.2%)

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

4 calls:

1.2s
x
238.0ms
eps
128.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
112.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
8.2b12x
0.4b3eps
8.3b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
8.3b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 1994 to 1081 computations (45.8% saved)

bsearch194.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
96.0ms
2.430927827935982e-5
23.385242453441677
97.0ms
-0.01967658489477877
-8.825915668698037e-7
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes1.7s (6.9%)

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

4 calls:

1.2s
x
210.0ms
eps
161.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
155.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
8.2b12x
0.4b3eps
8.4b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
8.4b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 1686 to 1005 computations (40.4% saved)

bsearch127.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
66.0ms
2.430927827935982e-5
23.385242453441677
60.0ms
-0.01967658489477877
-8.825915668698037e-7
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes1.6s (6.2%)

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

4 calls:

848.0ms
x
261.0ms
eps
203.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
146.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
8.2b12x
0.4b3eps
8.4b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
8.4b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 1547 to 944 computations (39% saved)

bsearch194.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
91.0ms
2.430927827935982e-5
23.385242453441677
102.0ms
-0.01967658489477877
-8.825915668698037e-7
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes1.6s (6.4%)

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

4 calls:

1.0s
x
180.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
174.0ms
eps
154.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
8.2b12x
0.5b3eps
8.4b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
8.4b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 1520 to 938 computations (38.3% saved)

bsearch135.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
70.0ms
2.430927827935982e-5
23.385242453441677
64.0ms
-0.01967658489477877
-8.825915668698037e-7
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes1.6s (6.3%)

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

4 calls:

1.1s
x
182.0ms
eps
131.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
86.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
8.3b12x
0.5b3eps
8.5b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
8.5b3(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 1471 to 914 computations (37.9% saved)

bsearch132.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
70.0ms
2.430927827935982e-5
23.385242453441677
60.0ms
-0.01967658489477877
-8.825915668698037e-7
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes931.0ms (3.7%)

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

346.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
74.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
73.0ms
eps
65.0ms
x
Results
ErrorSegmentsBranch
15.7b1x
15.7b1eps
15.7b1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
15.7b1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 1457 to 910 computations (37.5% saved)

regimes191.0ms (0.8%)

Counts
31 → 3
Calls
Call 1
Inputs
(*.f64 eps (neg.f64 x))
(*.f64 eps (*.f64 eps -1/2))
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (*.f64 eps (*.f64 eps (cbrt.f64 1/64))) -2)
(-.f64 (+.f64 1 (*.f64 (sin.f64 x) eps)) 1)
(*.f64 (*.f64 eps eps) (fma.f64 (*.f64 eps eps) 1/24 -1/2))
(*.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/24) -1/2))
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(+.f64 (*.f64 -1 (*.f64 eps x)) (*.f64 1/6 (*.f64 eps (pow.f64 x 3))))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
(fabs.f64 (+.f64 (cos.f64 eps) -1))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 x) (cos.f64 x))
(expm1.f64 (*.f64 (sin.f64 x) (neg.f64 eps)))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)
(pow.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 eps eps))) 3)
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)
(-.f64 (+.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1) 1)
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (pow.f64 eps 2)))
(*.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 (cos.f64 (*.f64 1/2 x)) (*.f64 eps (sin.f64 (*.f64 1/2 x)))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 x)) -2)
(-.f64 (*.f64 (cos.f64 x) (*.f64 eps (*.f64 eps -1/2))) (*.f64 eps (sin.f64 x)))
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (/.f64 (*.f64 (*.f64 eps eps) 1/2) eps))) -2)
Outputs
(*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2)
(*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x)))
(-.f64 (cos.f64 eps) (cos.f64 x))
Calls

4 calls:

63.0ms
x
54.0ms
eps
37.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
25.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
17.7b3x
15.5b3eps
16.4b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
16.4b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 316 to 199 computations (37% saved)

bsearch113.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
55.0ms
2924667556.7783012
6246712717.470988
58.0ms
-8.825915668698037e-7
-2.1706050148096177e-11
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes267.0ms (1.1%)

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

4 calls:

129.0ms
x
83.0ms
eps
17.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
15.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
18.8b3x
19.3b3eps
20.3b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
20.3b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 199 to 126 computations (36.7% saved)

bsearch340.0ms (1.4%)

Algorithm
binary-search
Steps
TimeLeftRight
149.0ms
5.7657628582656835e-67
1.3613997707129796e-59
190.0ms
-4.365679655594944e-8
-4.132899959060146e-11
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes159.0ms (0.6%)

Counts
16 → 3
Calls
Call 1
Inputs
(*.f64 eps (neg.f64 x))
(*.f64 eps (*.f64 eps -1/2))
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (*.f64 eps (*.f64 eps (cbrt.f64 1/64))) -2)
(-.f64 (+.f64 1 (*.f64 (sin.f64 x) eps)) 1)
(*.f64 (*.f64 eps eps) (fma.f64 (*.f64 eps eps) 1/24 -1/2))
(*.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/24) -1/2))
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(+.f64 (*.f64 -1 (*.f64 eps x)) (*.f64 1/6 (*.f64 eps (pow.f64 x 3))))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
(fabs.f64 (+.f64 (cos.f64 eps) -1))
(-.f64 (cos.f64 eps) (cos.f64 x))
(-.f64 (cos.f64 x) (cos.f64 x))
(expm1.f64 (*.f64 (sin.f64 x) (neg.f64 eps)))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Outputs
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(-.f64 (cos.f64 eps) (cos.f64 x))
Calls

3 calls:

71.0ms
x
54.0ms
eps
24.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
ErrorSegmentsBranch
23.2b3x
20.2b3eps
20.7b2(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 136 to 81 computations (40.4% saved)

bsearch138.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
54.0ms
2924667556.7783012
6246712717.470988
84.0ms
-2.1706050148096177e-11
-8.594427025356138e-12
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes64.0ms (0.3%)

Counts
12 → 3
Calls
Call 1
Inputs
(*.f64 eps (neg.f64 x))
(*.f64 eps (*.f64 eps -1/2))
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 (*.f64 eps (*.f64 eps (cbrt.f64 1/64))) -2)
(-.f64 (+.f64 1 (*.f64 (sin.f64 x) eps)) 1)
(*.f64 (*.f64 eps eps) (fma.f64 (*.f64 eps eps) 1/24 -1/2))
(*.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/24) -1/2))
(*.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps 1/24) -1/2)))
(+.f64 (*.f64 -1 (*.f64 eps x)) (*.f64 1/6 (*.f64 eps (pow.f64 x 3))))
(*.f64 (/.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 1/2 (+.f64 eps eps)))))) -2)
(fabs.f64 (+.f64 (cos.f64 eps) -1))
Outputs
(-.f64 (cos.f64 eps) 1)
(*.f64 (sin.f64 x) (neg.f64 eps))
(-.f64 (cos.f64 eps) 1)
Calls

2 calls:

35.0ms
x
24.0ms
eps
Results
ErrorSegmentsBranch
23.8b3x
20.3b3eps
Compiler

Compiled 104 to 68 computations (34.6% saved)

bsearch128.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
60.0ms
2924667556.7783012
6246712717.470988
67.0ms
-2.1706050148096177e-11
-8.594427025356138e-12
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes24.0ms (0.1%)

Counts
3 → 5
Calls
Call 1
Inputs
(*.f64 eps (neg.f64 x))
(*.f64 eps (*.f64 eps -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:

19.0ms
eps
4.0ms
x
Results
ErrorSegmentsBranch
40.9b1x
34.9b5eps
Compiler

Compiled 21 to 14 computations (33.3% saved)

bsearch524.0ms (2.1%)

Algorithm
binary-search
Steps
TimeLeftRight
94.0ms
9.489344468365535e-8
2.430927827935982e-5
231.0ms
8.600544163350966e-158
1.4309693537493081e-157
133.0ms
-2.684791900755567e-138
-3.8543413536153734e-143
65.0ms
-0.01967658489477877
-8.825915668698037e-7
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes36.0ms (0.1%)

Accuracy

Total -7.2b remaining (-14.7%)

Threshold costs -7.2b (-14.7%)

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

2 calls:

19.0ms
eps
14.0ms
x
Results
ErrorSegmentsBranch
49.4b2x
49.7b3eps
Compiler

Compiled 17 to 11 computations (35.3% saved)

bsearch145.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
145.0ms
6.04785922399166e-143
3.419348313918051e-133
Compiler

Compiled 14 to 10 computations (28.6% saved)

simplify107.0ms (0.4%)

Algorithm
egg-herbie
Rules
166×distribute-rgt-neg-in_binary64
149×cancel-sign-sub-inv_binary64
108×distribute-lft-neg-in_binary64
103×neg-sub0_binary64
103×neg-mul-1_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0112743
1169739
2216739
3259739
4339739
5428739
6526739
7626739
8718739
9811739
10876739
11924739
12991739
131084739
141194739
151285739
161335739
171357739
181361739
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 eps -2835694732801587/144115188075855872) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (if (<=.f64 eps 7174832560574993/295147905179352825856) (+.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))))) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))
(if (<=.f64 eps -2835694732801587/144115188075855872) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (if (<=.f64 eps 7174832560574993/295147905179352825856) (+.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))))) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))
(if (<=.f64 eps -2835694732801587/144115188075855872) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (if (<=.f64 eps 7174832560574993/295147905179352825856) (+.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 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))
(if (<=.f64 eps -2835694732801587/144115188075855872) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 7174832560574993/295147905179352825856) (+.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 (*.f64 (cos.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))))))
(if (<=.f64 eps -2835694732801587/144115188075855872) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 7174832560574993/295147905179352825856) (+.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 (-.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)
(if (<=.f64 eps -1041980208362341/1180591620717411303424) (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2) (if (<=.f64 eps 766684052004091/262144) (*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x))) (-.f64 (cos.f64 eps) (cos.f64 x))))
(if (<=.f64 x -6597228569768787/151115727451828646838272) (expm1.f64 (*.f64 (sin.f64 x) (neg.f64 eps))) (if (<=.f64 x 8750756363049413/15177100720513508366558296147058741458143803430094840009779784451085189728165691392) (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2) (expm1.f64 (*.f64 (sin.f64 x) (neg.f64 eps)))))
(if (<=.f64 eps -3358848571633077/154742504910672534362390528) (-.f64 (cos.f64 eps) 1) (if (<=.f64 eps 766684052004091/262144) (*.f64 (sin.f64 x) (neg.f64 eps)) (-.f64 (cos.f64 eps) (cos.f64 x))))
(if (<=.f64 eps -3358848571633077/154742504910672534362390528) (-.f64 (cos.f64 eps) 1) (if (<=.f64 eps 766684052004091/262144) (*.f64 (sin.f64 x) (neg.f64 eps)) (-.f64 (cos.f64 eps) 1)))
(if (<=.f64 eps -2835694732801587/144115188075855872) (-.f64 (cos.f64 eps) 1) (if (<=.f64 eps -8999293534299037/3351951982485649274893506249551461531869841455148098344430890360930441007518386744200468574541725856922507964546621512713438470702986642486608412251521024) (*.f64 eps (*.f64 eps -1/2)) (if (<=.f64 eps 5317940102021901/61832600368276133515125630254911797508782837275302959978515764023224306276632966792579100265310761247399417856504034834837841258576687802491886538775473291979151693037174784) (*.f64 eps (neg.f64 x)) (if (<=.f64 eps 1792486490472555/18889465931478580854784) (*.f64 eps (*.f64 eps -1/2)) (-.f64 (cos.f64 eps) 1)))))
(if (<=.f64 x 1660693193986291/27459190640522438859927603196325572869077741200573221637577853836742172733590624208490238562645818219909185245565923432148487951998866575250296113164460228608) (*.f64 eps (*.f64 eps -1/2)) (*.f64 eps (neg.f64 x)))
(*.f64 eps (neg.f64 x))
Outputs
(if (<=.f64 eps -2835694732801587/144115188075855872) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (if (<=.f64 eps 7174832560574993/295147905179352825856) (+.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))))) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))
(if (<=.f64 eps -2835694732801587/144115188075855872) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (if (<=.f64 eps 7174832560574993/295147905179352825856) (+.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))))) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))
(if (<=.f64 eps -2835694732801587/144115188075855872) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (if (<=.f64 eps 7174832560574993/295147905179352825856) (+.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))))) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))))))
(if (<=.f64 eps -2835694732801587/144115188075855872) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (if (<=.f64 eps 7174832560574993/295147905179352825856) (+.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))))) (fma.f64 (cos.f64 x) (cos.f64 eps) (-.f64 (*.f64 (sin.f64 x) (neg.f64 (sin.f64 eps))) (cos.f64 x)))))
(if (<=.f64 eps -2835694732801587/144115188075855872) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (if (<=.f64 eps 7174832560574993/295147905179352825856) (+.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))))) (fma.f64 (cos.f64 x) (cos.f64 eps) (-.f64 (neg.f64 (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))))))
(if (<=.f64 eps -2835694732801587/144115188075855872) (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (if (<=.f64 eps 7174832560574993/295147905179352825856) (+.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 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))
(if (<=.f64 eps -2835694732801587/144115188075855872) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 7174832560574993/295147905179352825856) (+.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 (*.f64 (cos.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))))))
(if (<=.f64 eps -2835694732801587/144115188075855872) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 7174832560574993/295147905179352825856) (+.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 (*.f64 (cos.f64 x) (cos.f64 eps)) (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))))
(if (<=.f64 eps -2835694732801587/144115188075855872) (-.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x)) (if (<=.f64 eps 7174832560574993/295147905179352825856) (+.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 (-.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 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 1/2 (+.f64 x (+.f64 eps x))))) -2)
(*.f64 (*.f64 (sin.f64 (*.f64 -1/2 (-.f64 (-.f64 x x) eps))) (sin.f64 (*.f64 1/2 (+.f64 x (+.f64 eps x))))) -2)
(if (<=.f64 eps -1041980208362341/1180591620717411303424) (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2) (if (<=.f64 eps 766684052004091/262144) (*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x))) (-.f64 (cos.f64 eps) (cos.f64 x))))
(if (<=.f64 eps -1041980208362341/1180591620717411303424) (*.f64 -2 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)) (if (<=.f64 eps 766684052004091/262144) (*.f64 eps (-.f64 (*.f64 (cos.f64 x) (*.f64 eps -1/2)) (sin.f64 x))) (-.f64 (cos.f64 eps) (cos.f64 x))))
(if (<=.f64 x -6597228569768787/151115727451828646838272) (expm1.f64 (*.f64 (sin.f64 x) (neg.f64 eps))) (if (<=.f64 x 8750756363049413/15177100720513508366558296147058741458143803430094840009779784451085189728165691392) (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) -2) (expm1.f64 (*.f64 (sin.f64 x) (neg.f64 eps)))))
(if (<=.f64 x -6597228569768787/151115727451828646838272) (expm1.f64 (*.f64 (sin.f64 x) (neg.f64 eps))) (if (<=.f64 x 8750756363049413/15177100720513508366558296147058741458143803430094840009779784451085189728165691392) (*.f64 -2 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)) (expm1.f64 (*.f64 (sin.f64 x) (neg.f64 eps)))))
(if (<=.f64 eps -3358848571633077/154742504910672534362390528) (-.f64 (cos.f64 eps) 1) (if (<=.f64 eps 766684052004091/262144) (*.f64 (sin.f64 x) (neg.f64 eps)) (-.f64 (cos.f64 eps) (cos.f64 x))))
(if (<=.f64 eps -3358848571633077/154742504910672534362390528) (+.f64 (cos.f64 eps) -1) (if (<=.f64 eps 766684052004091/262144) (*.f64 (sin.f64 x) (neg.f64 eps)) (-.f64 (cos.f64 eps) (cos.f64 x))))
(if (<=.f64 eps -3358848571633077/154742504910672534362390528) (-.f64 (cos.f64 eps) 1) (if (<=.f64 eps 766684052004091/262144) (*.f64 (sin.f64 x) (neg.f64 eps)) (-.f64 (cos.f64 eps) 1)))
(if (<=.f64 eps -3358848571633077/154742504910672534362390528) (+.f64 (cos.f64 eps) -1) (if (<=.f64 eps 766684052004091/262144) (*.f64 (sin.f64 x) (neg.f64 eps)) (+.f64 (cos.f64 eps) -1)))
(if (<=.f64 eps -2835694732801587/144115188075855872) (-.f64 (cos.f64 eps) 1) (if (<=.f64 eps -8999293534299037/3351951982485649274893506249551461531869841455148098344430890360930441007518386744200468574541725856922507964546621512713438470702986642486608412251521024) (*.f64 eps (*.f64 eps -1/2)) (if (<=.f64 eps 5317940102021901/61832600368276133515125630254911797508782837275302959978515764023224306276632966792579100265310761247399417856504034834837841258576687802491886538775473291979151693037174784) (*.f64 eps (neg.f64 x)) (if (<=.f64 eps 1792486490472555/18889465931478580854784) (*.f64 eps (*.f64 eps -1/2)) (-.f64 (cos.f64 eps) 1)))))
(if (<=.f64 eps -2835694732801587/144115188075855872) (+.f64 (cos.f64 eps) -1) (if (<=.f64 eps -8999293534299037/3351951982485649274893506249551461531869841455148098344430890360930441007518386744200468574541725856922507964546621512713438470702986642486608412251521024) (*.f64 eps (*.f64 eps -1/2)) (if (<=.f64 eps 5317940102021901/61832600368276133515125630254911797508782837275302959978515764023224306276632966792579100265310761247399417856504034834837841258576687802491886538775473291979151693037174784) (neg.f64 (*.f64 eps x)) (if (<=.f64 eps 1792486490472555/18889465931478580854784) (*.f64 eps (*.f64 eps -1/2)) (+.f64 (cos.f64 eps) -1)))))
(if (<=.f64 eps -2835694732801587/144115188075855872) (+.f64 (cos.f64 eps) -1) (if (<=.f64 eps -8999293534299037/3351951982485649274893506249551461531869841455148098344430890360930441007518386744200468574541725856922507964546621512713438470702986642486608412251521024) (*.f64 eps (*.f64 eps -1/2)) (if (<=.f64 eps 5317940102021901/61832600368276133515125630254911797508782837275302959978515764023224306276632966792579100265310761247399417856504034834837841258576687802491886538775473291979151693037174784) (*.f64 (neg.f64 eps) x) (if (<=.f64 eps 1792486490472555/18889465931478580854784) (*.f64 eps (*.f64 eps -1/2)) (+.f64 (cos.f64 eps) -1)))))
(if (<=.f64 eps -2835694732801587/144115188075855872) (+.f64 (cos.f64 eps) -1) (if (<=.f64 eps -8999293534299037/3351951982485649274893506249551461531869841455148098344430890360930441007518386744200468574541725856922507964546621512713438470702986642486608412251521024) (*.f64 eps (*.f64 eps -1/2)) (if (<=.f64 eps 5317940102021901/61832600368276133515125630254911797508782837275302959978515764023224306276632966792579100265310761247399417856504034834837841258576687802491886538775473291979151693037174784) (*.f64 x (neg.f64 eps)) (if (<=.f64 eps 1792486490472555/18889465931478580854784) (*.f64 eps (*.f64 eps -1/2)) (+.f64 (cos.f64 eps) -1)))))
(if (<=.f64 x 1660693193986291/27459190640522438859927603196325572869077741200573221637577853836742172733590624208490238562645818219909185245565923432148487951998866575250296113164460228608) (*.f64 eps (*.f64 eps -1/2)) (*.f64 eps (neg.f64 x)))
(if (<=.f64 x 1660693193986291/27459190640522438859927603196325572869077741200573221637577853836742172733590624208490238562645818219909185245565923432148487951998866575250296113164460228608) (*.f64 eps (*.f64 eps -1/2)) (neg.f64 (*.f64 eps x)))
(if (<=.f64 x 1660693193986291/27459190640522438859927603196325572869077741200573221637577853836742172733590624208490238562645818219909185245565923432148487951998866575250296113164460228608) (*.f64 eps (*.f64 eps -1/2)) (*.f64 (neg.f64 eps) x))
(if (<=.f64 x 1660693193986291/27459190640522438859927603196325572869077741200573221637577853836742172733590624208490238562645818219909185245565923432148487951998866575250296113164460228608) (*.f64 eps (*.f64 eps -1/2)) (*.f64 x (neg.f64 eps)))
(*.f64 eps (neg.f64 x))
(neg.f64 (*.f64 eps x))
(*.f64 (neg.f64 eps) x)
(*.f64 x (neg.f64 eps))
Compiler

Compiled 503 to 294 computations (41.6% saved)

soundness104.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
Compiler

Compiled 459 to 329 computations (28.3% saved)

end184.0ms (0.7%)

Compiler

Compiled 479 to 220 computations (54.1% saved)

Profiling

Loading profile data...