Details

Time bar (total: 16.2s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 10 to 7 computations (30% saved)

sample5.7s (35.1%)

Results
3.2s3606×body1024valid
1.3s1244×body2048valid
772.0ms1444×body512valid
413.0ms1961×body256valid
1.0msbody4096valid
Bogosity

preprocess30.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

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

Compiled 11 to 8 computations (27.3% saved)

simplify13.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

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

eval0.0ms (0%)

Compiler

Compiled 9 to 6 computations (33.3% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 9 to 6 computations (33.3% saved)

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 20 to 6 computations (70% saved)

series9.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite86.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

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

simplify63.0ms (0.4%)

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

Useful iterations: 4 (0.0ms)

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

eval53.0ms (0.3%)

Compiler

Compiled 3642 to 1131 computations (68.9% saved)

prune118.0ms (0.7%)

Pruning

40 alts after pruning (39 fresh and 1 done)

PrunedKeptTotal
New16639205
Fresh000
Picked011
Done000
Total16640206
Error
0.2b
Counts
206 → 40
Alt Table
Click to see full alt table
StatusErrorProgram
46.4b
(log.f64 (/.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))) (exp.f64 (sin.f64 x))))
61.2b
(-.f64 (sin.f64 x) (sin.f64 x))
30.2b
(*.f64 (cos.f64 x) eps)
32.7b
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
40.3b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)
40.3b
(-.f64 (log1p.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
41.2b
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x))
40.8b
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x))
25.0b
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
40.1b
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
46.3b
(-.f64 (-.f64 (exp.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) 1) (sin.f64 x))
30.6b
(fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 1/24 (pow.f64 eps 4)))))
24.3b
(fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
40.2b
(-.f64 (sin.f64 eps) (sin.f64 x))
24.3b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
44.8b
(fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
30.8b
(-.f64 (log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps))))) (sin.f64 x))
30.5b
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps)))
30.5b
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
40.1b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
24.9b
(-.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
41.2b
(-.f64 (fma.f64 x (+.f64 (cos.f64 eps) (*.f64 x (*.f64 (sin.f64 eps) -1/2))) (sin.f64 eps)) x)
24.2b
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
24.2b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
46.4b
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
30.4b
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x)))))
52.1b
(exp.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
52.4b
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x))
30.5b
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
34.4b
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
51.8b
(pow.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)
25.0b
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
41.0b
(*.f64 (pow.f64 (cbrt.f64 2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
40.7b
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) x)
46.4b
(log.f64 (/.f64 (exp.f64 (sin.f64 (+.f64 x eps))) (+.f64 1 (expm1.f64 (sin.f64 x)))))
40.5b
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)
24.3b
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
44.3b
(fma.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
46.4b
(log.f64 (*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (exp.f64 (sin.f64 (+.f64 x eps)))))
24.8b
(-.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
Compiler

Compiled 1235 to 814 computations (34.1% saved)

localize18.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 40 to 9 computations (77.5% saved)

series16.0ms (0.1%)

Counts
3 → 56
Calls

18 calls:

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

rewrite169.0ms (1%)

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

Useful iterations: 2 (0.0ms)

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

simplify158.0ms (1%)

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

Useful iterations: 5 (0.0ms)

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

localize11.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 10 to 4 computations (60% saved)

series11.0ms (0.1%)

Counts
1 → 8
Calls

6 calls:

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

rewrite53.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

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

simplify148.0ms (0.9%)

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

Useful iterations: 4 (0.0ms)

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

localize151.0ms (0.9%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))
0.5b
(exp.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
1.6b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
3.1b
(sin.f64 (+.f64 x eps))
Compiler

Compiled 37 to 8 computations (78.4% saved)

series158.0ms (1%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
51.0ms
eps
@-inf
(log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))
49.0ms
x
@inf
(log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))
31.0ms
x
@-inf
(log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))
19.0ms
eps
@inf
(log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))
2.0ms
x
@0
(exp.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))

rewrite124.0ms (0.8%)

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

Useful iterations: 0 (0.0ms)

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

simplify77.0ms (0.5%)

Algorithm
egg-herbie
Rules
613×associate-*r*_binary64
564×associate-*l*_binary64
474×fma-def_binary64
372×unswap-sqr_binary64
235×associate-+l+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0124915
1362906
21123886
36455886
Stop Event
node limit
Counts
229 → 216
Calls
Call 1
Inputs
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3)) (sin.f64 eps))))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(*.f64 (cos.f64 x) eps)
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(log.f64 (sin.f64 eps))
(+.f64 (*.f64 (-.f64 (/.f64 (cos.f64 eps) (sin.f64 eps)) (/.f64 1 (sin.f64 eps))) x) (log.f64 (sin.f64 eps)))
(+.f64 (*.f64 (-.f64 (/.f64 (cos.f64 eps) (sin.f64 eps)) (/.f64 1 (sin.f64 eps))) x) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (*.f64 -1 (/.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 2) (pow.f64 (sin.f64 eps) 2))) 1) (pow.f64 x 2))) (log.f64 (sin.f64 eps))))
(+.f64 (*.f64 (-.f64 (/.f64 (cos.f64 eps) (sin.f64 eps)) (/.f64 1 (sin.f64 eps))) x) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (*.f64 -1 (/.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 2) (pow.f64 (sin.f64 eps) 2))) 1) (pow.f64 x 2))) (+.f64 (log.f64 (sin.f64 eps)) (*.f64 1/6 (*.f64 (+.f64 (*.f64 3 (/.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 eps))) (+.f64 (*.f64 6 (/.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (sin.f64 eps))) (*.f64 2 (/.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 3) (pow.f64 (sin.f64 eps) 3))))) (pow.f64 x 3))))))
(log.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)))
(+.f64 (log.f64 eps) (log.f64 (cos.f64 x)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 eps (sin.f64 x)) (cos.f64 x))) (+.f64 (log.f64 eps) (log.f64 (cos.f64 x))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 eps (sin.f64 x)) (cos.f64 x))) (+.f64 (log.f64 eps) (+.f64 (log.f64 (cos.f64 x)) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (-.f64 (*.f64 -1/4 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))) 1/3))))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 eps (sin.f64 x)) (cos.f64 x))) (+.f64 (log.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (cos.f64 x) 3))) (+.f64 (*.f64 -1/2 (/.f64 (sin.f64 x) (cos.f64 x))) (*.f64 1/4 (/.f64 (sin.f64 x) (cos.f64 x))))))) (+.f64 (log.f64 (cos.f64 x)) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (-.f64 (*.f64 -1/4 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))) 1/3)))))))
(log.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)))
Outputs
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3)) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (fma.f64 -1/6 (cos.f64 eps) 1/6) (pow.f64 x 3) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (pow.f64 x 3) (sin.f64 eps))))
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (pow.f64 x 3) (sin.f64 eps))))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 (cos.f64 x) eps (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))
(fma.f64 eps (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps))))
(fma.f64 eps (cos.f64 x) (*.f64 eps (*.f64 (sin.f64 x) (*.f64 eps -1/2))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))))
(+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 eps (*.f64 (sin.f64 x) (*.f64 eps -1/2))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))))
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (+.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 1/24 (pow.f64 eps 4)))))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(log.f64 (sin.f64 eps))
(+.f64 (*.f64 (-.f64 (/.f64 (cos.f64 eps) (sin.f64 eps)) (/.f64 1 (sin.f64 eps))) x) (log.f64 (sin.f64 eps)))
(fma.f64 (/.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 eps)) x (log.f64 (sin.f64 eps)))
(fma.f64 x (/.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 eps)) (log.f64 (sin.f64 eps)))
(+.f64 (*.f64 (-.f64 (/.f64 (cos.f64 eps) (sin.f64 eps)) (/.f64 1 (sin.f64 eps))) x) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (*.f64 -1 (/.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 2) (pow.f64 (sin.f64 eps) 2))) 1) (pow.f64 x 2))) (log.f64 (sin.f64 eps))))
(fma.f64 (/.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 eps)) x (fma.f64 1/2 (*.f64 (*.f64 x x) (fma.f64 -1 (/.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (sin.f64 eps) 2)) -1)) (log.f64 (sin.f64 eps))))
(fma.f64 x (/.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 eps)) (fma.f64 1/2 (*.f64 x (*.f64 x (fma.f64 -1 (/.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (sin.f64 eps) 2)) -1))) (log.f64 (sin.f64 eps))))
(fma.f64 (*.f64 x x) (+.f64 -1/2 (*.f64 -1/2 (/.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (sin.f64 eps) 2)))) (fma.f64 x (/.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 eps)) (log.f64 (sin.f64 eps))))
(+.f64 (*.f64 (-.f64 (/.f64 (cos.f64 eps) (sin.f64 eps)) (/.f64 1 (sin.f64 eps))) x) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (*.f64 -1 (/.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 2) (pow.f64 (sin.f64 eps) 2))) 1) (pow.f64 x 2))) (+.f64 (log.f64 (sin.f64 eps)) (*.f64 1/6 (*.f64 (+.f64 (*.f64 3 (/.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 eps))) (+.f64 (*.f64 6 (/.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (sin.f64 eps))) (*.f64 2 (/.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 3) (pow.f64 (sin.f64 eps) 3))))) (pow.f64 x 3))))))
(fma.f64 (/.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 eps)) x (+.f64 (fma.f64 1/2 (*.f64 (*.f64 x x) (fma.f64 -1 (/.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (sin.f64 eps) 2)) -1)) (log.f64 (sin.f64 eps))) (*.f64 (*.f64 1/6 (fma.f64 3 (/.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 eps)) (fma.f64 6 (/.f64 (fma.f64 -1/6 (cos.f64 eps) 1/6) (sin.f64 eps)) (/.f64 (*.f64 2 (pow.f64 (+.f64 (cos.f64 eps) -1) 3)) (pow.f64 (sin.f64 eps) 3))))) (pow.f64 x 3))))
(fma.f64 x (/.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 eps)) (fma.f64 1/2 (*.f64 x (*.f64 x (fma.f64 -1 (/.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (sin.f64 eps) 2)) -1))) (fma.f64 1/6 (*.f64 (pow.f64 x 3) (fma.f64 3 (/.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 eps)) (fma.f64 2 (/.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3) (pow.f64 (sin.f64 eps) 3)) (*.f64 6 (/.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (sin.f64 eps)))))) (log.f64 (sin.f64 eps)))))
(fma.f64 x (/.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 eps)) (fma.f64 (*.f64 x x) (+.f64 -1/2 (*.f64 -1/2 (/.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (sin.f64 eps) 2)))) (fma.f64 1/6 (*.f64 (pow.f64 x 3) (+.f64 (/.f64 (fma.f64 (cos.f64 eps) 3 -3) (sin.f64 eps)) (fma.f64 2 (pow.f64 (/.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 eps)) 3) (/.f64 (neg.f64 (+.f64 (cos.f64 eps) -1)) (sin.f64 eps))))) (log.f64 (sin.f64 eps)))))
(fma.f64 x (/.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 eps)) (fma.f64 (*.f64 x x) (+.f64 -1/2 (*.f64 -1/2 (/.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (sin.f64 eps) 2)))) (fma.f64 1/6 (*.f64 (pow.f64 x 3) (+.f64 (/.f64 (fma.f64 (cos.f64 eps) 3 -3) (sin.f64 eps)) (fma.f64 2 (pow.f64 (/.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 eps)) 3) (/.f64 (+.f64 1 (neg.f64 (cos.f64 eps))) (sin.f64 eps))))) (log.f64 (sin.f64 eps)))))
(log.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(+.f64 (log.f64 eps) (log.f64 (cos.f64 x)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 eps (sin.f64 x)) (cos.f64 x))) (+.f64 (log.f64 eps) (log.f64 (cos.f64 x))))
(fma.f64 -1/2 (/.f64 eps (/.f64 (cos.f64 x) (sin.f64 x))) (+.f64 (log.f64 eps) (log.f64 (cos.f64 x))))
(fma.f64 -1/2 (*.f64 (/.f64 eps (cos.f64 x)) (sin.f64 x)) (+.f64 (log.f64 eps) (log.f64 (cos.f64 x))))
(+.f64 (log.f64 eps) (fma.f64 -1/2 (*.f64 (sin.f64 x) (/.f64 eps (cos.f64 x))) (log.f64 (cos.f64 x))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 eps (sin.f64 x)) (cos.f64 x))) (+.f64 (log.f64 eps) (+.f64 (log.f64 (cos.f64 x)) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (-.f64 (*.f64 -1/4 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))) 1/3))))))
(fma.f64 -1/2 (/.f64 eps (/.f64 (cos.f64 x) (sin.f64 x))) (+.f64 (+.f64 (log.f64 eps) (log.f64 (cos.f64 x))) (*.f64 (*.f64 1/2 (*.f64 eps eps)) (fma.f64 -1/4 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) -1/3))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 eps eps) (fma.f64 -1/4 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) -1/3)) (log.f64 (cos.f64 x))) (fma.f64 -1/2 (*.f64 (/.f64 eps (cos.f64 x)) (sin.f64 x)) (log.f64 eps)))
(+.f64 (fma.f64 -1/2 (*.f64 (sin.f64 x) (/.f64 eps (cos.f64 x))) (log.f64 (cos.f64 x))) (fma.f64 (fma.f64 -1/4 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) -1/3) (*.f64 eps (*.f64 eps 1/2)) (log.f64 eps)))
(+.f64 (fma.f64 -1/2 (*.f64 (sin.f64 x) (/.f64 eps (cos.f64 x))) (log.f64 (cos.f64 x))) (fma.f64 (fma.f64 (/.f64 -1/4 (pow.f64 (cos.f64 x) 2)) (pow.f64 (sin.f64 x) 2) -1/3) (*.f64 eps (*.f64 eps 1/2)) (log.f64 eps)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 eps (sin.f64 x)) (cos.f64 x))) (+.f64 (log.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (cos.f64 x) 3))) (+.f64 (*.f64 -1/2 (/.f64 (sin.f64 x) (cos.f64 x))) (*.f64 1/4 (/.f64 (sin.f64 x) (cos.f64 x))))))) (+.f64 (log.f64 (cos.f64 x)) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (-.f64 (*.f64 -1/4 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))) 1/3)))))))
(fma.f64 -1/2 (/.f64 eps (/.f64 (cos.f64 x) (sin.f64 x))) (+.f64 (log.f64 eps) (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (fma.f64 -1/4 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (cos.f64 x) 3)) (*.f64 (/.f64 (sin.f64 x) (cos.f64 x)) -1/4))) (+.f64 (log.f64 (cos.f64 x)) (*.f64 (*.f64 1/2 (*.f64 eps eps)) (fma.f64 -1/4 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) -1/3))))))
(+.f64 (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (*.f64 -1/4 (+.f64 (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 (sin.f64 x) (cos.f64 x))))) (fma.f64 1/2 (*.f64 (*.f64 eps eps) (fma.f64 -1/4 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) -1/3)) (log.f64 (cos.f64 x)))) (fma.f64 -1/2 (*.f64 (/.f64 eps (cos.f64 x)) (sin.f64 x)) (log.f64 eps)))
(+.f64 (log.f64 eps) (fma.f64 -1/2 (*.f64 (sin.f64 x) (/.f64 eps (cos.f64 x))) (fma.f64 (*.f64 eps eps) (*.f64 1/2 (fma.f64 -1/4 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) -1/3)) (fma.f64 (pow.f64 eps 3) (*.f64 -1/24 (+.f64 (pow.f64 (/.f64 (sin.f64 x) (cos.f64 x)) 3) (/.f64 (sin.f64 x) (cos.f64 x)))) (log.f64 (cos.f64 x))))))
(+.f64 (log.f64 eps) (fma.f64 -1/2 (*.f64 (sin.f64 x) (/.f64 eps (cos.f64 x))) (fma.f64 (*.f64 eps eps) (*.f64 1/2 (fma.f64 (/.f64 -1/4 (pow.f64 (cos.f64 x) 2)) (pow.f64 (sin.f64 x) 2) -1/3)) (fma.f64 (pow.f64 eps 3) (*.f64 -1/24 (+.f64 (pow.f64 (/.f64 (sin.f64 x) (cos.f64 x)) 3) (/.f64 (sin.f64 x) (cos.f64 x)))) (log.f64 (cos.f64 x))))))
(log.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)))
(log.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)))

localize51.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (cos.f64 eps) (*.f64 x (*.f64 (sin.f64 eps) -1/2)))
0.1b
(fma.f64 x (+.f64 (cos.f64 eps) (*.f64 x (*.f64 (sin.f64 eps) -1/2))) (sin.f64 eps))
0.1b
(*.f64 x (*.f64 (sin.f64 eps) -1/2))
2.8b
(-.f64 (fma.f64 x (+.f64 (cos.f64 eps) (*.f64 x (*.f64 (sin.f64 eps) -1/2))) (sin.f64 eps)) x)
Compiler

Compiled 56 to 25 computations (55.4% saved)

series14.0ms (0.1%)

Counts
4 → 96
Calls

24 calls:

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

rewrite108.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
613×log-prod_binary64
464×fma-def_binary64
441×pow-prod-down_binary64
334×pow2_binary64
229×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify168.0ms (1%)

Algorithm
egg-herbie
Rules
752×fma-neg_binary64
580×fma-def_binary64
538×unswap-sqr_binary64
517×associate-+l+_binary64
353×*-commutative_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0951528
12681506
27011392
324481372
448271362
570391362
Stop Event
node limit
Counts
305 → 268
Calls
Call 1
Inputs
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (*.f64 (-.f64 (cos.f64 eps) 1) x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 (cos.f64 eps))) x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 (cos.f64 eps))) x)) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 (cos.f64 eps))) x)) (sin.f64 eps)))
(*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 (pow.f64 eps 3) (-.f64 (*.f64 1/12 (pow.f64 x 2)) 1/6)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 (pow.f64 eps 3) (-.f64 (*.f64 1/12 (pow.f64 x 2)) 1/6)) (+.f64 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 1/24 (*.f64 (pow.f64 eps 4) x)))))
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) x)) (cos.f64 eps)) x) (sin.f64 eps)) x)
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) x)) (cos.f64 eps)) x) (sin.f64 eps)) x)
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) x)) (cos.f64 eps)) x) (sin.f64 eps)) x)
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) x)) (cos.f64 eps)) x) (sin.f64 eps)) x)
(-.f64 (+.f64 (*.f64 (+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (sin.f64 eps) x))) x) (sin.f64 eps)) x)
(-.f64 (+.f64 (*.f64 (+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (sin.f64 eps) x))) x) (sin.f64 eps)) x)
(-.f64 (+.f64 (*.f64 (+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (sin.f64 eps) x))) x) (sin.f64 eps)) x)
(-.f64 (+.f64 (*.f64 (+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (sin.f64 eps) x))) x) (sin.f64 eps)) x)
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 -1/2 (*.f64 eps x))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 eps 3) x)) (*.f64 -1/2 (*.f64 eps x)))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 eps 3) x)) (+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/240 (*.f64 (pow.f64 eps 5) x))))
(+.f64 (*.f64 1/10080 (*.f64 (pow.f64 eps 7) x)) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 eps 3) x)) (+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/240 (*.f64 (pow.f64 eps 5) x)))))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(sin.f64 eps)
(+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)))
(*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (*.f64 (cos.f64 eps) x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)))
(*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (*.f64 (cos.f64 eps) x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)))
x
(+.f64 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) x)
(+.f64 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) x))
(+.f64 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (+.f64 (*.f64 (pow.f64 eps 3) (-.f64 (*.f64 1/12 (pow.f64 x 2)) 1/6)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) x)))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) x)) (cos.f64 eps)) x) (sin.f64 eps))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) x)) (cos.f64 eps)) x) (sin.f64 eps))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) x)) (cos.f64 eps)) x) (sin.f64 eps))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) x)) (cos.f64 eps)) x) (sin.f64 eps))
(+.f64 (*.f64 (+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (sin.f64 eps) x))) x) (sin.f64 eps))
(+.f64 (*.f64 (+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (sin.f64 eps) x))) x) (sin.f64 eps))
(+.f64 (*.f64 (+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (sin.f64 eps) x))) x) (sin.f64 eps))
(+.f64 (*.f64 (+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (sin.f64 eps) x))) x) (sin.f64 eps))
1
(+.f64 1 (*.f64 -1/2 (*.f64 eps x)))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 1 (*.f64 -1/2 (*.f64 eps x))))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 1/12 (*.f64 (pow.f64 eps 3) x)))))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) x)) (cos.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) x)) (cos.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) x)) (cos.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) x)) (cos.f64 eps))
(+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (sin.f64 eps) x)))
(+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (sin.f64 eps) x)))
(+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (sin.f64 eps) x)))
(+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (sin.f64 eps) x)))
(cos.f64 eps)
(+.f64 (*.f64 -1/2 (*.f64 x (sin.f64 eps))) (cos.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 x (sin.f64 eps))) (cos.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 x (sin.f64 eps))) (cos.f64 eps))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 x (sin.f64 eps))))
(+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 x (sin.f64 eps))))
(+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 x (sin.f64 eps))))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 x (sin.f64 eps))))
(+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 x (sin.f64 eps))))
(+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 x (sin.f64 eps))))
Outputs
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps))
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(-.f64 (fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (sin.f64 eps)) x)
(fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (-.f64 (sin.f64 eps) x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(-.f64 (fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (sin.f64 eps)) x)
(fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (-.f64 (sin.f64 eps) x))
(*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps)))
(*.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)))
(*.f64 (*.f64 x x) (*.f64 (sin.f64 eps) -1/2))
(*.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (*.f64 (-.f64 (cos.f64 eps) 1) x))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (*.f64 (+.f64 (cos.f64 eps) -1) x))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (*.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x))))
(*.f64 x (+.f64 (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) -1))
(-.f64 (*.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps))) x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(-.f64 (fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (sin.f64 eps)) x)
(fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (-.f64 (sin.f64 eps) x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(-.f64 (fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (sin.f64 eps)) x)
(fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (-.f64 (sin.f64 eps) x))
(*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps)))
(*.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)))
(*.f64 (*.f64 x x) (*.f64 (sin.f64 eps) -1/2))
(*.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 (cos.f64 eps))) x)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (*.f64 (+.f64 (cos.f64 eps) -1) x))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (*.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x))))
(*.f64 x (+.f64 (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) -1))
(-.f64 (*.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps))) x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 (cos.f64 eps))) x)) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(-.f64 (fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (sin.f64 eps)) x)
(fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (-.f64 (sin.f64 eps) x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 -1 (*.f64 (+.f64 1 (*.f64 -1 (cos.f64 eps))) x)) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(-.f64 (fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (sin.f64 eps)) x)
(fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (-.f64 (sin.f64 eps) x))
(*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))
(*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x))))
(*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1))
(*.f64 eps (fma.f64 x (*.f64 x -1/2) 1))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))))
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x)))))
(fma.f64 eps (fma.f64 -1/2 (*.f64 x x) 1) (*.f64 -1/2 (*.f64 x (*.f64 eps eps))))
(fma.f64 eps (fma.f64 -1/2 (*.f64 x x) 1) (*.f64 eps (*.f64 eps (*.f64 x -1/2))))
(+.f64 eps (*.f64 x (*.f64 eps (*.f64 -1/2 (+.f64 eps x)))))
(+.f64 eps (*.f64 eps (*.f64 -1/2 (*.f64 x (+.f64 eps x)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 (pow.f64 eps 3) (-.f64 (*.f64 1/12 (pow.f64 x 2)) 1/6)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))))
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (fma.f64 (pow.f64 eps 3) (fma.f64 1/12 (*.f64 x x) -1/6) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x))))))
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (fma.f64 eps (fma.f64 -1/2 (*.f64 x x) 1) (*.f64 (pow.f64 eps 3) (fma.f64 (*.f64 x x) 1/12 -1/6))))
(fma.f64 eps (fma.f64 -1/2 (*.f64 x x) 1) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 x -1/2) (*.f64 eps (fma.f64 x (*.f64 x 1/12) -1/6)))))
(+.f64 (*.f64 x (*.f64 eps (*.f64 -1/2 (+.f64 eps x)))) (fma.f64 (pow.f64 eps 3) (fma.f64 x (*.f64 x 1/12) -1/6) eps))
(+.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x (+.f64 eps x)))) (fma.f64 (pow.f64 eps 3) (fma.f64 x (*.f64 x 1/12) -1/6) eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 (pow.f64 eps 3) (-.f64 (*.f64 1/12 (pow.f64 x 2)) 1/6)) (+.f64 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 1/24 (*.f64 (pow.f64 eps 4) x)))))
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (fma.f64 (pow.f64 eps 3) (fma.f64 1/12 (*.f64 x x) -1/6) (fma.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (*.f64 1/24 (*.f64 x (pow.f64 eps 4))))))
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (fma.f64 (pow.f64 eps 3) (fma.f64 (*.f64 x x) 1/12 -1/6) (fma.f64 eps (fma.f64 -1/2 (*.f64 x x) 1) (*.f64 1/24 (*.f64 x (pow.f64 eps 4))))))
(fma.f64 x (*.f64 eps (*.f64 eps -1/2)) (fma.f64 eps (fma.f64 -1/2 (*.f64 x x) 1) (fma.f64 (pow.f64 eps 3) (fma.f64 x (*.f64 x 1/12) -1/6) (*.f64 (pow.f64 eps 4) (*.f64 x 1/24)))))
(fma.f64 (pow.f64 eps 3) (fma.f64 x (*.f64 x 1/12) -1/6) (+.f64 (*.f64 x (*.f64 eps (*.f64 -1/2 (+.f64 eps x)))) (fma.f64 x (*.f64 1/24 (pow.f64 eps 4)) eps)))
(fma.f64 (pow.f64 eps 3) (fma.f64 x (*.f64 x 1/12) -1/6) (+.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x (+.f64 eps x)))) (fma.f64 x (*.f64 1/24 (pow.f64 eps 4)) eps)))
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) x)) (cos.f64 eps)) x) (sin.f64 eps)) x)
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(-.f64 (fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (sin.f64 eps)) x)
(fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (-.f64 (sin.f64 eps) x))
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) x)) (cos.f64 eps)) x) (sin.f64 eps)) x)
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(-.f64 (fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (sin.f64 eps)) x)
(fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (-.f64 (sin.f64 eps) x))
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) x)) (cos.f64 eps)) x) (sin.f64 eps)) x)
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(-.f64 (fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (sin.f64 eps)) x)
(fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (-.f64 (sin.f64 eps) x))
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) x)) (cos.f64 eps)) x) (sin.f64 eps)) x)
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(-.f64 (fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (sin.f64 eps)) x)
(fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (-.f64 (sin.f64 eps) x))
(-.f64 (+.f64 (*.f64 (+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (sin.f64 eps) x))) x) (sin.f64 eps)) x)
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(-.f64 (fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (sin.f64 eps)) x)
(fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (-.f64 (sin.f64 eps) x))
(-.f64 (+.f64 (*.f64 (+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (sin.f64 eps) x))) x) (sin.f64 eps)) x)
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(-.f64 (fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (sin.f64 eps)) x)
(fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (-.f64 (sin.f64 eps) x))
(-.f64 (+.f64 (*.f64 (+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (sin.f64 eps) x))) x) (sin.f64 eps)) x)
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(-.f64 (fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (sin.f64 eps)) x)
(fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (-.f64 (sin.f64 eps) x))
(-.f64 (+.f64 (*.f64 (+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (sin.f64 eps) x))) x) (sin.f64 eps)) x)
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(-.f64 (fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (sin.f64 eps)) x)
(fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (-.f64 (sin.f64 eps) x))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 (*.f64 -1/2 x) (sin.f64 eps))
(*.f64 x (*.f64 (sin.f64 eps) -1/2))
(*.f64 (sin.f64 eps) (*.f64 x -1/2))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 (*.f64 -1/2 x) (sin.f64 eps))
(*.f64 x (*.f64 (sin.f64 eps) -1/2))
(*.f64 (sin.f64 eps) (*.f64 x -1/2))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 (*.f64 -1/2 x) (sin.f64 eps))
(*.f64 x (*.f64 (sin.f64 eps) -1/2))
(*.f64 (sin.f64 eps) (*.f64 x -1/2))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 (*.f64 -1/2 x) (sin.f64 eps))
(*.f64 x (*.f64 (sin.f64 eps) -1/2))
(*.f64 (sin.f64 eps) (*.f64 x -1/2))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 (*.f64 -1/2 x) (sin.f64 eps))
(*.f64 x (*.f64 (sin.f64 eps) -1/2))
(*.f64 (sin.f64 eps) (*.f64 x -1/2))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 (*.f64 -1/2 x) (sin.f64 eps))
(*.f64 x (*.f64 (sin.f64 eps) -1/2))
(*.f64 (sin.f64 eps) (*.f64 x -1/2))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 (*.f64 -1/2 x) (sin.f64 eps))
(*.f64 x (*.f64 (sin.f64 eps) -1/2))
(*.f64 (sin.f64 eps) (*.f64 x -1/2))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 (*.f64 -1/2 x) (sin.f64 eps))
(*.f64 x (*.f64 (sin.f64 eps) -1/2))
(*.f64 (sin.f64 eps) (*.f64 x -1/2))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 (*.f64 -1/2 x) (sin.f64 eps))
(*.f64 x (*.f64 (sin.f64 eps) -1/2))
(*.f64 (sin.f64 eps) (*.f64 x -1/2))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 (*.f64 -1/2 x) (sin.f64 eps))
(*.f64 x (*.f64 (sin.f64 eps) -1/2))
(*.f64 (sin.f64 eps) (*.f64 x -1/2))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 (*.f64 -1/2 x) (sin.f64 eps))
(*.f64 x (*.f64 (sin.f64 eps) -1/2))
(*.f64 (sin.f64 eps) (*.f64 x -1/2))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 (*.f64 -1/2 x) (sin.f64 eps))
(*.f64 x (*.f64 (sin.f64 eps) -1/2))
(*.f64 (sin.f64 eps) (*.f64 x -1/2))
(*.f64 -1/2 (*.f64 eps x))
(*.f64 eps (*.f64 x -1/2))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 eps 3) x)) (*.f64 -1/2 (*.f64 eps x)))
(fma.f64 -1/2 (*.f64 eps x) (*.f64 1/12 (*.f64 x (pow.f64 eps 3))))
(*.f64 x (+.f64 (*.f64 eps -1/2) (*.f64 (pow.f64 eps 3) 1/12)))
(*.f64 x (fma.f64 eps -1/2 (*.f64 (pow.f64 eps 3) 1/12)))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 eps 3) x)) (+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/240 (*.f64 (pow.f64 eps 5) x))))
(fma.f64 1/12 (*.f64 x (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 eps x) (*.f64 -1/240 (*.f64 x (pow.f64 eps 5)))))
(fma.f64 1/12 (*.f64 x (pow.f64 eps 3)) (*.f64 x (+.f64 (*.f64 eps -1/2) (*.f64 -1/240 (pow.f64 eps 5)))))
(*.f64 x (+.f64 (*.f64 (pow.f64 eps 3) 1/12) (fma.f64 eps -1/2 (*.f64 -1/240 (pow.f64 eps 5)))))
(*.f64 x (+.f64 (*.f64 -1/240 (pow.f64 eps 5)) (fma.f64 eps -1/2 (*.f64 (pow.f64 eps 3) 1/12))))
(+.f64 (*.f64 1/10080 (*.f64 (pow.f64 eps 7) x)) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 eps 3) x)) (+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/240 (*.f64 (pow.f64 eps 5) x)))))
(fma.f64 1/10080 (*.f64 x (pow.f64 eps 7)) (fma.f64 1/12 (*.f64 x (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 eps x) (*.f64 -1/240 (*.f64 x (pow.f64 eps 5))))))
(fma.f64 1/10080 (*.f64 x (pow.f64 eps 7)) (fma.f64 1/12 (*.f64 x (pow.f64 eps 3)) (*.f64 x (+.f64 (*.f64 eps -1/2) (*.f64 -1/240 (pow.f64 eps 5))))))
(*.f64 x (+.f64 (fma.f64 eps -1/2 (*.f64 -1/240 (pow.f64 eps 5))) (fma.f64 1/10080 (pow.f64 eps 7) (*.f64 (pow.f64 eps 3) 1/12))))
(*.f64 x (+.f64 (fma.f64 1/10080 (pow.f64 eps 7) (*.f64 (pow.f64 eps 3) 1/12)) (fma.f64 eps -1/2 (*.f64 -1/240 (pow.f64 eps 5)))))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 (*.f64 -1/2 x) (sin.f64 eps))
(*.f64 x (*.f64 (sin.f64 eps) -1/2))
(*.f64 (sin.f64 eps) (*.f64 x -1/2))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 (*.f64 -1/2 x) (sin.f64 eps))
(*.f64 x (*.f64 (sin.f64 eps) -1/2))
(*.f64 (sin.f64 eps) (*.f64 x -1/2))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 (*.f64 -1/2 x) (sin.f64 eps))
(*.f64 x (*.f64 (sin.f64 eps) -1/2))
(*.f64 (sin.f64 eps) (*.f64 x -1/2))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 (*.f64 -1/2 x) (sin.f64 eps))
(*.f64 x (*.f64 (sin.f64 eps) -1/2))
(*.f64 (sin.f64 eps) (*.f64 x -1/2))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 (*.f64 -1/2 x) (sin.f64 eps))
(*.f64 x (*.f64 (sin.f64 eps) -1/2))
(*.f64 (sin.f64 eps) (*.f64 x -1/2))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 (*.f64 -1/2 x) (sin.f64 eps))
(*.f64 x (*.f64 (sin.f64 eps) -1/2))
(*.f64 (sin.f64 eps) (*.f64 x -1/2))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 (*.f64 -1/2 x) (sin.f64 eps))
(*.f64 x (*.f64 (sin.f64 eps) -1/2))
(*.f64 (sin.f64 eps) (*.f64 x -1/2))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 (*.f64 -1/2 x) (sin.f64 eps))
(*.f64 x (*.f64 (sin.f64 eps) -1/2))
(*.f64 (sin.f64 eps) (*.f64 x -1/2))
(sin.f64 eps)
(+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps))
(fma.f64 (cos.f64 eps) x (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (sin.f64 eps)))
(fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (sin.f64 eps)))
(fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (sin.f64 eps))
(*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps)))
(*.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)))
(*.f64 (*.f64 x x) (*.f64 (sin.f64 eps) -1/2))
(*.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (*.f64 (cos.f64 eps) x))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (*.f64 (cos.f64 eps) x))
(fma.f64 (cos.f64 eps) x (*.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x))))
(*.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (sin.f64 eps)))
(fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (sin.f64 eps)))
(fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (sin.f64 eps))
(*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps)))
(*.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)))
(*.f64 (*.f64 x x) (*.f64 (sin.f64 eps) -1/2))
(*.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (*.f64 (cos.f64 eps) x))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (*.f64 (cos.f64 eps) x))
(fma.f64 (cos.f64 eps) x (*.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x))))
(*.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (sin.f64 eps)))
(fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (sin.f64 eps)))
(fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (sin.f64 eps))
x
(+.f64 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) x)
(fma.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x))) x)
(fma.f64 eps (fma.f64 -1/2 (*.f64 x x) 1) x)
(fma.f64 eps (fma.f64 x (*.f64 x -1/2) 1) x)
(+.f64 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) x))
(fma.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) x))
(fma.f64 eps (fma.f64 -1/2 (*.f64 x x) 1) (fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) x))
(fma.f64 eps (fma.f64 -1/2 (*.f64 x x) 1) (*.f64 x (fma.f64 eps (*.f64 eps -1/2) 1)))
(+.f64 eps (+.f64 x (*.f64 x (*.f64 eps (*.f64 -1/2 (+.f64 eps x))))))
(*.f64 (fma.f64 eps (*.f64 x -1/2) 1) (+.f64 eps x))
(+.f64 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (+.f64 (*.f64 (pow.f64 eps 3) (-.f64 (*.f64 1/12 (pow.f64 x 2)) 1/6)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) x)))
(fma.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (fma.f64 (pow.f64 eps 3) (fma.f64 1/12 (*.f64 x x) -1/6) (fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) x)))
(fma.f64 eps (fma.f64 -1/2 (*.f64 x x) 1) (fma.f64 (pow.f64 eps 3) (fma.f64 (*.f64 x x) 1/12 -1/6) (fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) x)))
(fma.f64 eps (fma.f64 -1/2 (*.f64 x x) 1) (fma.f64 x (*.f64 eps (*.f64 eps -1/2)) (fma.f64 (pow.f64 eps 3) (fma.f64 x (*.f64 x 1/12) -1/6) x)))
(+.f64 x (+.f64 (*.f64 x (*.f64 eps (*.f64 -1/2 (+.f64 eps x)))) (fma.f64 (pow.f64 eps 3) (fma.f64 x (*.f64 x 1/12) -1/6) eps)))
(fma.f64 (pow.f64 eps 3) (fma.f64 x (*.f64 x 1/12) -1/6) (*.f64 (fma.f64 eps (*.f64 x -1/2) 1) (+.f64 eps x)))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) x)) (cos.f64 eps)) x) (sin.f64 eps))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (sin.f64 eps)))
(fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (sin.f64 eps))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) x)) (cos.f64 eps)) x) (sin.f64 eps))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (sin.f64 eps)))
(fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (sin.f64 eps))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) x)) (cos.f64 eps)) x) (sin.f64 eps))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (sin.f64 eps)))
(fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (sin.f64 eps))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) x)) (cos.f64 eps)) x) (sin.f64 eps))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (sin.f64 eps)))
(fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (sin.f64 eps))
(+.f64 (*.f64 (+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (sin.f64 eps) x))) x) (sin.f64 eps))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (sin.f64 eps)))
(fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (sin.f64 eps))
(+.f64 (*.f64 (+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (sin.f64 eps) x))) x) (sin.f64 eps))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (sin.f64 eps)))
(fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (sin.f64 eps))
(+.f64 (*.f64 (+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (sin.f64 eps) x))) x) (sin.f64 eps))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (sin.f64 eps)))
(fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (sin.f64 eps))
(+.f64 (*.f64 (+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (sin.f64 eps) x))) x) (sin.f64 eps))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (sin.f64 eps)))
(fma.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps)) (sin.f64 eps))
1
(+.f64 1 (*.f64 -1/2 (*.f64 eps x)))
(fma.f64 (*.f64 eps -1/2) x 1)
(fma.f64 x (*.f64 eps -1/2) 1)
(fma.f64 eps (*.f64 x -1/2) 1)
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 1 (*.f64 -1/2 (*.f64 eps x))))
(fma.f64 -1/2 (*.f64 eps eps) (+.f64 1 (*.f64 -1/2 (*.f64 eps x))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 (*.f64 eps -1/2) x 1))
(+.f64 1 (*.f64 (*.f64 eps -1/2) (+.f64 eps x)))
(+.f64 1 (*.f64 eps (*.f64 -1/2 (+.f64 eps x))))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 1/12 (*.f64 (pow.f64 eps 3) x)))))
(fma.f64 -1/2 (*.f64 eps eps) (+.f64 1 (fma.f64 -1/2 (*.f64 eps x) (*.f64 1/12 (*.f64 x (pow.f64 eps 3))))))
(+.f64 (*.f64 x (+.f64 (*.f64 eps -1/2) (*.f64 (pow.f64 eps 3) 1/12))) (fma.f64 -1/2 (*.f64 eps eps) 1))
(fma.f64 x (fma.f64 eps -1/2 (*.f64 (pow.f64 eps 3) 1/12)) (fma.f64 eps (*.f64 eps -1/2) 1))
(fma.f64 eps (*.f64 eps -1/2) (fma.f64 x (fma.f64 eps -1/2 (*.f64 (pow.f64 eps 3) 1/12)) 1))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) x)) (cos.f64 eps))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) x) (cos.f64 eps))
(fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) x)) (cos.f64 eps))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) x) (cos.f64 eps))
(fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) x)) (cos.f64 eps))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) x) (cos.f64 eps))
(fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) x)) (cos.f64 eps))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) x) (cos.f64 eps))
(fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps))
(+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (sin.f64 eps) x)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) x) (cos.f64 eps))
(fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps))
(+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (sin.f64 eps) x)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) x) (cos.f64 eps))
(fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps))
(+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (sin.f64 eps) x)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) x) (cos.f64 eps))
(fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps))
(+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 (sin.f64 eps) x)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) x) (cos.f64 eps))
(fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps))
(cos.f64 eps)
(+.f64 (*.f64 -1/2 (*.f64 x (sin.f64 eps))) (cos.f64 eps))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) x) (cos.f64 eps))
(fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 x (sin.f64 eps))) (cos.f64 eps))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) x) (cos.f64 eps))
(fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 x (sin.f64 eps))) (cos.f64 eps))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) x) (cos.f64 eps))
(fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 (*.f64 -1/2 x) (sin.f64 eps))
(*.f64 x (*.f64 (sin.f64 eps) -1/2))
(*.f64 (sin.f64 eps) (*.f64 x -1/2))
(+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 x (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) x) (cos.f64 eps))
(fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps))
(+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 x (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) x) (cos.f64 eps))
(fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps))
(+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 x (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) x) (cos.f64 eps))
(fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps))
(*.f64 -1/2 (*.f64 x (sin.f64 eps)))
(*.f64 (*.f64 -1/2 x) (sin.f64 eps))
(*.f64 x (*.f64 (sin.f64 eps) -1/2))
(*.f64 (sin.f64 eps) (*.f64 x -1/2))
(+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 x (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) x) (cos.f64 eps))
(fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps))
(+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 x (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) x) (cos.f64 eps))
(fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps))
(+.f64 (cos.f64 eps) (*.f64 -1/2 (*.f64 x (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) x) (cos.f64 eps))
(fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps))

localize74.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

Compiled 89 to 52 computations (41.6% saved)

series16.0ms (0.1%)

Counts
4 → 43
Calls

24 calls:

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

rewrite95.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
760×log-prod_binary64
431×fma-def_binary64
400×pow2_binary64
279×pow1/3_binary64
278×expm1-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify155.0ms (1%)

Algorithm
egg-herbie
Rules
934×distribute-rgt-out_binary64
608×unswap-sqr_binary64
596×distribute-lft-out_binary64
545×associate-*l*_binary64
498×associate-*r*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
071727
1203727
2692678
33246651
46938649
57275649
67448649
77635649
87857649
Stop Event
node limit
Counts
172 → 166
Calls
Call 1
Inputs
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))
(*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))
(*.f64 -1/6 (pow.f64 eps 3))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/6 (pow.f64 eps 3)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 eps 3) (pow.f64 x 2))) (*.f64 -1/6 (pow.f64 eps 3))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 eps 3) (pow.f64 x 2))) (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(*.f64 (pow.f64 eps 2) x)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 (pow.f64 eps 2) x))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (*.f64 (pow.f64 eps 2) x)))
(+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 eps 2) (pow.f64 x 7))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (*.f64 (pow.f64 eps 2) x))))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(pow.f64 eps 3)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 3) (pow.f64 x 2))) (pow.f64 eps 3))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 3) (pow.f64 x 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 3) (pow.f64 x 4))) (pow.f64 eps 3)))
(+.f64 (*.f64 -1/720 (*.f64 (pow.f64 eps 3) (pow.f64 x 6))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 3) (pow.f64 x 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 3) (pow.f64 x 4))) (pow.f64 eps 3))))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 -1/6 (pow.f64 eps 3))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 eps 3) (pow.f64 x 2))) (*.f64 -1/6 (pow.f64 eps 3)))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 eps 3) (pow.f64 x 2))) (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 -1/144 (*.f64 (pow.f64 eps 3) (pow.f64 x 4)))))
(+.f64 (*.f64 1/4320 (*.f64 (pow.f64 eps 3) (pow.f64 x 6))) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 eps 3) (pow.f64 x 2))) (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 -1/144 (*.f64 (pow.f64 eps 3) (pow.f64 x 4))))))
(*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)))
(*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)))
(*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)))
(*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)))
Outputs
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (*.f64 (sin.f64 x) eps) eps))
(*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))
(*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))
(*.f64 (pow.f64 eps 3) (*.f64 -1/6 (cos.f64 x)))
(*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))
(*.f64 (pow.f64 eps 3) (*.f64 -1/6 (cos.f64 x)))
(*.f64 -1/6 (pow.f64 eps 3))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/6 (pow.f64 eps 3)))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) (*.f64 -1/6 (pow.f64 eps 3)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) (*.f64 -1/6 (pow.f64 eps 3)))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 eps -1/6) (*.f64 -1/2 x)))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/2 x) (*.f64 eps -1/6)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 eps 3) (pow.f64 x 2))) (*.f64 -1/6 (pow.f64 eps 3))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) (fma.f64 1/12 (*.f64 (pow.f64 eps 3) (*.f64 x x)) (*.f64 -1/6 (pow.f64 eps 3))))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 (pow.f64 eps 3) (*.f64 (*.f64 x x) 1/12))))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 x (*.f64 x 1/12)) -1/6)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) (*.f64 (pow.f64 eps 3) (+.f64 -1/6 (*.f64 x (*.f64 x 1/12)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 eps 3) (pow.f64 x 2))) (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) (fma.f64 1/12 (*.f64 (pow.f64 eps 3) (*.f64 x x)) (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 1/12 (*.f64 (*.f64 eps eps) (pow.f64 x 3))))))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) (fma.f64 1/12 (*.f64 x (*.f64 x (pow.f64 eps 3))) (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 1/12 (*.f64 eps (*.f64 eps (pow.f64 x 3)))))))
(+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 x (*.f64 x 1/12)) -1/6)) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 1/12 (pow.f64 x 3)) (*.f64 -1/2 x))))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 1/12 (*.f64 (*.f64 eps (*.f64 x (*.f64 eps x))) (+.f64 eps x)))))
(+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 (*.f64 x (*.f64 x 1/12)) (+.f64 eps x)) (*.f64 -1/2 x))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 (sin.f64 x) eps) eps) (*.f64 (pow.f64 eps 3) (*.f64 -1/6 (cos.f64 x))))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps (*.f64 -1/6 (cos.f64 x)))))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 (*.f64 eps -1/6) (cos.f64 x))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 (sin.f64 x) eps) eps) (*.f64 (pow.f64 eps 3) (*.f64 -1/6 (cos.f64 x))))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps (*.f64 -1/6 (cos.f64 x)))))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 (*.f64 eps -1/6) (cos.f64 x))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 (sin.f64 x) eps) eps) (*.f64 (pow.f64 eps 3) (*.f64 -1/6 (cos.f64 x))))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps (*.f64 -1/6 (cos.f64 x)))))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 (*.f64 eps -1/6) (cos.f64 x))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 (sin.f64 x) eps) eps) (*.f64 (pow.f64 eps 3) (*.f64 -1/6 (cos.f64 x))))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps (*.f64 -1/6 (cos.f64 x)))))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 (*.f64 eps -1/6) (cos.f64 x))))
(*.f64 (pow.f64 eps 2) x)
(*.f64 (*.f64 eps eps) x)
(*.f64 eps (*.f64 eps x))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 (pow.f64 eps 2) x))
(fma.f64 -1/6 (*.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 (*.f64 eps eps) x))
(fma.f64 (*.f64 eps eps) x (*.f64 (*.f64 eps eps) (*.f64 (pow.f64 x 3) -1/6)))
(*.f64 (*.f64 eps eps) (+.f64 x (*.f64 -1/6 (pow.f64 x 3))))
(*.f64 eps (*.f64 eps (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (*.f64 (pow.f64 eps 2) x)))
(fma.f64 -1/6 (*.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/120 (*.f64 (*.f64 eps eps) (pow.f64 x 5)) (*.f64 (*.f64 eps eps) x)))
(fma.f64 -1/6 (*.f64 eps (*.f64 eps (pow.f64 x 3))) (fma.f64 (*.f64 eps eps) x (*.f64 1/120 (*.f64 (*.f64 eps eps) (pow.f64 x 5)))))
(fma.f64 (*.f64 eps eps) (*.f64 1/120 (pow.f64 x 5)) (*.f64 (*.f64 eps eps) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))))
(*.f64 (*.f64 eps eps) (+.f64 (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/6 (pow.f64 x 3))) x))
(*.f64 (*.f64 eps eps) (+.f64 x (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/6 (pow.f64 x 3)))))
(+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 eps 2) (pow.f64 x 7))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (*.f64 (pow.f64 eps 2) x))))
(fma.f64 -1/5040 (*.f64 (*.f64 eps eps) (pow.f64 x 7)) (fma.f64 -1/6 (*.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/120 (*.f64 (*.f64 eps eps) (pow.f64 x 5)) (*.f64 (*.f64 eps eps) x))))
(fma.f64 -1/5040 (*.f64 (*.f64 eps eps) (pow.f64 x 7)) (fma.f64 -1/6 (*.f64 eps (*.f64 eps (pow.f64 x 3))) (fma.f64 (*.f64 eps eps) x (*.f64 1/120 (*.f64 (*.f64 eps eps) (pow.f64 x 5))))))
(+.f64 (*.f64 (*.f64 eps eps) (+.f64 x (*.f64 1/120 (pow.f64 x 5)))) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 -1/5040 (pow.f64 x 7)))))
(*.f64 (*.f64 eps eps) (+.f64 (+.f64 x (*.f64 1/120 (pow.f64 x 5))) (+.f64 (*.f64 -1/5040 (pow.f64 x 7)) (*.f64 -1/6 (pow.f64 x 3)))))
(*.f64 (*.f64 eps eps) (+.f64 x (+.f64 (*.f64 1/120 (pow.f64 x 5)) (+.f64 (*.f64 -1/5040 (pow.f64 x 7)) (*.f64 -1/6 (pow.f64 x 3))))))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (cos.f64 x))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (cos.f64 x))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (cos.f64 x))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (cos.f64 x))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (cos.f64 x))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (cos.f64 x))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (cos.f64 x))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (cos.f64 x))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (cos.f64 x))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (cos.f64 x))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (cos.f64 x))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (cos.f64 x))
(pow.f64 eps 3)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 3) (pow.f64 x 2))) (pow.f64 eps 3))
(fma.f64 -1/2 (*.f64 (pow.f64 eps 3) (*.f64 x x)) (pow.f64 eps 3))
(fma.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 x x) (pow.f64 eps 3))
(*.f64 (+.f64 (*.f64 x (*.f64 -1/2 x)) 1) (pow.f64 eps 3))
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) (pow.f64 eps 3))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 3) (pow.f64 x 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 3) (pow.f64 x 4))) (pow.f64 eps 3)))
(fma.f64 -1/2 (*.f64 (pow.f64 eps 3) (*.f64 x x)) (fma.f64 1/24 (*.f64 (pow.f64 eps 3) (pow.f64 x 4)) (pow.f64 eps 3)))
(fma.f64 -1/2 (*.f64 x (*.f64 x (pow.f64 eps 3))) (fma.f64 1/24 (*.f64 (pow.f64 eps 3) (pow.f64 x 4)) (pow.f64 eps 3)))
(+.f64 (pow.f64 eps 3) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 x (*.f64 -1/2 x)) (*.f64 1/24 (pow.f64 x 4)))))
(*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/2 (*.f64 x x)) (+.f64 1 (*.f64 1/24 (pow.f64 x 4)))))
(+.f64 (*.f64 -1/720 (*.f64 (pow.f64 eps 3) (pow.f64 x 6))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 3) (pow.f64 x 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 3) (pow.f64 x 4))) (pow.f64 eps 3))))
(fma.f64 -1/720 (*.f64 (pow.f64 eps 3) (pow.f64 x 6)) (fma.f64 -1/2 (*.f64 (pow.f64 eps 3) (*.f64 x x)) (fma.f64 1/24 (*.f64 (pow.f64 eps 3) (pow.f64 x 4)) (pow.f64 eps 3))))
(fma.f64 -1/720 (*.f64 (pow.f64 eps 3) (pow.f64 x 6)) (fma.f64 -1/2 (*.f64 x (*.f64 x (pow.f64 eps 3))) (fma.f64 1/24 (*.f64 (pow.f64 eps 3) (pow.f64 x 4)) (pow.f64 eps 3))))
(+.f64 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 x 4)) 1) (pow.f64 eps 3)) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 x (*.f64 -1/2 x)) (*.f64 -1/720 (pow.f64 x 6)))))
(+.f64 (pow.f64 eps 3) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 1/24 (pow.f64 x 4)) (*.f64 x (+.f64 (*.f64 -1/2 x) (*.f64 (pow.f64 x 5) -1/720))))))
(+.f64 (pow.f64 eps 3) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/2 (*.f64 x x)) (+.f64 (*.f64 -1/720 (pow.f64 x 6)) (*.f64 1/24 (pow.f64 x 4))))))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (cos.f64 x))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (cos.f64 x))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (cos.f64 x))
(*.f64 (cos.f64 x) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (cos.f64 x))
(*.f64 -1/6 (pow.f64 eps 3))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 eps 3) (pow.f64 x 2))) (*.f64 -1/6 (pow.f64 eps 3)))
(fma.f64 1/12 (*.f64 (pow.f64 eps 3) (*.f64 x x)) (*.f64 -1/6 (pow.f64 eps 3)))
(fma.f64 -1/6 (pow.f64 eps 3) (*.f64 (pow.f64 eps 3) (*.f64 (*.f64 x x) 1/12)))
(*.f64 (pow.f64 eps 3) (+.f64 (*.f64 x (*.f64 x 1/12)) -1/6))
(*.f64 (pow.f64 eps 3) (+.f64 -1/6 (*.f64 x (*.f64 x 1/12))))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 eps 3) (pow.f64 x 2))) (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 -1/144 (*.f64 (pow.f64 eps 3) (pow.f64 x 4)))))
(fma.f64 1/12 (*.f64 (pow.f64 eps 3) (*.f64 x x)) (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 (*.f64 (pow.f64 eps 3) (pow.f64 x 4)) -1/144)))
(fma.f64 1/12 (*.f64 x (*.f64 x (pow.f64 eps 3))) (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 (pow.f64 eps 3) (*.f64 (pow.f64 x 4) -1/144))))
(fma.f64 (pow.f64 eps 3) (*.f64 (pow.f64 x 4) -1/144) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 x (*.f64 x 1/12)) -1/6)))
(*.f64 (pow.f64 eps 3) (+.f64 -1/6 (+.f64 (*.f64 (pow.f64 x 4) -1/144) (*.f64 x (*.f64 x 1/12)))))
(+.f64 (*.f64 1/4320 (*.f64 (pow.f64 eps 3) (pow.f64 x 6))) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 eps 3) (pow.f64 x 2))) (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 -1/144 (*.f64 (pow.f64 eps 3) (pow.f64 x 4))))))
(fma.f64 1/4320 (*.f64 (pow.f64 eps 3) (pow.f64 x 6)) (fma.f64 1/12 (*.f64 (pow.f64 eps 3) (*.f64 x x)) (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 (*.f64 (pow.f64 eps 3) (pow.f64 x 4)) -1/144))))
(fma.f64 (*.f64 (pow.f64 eps 3) (pow.f64 x 6)) 1/4320 (fma.f64 1/12 (*.f64 x (*.f64 x (pow.f64 eps 3))) (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 (pow.f64 eps 3) (*.f64 (pow.f64 x 4) -1/144)))))
(+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 x (*.f64 x 1/12)) -1/6)) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 (pow.f64 x 4) -1/144) (*.f64 (pow.f64 x 6) 1/4320))))
(*.f64 (pow.f64 eps 3) (+.f64 (+.f64 -1/6 (*.f64 x (*.f64 x 1/12))) (+.f64 (*.f64 (pow.f64 x 4) -1/144) (*.f64 (pow.f64 x 6) 1/4320))))
(*.f64 (pow.f64 eps 3) (+.f64 (*.f64 (pow.f64 x 4) -1/144) (+.f64 -1/6 (*.f64 (*.f64 x x) (+.f64 (*.f64 1/4320 (pow.f64 x 4)) 1/12)))))
(*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)))
(*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))
(*.f64 (pow.f64 eps 3) (*.f64 -1/6 (cos.f64 x)))
(*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)))
(*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))
(*.f64 (pow.f64 eps 3) (*.f64 -1/6 (cos.f64 x)))
(*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)))
(*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))
(*.f64 (pow.f64 eps 3) (*.f64 -1/6 (cos.f64 x)))
(*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)))
(*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))
(*.f64 (pow.f64 eps 3) (*.f64 -1/6 (cos.f64 x)))

eval566.0ms (3.5%)

Compiler

Compiled 22821 to 9192 computations (59.7% saved)

prune228.0ms (1.4%)

Pruning

56 alts after pruning (53 fresh and 3 done)

PrunedKeptTotal
New1031391070
Fresh201434
Picked101
Done235
Total1054561110
Error
0.1b
Counts
1110 → 56
Alt Table
Click to see full alt table
StatusErrorProgram
30.2b
(*.f64 (cos.f64 x) eps)
32.7b
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
30.4b
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x)))))
40.3b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)
60.2b
(-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1)
40.3b
(-.f64 (log1p.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
30.6b
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (pow.f64 eps 3)))
44.8b
(fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
41.2b
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x))
40.7b
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) x)
25.0b
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
46.3b
(-.f64 (-.f64 (exp.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) 1) (sin.f64 x))
48.4b
(+.f64 eps (*.f64 eps (*.f64 -1/2 (*.f64 x (+.f64 eps x)))))
53.3b
(exp.f64 (log.f64 (fma.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))
40.1b
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
40.2b
(-.f64 (sin.f64 eps) (sin.f64 x))
49.9b
(exp.f64 (log.f64 (sin.f64 eps)))
30.4b
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x)))))
0.4b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
46.4b
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
31.7b
(sin.f64 eps)
52.4b
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x))
24.8b
(-.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
51.8b
(pow.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)
41.3b
(-.f64 (fma.f64 (cos.f64 eps) x (*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1))) x)
30.7b
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) eps)))
46.5b
eps
40.8b
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x))
30.5b
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 (*.f64 eps -1/6) (cos.f64 x)))))
61.7b
(-.f64 (*.f64 x (fma.f64 (sin.f64 eps) (*.f64 x -1/2) (cos.f64 eps))) x)
40.1b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
40.5b
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)
24.2b
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
24.2b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
62.3b
(*.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)))
46.4b
(log.f64 (*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (exp.f64 (sin.f64 (+.f64 x eps)))))
61.2b
(-.f64 x x)
24.3b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (log1p.f64 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))) (sin.f64 x))
52.9b
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2))
38.7b
(fma.f64 (*.f64 (sin.f64 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
46.9b
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2)
24.3b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))) (sin.f64 x))
25.0b
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
41.0b
(*.f64 (pow.f64 (cbrt.f64 2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))
30.6b
(fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (sin.f64 x) (*.f64 (*.f64 eps eps) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24)))))
24.3b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
53.1b
(exp.f64 (log.f64 (-.f64 (sin.f64 eps) (sin.f64 x))))
31.0b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3)
41.2b
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) x)) (cos.f64 eps)) x) (sin.f64 eps)) x)
38.2b
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/2 x) (*.f64 eps -1/6))))
44.3b
(fma.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
44.8b
(exp.f64 (log.f64 (-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))))
57.0b
(pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3)
24.3b
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
30.8b
(-.f64 (log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps))))) (sin.f64 x))
51.1b
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3))
Compiler

Compiled 1533 to 1013 computations (33.9% saved)

localize19.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 36 to 16 computations (55.6% saved)

series8.0ms (0%)

Counts
3 → 60
Calls

15 calls:

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

rewrite81.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

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

simplify86.0ms (0.5%)

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

Useful iterations: 3 (0.0ms)

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

localize3.0ms (0%)

Compiler

Compiled 6 to 3 computations (50% saved)

localize30.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))
0.2b
(*.f64 (+.f64 x (+.f64 x eps)) 1/2)
3.0b
(cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))
3.4b
(+.f64 x (-.f64 eps x))
Compiler

Compiled 88 to 34 computations (61.4% saved)

series19.0ms (0.1%)

Counts
4 → 96
Calls

24 calls:

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

rewrite90.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
764×log-prod_binary64
458×fma-neg_binary64
290×expm1-udef_binary64
290×log1p-udef_binary64
229×log-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify78.0ms (0.5%)

Algorithm
egg-herbie
Rules
643×fma-def_binary64
581×neg-sub0_binary64
542×neg-mul-1_binary64
363×associate-*l*_binary64
355×associate-*r*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0951098
12731024
2752872
32989861
47016851
Stop Event
node limit
Counts
236 → 185
Calls
Call 1
Inputs
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
(cos.f64 (*.f64 1/2 eps))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) (cos.f64 (*.f64 1/2 eps)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (cos.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (+.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 3))))))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(cos.f64 x)
(+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x))
(+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (cos.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (cos.f64 x) (*.f64 1/48 (*.f64 (pow.f64 eps 3) (sin.f64 x))))))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 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 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) x)) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps)))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 3))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 1/2 (*.f64 eps (cos.f64 x)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (*.f64 1/2 (*.f64 eps (cos.f64 x))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (cos.f64 x)) (*.f64 -1/48 (cos.f64 x))))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (cos.f64 x)) (*.f64 -1/48 (cos.f64 x)))) (*.f64 1/48 (*.f64 (pow.f64 eps 4) (sin.f64 x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
Outputs
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
eps
(cos.f64 (*.f64 1/2 eps))
(cos.f64 (*.f64 eps 1/2))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) (cos.f64 (*.f64 1/2 eps)))
(fma.f64 -1 (*.f64 (sin.f64 (*.f64 eps 1/2)) x) (cos.f64 (*.f64 eps 1/2)))
(fma.f64 (neg.f64 (sin.f64 (*.f64 eps 1/2))) x (cos.f64 (*.f64 eps 1/2)))
(-.f64 (cos.f64 (*.f64 eps 1/2)) (*.f64 (sin.f64 (*.f64 eps 1/2)) x))
(fma.f64 x (sin.f64 (*.f64 eps -1/2)) (cos.f64 (*.f64 eps 1/2)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (cos.f64 (*.f64 1/2 eps))))
(fma.f64 -1 (*.f64 (sin.f64 (*.f64 eps 1/2)) x) (fma.f64 -1/2 (*.f64 (cos.f64 (*.f64 eps 1/2)) (*.f64 x x)) (cos.f64 (*.f64 eps 1/2))))
(fma.f64 (neg.f64 (sin.f64 (*.f64 eps 1/2))) x (fma.f64 (*.f64 (cos.f64 (*.f64 eps 1/2)) -1/2) (*.f64 x x) (cos.f64 (*.f64 eps 1/2))))
(-.f64 (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (cos.f64 (*.f64 eps 1/2))) (*.f64 (sin.f64 (*.f64 eps 1/2)) x))
(-.f64 (*.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (cos.f64 (*.f64 eps 1/2))) (*.f64 (sin.f64 (*.f64 eps 1/2)) x))
(fma.f64 x (sin.f64 (*.f64 eps -1/2)) (*.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (cos.f64 (*.f64 eps 1/2))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (+.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 3))))))
(fma.f64 -1 (*.f64 (sin.f64 (*.f64 eps 1/2)) x) (+.f64 (fma.f64 -1/2 (*.f64 (cos.f64 (*.f64 eps 1/2)) (*.f64 x x)) (cos.f64 (*.f64 eps 1/2))) (*.f64 (*.f64 1/6 (sin.f64 (*.f64 eps 1/2))) (pow.f64 x 3))))
(-.f64 (fma.f64 -1/2 (*.f64 (cos.f64 (*.f64 eps 1/2)) (*.f64 x x)) (fma.f64 1/6 (*.f64 (sin.f64 (*.f64 eps 1/2)) (pow.f64 x 3)) (cos.f64 (*.f64 eps 1/2)))) (*.f64 (sin.f64 (*.f64 eps 1/2)) x))
(+.f64 (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (cos.f64 (*.f64 eps 1/2))) (*.f64 (sin.f64 (*.f64 eps 1/2)) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (neg.f64 x))))
(-.f64 (*.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (cos.f64 (*.f64 eps 1/2))) (*.f64 (sin.f64 (*.f64 eps 1/2)) (-.f64 x (*.f64 1/6 (pow.f64 x 3)))))
(fma.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (cos.f64 (*.f64 eps 1/2)) (*.f64 (sin.f64 (*.f64 eps 1/2)) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x)))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))
(cos.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(cos.f64 (fma.f64 eps 1/2 x))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))
(cos.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(cos.f64 (fma.f64 eps 1/2 x))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))
(cos.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(cos.f64 (fma.f64 eps 1/2 x))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))
(cos.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(cos.f64 (fma.f64 eps 1/2 x))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))
(cos.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(cos.f64 (fma.f64 eps 1/2 x))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))
(cos.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(cos.f64 (fma.f64 eps 1/2 x))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))
(cos.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(cos.f64 (fma.f64 eps 1/2 x))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))
(cos.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(cos.f64 (fma.f64 eps 1/2 x))
(cos.f64 x)
(+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x))
(fma.f64 -1/2 (*.f64 eps (sin.f64 x)) (cos.f64 x))
(fma.f64 eps (*.f64 -1/2 (sin.f64 x)) (cos.f64 x))
(+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (cos.f64 x)))
(fma.f64 -1/2 (*.f64 eps (sin.f64 x)) (fma.f64 -1/8 (*.f64 (cos.f64 x) (*.f64 eps eps)) (cos.f64 x)))
(fma.f64 -1/2 (*.f64 eps (sin.f64 x)) (*.f64 (+.f64 (*.f64 -1/8 (*.f64 eps eps)) 1) (cos.f64 x)))
(fma.f64 (fma.f64 (*.f64 eps -1/8) eps 1) (cos.f64 x) (*.f64 eps (*.f64 -1/2 (sin.f64 x))))
(fma.f64 eps (*.f64 -1/2 (sin.f64 x)) (*.f64 (cos.f64 x) (fma.f64 -1/8 (*.f64 eps eps) 1)))
(+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (cos.f64 x) (*.f64 1/48 (*.f64 (pow.f64 eps 3) (sin.f64 x))))))
(fma.f64 -1/2 (*.f64 eps (sin.f64 x)) (+.f64 (fma.f64 -1/8 (*.f64 (cos.f64 x) (*.f64 eps eps)) (cos.f64 x)) (*.f64 1/48 (*.f64 (sin.f64 x) (pow.f64 eps 3)))))
(fma.f64 -1/2 (*.f64 eps (sin.f64 x)) (fma.f64 -1/8 (*.f64 (cos.f64 x) (*.f64 eps eps)) (fma.f64 1/48 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (cos.f64 x))))
(fma.f64 (fma.f64 (*.f64 eps -1/8) eps 1) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/48 (pow.f64 eps 3)) (*.f64 eps -1/2))))
(fma.f64 (fma.f64 -1/8 (*.f64 eps eps) 1) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/48 (pow.f64 eps 3)) (*.f64 eps -1/2))))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))
(cos.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(cos.f64 (fma.f64 eps 1/2 x))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))
(cos.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(cos.f64 (fma.f64 eps 1/2 x))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))
(cos.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(cos.f64 (fma.f64 eps 1/2 x))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))
(cos.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(cos.f64 (fma.f64 eps 1/2 x))
(cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))
(cos.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(cos.f64 (fma.f64 eps 1/2 x))
(cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))
(cos.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(cos.f64 (fma.f64 eps 1/2 x))
(cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))
(cos.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(cos.f64 (fma.f64 eps 1/2 x))
(cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))
(cos.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(cos.f64 (fma.f64 eps 1/2 x))
(*.f64 1/2 eps)
(*.f64 eps 1/2)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
x
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
x
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
x
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(*.f64 1/2 eps)
(*.f64 eps 1/2)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(*.f64 1/2 eps)
(*.f64 eps 1/2)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps)))
(*.f64 (cos.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 eps 1/2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))))
(fma.f64 -1 (*.f64 x (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)) (*.f64 (cos.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 eps 1/2))))
(-.f64 (*.f64 (cos.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 eps 1/2))) (*.f64 x (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (-.f64 (cos.f64 (*.f64 eps 1/2)) (*.f64 (sin.f64 (*.f64 eps 1/2)) x)))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (fma.f64 x (sin.f64 (*.f64 eps -1/2)) (cos.f64 (*.f64 eps 1/2))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) x)) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps)))))
(fma.f64 -1 (*.f64 x (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)) (fma.f64 -1/2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 (cos.f64 (*.f64 eps 1/2)) (*.f64 x x))) (*.f64 (cos.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 eps 1/2)))))
(-.f64 (fma.f64 (cos.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 eps 1/2)) (*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 (cos.f64 (*.f64 eps 1/2)) (*.f64 (*.f64 x x) -1/2)))) (*.f64 x (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)))
(-.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (cos.f64 (*.f64 eps 1/2)))) (*.f64 x (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (-.f64 (*.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (cos.f64 (*.f64 eps 1/2))) (*.f64 (sin.f64 (*.f64 eps 1/2)) x)))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (fma.f64 x (sin.f64 (*.f64 eps -1/2)) (*.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (cos.f64 (*.f64 eps 1/2)))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 3))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))))))
(fma.f64 -1 (*.f64 x (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)) (fma.f64 1/6 (*.f64 (pow.f64 x 3) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)) (fma.f64 -1/2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 (cos.f64 (*.f64 eps 1/2)) (*.f64 x x))) (*.f64 (cos.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 eps 1/2))))))
(-.f64 (fma.f64 1/6 (*.f64 (pow.f64 x 3) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)) (fma.f64 (cos.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 eps 1/2)) (*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 (cos.f64 (*.f64 eps 1/2)) (*.f64 (*.f64 x x) -1/2))))) (*.f64 x (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)))
(+.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (cos.f64 (*.f64 eps 1/2)))) (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) (+.f64 (neg.f64 x) (*.f64 1/6 (pow.f64 x 3)))))
(fma.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (cos.f64 (*.f64 eps 1/2))) (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (fma.f64 eps 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (fma.f64 eps 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (fma.f64 eps 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (fma.f64 eps 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (fma.f64 eps 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (fma.f64 eps 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (fma.f64 eps 1/2 x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (fma.f64 eps 1/2 x)))
(*.f64 1/2 (*.f64 eps (cos.f64 x)))
(*.f64 eps (*.f64 (cos.f64 x) 1/2))
(*.f64 (*.f64 eps 1/2) (cos.f64 x))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (*.f64 1/2 (*.f64 eps (cos.f64 x))))
(fma.f64 -1/4 (*.f64 (sin.f64 x) (*.f64 eps eps)) (*.f64 1/2 (*.f64 eps (cos.f64 x))))
(fma.f64 1/2 (*.f64 eps (cos.f64 x)) (*.f64 (sin.f64 x) (*.f64 (*.f64 eps eps) -1/4)))
(fma.f64 eps (*.f64 1/2 (cos.f64 x)) (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/4))))
(*.f64 eps (+.f64 (*.f64 1/2 (cos.f64 x)) (*.f64 (sin.f64 x) (*.f64 eps -1/4))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (cos.f64 x)) (*.f64 -1/48 (cos.f64 x))))))
(fma.f64 -1/4 (*.f64 (sin.f64 x) (*.f64 eps eps)) (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (*.f64 (pow.f64 eps 3) (*.f64 (cos.f64 x) -1/12))))
(fma.f64 -1/4 (*.f64 eps (*.f64 eps (sin.f64 x))) (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (*.f64 (cos.f64 x) (*.f64 -1/12 (pow.f64 eps 3)))))
(fma.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/4)) (*.f64 (cos.f64 x) (+.f64 (*.f64 eps 1/2) (*.f64 (pow.f64 eps 3) -1/12))))
(*.f64 eps (+.f64 (*.f64 eps (*.f64 (sin.f64 x) -1/4)) (*.f64 (cos.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps))))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (cos.f64 x)) (*.f64 -1/48 (cos.f64 x)))) (*.f64 1/48 (*.f64 (pow.f64 eps 4) (sin.f64 x))))))
(fma.f64 -1/4 (*.f64 (sin.f64 x) (*.f64 eps eps)) (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (fma.f64 (pow.f64 eps 3) (*.f64 (cos.f64 x) -1/12) (*.f64 1/48 (*.f64 (sin.f64 x) (pow.f64 eps 4))))))
(fma.f64 -1/4 (*.f64 eps (*.f64 eps (sin.f64 x))) (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (fma.f64 1/48 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (*.f64 (cos.f64 x) (*.f64 -1/12 (pow.f64 eps 3))))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 (*.f64 eps 1/2) (*.f64 (pow.f64 eps 3) -1/12))) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/48 (pow.f64 eps 4)) (*.f64 eps (*.f64 eps -1/4)))))
(+.f64 (*.f64 eps (*.f64 (cos.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps))))) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/4)) (*.f64 1/48 (pow.f64 eps 4)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (fma.f64 eps 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (fma.f64 eps 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (fma.f64 eps 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (fma.f64 eps 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (fma.f64 eps 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (fma.f64 eps 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (fma.f64 eps 1/2 x)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 1/2 (fma.f64 x 2 eps))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (fma.f64 eps 1/2 x)))

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(-.f64 (sin.f64 eps) (sin.f64 x))
0.5b
(log.f64 (-.f64 (sin.f64 eps) (sin.f64 x)))
0.6b
(exp.f64 (log.f64 (-.f64 (sin.f64 eps) (sin.f64 x))))
Compiler

Compiled 26 to 7 computations (73.1% saved)

series73.0ms (0.5%)

Counts
3 → 40
Calls

18 calls:

TimeVariablePointExpression
18.0ms
x
@inf
(log.f64 (-.f64 (sin.f64 eps) (sin.f64 x)))
18.0ms
eps
@-inf
(log.f64 (-.f64 (sin.f64 eps) (sin.f64 x)))
16.0ms
x
@-inf
(log.f64 (-.f64 (sin.f64 eps) (sin.f64 x)))
15.0ms
eps
@inf
(log.f64 (-.f64 (sin.f64 eps) (sin.f64 x)))
1.0ms
eps
@0
(log.f64 (-.f64 (sin.f64 eps) (sin.f64 x)))

rewrite110.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
906×pow1_binary64
841×add-log-exp_binary64
841×log1p-expm1-u_binary64
841×expm1-log1p-u_binary64
824×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify45.0ms (0.3%)

Algorithm
egg-herbie
Rules
431×associate-*l/_binary64
386×associate-+l+_binary64
372×associate-/r*_binary64
352×associate-*r/_binary64
306×times-frac_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
074539
1213518
2592509
32315498
Stop Event
node limit
Counts
148 → 96
Calls
Call 1
Inputs
(*.f64 -1 (sin.f64 x))
(+.f64 eps (*.f64 -1 (sin.f64 x)))
(+.f64 eps (+.f64 (*.f64 -1 (sin.f64 x)) (*.f64 -1/6 (pow.f64 eps 3))))
(+.f64 eps (+.f64 (*.f64 -1 (sin.f64 x)) (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 1/120 (pow.f64 eps 5)))))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(sin.f64 eps)
(+.f64 (*.f64 -1 x) (sin.f64 eps))
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (sin.f64 eps)))
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (+.f64 (*.f64 -1/120 (pow.f64 x 5)) (sin.f64 eps))))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(log.f64 (neg.f64 (sin.f64 x)))
(+.f64 (log.f64 (neg.f64 (sin.f64 x))) (*.f64 -1 (/.f64 eps (sin.f64 x))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 eps 2) (pow.f64 (sin.f64 x) 2))) (+.f64 (log.f64 (neg.f64 (sin.f64 x))) (*.f64 -1 (/.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 eps 2) (pow.f64 (sin.f64 x) 2))) (+.f64 (log.f64 (neg.f64 (sin.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (-.f64 (/.f64 1 (sin.f64 x)) (*.f64 2 (/.f64 1 (pow.f64 (sin.f64 x) 3)))))) (*.f64 -1 (/.f64 eps (sin.f64 x))))))
(log.f64 (sin.f64 eps))
(+.f64 (*.f64 -1 (/.f64 x (sin.f64 eps))) (log.f64 (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 (sin.f64 eps) 2))) (+.f64 (*.f64 -1 (/.f64 x (sin.f64 eps))) (log.f64 (sin.f64 eps))))
(+.f64 (*.f64 1/6 (*.f64 (-.f64 (/.f64 1 (sin.f64 eps)) (*.f64 2 (/.f64 1 (pow.f64 (sin.f64 eps) 3)))) (pow.f64 x 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 (sin.f64 eps) 2))) (+.f64 (*.f64 -1 (/.f64 x (sin.f64 eps))) (log.f64 (sin.f64 eps)))))
(*.f64 -1 (sin.f64 x))
(+.f64 eps (*.f64 -1 (sin.f64 x)))
(+.f64 eps (+.f64 (*.f64 -1 (sin.f64 x)) (*.f64 -1/6 (pow.f64 eps 3))))
(+.f64 eps (+.f64 (*.f64 -1 (sin.f64 x)) (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 1/120 (pow.f64 eps 5)))))
(sin.f64 eps)
(+.f64 (*.f64 -1 x) (sin.f64 eps))
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (sin.f64 eps)))
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (+.f64 (*.f64 -1/120 (pow.f64 x 5)) (sin.f64 eps))))
Outputs
(*.f64 -1 (sin.f64 x))
(neg.f64 (sin.f64 x))
(+.f64 eps (*.f64 -1 (sin.f64 x)))
(+.f64 (neg.f64 (sin.f64 x)) eps)
(-.f64 eps (sin.f64 x))
(+.f64 eps (+.f64 (*.f64 -1 (sin.f64 x)) (*.f64 -1/6 (pow.f64 eps 3))))
(+.f64 eps (fma.f64 -1 (sin.f64 x) (*.f64 -1/6 (pow.f64 eps 3))))
(+.f64 eps (-.f64 (*.f64 -1/6 (pow.f64 eps 3)) (sin.f64 x)))
(-.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (sin.f64 x))
(+.f64 eps (+.f64 (*.f64 -1 (sin.f64 x)) (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 1/120 (pow.f64 eps 5)))))
(+.f64 eps (fma.f64 -1 (sin.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 1/120 (pow.f64 eps 5)))))
(+.f64 eps (-.f64 (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 1/120 (pow.f64 eps 5))) (sin.f64 x)))
(+.f64 (-.f64 eps (sin.f64 x)) (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 1/120 (pow.f64 eps 5))))
(fma.f64 -1/6 (pow.f64 eps 3) (-.f64 (fma.f64 1/120 (pow.f64 eps 5) eps) (sin.f64 x)))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(sin.f64 eps)
(+.f64 (*.f64 -1 x) (sin.f64 eps))
(fma.f64 -1 x (sin.f64 eps))
(-.f64 (sin.f64 eps) x)
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (sin.f64 eps)))
(fma.f64 1/6 (pow.f64 x 3) (fma.f64 -1 x (sin.f64 eps)))
(fma.f64 1/6 (pow.f64 x 3) (-.f64 (sin.f64 eps) x))
(-.f64 (fma.f64 1/6 (pow.f64 x 3) (sin.f64 eps)) x)
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (+.f64 (*.f64 -1/120 (pow.f64 x 5)) (sin.f64 eps))))
(fma.f64 1/6 (pow.f64 x 3) (fma.f64 -1 x (fma.f64 -1/120 (pow.f64 x 5) (sin.f64 eps))))
(fma.f64 1/6 (pow.f64 x 3) (-.f64 (fma.f64 -1/120 (pow.f64 x 5) (sin.f64 eps)) x))
(-.f64 (fma.f64 1/6 (pow.f64 x 3) (fma.f64 -1/120 (pow.f64 x 5) (sin.f64 eps))) x)
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(log.f64 (neg.f64 (sin.f64 x)))
(+.f64 (log.f64 (neg.f64 (sin.f64 x))) (*.f64 -1 (/.f64 eps (sin.f64 x))))
(+.f64 (log.f64 (neg.f64 (sin.f64 x))) (neg.f64 (/.f64 eps (sin.f64 x))))
(-.f64 (log.f64 (neg.f64 (sin.f64 x))) (/.f64 eps (sin.f64 x)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 eps 2) (pow.f64 (sin.f64 x) 2))) (+.f64 (log.f64 (neg.f64 (sin.f64 x))) (*.f64 -1 (/.f64 eps (sin.f64 x)))))
(fma.f64 -1/2 (/.f64 (*.f64 eps eps) (pow.f64 (sin.f64 x) 2)) (+.f64 (log.f64 (neg.f64 (sin.f64 x))) (neg.f64 (/.f64 eps (sin.f64 x)))))
(-.f64 (fma.f64 -1/2 (/.f64 (*.f64 eps eps) (pow.f64 (sin.f64 x) 2)) (log.f64 (neg.f64 (sin.f64 x)))) (/.f64 eps (sin.f64 x)))
(+.f64 (log.f64 (neg.f64 (sin.f64 x))) (*.f64 (/.f64 eps (sin.f64 x)) (+.f64 -1 (/.f64 eps (/.f64 (sin.f64 x) -1/2)))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 eps 2) (pow.f64 (sin.f64 x) 2))) (+.f64 (log.f64 (neg.f64 (sin.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (-.f64 (/.f64 1 (sin.f64 x)) (*.f64 2 (/.f64 1 (pow.f64 (sin.f64 x) 3)))))) (*.f64 -1 (/.f64 eps (sin.f64 x))))))
(fma.f64 -1/2 (/.f64 (*.f64 eps eps) (pow.f64 (sin.f64 x) 2)) (+.f64 (log.f64 (neg.f64 (sin.f64 x))) (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (-.f64 (/.f64 1 (sin.f64 x)) (/.f64 2 (pow.f64 (sin.f64 x) 3)))) (neg.f64 (/.f64 eps (sin.f64 x))))))
(+.f64 (-.f64 (fma.f64 -1/2 (/.f64 (*.f64 eps eps) (pow.f64 (sin.f64 x) 2)) (log.f64 (neg.f64 (sin.f64 x)))) (/.f64 eps (sin.f64 x))) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (-.f64 (/.f64 1 (sin.f64 x)) (/.f64 2 (pow.f64 (sin.f64 x) 3))))))
(-.f64 (fma.f64 -1/2 (/.f64 (*.f64 eps eps) (pow.f64 (sin.f64 x) 2)) (fma.f64 (+.f64 (/.f64 1 (sin.f64 x)) (/.f64 -2 (pow.f64 (sin.f64 x) 3))) (*.f64 (pow.f64 eps 3) 1/6) (log.f64 (neg.f64 (sin.f64 x))))) (/.f64 eps (sin.f64 x)))
(fma.f64 (pow.f64 eps 3) (+.f64 (/.f64 1/6 (sin.f64 x)) (/.f64 -1/3 (pow.f64 (sin.f64 x) 3))) (+.f64 (log.f64 (neg.f64 (sin.f64 x))) (*.f64 (/.f64 eps (sin.f64 x)) (+.f64 -1 (/.f64 eps (/.f64 (sin.f64 x) -1/2))))))
(log.f64 (sin.f64 eps))
(+.f64 (*.f64 -1 (/.f64 x (sin.f64 eps))) (log.f64 (sin.f64 eps)))
(fma.f64 -1 (/.f64 x (sin.f64 eps)) (log.f64 (sin.f64 eps)))
(-.f64 (log.f64 (sin.f64 eps)) (/.f64 x (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 (sin.f64 eps) 2))) (+.f64 (*.f64 -1 (/.f64 x (sin.f64 eps))) (log.f64 (sin.f64 eps))))
(fma.f64 -1/2 (/.f64 (*.f64 x x) (pow.f64 (sin.f64 eps) 2)) (fma.f64 -1 (/.f64 x (sin.f64 eps)) (log.f64 (sin.f64 eps))))
(fma.f64 -1/2 (/.f64 x (/.f64 (pow.f64 (sin.f64 eps) 2) x)) (-.f64 (log.f64 (sin.f64 eps)) (/.f64 x (sin.f64 eps))))
(-.f64 (fma.f64 -1/2 (/.f64 x (/.f64 (pow.f64 (sin.f64 eps) 2) x)) (log.f64 (sin.f64 eps))) (/.f64 x (sin.f64 eps)))
(+.f64 (log.f64 (sin.f64 eps)) (*.f64 (/.f64 x (sin.f64 eps)) (+.f64 -1 (*.f64 -1/2 (/.f64 x (sin.f64 eps))))))
(+.f64 (*.f64 1/6 (*.f64 (-.f64 (/.f64 1 (sin.f64 eps)) (*.f64 2 (/.f64 1 (pow.f64 (sin.f64 eps) 3)))) (pow.f64 x 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) (pow.f64 (sin.f64 eps) 2))) (+.f64 (*.f64 -1 (/.f64 x (sin.f64 eps))) (log.f64 (sin.f64 eps)))))
(fma.f64 1/6 (*.f64 (pow.f64 x 3) (-.f64 (/.f64 1 (sin.f64 eps)) (/.f64 2 (pow.f64 (sin.f64 eps) 3)))) (fma.f64 -1/2 (/.f64 (*.f64 x x) (pow.f64 (sin.f64 eps) 2)) (fma.f64 -1 (/.f64 x (sin.f64 eps)) (log.f64 (sin.f64 eps)))))
(fma.f64 1/6 (*.f64 (pow.f64 x 3) (+.f64 (/.f64 1 (sin.f64 eps)) (/.f64 -2 (pow.f64 (sin.f64 eps) 3)))) (fma.f64 -1/2 (/.f64 x (/.f64 (pow.f64 (sin.f64 eps) 2) x)) (-.f64 (log.f64 (sin.f64 eps)) (/.f64 x (sin.f64 eps)))))
(fma.f64 (pow.f64 x 3) (+.f64 (/.f64 1/6 (sin.f64 eps)) (/.f64 -1/3 (pow.f64 (sin.f64 eps) 3))) (-.f64 (fma.f64 -1/2 (/.f64 x (/.f64 (pow.f64 (sin.f64 eps) 2) x)) (log.f64 (sin.f64 eps))) (/.f64 x (sin.f64 eps))))
(+.f64 (log.f64 (sin.f64 eps)) (fma.f64 (pow.f64 x 3) (+.f64 (/.f64 1/6 (sin.f64 eps)) (/.f64 -1/3 (pow.f64 (sin.f64 eps) 3))) (*.f64 (/.f64 x (sin.f64 eps)) (+.f64 -1 (*.f64 -1/2 (/.f64 x (sin.f64 eps)))))))
(*.f64 -1 (sin.f64 x))
(neg.f64 (sin.f64 x))
(+.f64 eps (*.f64 -1 (sin.f64 x)))
(+.f64 (neg.f64 (sin.f64 x)) eps)
(-.f64 eps (sin.f64 x))
(+.f64 eps (+.f64 (*.f64 -1 (sin.f64 x)) (*.f64 -1/6 (pow.f64 eps 3))))
(+.f64 eps (fma.f64 -1 (sin.f64 x) (*.f64 -1/6 (pow.f64 eps 3))))
(+.f64 eps (-.f64 (*.f64 -1/6 (pow.f64 eps 3)) (sin.f64 x)))
(-.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (sin.f64 x))
(+.f64 eps (+.f64 (*.f64 -1 (sin.f64 x)) (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 1/120 (pow.f64 eps 5)))))
(+.f64 eps (fma.f64 -1 (sin.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 1/120 (pow.f64 eps 5)))))
(+.f64 eps (-.f64 (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 1/120 (pow.f64 eps 5))) (sin.f64 x)))
(+.f64 (-.f64 eps (sin.f64 x)) (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 1/120 (pow.f64 eps 5))))
(fma.f64 -1/6 (pow.f64 eps 3) (-.f64 (fma.f64 1/120 (pow.f64 eps 5) eps) (sin.f64 x)))
(sin.f64 eps)
(+.f64 (*.f64 -1 x) (sin.f64 eps))
(fma.f64 -1 x (sin.f64 eps))
(-.f64 (sin.f64 eps) x)
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (sin.f64 eps)))
(fma.f64 1/6 (pow.f64 x 3) (fma.f64 -1 x (sin.f64 eps)))
(fma.f64 1/6 (pow.f64 x 3) (-.f64 (sin.f64 eps) x))
(-.f64 (fma.f64 1/6 (pow.f64 x 3) (sin.f64 eps)) x)
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (+.f64 (*.f64 -1/120 (pow.f64 x 5)) (sin.f64 eps))))
(fma.f64 1/6 (pow.f64 x 3) (fma.f64 -1 x (fma.f64 -1/120 (pow.f64 x 5) (sin.f64 eps))))
(fma.f64 1/6 (pow.f64 x 3) (-.f64 (fma.f64 -1/120 (pow.f64 x 5) (sin.f64 eps)) x))
(-.f64 (fma.f64 1/6 (pow.f64 x 3) (fma.f64 -1/120 (pow.f64 x 5) (sin.f64 eps))) x)

localize43.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 44 to 10 computations (77.3% saved)

series176.0ms (1.1%)

Counts
3 → 56
Calls

18 calls:

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

rewrite132.0ms (0.8%)

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

Useful iterations: 1 (0.0ms)

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

simplify89.0ms (0.6%)

Algorithm
egg-herbie
Rules
542×fma-def_binary64
448×*-commutative_binary64
401×fma-neg_binary64
392×cancel-sign-sub-inv_binary64
316×distribute-rgt-out_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
090953
1262937
2729868
32400856
44716854
57825854
Stop Event
node limit
Counts
297 → 287
Calls
Call 1
Inputs
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3)) (sin.f64 eps))))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(*.f64 (cos.f64 x) eps)
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(*.f64 (cos.f64 eps) x)
(+.f64 (*.f64 (cos.f64 eps) x) (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))))
(+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (*.f64 1/120 (*.f64 (cos.f64 eps) (pow.f64 x 5)))))
(+.f64 (*.f64 -1/5040 (*.f64 (cos.f64 eps) (pow.f64 x 7))) (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (*.f64 1/120 (*.f64 (cos.f64 eps) (pow.f64 x 5))))))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(sin.f64 x)
(+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (sin.f64 x) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 eps 6) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(sin.f64 eps)
(+.f64 (*.f64 -1 x) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 -1 x) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (sin.f64 eps))))
(*.f64 -1 (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1 (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1 (sin.f64 x)) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (cos.f64 x))) (+.f64 (*.f64 -1 (sin.f64 x)) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))))
Outputs
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps))
(fma.f64 (cos.f64 eps) x (-.f64 (sin.f64 eps) x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (sin.f64 eps)))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (*.f64 (sin.f64 eps) (+.f64 1 (*.f64 x (*.f64 x -1/2)))))
(fma.f64 x (+.f64 (*.f64 (sin.f64 eps) (*.f64 x -1/2)) (cos.f64 eps)) (-.f64 (sin.f64 eps) x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3)) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (fma.f64 -1/6 (cos.f64 eps) 1/6) (pow.f64 x 3) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (pow.f64 x 3) (sin.f64 eps))))
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (pow.f64 x 3) (sin.f64 eps))))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 (cos.f64 x) eps (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))
(fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))
(fma.f64 eps (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2))))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))))
(+.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2))))
(fma.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))))
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (+.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 1/24 (pow.f64 eps 4)))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (+.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 1/24 (pow.f64 eps 4)))))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(*.f64 (cos.f64 eps) x)
(+.f64 (*.f64 (cos.f64 eps) x) (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))))
(fma.f64 (cos.f64 eps) x (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))))
(fma.f64 (cos.f64 eps) x (*.f64 (cos.f64 eps) (*.f64 (pow.f64 x 3) -1/6)))
(*.f64 (cos.f64 eps) (+.f64 x (*.f64 -1/6 (pow.f64 x 3))))
(*.f64 (cos.f64 eps) (-.f64 x (*.f64 1/6 (pow.f64 x 3))))
(+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (*.f64 1/120 (*.f64 (cos.f64 eps) (pow.f64 x 5)))))
(fma.f64 (cos.f64 eps) x (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (*.f64 1/120 (*.f64 (cos.f64 eps) (pow.f64 x 5)))))
(fma.f64 (cos.f64 eps) x (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (*.f64 (cos.f64 eps) (*.f64 (pow.f64 x 5) 1/120))))
(fma.f64 (cos.f64 eps) x (*.f64 (cos.f64 eps) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/6 (pow.f64 x 3)))))
(*.f64 (cos.f64 eps) (+.f64 x (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/6 (pow.f64 x 3)))))
(*.f64 (cos.f64 eps) (+.f64 (-.f64 x (*.f64 1/6 (pow.f64 x 3))) (*.f64 1/120 (pow.f64 x 5))))
(+.f64 (*.f64 -1/5040 (*.f64 (cos.f64 eps) (pow.f64 x 7))) (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (*.f64 1/120 (*.f64 (cos.f64 eps) (pow.f64 x 5))))))
(fma.f64 -1/5040 (*.f64 (cos.f64 eps) (pow.f64 x 7)) (fma.f64 (cos.f64 eps) x (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (*.f64 1/120 (*.f64 (cos.f64 eps) (pow.f64 x 5))))))
(fma.f64 -1/5040 (*.f64 (cos.f64 eps) (pow.f64 x 7)) (fma.f64 (cos.f64 eps) x (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (*.f64 (cos.f64 eps) (*.f64 (pow.f64 x 5) 1/120)))))
(+.f64 (*.f64 (cos.f64 eps) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (cos.f64 eps) (+.f64 (*.f64 -1/5040 (pow.f64 x 7)) x)))
(*.f64 (cos.f64 eps) (+.f64 (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/6 (pow.f64 x 3))) (+.f64 x (*.f64 -1/5040 (pow.f64 x 7)))))
(*.f64 (cos.f64 eps) (+.f64 (-.f64 x (*.f64 1/6 (pow.f64 x 3))) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/5040 (pow.f64 x 7)))))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(sin.f64 x)
(+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (sin.f64 x))
(*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))))
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (sin.f64 x)))
(*.f64 (sin.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (fma.f64 -1/2 (*.f64 eps eps) 1)))
(*.f64 (sin.f64 x) (+.f64 (*.f64 -1/2 (*.f64 eps eps)) (fma.f64 1/24 (pow.f64 eps 4) 1)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (sin.f64 x) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 eps 6) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (+.f64 (sin.f64 x) (fma.f64 -1/720 (*.f64 (sin.f64 x) (pow.f64 eps 6)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))))
(+.f64 (*.f64 (sin.f64 x) (+.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 -1/720 (pow.f64 eps 6)))) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) 1) (sin.f64 x)))
(fma.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 -1/720 (pow.f64 eps 6))) (*.f64 (sin.f64 x) (fma.f64 1/24 (pow.f64 eps 4) 1)))
(*.f64 (sin.f64 x) (+.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 -1/720 (pow.f64 eps 6))) (fma.f64 1/24 (pow.f64 eps 4) 1)))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(*.f64 (cos.f64 eps) (sin.f64 x))
(sin.f64 eps)
(+.f64 (*.f64 -1 x) (sin.f64 eps))
(fma.f64 -1 x (sin.f64 eps))
(-.f64 (sin.f64 eps) x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 -1 x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 -1 x (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (-.f64 (sin.f64 eps) x))
(-.f64 (fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (sin.f64 eps)) x)
(fma.f64 (*.f64 x x) (*.f64 (sin.f64 eps) -1/2) (-.f64 (sin.f64 eps) x))
(fma.f64 x (*.f64 (sin.f64 eps) (*.f64 x -1/2)) (-.f64 (sin.f64 eps) x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 1/6 (pow.f64 x 3) (fma.f64 -1 x (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 1/6 (pow.f64 x 3) (-.f64 (sin.f64 eps) x)))
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (-.f64 (fma.f64 1/6 (pow.f64 x 3) (sin.f64 eps)) x))
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 1/6 (pow.f64 x 3) (-.f64 (sin.f64 eps) x)))
(fma.f64 (*.f64 x x) (+.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 x 1/6)) (-.f64 (sin.f64 eps) x))
(*.f64 -1 (sin.f64 x))
(neg.f64 (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1 (sin.f64 x)))
(fma.f64 (cos.f64 x) eps (neg.f64 (sin.f64 x)))
(fma.f64 eps (cos.f64 x) (neg.f64 (sin.f64 x)))
(-.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1 (sin.f64 x)) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))))
(fma.f64 (cos.f64 x) eps (fma.f64 -1 (sin.f64 x) (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)))))
(+.f64 (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(-.f64 (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (cos.f64 x))) (+.f64 (*.f64 -1 (sin.f64 x)) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))))
(fma.f64 (cos.f64 x) eps (fma.f64 1/120 (*.f64 (cos.f64 x) (pow.f64 eps 5)) (fma.f64 -1 (sin.f64 x) (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3))))))
(+.f64 (-.f64 (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3))) (sin.f64 x)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 1/120 (pow.f64 eps 5)))))
(-.f64 (*.f64 (cos.f64 x) (+.f64 (+.f64 eps (*.f64 1/120 (pow.f64 eps 5))) (*.f64 -1/6 (pow.f64 eps 3)))) (sin.f64 x))
(-.f64 (*.f64 (cos.f64 x) (+.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 1/120 (pow.f64 eps 5)))) (sin.f64 x))

eval517.0ms (3.2%)

Compiler

Compiled 15906 to 6288 computations (60.5% saved)

prune405.0ms (2.5%)

Pruning

75 alts after pruning (69 fresh and 6 done)

PrunedKeptTotal
New70753760
Fresh321648
Picked011
Done257
Total74175816
Error
0.0b
Counts
816 → 75
Alt Table
Click to see full alt table
StatusErrorProgram
35.5b
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) 2))
42.3b
(-.f64 (sin.f64 eps) x)
30.2b
(*.f64 (cos.f64 x) eps)
32.7b
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
30.6b
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (pow.f64 eps 3)))
1.6b
(pow.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 3)
30.5b
(*.f64 (*.f64 eps (+.f64 (*.f64 eps (*.f64 (sin.f64 x) -1/4)) (*.f64 (cos.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps)))))) 2)
31.8b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))) 2)
60.2b
(-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1)
41.2b
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x))
40.7b
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) x)
35.6b
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) 1/3))
31.7b
(sin.f64 eps)
43.9b
(pow.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 3) 1/3)
38.6b
(+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
0.4b
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
34.5b
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (sin.f64 eps) (+.f64 1 (*.f64 -1/2 (*.f64 x x)))))
25.7b
(*.f64 (*.f64 (sin.f64 (*.f64 (fma.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 eps) (neg.f64 (-.f64 x x))) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)
48.4b
(+.f64 eps (*.f64 eps (*.f64 -1/2 (*.f64 x (+.f64 eps x)))))
40.2b
(-.f64 (sin.f64 eps) (sin.f64 x))
52.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (*.f64 (-.f64 (*.f64 x x) (pow.f64 (-.f64 eps x) 2)) (/.f64 1 (+.f64 (-.f64 x eps) x))) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)
0.4b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log.f64 (exp.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x)))
33.7b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (-.f64 (*.f64 (cos.f64 (*.f64 (+.f64 x x) 1/2)) (cos.f64 (*.f64 eps 1/2))) (*.f64 (sin.f64 (*.f64 (+.f64 x x) 1/2)) (sin.f64 (*.f64 eps 1/2))))) 2)
59.3b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (neg.f64 (sin.f64 x)))
35.4b
(exp.f64 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))
30.4b
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x)))))
18.7b
(fma.f64 (*.f64 (sin.f64 eps) (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (neg.f64 (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps)))))
0.3b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 -1 (cos.f64 eps))) (sin.f64 x)))
0.4b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
40.2b
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 eps) (sin.f64 x))))
0.4b
(fma.f64 (sin.f64 eps) (cos.f64 x) (log1p.f64 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))
0.5b
(log1p.f64 (expm1.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))
52.4b
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x))
45.7b
(-.f64 (+.f64 1 (-.f64 (sin.f64 eps) (sin.f64 x))) 1)
22.0b
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 3) (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 3)) (+.f64 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 2) (-.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 2) (*.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))
16.6b
(fma.f64 (sin.f64 eps) (cos.f64 x) (-.f64 (*.f64 (cos.f64 eps) x) x))
43.4b
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 eps) (sin.f64 x)) 3))
31.1b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))) (+.f64 1 (expm1.f64 (sin.f64 x))))))
2.2b
(fma.f64 (sin.f64 eps) (cos.f64 x) (-.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))) 1))
33.9b
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (neg.f64 (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps)))))
30.9b
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (exp.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))
24.3b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x))))
45.7b
(log.f64 (exp.f64 (-.f64 (sin.f64 eps) (sin.f64 x))))
45.7b
(+.f64 1 (-.f64 (-.f64 (sin.f64 eps) (sin.f64 x)) 1))
1.7b
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 2) (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))
24.3b
(fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
46.5b
eps
52.7b
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 eps) (sin.f64 x)) 2))
40.1b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
0.4b
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
15.6b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))) 2)
40.8b
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x))
30.5b
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 (*.f64 eps -1/6) (cos.f64 x)))))
41.2b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (sin.f64 eps) x))
15.6b
(*.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)
59.8b
(neg.f64 (sin.f64 x))
24.2b
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
24.2b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
30.6b
(log.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))
62.3b
(*.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)))
52.2b
(*.f64 (*.f64 (sin.f64 (*.f64 (fma.f64 (-.f64 (*.f64 x x) (*.f64 eps eps)) (/.f64 1 (-.f64 x eps)) (neg.f64 x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)
61.2b
(-.f64 x x)
28.1b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3)) (sin.f64 x)))
46.9b
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2)
40.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (-.f64 eps x) 1/2)) (cos.f64 (*.f64 (+.f64 eps x) 1/2))) 2)
0.4b
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))))
31.0b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3)
52.8b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 x)) 2)
24.3b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
40.6b
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))) 3)
41.2b
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) x)) (cos.f64 eps)) x) (sin.f64 eps)) x)
30.6b
(*.f64 (+.f64 (*.f64 eps (*.f64 (cos.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps))))) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/4)) (*.f64 1/48 (pow.f64 eps 4))))) 2)
0.5b
(fma.f64 (sin.f64 eps) (cos.f64 x) (pow.f64 (cbrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) 3))
48.9b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (/.f64 (*.f64 (-.f64 (*.f64 x x) (pow.f64 (+.f64 x eps) 2)) 1/2) (-.f64 (-.f64 x x) eps)))) 2)
30.4b
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps))))
Compiler

Compiled 2338 to 1640 computations (29.9% saved)

localize53.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 60 to 30 computations (50% saved)

series52.0ms (0.3%)

Counts
4 → 64
Calls

18 calls:

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

rewrite119.0ms (0.7%)

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

Useful iterations: 1 (0.0ms)

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

simplify93.0ms (0.6%)

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

Useful iterations: 3 (0.0ms)

IterNodesCost
01371623
14041569
211461497
348121440
Stop Event
node limit
Counts
210 → 199
Calls
Call 1
Inputs
(pow.f64 eps 2)
(+.f64 (pow.f64 eps 2) (*.f64 -1/3 (pow.f64 eps 4)))
(+.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/3 (pow.f64 eps 4)) (*.f64 2/45 (pow.f64 eps 6))))
(+.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/315 (pow.f64 eps 8)) (+.f64 (*.f64 -1/3 (pow.f64 eps 4)) (*.f64 2/45 (pow.f64 eps 6)))))
-2
(-.f64 (*.f64 1/2 (pow.f64 eps 2)) 2)
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 eps 2)) (*.f64 -1/24 (pow.f64 eps 4))) 2)
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/24 (pow.f64 eps 4)) (*.f64 1/720 (pow.f64 eps 6)))) 2)
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 4) (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x))))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 1/45 (sin.f64 x)) (+.f64 (*.f64 1/96 (sin.f64 x)) (*.f64 -1/4 (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x)))))) (pow.f64 eps 6))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 4) (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x))))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 1/45 (sin.f64 x)) (+.f64 (*.f64 1/96 (sin.f64 x)) (*.f64 -1/4 (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x)))))) (pow.f64 eps 6))) (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1/630 (sin.f64 x)) (+.f64 (*.f64 1/48 (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x)))) (+.f64 (*.f64 -1/4 (-.f64 (*.f64 1/45 (sin.f64 x)) (+.f64 (*.f64 1/96 (sin.f64 x)) (*.f64 -1/4 (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x))))))) (*.f64 -1/2880 (sin.f64 x))))) (pow.f64 eps 8))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 4) (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x))))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 (cos.f64 eps) 1))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 (cos.f64 eps) 1))))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 (cos.f64 eps) 1))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 (cos.f64 eps) 1))) (*.f64 -1/120 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 5)) (+.f64 (cos.f64 eps) 1)))))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 (cos.f64 eps) 1))) (+.f64 (*.f64 1/5040 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 7)) (+.f64 (cos.f64 eps) 1))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 (cos.f64 eps) 1))) (*.f64 -1/120 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 5)) (+.f64 (cos.f64 eps) 1))))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(*.f64 (cos.f64 x) eps)
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (*.f64 -1 (*.f64 (pow.f64 eps 4) (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x))))))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(sin.f64 eps)
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps)))) (sin.f64 eps))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (sin.f64 eps)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 1 (cos.f64 eps)))) (sin.f64 eps))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
Outputs
(pow.f64 eps 2)
(*.f64 eps eps)
(+.f64 (pow.f64 eps 2) (*.f64 -1/3 (pow.f64 eps 4)))
(+.f64 (*.f64 eps eps) (*.f64 -1/3 (pow.f64 eps 4)))
(fma.f64 eps eps (*.f64 -1/3 (pow.f64 eps 4)))
(fma.f64 -1/3 (pow.f64 eps 4) (*.f64 eps eps))
(+.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/3 (pow.f64 eps 4)) (*.f64 2/45 (pow.f64 eps 6))))
(+.f64 (*.f64 eps eps) (fma.f64 -1/3 (pow.f64 eps 4) (*.f64 2/45 (pow.f64 eps 6))))
(fma.f64 eps eps (fma.f64 -1/3 (pow.f64 eps 4) (*.f64 2/45 (pow.f64 eps 6))))
(fma.f64 -1/3 (pow.f64 eps 4) (fma.f64 2/45 (pow.f64 eps 6) (*.f64 eps eps)))
(fma.f64 -1/3 (pow.f64 eps 4) (fma.f64 eps eps (*.f64 2/45 (pow.f64 eps 6))))
(+.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/315 (pow.f64 eps 8)) (+.f64 (*.f64 -1/3 (pow.f64 eps 4)) (*.f64 2/45 (pow.f64 eps 6)))))
(+.f64 (*.f64 eps eps) (fma.f64 -1/315 (pow.f64 eps 8) (fma.f64 -1/3 (pow.f64 eps 4) (*.f64 2/45 (pow.f64 eps 6)))))
(fma.f64 eps eps (fma.f64 -1/315 (pow.f64 eps 8) (fma.f64 -1/3 (pow.f64 eps 4) (*.f64 2/45 (pow.f64 eps 6)))))
(fma.f64 eps eps (fma.f64 2/45 (pow.f64 eps 6) (fma.f64 -1/3 (pow.f64 eps 4) (*.f64 -1/315 (pow.f64 eps 8)))))
-2
(-.f64 (*.f64 1/2 (pow.f64 eps 2)) 2)
(fma.f64 1/2 (*.f64 eps eps) -2)
(fma.f64 (*.f64 eps eps) 1/2 -2)
(fma.f64 eps (*.f64 eps 1/2) -2)
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 eps 2)) (*.f64 -1/24 (pow.f64 eps 4))) 2)
(+.f64 (fma.f64 1/2 (*.f64 eps eps) (*.f64 (pow.f64 eps 4) -1/24)) -2)
(fma.f64 (*.f64 eps eps) 1/2 (fma.f64 (pow.f64 eps 4) -1/24 -2))
(fma.f64 eps (*.f64 eps 1/2) (fma.f64 (pow.f64 eps 4) -1/24 -2))
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/24 (pow.f64 eps 4)) (*.f64 1/720 (pow.f64 eps 6)))) 2)
(+.f64 (fma.f64 1/2 (*.f64 eps eps) (fma.f64 -1/24 (pow.f64 eps 4) (*.f64 (pow.f64 eps 6) 1/720))) -2)
(+.f64 (fma.f64 (pow.f64 eps 4) -1/24 (*.f64 (pow.f64 eps 6) 1/720)) (fma.f64 (*.f64 eps eps) 1/2 -2))
(fma.f64 eps (*.f64 eps 1/2) (fma.f64 (pow.f64 eps 4) -1/24 (fma.f64 (pow.f64 eps 6) 1/720 -2)))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(neg.f64 (+.f64 (cos.f64 eps) 1))
(fma.f64 -1 (cos.f64 eps) -1)
(-.f64 -1 (cos.f64 eps))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(neg.f64 (+.f64 (cos.f64 eps) 1))
(fma.f64 -1 (cos.f64 eps) -1)
(-.f64 -1 (cos.f64 eps))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(neg.f64 (+.f64 (cos.f64 eps) 1))
(fma.f64 -1 (cos.f64 eps) -1)
(-.f64 -1 (cos.f64 eps))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(neg.f64 (+.f64 (cos.f64 eps) 1))
(fma.f64 -1 (cos.f64 eps) -1)
(-.f64 -1 (cos.f64 eps))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(neg.f64 (+.f64 (cos.f64 eps) 1))
(fma.f64 -1 (cos.f64 eps) -1)
(-.f64 -1 (cos.f64 eps))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(neg.f64 (+.f64 (cos.f64 eps) 1))
(fma.f64 -1 (cos.f64 eps) -1)
(-.f64 -1 (cos.f64 eps))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(neg.f64 (+.f64 (cos.f64 eps) 1))
(fma.f64 -1 (cos.f64 eps) -1)
(-.f64 -1 (cos.f64 eps))
(*.f64 -1 (+.f64 (cos.f64 eps) 1))
(neg.f64 (+.f64 (cos.f64 eps) 1))
(fma.f64 -1 (cos.f64 eps) -1)
(-.f64 -1 (cos.f64 eps))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))
(*.f64 (*.f64 eps eps) (*.f64 -1/2 (sin.f64 x)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 4) (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x))))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (neg.f64 (*.f64 (pow.f64 eps 4) (*.f64 (sin.f64 x) -1/24))))
(-.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (*.f64 (pow.f64 eps 4) (*.f64 -1/24 (sin.f64 x))))
(*.f64 (sin.f64 x) (-.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 (pow.f64 eps 4) -1/24)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 1/45 (sin.f64 x)) (+.f64 (*.f64 1/96 (sin.f64 x)) (*.f64 -1/4 (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x)))))) (pow.f64 eps 6))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 4) (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x))))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(fma.f64 -1 (*.f64 (pow.f64 eps 6) (-.f64 (*.f64 (sin.f64 x) 1/45) (fma.f64 1/96 (sin.f64 x) (*.f64 (*.f64 (sin.f64 x) -1/24) -1/4)))) (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (neg.f64 (*.f64 (pow.f64 eps 4) (*.f64 (sin.f64 x) -1/24)))))
(-.f64 (-.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (*.f64 (pow.f64 eps 4) (*.f64 -1/24 (sin.f64 x)))) (*.f64 (pow.f64 eps 6) (-.f64 (*.f64 (sin.f64 x) 17/1440) (*.f64 (sin.f64 x) 1/96))))
(-.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 (pow.f64 eps 4) -1/24))) (*.f64 (pow.f64 eps 6) (*.f64 (sin.f64 x) 1/720)))
(fma.f64 (pow.f64 eps 6) (*.f64 (sin.f64 x) -1/720) (*.f64 (sin.f64 x) (-.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 (pow.f64 eps 4) -1/24))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 1/45 (sin.f64 x)) (+.f64 (*.f64 1/96 (sin.f64 x)) (*.f64 -1/4 (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x)))))) (pow.f64 eps 6))) (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1/630 (sin.f64 x)) (+.f64 (*.f64 1/48 (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x)))) (+.f64 (*.f64 -1/4 (-.f64 (*.f64 1/45 (sin.f64 x)) (+.f64 (*.f64 1/96 (sin.f64 x)) (*.f64 -1/4 (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x))))))) (*.f64 -1/2880 (sin.f64 x))))) (pow.f64 eps 8))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 4) (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x))))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(fma.f64 -1 (*.f64 (pow.f64 eps 6) (-.f64 (*.f64 (sin.f64 x) 1/45) (fma.f64 1/96 (sin.f64 x) (*.f64 (*.f64 (sin.f64 x) -1/24) -1/4)))) (fma.f64 -1 (*.f64 (pow.f64 eps 8) (-.f64 (*.f64 (sin.f64 x) -1/630) (fma.f64 1/48 (*.f64 (sin.f64 x) -1/24) (fma.f64 -1/4 (-.f64 (*.f64 (sin.f64 x) 1/45) (fma.f64 1/96 (sin.f64 x) (*.f64 (*.f64 (sin.f64 x) -1/24) -1/4))) (*.f64 (sin.f64 x) -1/2880))))) (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (neg.f64 (*.f64 (pow.f64 eps 4) (*.f64 (sin.f64 x) -1/24))))))
(-.f64 (-.f64 (-.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (*.f64 (pow.f64 eps 4) (*.f64 -1/24 (sin.f64 x)))) (*.f64 (pow.f64 eps 8) (-.f64 (*.f64 (sin.f64 x) -1/630) (+.f64 (*.f64 (sin.f64 x) -1/1152) (fma.f64 -1/4 (-.f64 (*.f64 (sin.f64 x) 17/1440) (*.f64 (sin.f64 x) 1/96)) (*.f64 (sin.f64 x) -1/2880)))))) (*.f64 (pow.f64 eps 6) (-.f64 (*.f64 (sin.f64 x) 17/1440) (*.f64 (sin.f64 x) 1/96))))
(-.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 (pow.f64 eps 4) -1/24))) (fma.f64 (pow.f64 eps 6) (*.f64 (sin.f64 x) 1/720) (*.f64 (pow.f64 eps 8) (-.f64 (*.f64 (sin.f64 x) -1/630) (fma.f64 -1/4 (*.f64 (sin.f64 x) 1/720) (*.f64 (sin.f64 x) -7/5760))))))
(fma.f64 (pow.f64 eps 8) (+.f64 (fma.f64 -1/4 (*.f64 (sin.f64 x) 1/720) (*.f64 (sin.f64 x) -1/2880)) (*.f64 (sin.f64 x) 29/40320)) (fma.f64 (pow.f64 eps 6) (*.f64 (sin.f64 x) -1/720) (*.f64 (sin.f64 x) (-.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 (pow.f64 eps 4) -1/24)))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (neg.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (neg.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (neg.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (neg.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (neg.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (neg.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (neg.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps))))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (neg.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 (cos.f64 eps) 1)))
(neg.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) x)))
(/.f64 (neg.f64 (*.f64 x (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (neg.f64 x))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 (cos.f64 eps) 1))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 (cos.f64 eps) 1))))
(fma.f64 1/6 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (neg.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) x))))
(-.f64 (*.f64 1/6 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (pow.f64 x 3))) (/.f64 x (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(-.f64 (*.f64 1/6 (*.f64 (pow.f64 x 3) (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)))) (/.f64 (*.f64 x (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(-.f64 (*.f64 (/.f64 1/6 (+.f64 (cos.f64 eps) 1)) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3))) (/.f64 x (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 (cos.f64 eps) 1))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 (cos.f64 eps) 1))) (*.f64 -1/120 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 5)) (+.f64 (cos.f64 eps) 1)))))
(fma.f64 1/6 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) x)) (*.f64 -1/120 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 5))))))
(fma.f64 1/6 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (pow.f64 x 3)) (-.f64 (*.f64 -1/120 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (pow.f64 x 5))) (/.f64 x (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (fma.f64 1/6 (*.f64 (pow.f64 x 3) (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1))) (*.f64 -1/120 (*.f64 (pow.f64 x 5) (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1))))) (/.f64 (*.f64 x (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(-.f64 (fma.f64 1/6 (*.f64 (pow.f64 x 3) (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1))) (/.f64 -1/120 (/.f64 (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)) (pow.f64 x 5)))) (/.f64 x (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 (cos.f64 eps) 1))) (+.f64 (*.f64 1/5040 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 7)) (+.f64 (cos.f64 eps) 1))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 (cos.f64 eps) 1))) (*.f64 -1/120 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 5)) (+.f64 (cos.f64 eps) 1))))))
(fma.f64 1/6 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (fma.f64 1/5040 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 7))) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) x)) (*.f64 -1/120 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 5)))))))
(fma.f64 1/6 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (pow.f64 x 3)) (fma.f64 1/5040 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (pow.f64 x 7)) (-.f64 (*.f64 -1/120 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (pow.f64 x 5))) (/.f64 x (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))))
(fma.f64 1/6 (*.f64 (pow.f64 x 3) (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1))) (fma.f64 -1/120 (*.f64 (pow.f64 x 5) (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1))) (-.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (*.f64 1/5040 (pow.f64 x 7))) (/.f64 (*.f64 x (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))))
(fma.f64 1/6 (*.f64 (pow.f64 x 3) (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1))) (fma.f64 -1/120 (*.f64 (/.f64 (pow.f64 x 5) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)) (-.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) 1/5040) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 7))) (/.f64 x (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (neg.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (neg.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (neg.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (neg.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (neg.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (neg.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (neg.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))
(*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (neg.f64 (pow.f64 (sin.f64 eps) 2)))
(*.f64 (pow.f64 (sin.f64 eps) 2) (neg.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 (cos.f64 x) eps (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x)))
(fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))
(fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 -1/2 (sin.f64 x))))
(*.f64 eps (+.f64 (*.f64 (*.f64 -1/2 (sin.f64 x)) eps) (cos.f64 x)))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))))
(+.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 (sin.f64 x)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (*.f64 -1 (*.f64 (pow.f64 eps 4) (-.f64 (*.f64 -1/6 (sin.f64 x)) (*.f64 -1/8 (sin.f64 x))))))))
(fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (neg.f64 (*.f64 (pow.f64 eps 4) (*.f64 (sin.f64 x) -1/24))))))
(+.f64 (-.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (*.f64 (pow.f64 eps 4) (*.f64 -1/24 (sin.f64 x)))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (-.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 (pow.f64 eps 4) -1/24))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(sin.f64 eps)
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps)))) (sin.f64 eps))
(fma.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) x)) (sin.f64 eps))
(-.f64 (sin.f64 eps) (/.f64 x (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(-.f64 (sin.f64 eps) (/.f64 (*.f64 x (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (sin.f64 eps)))
(fma.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) x)) (fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (sin.f64 eps)))
(-.f64 (fma.f64 -1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (sin.f64 eps)) (/.f64 x (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(-.f64 (*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1)) (/.f64 (*.f64 x (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(*.f64 (sin.f64 eps) (-.f64 (fma.f64 -1/2 (*.f64 x x) 1) (/.f64 x (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 1 (cos.f64 eps)))) (sin.f64 eps))))
(fma.f64 -1 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) x)) (fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 1/6 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (sin.f64 eps))))
(-.f64 (fma.f64 -1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (fma.f64 1/6 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (pow.f64 x 3)) (sin.f64 eps))) (/.f64 x (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2))))
(-.f64 (fma.f64 1/6 (*.f64 (pow.f64 x 3) (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) 1))) (*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1))) (/.f64 (*.f64 x (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1)))
(+.f64 (*.f64 (/.f64 1/6 (+.f64 (cos.f64 eps) 1)) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3))) (*.f64 (sin.f64 eps) (-.f64 (fma.f64 -1/2 (*.f64 x x) 1) (/.f64 x (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps))))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (pow.f64 (sin.f64 eps) 2)))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)) (pow.f64 (sin.f64 eps) 2)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1))))
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 40 to 14 computations (65% saved)

series12.0ms (0.1%)

Counts
3 → 72
Calls

18 calls:

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

rewrite102.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
559×log-prod_binary64
489×fma-def_binary64
423×pow-prod-down_binary64
277×pow2_binary64
226×pow-unpow_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify81.0ms (0.5%)

Algorithm
egg-herbie
Rules
791×fma-neg_binary64
491×associate-*l*_binary64
436×distribute-rgt-out--_binary64
400×unsub-neg_binary64
373×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0301018
182913
2183743
3564743
42570743
56675743
Stop Event
node limit
Counts
222 → 171
Calls
Call 1
Inputs
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(*.f64 eps x)
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(*.f64 eps x)
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(*.f64 eps x)
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(+.f64 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
(+.f64 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
(+.f64 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1 (*.f64 eps (-.f64 (*.f64 1/2 (pow.f64 x 2)) 1))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1 (*.f64 eps (-.f64 (*.f64 1/2 (pow.f64 x 2)) 1))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1 (*.f64 eps (-.f64 (*.f64 1/2 (pow.f64 x 2)) 1))))
eps
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))
Outputs
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))
(*.f64 -1/2 (*.f64 eps (*.f64 x x)))
(*.f64 (*.f64 x x) (*.f64 -1/2 eps))
(*.f64 eps (*.f64 -1/2 (*.f64 x x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)))
(*.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)))
(*.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)))
(*.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 x (*.f64 eps eps)))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 x (*.f64 -1/2 (*.f64 eps eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)))
(*.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)))
(*.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)))
(*.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 x (*.f64 eps eps)))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 x (*.f64 -1/2 (*.f64 eps eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)))
(*.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)))
(*.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)))
(*.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 x (*.f64 eps eps)))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 x (*.f64 -1/2 (*.f64 eps eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)))
(*.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)))
(*.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)))
(*.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)))
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))
(*.f64 -1/2 (*.f64 eps (*.f64 x x)))
(*.f64 (*.f64 x x) (*.f64 -1/2 eps))
(*.f64 eps (*.f64 -1/2 (*.f64 x x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)))
(*.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)))
(*.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)))
(*.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)))
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))
(*.f64 -1/2 (*.f64 eps (*.f64 x x)))
(*.f64 (*.f64 x x) (*.f64 -1/2 eps))
(*.f64 eps (*.f64 -1/2 (*.f64 x x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)))
(*.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)))
(*.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)))
(*.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)))
(*.f64 eps x)
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(fma.f64 eps x (*.f64 x x))
(*.f64 x (+.f64 eps x))
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(fma.f64 eps x (*.f64 x x))
(*.f64 x (+.f64 eps x))
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(fma.f64 eps x (*.f64 x x))
(*.f64 x (+.f64 eps x))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(fma.f64 eps x (*.f64 x x))
(*.f64 x (+.f64 eps x))
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(fma.f64 eps x (*.f64 x x))
(*.f64 x (+.f64 eps x))
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(fma.f64 eps x (*.f64 x x))
(*.f64 x (+.f64 eps x))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(fma.f64 eps x (*.f64 x x))
(*.f64 x (+.f64 eps x))
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(fma.f64 eps x (*.f64 x x))
(*.f64 x (+.f64 eps x))
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(fma.f64 eps x (*.f64 x x))
(*.f64 x (+.f64 eps x))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(fma.f64 eps x (*.f64 x x))
(*.f64 x (+.f64 eps x))
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(fma.f64 eps x (*.f64 x x))
(*.f64 x (+.f64 eps x))
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(fma.f64 eps x (*.f64 x x))
(*.f64 x (+.f64 eps x))
(*.f64 eps x)
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(fma.f64 eps x (*.f64 x x))
(*.f64 x (+.f64 eps x))
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(fma.f64 eps x (*.f64 x x))
(*.f64 x (+.f64 eps x))
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(fma.f64 eps x (*.f64 x x))
(*.f64 x (+.f64 eps x))
(*.f64 eps x)
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(fma.f64 eps x (*.f64 x x))
(*.f64 x (+.f64 eps x))
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(fma.f64 eps x (*.f64 x x))
(*.f64 x (+.f64 eps x))
(+.f64 (*.f64 eps x) (pow.f64 x 2))
(fma.f64 eps x (*.f64 x x))
(*.f64 x (+.f64 eps x))
(*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))
(*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x))))
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps)
(fma.f64 (*.f64 x x) (*.f64 -1/2 eps) eps)
(*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))))
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x)))))
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))))
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps)
(fma.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)) eps)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))))
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x)))))
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))))
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps)
(fma.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)) eps)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))))
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x)))))
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))))
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps)
(fma.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)) eps)
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 x (*.f64 eps eps)))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 x (*.f64 -1/2 (*.f64 eps eps)))
(+.f64 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x)))))
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))))
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps)
(fma.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)) eps)
(+.f64 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x)))))
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))))
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps)
(fma.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)) eps)
(+.f64 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x)))))
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))))
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps)
(fma.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)) eps)
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 x (*.f64 eps eps)))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 x (*.f64 -1/2 (*.f64 eps eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1 (*.f64 eps (-.f64 (*.f64 1/2 (pow.f64 x 2)) 1))))
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x)))))
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))))
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps)
(fma.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)) eps)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1 (*.f64 eps (-.f64 (*.f64 1/2 (pow.f64 x 2)) 1))))
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x)))))
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))))
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps)
(fma.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)) eps)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1 (*.f64 eps (-.f64 (*.f64 1/2 (pow.f64 x 2)) 1))))
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x)))))
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))))
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps)
(fma.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)) eps)
eps
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps)
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) eps)
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x)))))
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))))
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps)
(fma.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)) eps)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x)))))
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))))
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps)
(fma.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)) eps)
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))
(*.f64 -1/2 (*.f64 eps (*.f64 x x)))
(*.f64 (*.f64 x x) (*.f64 -1/2 eps))
(*.f64 eps (*.f64 -1/2 (*.f64 x x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)))
(*.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x)))))
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))))
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps)
(fma.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)) eps)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x)))))
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))))
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps)
(fma.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)) eps)
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))
(*.f64 -1/2 (*.f64 eps (*.f64 x x)))
(*.f64 (*.f64 x x) (*.f64 -1/2 eps))
(*.f64 eps (*.f64 -1/2 (*.f64 x x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)))
(*.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x)))))
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))))
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps)
(fma.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)) eps)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x)))))
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))))
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps)
(fma.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)) eps)

localize72.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

Compiled 64 to 47 computations (26.6% saved)

series15.0ms (0.1%)

Counts
4 → 60
Calls

21 calls:

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

rewrite93.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
623×log-prod_binary64
509×fma-def_binary64
336×pow2_binary64
262×fma-neg_binary64
234×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify106.0ms (0.7%)

Algorithm
egg-herbie
Rules
731×fma-def_binary64
526×neg-sub0_binary64
484×neg-mul-1_binary64
387×associate-*l*_binary64
379×associate-*r*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0105908
1303834
2844778
33302719
47305709
Stop Event
node limit
Counts
189 → 175
Calls
Call 1
Inputs
(cos.f64 x)
(+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x))
(+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (cos.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (cos.f64 x) (*.f64 1/48 (*.f64 (pow.f64 eps 3) (sin.f64 x))))))
(cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 eps))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) (cos.f64 (*.f64 1/2 eps)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (cos.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (+.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 3))))))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(*.f64 1/2 (*.f64 eps (cos.f64 x)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (*.f64 1/2 (*.f64 eps (cos.f64 x))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (cos.f64 x)) (*.f64 -1/48 (cos.f64 x))))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (cos.f64 x)) (*.f64 -1/48 (cos.f64 x)))) (*.f64 1/48 (*.f64 (pow.f64 eps 4) (sin.f64 x))))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) x)) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps)))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 3))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))))))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
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 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)
(*.f64 1/2 eps)
(+.f64 (*.f64 -1/48 (pow.f64 eps 3)) (*.f64 1/2 eps))
(+.f64 (*.f64 1/3840 (pow.f64 eps 5)) (+.f64 (*.f64 -1/48 (pow.f64 eps 3)) (*.f64 1/2 eps)))
(+.f64 (*.f64 1/3840 (pow.f64 eps 5)) (+.f64 (*.f64 -1/48 (pow.f64 eps 3)) (+.f64 (*.f64 -1/645120 (pow.f64 eps 7)) (*.f64 1/2 eps))))
Outputs
(cos.f64 x)
(+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x))
(fma.f64 -1/2 (*.f64 eps (sin.f64 x)) (cos.f64 x))
(+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (cos.f64 x)))
(fma.f64 -1/2 (*.f64 eps (sin.f64 x)) (fma.f64 -1/8 (*.f64 (cos.f64 x) (*.f64 eps eps)) (cos.f64 x)))
(fma.f64 -1/2 (*.f64 eps (sin.f64 x)) (*.f64 (+.f64 (*.f64 -1/8 (*.f64 eps eps)) 1) (cos.f64 x)))
(fma.f64 -1/2 (*.f64 eps (sin.f64 x)) (*.f64 (cos.f64 x) (fma.f64 -1/8 (*.f64 eps eps) 1)))
(fma.f64 -1/2 (*.f64 eps (sin.f64 x)) (*.f64 (cos.f64 x) (fma.f64 (*.f64 eps -1/8) eps 1)))
(+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (cos.f64 x) (*.f64 1/48 (*.f64 (pow.f64 eps 3) (sin.f64 x))))))
(fma.f64 -1/2 (*.f64 eps (sin.f64 x)) (+.f64 (fma.f64 -1/8 (*.f64 (cos.f64 x) (*.f64 eps eps)) (cos.f64 x)) (*.f64 1/48 (*.f64 (sin.f64 x) (pow.f64 eps 3)))))
(fma.f64 -1/2 (*.f64 eps (sin.f64 x)) (fma.f64 -1/8 (*.f64 (cos.f64 x) (*.f64 eps eps)) (fma.f64 1/48 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (cos.f64 x))))
(fma.f64 (fma.f64 -1/8 (*.f64 eps eps) 1) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/48 (pow.f64 eps 3)) (*.f64 -1/2 eps))))
(fma.f64 (fma.f64 (*.f64 eps -1/8) eps 1) (cos.f64 x) (*.f64 (*.f64 eps (sin.f64 x)) (+.f64 (*.f64 (*.f64 eps eps) 1/48) -1/2)))
(cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 (fma.f64 2 x (neg.f64 (neg.f64 eps)))))
(cos.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(cos.f64 (fma.f64 eps 1/2 x))
(cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 (fma.f64 2 x (neg.f64 (neg.f64 eps)))))
(cos.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(cos.f64 (fma.f64 eps 1/2 x))
(cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 (fma.f64 2 x (neg.f64 (neg.f64 eps)))))
(cos.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(cos.f64 (fma.f64 eps 1/2 x))
(cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))
(cos.f64 (*.f64 1/2 (fma.f64 2 x (neg.f64 (neg.f64 eps)))))
(cos.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(cos.f64 (fma.f64 eps 1/2 x))
(cos.f64 (*.f64 1/2 eps))
(cos.f64 (*.f64 eps 1/2))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) (cos.f64 (*.f64 1/2 eps)))
(fma.f64 -1 (*.f64 x (sin.f64 (*.f64 eps 1/2))) (cos.f64 (*.f64 eps 1/2)))
(-.f64 (cos.f64 (*.f64 eps 1/2)) (*.f64 x (sin.f64 (*.f64 eps 1/2))))
(fma.f64 x (sin.f64 (*.f64 -1/2 eps)) (cos.f64 (*.f64 eps 1/2)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (cos.f64 (*.f64 1/2 eps))))
(fma.f64 -1 (*.f64 x (sin.f64 (*.f64 eps 1/2))) (fma.f64 -1/2 (*.f64 (cos.f64 (*.f64 eps 1/2)) (*.f64 x x)) (cos.f64 (*.f64 eps 1/2))))
(-.f64 (fma.f64 -1/2 (*.f64 x (*.f64 x (cos.f64 (*.f64 eps 1/2)))) (cos.f64 (*.f64 eps 1/2))) (*.f64 x (sin.f64 (*.f64 eps 1/2))))
(-.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 x x)) 1) (cos.f64 (*.f64 eps 1/2))) (*.f64 x (sin.f64 (*.f64 eps 1/2))))
(-.f64 (*.f64 (+.f64 1 (*.f64 (*.f64 -1/2 x) x)) (cos.f64 (*.f64 eps 1/2))) (*.f64 x (sin.f64 (*.f64 eps 1/2))))
(fma.f64 x (sin.f64 (*.f64 -1/2 eps)) (*.f64 (+.f64 1 (*.f64 (*.f64 -1/2 x) x)) (cos.f64 (*.f64 eps 1/2))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (+.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 3))))))
(fma.f64 -1 (*.f64 x (sin.f64 (*.f64 eps 1/2))) (+.f64 (fma.f64 -1/2 (*.f64 (cos.f64 (*.f64 eps 1/2)) (*.f64 x x)) (cos.f64 (*.f64 eps 1/2))) (*.f64 1/6 (*.f64 (sin.f64 (*.f64 eps 1/2)) (pow.f64 x 3)))))
(-.f64 (fma.f64 -1/2 (*.f64 x (*.f64 x (cos.f64 (*.f64 eps 1/2)))) (fma.f64 1/6 (*.f64 (sin.f64 (*.f64 eps 1/2)) (pow.f64 x 3)) (cos.f64 (*.f64 eps 1/2)))) (*.f64 x (sin.f64 (*.f64 eps 1/2))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 x x)) 1) (cos.f64 (*.f64 eps 1/2))) (*.f64 (sin.f64 (*.f64 eps 1/2)) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (neg.f64 x))))
(+.f64 (*.f64 (+.f64 1 (*.f64 (*.f64 -1/2 x) x)) (cos.f64 (*.f64 eps 1/2))) (*.f64 (sin.f64 (*.f64 eps 1/2)) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x)))
(fma.f64 (+.f64 1 (*.f64 (*.f64 -1/2 x) x)) (cos.f64 (*.f64 eps 1/2)) (*.f64 (sin.f64 (*.f64 eps 1/2)) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x)))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(cos.f64 (*.f64 1/2 (fma.f64 2 x (neg.f64 (neg.f64 eps)))))
(cos.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(cos.f64 (fma.f64 eps 1/2 x))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(cos.f64 (*.f64 1/2 (fma.f64 2 x (neg.f64 (neg.f64 eps)))))
(cos.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(cos.f64 (fma.f64 eps 1/2 x))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(cos.f64 (*.f64 1/2 (fma.f64 2 x (neg.f64 (neg.f64 eps)))))
(cos.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(cos.f64 (fma.f64 eps 1/2 x))
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x))))
(cos.f64 (*.f64 1/2 (fma.f64 2 x (neg.f64 (neg.f64 eps)))))
(cos.f64 (*.f64 1/2 (fma.f64 x 2 eps)))
(cos.f64 (fma.f64 eps 1/2 x))
(*.f64 1/2 (*.f64 eps (cos.f64 x)))
(*.f64 1/2 (*.f64 (cos.f64 x) eps))
(*.f64 (cos.f64 x) (*.f64 eps 1/2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (*.f64 1/2 (*.f64 eps (cos.f64 x))))
(fma.f64 -1/4 (*.f64 (sin.f64 x) (*.f64 eps eps)) (*.f64 1/2 (*.f64 (cos.f64 x) eps)))
(fma.f64 1/2 (*.f64 (cos.f64 x) eps) (*.f64 (sin.f64 x) (*.f64 (*.f64 eps eps) -1/4)))
(fma.f64 (cos.f64 x) (*.f64 eps 1/2) (*.f64 (sin.f64 x) (*.f64 (*.f64 eps eps) -1/4)))
(*.f64 eps (+.f64 (*.f64 (cos.f64 x) 1/2) (*.f64 (sin.f64 x) (*.f64 eps -1/4))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (cos.f64 x)) (*.f64 -1/48 (cos.f64 x))))))
(fma.f64 -1/4 (*.f64 (sin.f64 x) (*.f64 eps eps)) (fma.f64 1/2 (*.f64 (cos.f64 x) eps) (*.f64 (pow.f64 eps 3) (*.f64 (cos.f64 x) -1/12))))
(fma.f64 -1/4 (*.f64 (sin.f64 x) (*.f64 eps eps)) (fma.f64 (pow.f64 eps 3) (*.f64 (cos.f64 x) -1/12) (*.f64 1/2 (*.f64 (cos.f64 x) eps))))
(fma.f64 (sin.f64 x) (*.f64 (*.f64 eps eps) -1/4) (*.f64 (cos.f64 x) (+.f64 (*.f64 (pow.f64 eps 3) -1/12) (*.f64 eps 1/2))))
(*.f64 eps (+.f64 (*.f64 eps (*.f64 (sin.f64 x) -1/4)) (*.f64 (cos.f64 x) (+.f64 1/2 (*.f64 (*.f64 eps eps) -1/12)))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (cos.f64 x)) (*.f64 -1/48 (cos.f64 x)))) (*.f64 1/48 (*.f64 (pow.f64 eps 4) (sin.f64 x))))))
(fma.f64 -1/4 (*.f64 (sin.f64 x) (*.f64 eps eps)) (fma.f64 1/2 (*.f64 (cos.f64 x) eps) (fma.f64 (pow.f64 eps 3) (*.f64 (cos.f64 x) -1/12) (*.f64 1/48 (*.f64 (sin.f64 x) (pow.f64 eps 4))))))
(fma.f64 -1/4 (*.f64 (sin.f64 x) (*.f64 eps eps)) (fma.f64 1/2 (*.f64 (cos.f64 x) eps) (fma.f64 1/48 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (*.f64 (cos.f64 x) (*.f64 -1/12 (pow.f64 eps 3))))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 (*.f64 (pow.f64 eps 3) -1/12) (*.f64 eps 1/2))) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/48 (pow.f64 eps 4)) (*.f64 (*.f64 eps eps) -1/4))))
(+.f64 (*.f64 (cos.f64 x) (+.f64 (*.f64 eps 1/2) (*.f64 (pow.f64 eps 3) -1/12))) (*.f64 (sin.f64 x) (+.f64 (*.f64 (*.f64 eps eps) -1/4) (*.f64 1/48 (pow.f64 eps 4)))))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (cos.f64 (*.f64 1/2 (fma.f64 2 x (neg.f64 (neg.f64 eps))))) (sin.f64 (*.f64 eps 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (sin.f64 (*.f64 eps 1/2)))
(*.f64 (cos.f64 (fma.f64 eps 1/2 x)) (sin.f64 (*.f64 eps 1/2)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (cos.f64 (*.f64 1/2 (fma.f64 2 x (neg.f64 (neg.f64 eps))))) (sin.f64 (*.f64 eps 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (sin.f64 (*.f64 eps 1/2)))
(*.f64 (cos.f64 (fma.f64 eps 1/2 x)) (sin.f64 (*.f64 eps 1/2)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (cos.f64 (*.f64 1/2 (fma.f64 2 x (neg.f64 (neg.f64 eps))))) (sin.f64 (*.f64 eps 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (sin.f64 (*.f64 eps 1/2)))
(*.f64 (cos.f64 (fma.f64 eps 1/2 x)) (sin.f64 (*.f64 eps 1/2)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))))
(*.f64 (cos.f64 (*.f64 1/2 (fma.f64 2 x (neg.f64 (neg.f64 eps))))) (sin.f64 (*.f64 eps 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (sin.f64 (*.f64 eps 1/2)))
(*.f64 (cos.f64 (fma.f64 eps 1/2 x)) (sin.f64 (*.f64 eps 1/2)))
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps)))
(*.f64 (cos.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 eps 1/2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))))
(fma.f64 -1 (*.f64 x (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)) (*.f64 (cos.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 eps 1/2))))
(-.f64 (*.f64 (cos.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 eps 1/2))) (*.f64 x (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (-.f64 (cos.f64 (*.f64 eps 1/2)) (*.f64 x (sin.f64 (*.f64 eps 1/2)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (fma.f64 x (sin.f64 (*.f64 -1/2 eps)) (cos.f64 (*.f64 eps 1/2))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) x)) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps)))))
(fma.f64 -1 (*.f64 x (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)) (fma.f64 -1/2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 (cos.f64 (*.f64 eps 1/2)) (*.f64 x x))) (*.f64 (cos.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 eps 1/2)))))
(-.f64 (fma.f64 -1/2 (*.f64 (cos.f64 (*.f64 eps 1/2)) (*.f64 (*.f64 x x) (sin.f64 (*.f64 eps 1/2)))) (*.f64 (cos.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 eps 1/2)))) (*.f64 x (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)))
(-.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 x x)) 1) (cos.f64 (*.f64 eps 1/2)))) (*.f64 x (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (-.f64 (*.f64 (+.f64 1 (*.f64 (*.f64 -1/2 x) x)) (cos.f64 (*.f64 eps 1/2))) (*.f64 x (sin.f64 (*.f64 eps 1/2)))))
(*.f64 (sin.f64 (*.f64 eps 1/2)) (fma.f64 x (sin.f64 (*.f64 -1/2 eps)) (*.f64 (+.f64 1 (*.f64 (*.f64 -1/2 x) x)) (cos.f64 (*.f64 eps 1/2)))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 3))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))))))
(fma.f64 -1 (*.f64 x (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)) (fma.f64 1/6 (*.f64 (pow.f64 x 3) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)) (fma.f64 -1/2 (*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 (cos.f64 (*.f64 eps 1/2)) (*.f64 x x))) (*.f64 (cos.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 eps 1/2))))))
(-.f64 (fma.f64 1/6 (*.f64 (pow.f64 x 3) (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)) (fma.f64 -1/2 (*.f64 (cos.f64 (*.f64 eps 1/2)) (*.f64 (*.f64 x x) (sin.f64 (*.f64 eps 1/2)))) (*.f64 (cos.f64 (*.f64 eps 1/2)) (sin.f64 (*.f64 eps 1/2))))) (*.f64 x (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2)))
(+.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 x x)) 1) (cos.f64 (*.f64 eps 1/2)))) (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (neg.f64 x))))
(fma.f64 (sin.f64 (*.f64 eps 1/2)) (*.f64 (+.f64 1 (*.f64 (*.f64 -1/2 x) x)) (cos.f64 (*.f64 eps 1/2))) (*.f64 (pow.f64 (sin.f64 (*.f64 eps 1/2)) 2) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (cos.f64 (*.f64 1/2 (fma.f64 2 x (neg.f64 (neg.f64 eps))))) (sin.f64 (*.f64 eps 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (sin.f64 (*.f64 eps 1/2)))
(*.f64 (cos.f64 (fma.f64 eps 1/2 x)) (sin.f64 (*.f64 eps 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (cos.f64 (*.f64 1/2 (fma.f64 2 x (neg.f64 (neg.f64 eps))))) (sin.f64 (*.f64 eps 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (sin.f64 (*.f64 eps 1/2)))
(*.f64 (cos.f64 (fma.f64 eps 1/2 x)) (sin.f64 (*.f64 eps 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (cos.f64 (*.f64 1/2 (fma.f64 2 x (neg.f64 (neg.f64 eps))))) (sin.f64 (*.f64 eps 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (sin.f64 (*.f64 eps 1/2)))
(*.f64 (cos.f64 (fma.f64 eps 1/2 x)) (sin.f64 (*.f64 eps 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps)))
(*.f64 (cos.f64 (*.f64 1/2 (fma.f64 2 x (neg.f64 (neg.f64 eps))))) (sin.f64 (*.f64 eps 1/2)))
(*.f64 (cos.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (sin.f64 (*.f64 eps 1/2)))
(*.f64 (cos.f64 (fma.f64 eps 1/2 x)) (sin.f64 (*.f64 eps 1/2)))
x
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(*.f64 1/2 eps)
(*.f64 eps 1/2)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(*.f64 1/2 eps)
(*.f64 eps 1/2)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(*.f64 1/2 eps)
(*.f64 eps 1/2)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
x
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
x
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(+.f64 (*.f64 1/2 eps) x)
(fma.f64 1/2 eps x)
(fma.f64 eps 1/2 x)
(*.f64 1/2 eps)
(*.f64 eps 1/2)
(+.f64 (*.f64 -1/48 (pow.f64 eps 3)) (*.f64 1/2 eps))
(fma.f64 -1/48 (pow.f64 eps 3) (*.f64 eps 1/2))
(fma.f64 eps 1/2 (*.f64 (pow.f64 eps 3) -1/48))
(+.f64 (*.f64 1/3840 (pow.f64 eps 5)) (+.f64 (*.f64 -1/48 (pow.f64 eps 3)) (*.f64 1/2 eps)))
(fma.f64 1/3840 (pow.f64 eps 5) (fma.f64 -1/48 (pow.f64 eps 3) (*.f64 eps 1/2)))
(fma.f64 1/3840 (pow.f64 eps 5) (fma.f64 eps 1/2 (*.f64 (pow.f64 eps 3) -1/48)))
(fma.f64 eps 1/2 (fma.f64 1/3840 (pow.f64 eps 5) (*.f64 (pow.f64 eps 3) -1/48)))
(+.f64 (*.f64 1/3840 (pow.f64 eps 5)) (+.f64 (*.f64 -1/48 (pow.f64 eps 3)) (+.f64 (*.f64 -1/645120 (pow.f64 eps 7)) (*.f64 1/2 eps))))
(fma.f64 1/3840 (pow.f64 eps 5) (fma.f64 -1/48 (pow.f64 eps 3) (fma.f64 -1/645120 (pow.f64 eps 7) (*.f64 eps 1/2))))
(fma.f64 1/3840 (pow.f64 eps 5) (fma.f64 (pow.f64 eps 3) -1/48 (fma.f64 eps 1/2 (*.f64 -1/645120 (pow.f64 eps 7)))))
(fma.f64 (pow.f64 eps 3) -1/48 (fma.f64 1/3840 (pow.f64 eps 5) (fma.f64 -1/645120 (pow.f64 eps 7) (*.f64 eps 1/2))))
(fma.f64 1/3840 (pow.f64 eps 5) (fma.f64 eps 1/2 (fma.f64 -1/645120 (pow.f64 eps 7) (*.f64 (pow.f64 eps 3) -1/48))))

localize13.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(exp.f64 (-.f64 (sin.f64 eps) (sin.f64 x)))
0.2b
(-.f64 (sin.f64 eps) (sin.f64 x))
3.3b
(log.f64 (exp.f64 (-.f64 (sin.f64 eps) (sin.f64 x))))
Compiler

Compiled 26 to 7 computations (73.1% saved)

series4.0ms (0%)

Counts
2 → 32
Calls

12 calls:

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

rewrite101.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
912×pow1_binary64
847×add-log-exp_binary64
847×log1p-expm1-u_binary64
847×expm1-log1p-u_binary64
830×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify66.0ms (0.4%)

Algorithm
egg-herbie
Rules
530×cancel-sign-sub-inv_binary64
526×fma-neg_binary64
392×unswap-sqr_binary64
369×fma-def_binary64
328×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
066422
1189388
2512354
31671342
43779338
Stop Event
node limit
Counts
100 → 97
Calls
Call 1
Inputs
(*.f64 -1 (sin.f64 x))
(+.f64 eps (*.f64 -1 (sin.f64 x)))
(+.f64 eps (+.f64 (*.f64 -1 (sin.f64 x)) (*.f64 -1/6 (pow.f64 eps 3))))
(+.f64 eps (+.f64 (*.f64 -1 (sin.f64 x)) (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 1/120 (pow.f64 eps 5)))))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(sin.f64 eps)
(+.f64 (*.f64 -1 x) (sin.f64 eps))
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (sin.f64 eps)))
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (+.f64 (*.f64 -1/120 (pow.f64 x 5)) (sin.f64 eps))))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(exp.f64 (neg.f64 (sin.f64 x)))
(+.f64 (*.f64 eps (exp.f64 (neg.f64 (sin.f64 x)))) (exp.f64 (neg.f64 (sin.f64 x))))
(+.f64 (*.f64 eps (exp.f64 (neg.f64 (sin.f64 x)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (exp.f64 (neg.f64 (sin.f64 x))))) (exp.f64 (neg.f64 (sin.f64 x)))))
(+.f64 (*.f64 eps (exp.f64 (neg.f64 (sin.f64 x)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (exp.f64 (neg.f64 (sin.f64 x))))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 4) (exp.f64 (neg.f64 (sin.f64 x))))) (exp.f64 (neg.f64 (sin.f64 x))))))
(exp.f64 (sin.f64 eps))
(+.f64 (*.f64 -1 (*.f64 x (exp.f64 (sin.f64 eps)))) (exp.f64 (sin.f64 eps)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 x 2) (exp.f64 (sin.f64 eps)))) (+.f64 (*.f64 -1 (*.f64 x (exp.f64 (sin.f64 eps)))) (exp.f64 (sin.f64 eps))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 x 2) (exp.f64 (sin.f64 eps)))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 x 4) (exp.f64 (sin.f64 eps)))) (+.f64 (*.f64 -1 (*.f64 x (exp.f64 (sin.f64 eps)))) (exp.f64 (sin.f64 eps)))))
Outputs
(*.f64 -1 (sin.f64 x))
(neg.f64 (sin.f64 x))
(+.f64 eps (*.f64 -1 (sin.f64 x)))
(+.f64 (neg.f64 (sin.f64 x)) eps)
(-.f64 eps (sin.f64 x))
(+.f64 eps (+.f64 (*.f64 -1 (sin.f64 x)) (*.f64 -1/6 (pow.f64 eps 3))))
(+.f64 eps (fma.f64 -1 (sin.f64 x) (*.f64 -1/6 (pow.f64 eps 3))))
(+.f64 eps (fma.f64 -1/6 (pow.f64 eps 3) (neg.f64 (sin.f64 x))))
(-.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (sin.f64 x))
(+.f64 eps (+.f64 (*.f64 -1 (sin.f64 x)) (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 1/120 (pow.f64 eps 5)))))
(+.f64 eps (fma.f64 -1 (sin.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 1/120 (pow.f64 eps 5)))))
(+.f64 (-.f64 eps (sin.f64 x)) (fma.f64 1/120 (pow.f64 eps 5) (*.f64 -1/6 (pow.f64 eps 3))))
(+.f64 eps (-.f64 (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 1/120 (pow.f64 eps 5))) (sin.f64 x)))
(fma.f64 -1/6 (pow.f64 eps 3) (-.f64 (fma.f64 1/120 (pow.f64 eps 5) eps) (sin.f64 x)))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(sin.f64 eps)
(+.f64 (*.f64 -1 x) (sin.f64 eps))
(fma.f64 -1 x (sin.f64 eps))
(-.f64 (sin.f64 eps) x)
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (sin.f64 eps)))
(fma.f64 1/6 (pow.f64 x 3) (fma.f64 -1 x (sin.f64 eps)))
(fma.f64 1/6 (pow.f64 x 3) (-.f64 (sin.f64 eps) x))
(-.f64 (fma.f64 1/6 (pow.f64 x 3) (sin.f64 eps)) x)
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (+.f64 (*.f64 -1/120 (pow.f64 x 5)) (sin.f64 eps))))
(fma.f64 1/6 (pow.f64 x 3) (fma.f64 -1 x (fma.f64 -1/120 (pow.f64 x 5) (sin.f64 eps))))
(fma.f64 1/6 (pow.f64 x 3) (-.f64 (fma.f64 -1/120 (pow.f64 x 5) (sin.f64 eps)) x))
(-.f64 (fma.f64 1/6 (pow.f64 x 3) (fma.f64 -1/120 (pow.f64 x 5) (sin.f64 eps))) x)
(fma.f64 -1/120 (pow.f64 x 5) (-.f64 (fma.f64 1/6 (pow.f64 x 3) (sin.f64 eps)) x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(-.f64 (sin.f64 eps) (sin.f64 x))
(exp.f64 (neg.f64 (sin.f64 x)))
(+.f64 (*.f64 eps (exp.f64 (neg.f64 (sin.f64 x)))) (exp.f64 (neg.f64 (sin.f64 x))))
(*.f64 (+.f64 eps 1) (exp.f64 (neg.f64 (sin.f64 x))))
(*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (+.f64 eps 1))
(/.f64 (+.f64 eps 1) (exp.f64 (sin.f64 x)))
(+.f64 (*.f64 eps (exp.f64 (neg.f64 (sin.f64 x)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (exp.f64 (neg.f64 (sin.f64 x))))) (exp.f64 (neg.f64 (sin.f64 x)))))
(fma.f64 eps (exp.f64 (neg.f64 (sin.f64 x))) (fma.f64 1/2 (*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (*.f64 eps eps)) (exp.f64 (neg.f64 (sin.f64 x)))))
(+.f64 (exp.f64 (neg.f64 (sin.f64 x))) (*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (+.f64 eps (*.f64 1/2 (*.f64 eps eps)))))
(*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (+.f64 eps (fma.f64 1/2 (*.f64 eps eps) 1)))
(/.f64 (+.f64 eps (fma.f64 1/2 (*.f64 eps eps) 1)) (exp.f64 (sin.f64 x)))
(+.f64 (*.f64 eps (exp.f64 (neg.f64 (sin.f64 x)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (exp.f64 (neg.f64 (sin.f64 x))))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 4) (exp.f64 (neg.f64 (sin.f64 x))))) (exp.f64 (neg.f64 (sin.f64 x))))))
(fma.f64 eps (exp.f64 (neg.f64 (sin.f64 x))) (fma.f64 1/2 (*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (*.f64 eps eps)) (fma.f64 -1/8 (*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (pow.f64 eps 4)) (exp.f64 (neg.f64 (sin.f64 x))))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 eps 4)) 1) (exp.f64 (neg.f64 (sin.f64 x)))) (*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (+.f64 eps (*.f64 1/2 (*.f64 eps eps)))))
(*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (+.f64 (fma.f64 1/2 (*.f64 eps eps) (*.f64 -1/8 (pow.f64 eps 4))) (+.f64 eps 1)))
(*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (+.f64 (+.f64 (*.f64 1/2 (*.f64 eps eps)) (fma.f64 -1/8 (pow.f64 eps 4) 1)) eps))
(/.f64 (+.f64 (+.f64 (*.f64 1/2 (*.f64 eps eps)) (fma.f64 -1/8 (pow.f64 eps 4) 1)) eps) (exp.f64 (sin.f64 x)))
(exp.f64 (sin.f64 eps))
(+.f64 (*.f64 -1 (*.f64 x (exp.f64 (sin.f64 eps)))) (exp.f64 (sin.f64 eps)))
(fma.f64 -1 (*.f64 x (exp.f64 (sin.f64 eps))) (exp.f64 (sin.f64 eps)))
(*.f64 (+.f64 (neg.f64 x) 1) (exp.f64 (sin.f64 eps)))
(*.f64 (exp.f64 (sin.f64 eps)) (fma.f64 -1 x 1))
(*.f64 (exp.f64 (sin.f64 eps)) (-.f64 1 x))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 x 2) (exp.f64 (sin.f64 eps)))) (+.f64 (*.f64 -1 (*.f64 x (exp.f64 (sin.f64 eps)))) (exp.f64 (sin.f64 eps))))
(fma.f64 1/2 (*.f64 (exp.f64 (sin.f64 eps)) (*.f64 x x)) (fma.f64 -1 (*.f64 x (exp.f64 (sin.f64 eps))) (exp.f64 (sin.f64 eps))))
(+.f64 (exp.f64 (sin.f64 eps)) (*.f64 (exp.f64 (sin.f64 eps)) (+.f64 (*.f64 1/2 (*.f64 x x)) (neg.f64 x))))
(*.f64 (exp.f64 (sin.f64 eps)) (+.f64 (fma.f64 -1 x 1) (*.f64 x (*.f64 x 1/2))))
(*.f64 (exp.f64 (sin.f64 eps)) (+.f64 1 (fma.f64 x (*.f64 x 1/2) (neg.f64 x))))
(*.f64 (exp.f64 (sin.f64 eps)) (fma.f64 x (*.f64 x 1/2) (-.f64 1 x)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 x 2) (exp.f64 (sin.f64 eps)))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 x 4) (exp.f64 (sin.f64 eps)))) (+.f64 (*.f64 -1 (*.f64 x (exp.f64 (sin.f64 eps)))) (exp.f64 (sin.f64 eps)))))
(fma.f64 1/2 (*.f64 (exp.f64 (sin.f64 eps)) (*.f64 x x)) (fma.f64 -1/8 (*.f64 (exp.f64 (sin.f64 eps)) (pow.f64 x 4)) (fma.f64 -1 (*.f64 x (exp.f64 (sin.f64 eps))) (exp.f64 (sin.f64 eps)))))
(+.f64 (*.f64 (+.f64 (neg.f64 x) 1) (exp.f64 (sin.f64 eps))) (*.f64 (exp.f64 (sin.f64 eps)) (+.f64 (*.f64 1/2 (*.f64 x x)) (*.f64 -1/8 (pow.f64 x 4)))))
(fma.f64 (fma.f64 -1 x 1) (exp.f64 (sin.f64 eps)) (*.f64 (exp.f64 (sin.f64 eps)) (fma.f64 1/2 (*.f64 x x) (*.f64 -1/8 (pow.f64 x 4)))))
(*.f64 (exp.f64 (sin.f64 eps)) (+.f64 (-.f64 1 x) (fma.f64 1/2 (*.f64 x x) (*.f64 -1/8 (pow.f64 x 4)))))

localize17.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))
3.6b
(fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
Compiler

Compiled 36 to 9 computations (75% saved)

series4.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite65.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
906×pow1_binary64
827×add-log-exp_binary64
826×log1p-expm1-u_binary64
826×expm1-log1p-u_binary64
807×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify70.0ms (0.4%)

Algorithm
egg-herbie
Rules
728×fma-neg_binary64
678×cancel-sign-sub-inv_binary64
640×associate-*l*_binary64
518×distribute-rgt-neg-in_binary64
504×associate-*r*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
066847
1194838
2502792
31593791
44905789
Stop Event
node limit
Counts
93 → 77
Calls
Call 1
Inputs
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3)) (sin.f64 eps))))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(*.f64 (cos.f64 x) eps)
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(sin.f64 eps)
(+.f64 (*.f64 -1 x) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 -1 x) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(*.f64 -1 (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1 (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1 (sin.f64 x)) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (cos.f64 x))) (+.f64 (*.f64 -1 (sin.f64 x)) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
Outputs
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps))
(fma.f64 (cos.f64 eps) x (-.f64 (sin.f64 eps) x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (sin.f64 eps)))
(fma.f64 x (+.f64 (*.f64 (sin.f64 eps) (*.f64 x -1/2)) (cos.f64 eps)) (-.f64 (sin.f64 eps) x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3)) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (fma.f64 -1/6 (cos.f64 eps) 1/6) (pow.f64 x 3) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (pow.f64 x 3) (sin.f64 eps))))
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (pow.f64 x 3) (sin.f64 eps))))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (sin.f64 x))))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (sin.f64 x))))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (sin.f64 x))))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (sin.f64 x))))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (sin.f64 x))))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (sin.f64 x))))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (sin.f64 x))))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (sin.f64 x))))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 (cos.f64 x) eps (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x)))
(fma.f64 eps (cos.f64 x) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)))
(fma.f64 eps (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps))))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))))
(+.f64 (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(fma.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x)))))
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (+.f64 (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (+.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 1/24 (pow.f64 eps 4)))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 1/24 (pow.f64 eps 4)))))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (sin.f64 x))))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (sin.f64 x))))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (sin.f64 x))))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (sin.f64 x))))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (sin.f64 x))))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (sin.f64 x))))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (sin.f64 x))))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (sin.f64 x))))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(sin.f64 eps)
(+.f64 (*.f64 -1 x) (sin.f64 eps))
(fma.f64 -1 x (sin.f64 eps))
(-.f64 (sin.f64 eps) x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 -1 x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 -1 x (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (-.f64 (sin.f64 eps) x))
(-.f64 (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (sin.f64 eps)) x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 1/6 (pow.f64 x 3) (fma.f64 -1 x (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 1/6 (pow.f64 x 3) (-.f64 (sin.f64 eps) x)))
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (-.f64 (fma.f64 1/6 (pow.f64 x 3) (sin.f64 eps)) x))
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 1/6 (pow.f64 x 3) (-.f64 (sin.f64 eps) x)))
(fma.f64 x (*.f64 x (+.f64 (*.f64 x 1/6) (*.f64 (sin.f64 eps) -1/2))) (-.f64 (sin.f64 eps) x))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x)))
(*.f64 -1 (sin.f64 x))
(neg.f64 (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1 (sin.f64 x)))
(fma.f64 (cos.f64 x) eps (neg.f64 (sin.f64 x)))
(-.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x))
(fma.f64 eps (cos.f64 x) (neg.f64 (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1 (sin.f64 x)) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))))
(fma.f64 (cos.f64 x) eps (fma.f64 -1 (sin.f64 x) (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)))))
(+.f64 (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (neg.f64 (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))) (sin.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (cos.f64 x))) (+.f64 (*.f64 -1 (sin.f64 x)) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))))
(fma.f64 (cos.f64 x) eps (fma.f64 1/120 (*.f64 (cos.f64 x) (pow.f64 eps 5)) (fma.f64 -1 (sin.f64 x) (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3))))))
(+.f64 (-.f64 (*.f64 (*.f64 -1/6 (cos.f64 x)) (pow.f64 eps 3)) (sin.f64 x)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 1/120 (pow.f64 eps 5)))))
(-.f64 (*.f64 (cos.f64 x) (+.f64 (+.f64 eps (*.f64 1/120 (pow.f64 eps 5))) (*.f64 -1/6 (pow.f64 eps 3)))) (sin.f64 x))
(fma.f64 (cos.f64 x) (+.f64 eps (+.f64 (*.f64 1/120 (pow.f64 eps 5)) (*.f64 -1/6 (pow.f64 eps 3)))) (neg.f64 (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x))
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x)))

eval714.0ms (4.4%)

Compiler

Compiled 13401 to 7157 computations (46.6% saved)

prune417.0ms (2.6%)

Pruning

80 alts after pruning (73 fresh and 7 done)

PrunedKeptTotal
New68634720
Fresh253964
Picked101
Done3710
Total71580795
Error
0.0b
Counts
795 → 80
Alt Table
Click to see full alt table
StatusErrorProgram
30.7b
(log.f64 (*.f64 (pow.f64 (exp.f64 (sin.f64 x)) (+.f64 -1 (cos.f64 eps))) (exp.f64 (*.f64 (sin.f64 eps) (cos.f64 x)))))
0.3b
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
45.8b
(log.f64 (-.f64 (+.f64 1 (exp.f64 (-.f64 (sin.f64 eps) (sin.f64 x)))) 1))
42.3b
(-.f64 (sin.f64 eps) x)
30.2b
(*.f64 (cos.f64 x) eps)
0.3b
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))))
60.2b
(-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1)
30.6b
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (pow.f64 eps 3)))
43.4b
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 eps) (sin.f64 x)) 3))
47.2b
(+.f64 eps (*.f64 eps (*.f64 -1/2 (*.f64 eps x))))
41.2b
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x))
38.6b
(+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
35.6b
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) 1/3))
31.7b
(sin.f64 eps)
0.4b
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
34.5b
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (sin.f64 eps) (+.f64 1 (*.f64 -1/2 (*.f64 x x)))))
25.7b
(*.f64 (*.f64 (sin.f64 (*.f64 (fma.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 eps) (neg.f64 (-.f64 x x))) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)
40.2b
(-.f64 (sin.f64 eps) (sin.f64 x))
52.7b
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 eps) (sin.f64 x)) 2))
59.3b
(fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x)))
52.0b
(*.f64 (*.f64 (sin.f64 (*.f64 (*.f64 (-.f64 (*.f64 x x) (pow.f64 (-.f64 eps x) 2)) (/.f64 1 (+.f64 (-.f64 x eps) x))) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)
59.3b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (neg.f64 (sin.f64 x)))
47.3b
(+.f64 eps (*.f64 x (*.f64 -1/2 (*.f64 eps eps))))
35.4b
(exp.f64 (log.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 -1 (cos.f64 eps)) (sin.f64 x)))))
30.4b
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x)))))
18.7b
(fma.f64 (*.f64 (sin.f64 eps) (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (neg.f64 (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps)))))
0.4b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
33.7b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 (sqrt.f64 (cos.f64 (fma.f64 1/2 eps x))) 2)) 2)
0.4b
(fma.f64 (sin.f64 eps) (cos.f64 x) (log1p.f64 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))
31.8b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 eps 1/2))) 2)
30.4b
(*.f64 eps (+.f64 (*.f64 (*.f64 -1/2 (sin.f64 x)) eps) (cos.f64 x)))
52.4b
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x))
16.6b
(fma.f64 (sin.f64 eps) (cos.f64 x) (-.f64 (*.f64 (cos.f64 eps) x) x))
59.8b
(neg.f64 (sin.f64 x))
31.1b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))) (+.f64 1 (expm1.f64 (sin.f64 x))))))
2.2b
(fma.f64 (sin.f64 eps) (cos.f64 x) (-.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))) 1))
33.9b
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (neg.f64 (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps)))))
24.3b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x))))
45.7b
(log.f64 (exp.f64 (-.f64 (sin.f64 eps) (sin.f64 x))))
40.6b
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))) 3)
1.7b
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 2) (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))
15.5b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (log1p.f64 (expm1.f64 (cos.f64 (fma.f64 1/2 eps x))))) 2)
48.3b
(+.f64 eps (*.f64 eps (*.f64 -1/2 (*.f64 x x))))
45.7b
(+.f64 1 (-.f64 (-.f64 (sin.f64 eps) (sin.f64 x)) 1))
46.5b
eps
40.1b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
0.4b
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
41.1b
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sin.f64 (*.f64 1/2 eps)))) 2) 2)
32.7b
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
30.5b
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 (*.f64 eps -1/6) (cos.f64 x)))))
41.2b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (sin.f64 eps) x))
53.2b
(*.f64 (*.f64 (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 eps)))) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))) 2)
15.6b
(*.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)
15.4b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (expm1.f64 (log1p.f64 (cos.f64 (fma.f64 1/2 eps x))))) 2)
62.3b
(*.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)))
29.4b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x))) 2)
52.2b
(*.f64 (*.f64 (sin.f64 (*.f64 (fma.f64 (-.f64 (*.f64 x x) (*.f64 eps eps)) (/.f64 1 (-.f64 x eps)) (neg.f64 x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)
16.3b
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sin.f64 (*.f64 1/2 eps)))) 3) 2)
24.2b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
30.5b
(*.f64 (*.f64 eps (+.f64 (*.f64 eps (*.f64 (sin.f64 x) -1/4)) (*.f64 (cos.f64 x) (+.f64 1/2 (*.f64 (*.f64 eps eps) -1/12))))) 2)
30.6b
(log.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))
45.7b
(-.f64 (+.f64 1 (-.f64 (sin.f64 eps) (sin.f64 x))) 1)
39.7b
(*.f64 (*.f64 (pow.f64 (sqrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))) 2)
15.4b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (+.f64 (*.f64 1/2 eps) x))) 2)
61.2b
(-.f64 x x)
59.9b
(log.f64 (exp.f64 (neg.f64 (sin.f64 x))))
40.2b
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 eps) (sin.f64 x))))
0.4b
(fma.f64 (sin.f64 eps) (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 1 (+.f64 -1 (cos.f64 eps)))))
0.3b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (-.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) (cos.f64 x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 x)))) 2)
46.9b
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2)
40.4b
(*.f64 (*.f64 (sin.f64 (*.f64 (-.f64 eps x) 1/2)) (cos.f64 (*.f64 (+.f64 eps x) 1/2))) 2)
27.8b
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 x)) 2)
45.9b
(log.f64 (exp.f64 (sin.f64 eps)))
0.4b
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))))
24.3b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
31.0b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3)
41.2b
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 eps) x)) (cos.f64 eps)) x) (sin.f64 eps)) x)
30.6b
(*.f64 (+.f64 (*.f64 eps (*.f64 (cos.f64 x) (+.f64 1/2 (*.f64 -1/12 (*.f64 eps eps))))) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/4)) (*.f64 1/48 (pow.f64 eps 4))))) 2)
0.5b
(fma.f64 (sin.f64 eps) (cos.f64 x) (pow.f64 (cbrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) 3))
48.9b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (/.f64 (*.f64 (-.f64 (*.f64 x x) (pow.f64 (+.f64 x eps) 2)) 1/2) (-.f64 (-.f64 x x) eps)))) 2)
Compiler

Compiled 1207 to 872 computations (27.8% saved)

regimes649.0ms (4%)

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

4 calls:

186.0ms
eps
171.0ms
x
81.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
80.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Results
ErrorSegmentsBranch
0.3b1x
0.3b1eps
0.3b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
0.3b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 2249 to 906 computations (59.7% saved)

regimes374.0ms (2.3%)

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

4 calls:

132.0ms
eps
76.0ms
x
73.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
50.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Results
ErrorSegmentsBranch
0.4b1x
0.4b1eps
0.4b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
0.4b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 1320 to 596 computations (54.8% saved)

regimes289.0ms (1.8%)

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

4 calls:

83.0ms
eps
66.0ms
x
51.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
49.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Results
ErrorSegmentsBranch
0.4b1x
0.4b1eps
0.4b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
0.4b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 1219 to 555 computations (54.5% saved)

regimes237.0ms (1.5%)

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

4 calls:

92.0ms
x
51.0ms
eps
33.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
32.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Results
ErrorSegmentsBranch
15.4b1x
15.4b1eps
15.4b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
15.4b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 1006 to 454 computations (54.9% saved)

regimes172.0ms (1.1%)

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

3 calls:

69.0ms
eps
68.0ms
x
24.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Results
ErrorSegmentsBranch
15.2b3x
14.9b3eps
15.0b3(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 271 to 132 computations (51.3% saved)

bsearch150.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
61.0ms
2.430927827935982e-5
23.385242453441677
89.0ms
-8.825915668698037e-7
-2.1706050148096177e-11
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes188.0ms (1.2%)

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

3 calls:

73.0ms
eps
61.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
46.0ms
x
Results
ErrorSegmentsBranch
15.2b3x
15.0b3eps
15.0b3(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 216 to 104 computations (51.9% saved)

bsearch133.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
65.0ms
2.430927827935982e-5
23.385242453441677
68.0ms
-0.01967658489477877
-8.825915668698037e-7
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes117.0ms (0.7%)

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

3 calls:

51.0ms
eps
37.0ms
x
22.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Results
ErrorSegmentsBranch
15.2b3x
15.0b3eps
15.0b3(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 195 to 90 computations (53.8% saved)

bsearch121.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
60.0ms
2.430927827935982e-5
23.385242453441677
61.0ms
-8.825915668698037e-7
-2.1706050148096177e-11
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes90.0ms (0.6%)

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

3 calls:

33.0ms
eps
32.0ms
x
20.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Results
ErrorSegmentsBranch
16.5b3x
15.0b3eps
15.8b3(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 150 to 69 computations (54% saved)

bsearch125.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
63.0ms
2.430927827935982e-5
23.385242453441677
62.0ms
-8.825915668698037e-7
-2.1706050148096177e-11
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes56.0ms (0.3%)

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

2 calls:

25.0ms
x
25.0ms
eps
Results
ErrorSegmentsBranch
16.7b3x
15.6b3eps
Compiler

Compiled 101 to 49 computations (51.5% saved)

bsearch121.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
58.0ms
2.430927827935982e-5
23.385242453441677
63.0ms
-8.825915668698037e-7
-2.1706050148096177e-11
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes20.0ms (0.1%)

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

2 calls:

9.0ms
x
8.0ms
eps
Results
ErrorSegmentsBranch
31.7b1x
31.7b1eps
Compiler

Compiled 65 to 32 computations (50.8% saved)

regimes14.0ms (0.1%)

Accuracy

Total -16.2b remaining (-34.9%)

Threshold costs -16.2b (-34.9%)

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

2 calls:

6.0ms
x
5.0ms
eps
Results
ErrorSegmentsBranch
46.5b1x
46.5b1eps
Compiler

Compiled 51 to 28 computations (45.1% saved)

simplify63.0ms (0.4%)

Algorithm
egg-herbie
Rules
133×distribute-rgt-neg-in_binary64
110×cancel-sign-sub-inv_binary64
93×distribute-lft-neg-out_binary64
78×distribute-lft-neg-in_binary64
72×neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
061282
193282
2115282
3140282
4168282
5206282
6252282
7304282
8343282
9376282
10406282
11437282
12476282
13517282
14564282
15626282
16689282
17759282
18836282
19881282
20907282
21939282
22965282
23973282
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))))
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (+.f64 (*.f64 1/2 eps) x))) 2)
(if (<=.f64 eps -1041980208362341/1180591620717411303424) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7174832560574993/295147905179352825856) (*.f64 eps (+.f64 (*.f64 (*.f64 -1/2 (sin.f64 x)) eps) (cos.f64 x))) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -2835694732801587/144115188075855872) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7174832560574993/295147905179352825856) (+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (pow.f64 eps 3))) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -1041980208362341/1180591620717411303424) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7174832560574993/295147905179352825856) (*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 x)) 2) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -1041980208362341/1180591620717411303424) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7174832560574993/295147905179352825856) (*.f64 (cos.f64 x) eps) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -1041980208362341/1180591620717411303424) (sin.f64 eps) (if (<=.f64 eps 7174832560574993/295147905179352825856) (*.f64 (cos.f64 x) eps) (sin.f64 eps)))
(sin.f64 eps)
eps
Outputs
(*.f64 (sin.f64 eps) (-.f64 (cos.f64 x) (/.f64 (sin.f64 x) (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 eps)))))
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))))
(+.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(+.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (-.f64 1 (cos.f64 eps))))
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (+.f64 (*.f64 1/2 eps) x))) 2)
(*.f64 (*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (+.f64 x (*.f64 eps 1/2)))) 2)
(if (<=.f64 eps -1041980208362341/1180591620717411303424) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7174832560574993/295147905179352825856) (*.f64 eps (+.f64 (*.f64 (*.f64 -1/2 (sin.f64 x)) eps) (cos.f64 x))) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -1041980208362341/1180591620717411303424) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7174832560574993/295147905179352825856) (*.f64 eps (+.f64 (cos.f64 x) (*.f64 eps (*.f64 (sin.f64 x) -1/2)))) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -1041980208362341/1180591620717411303424) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7174832560574993/295147905179352825856) (*.f64 eps (-.f64 (cos.f64 x) (*.f64 eps (*.f64 (sin.f64 x) 1/2)))) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -2835694732801587/144115188075855872) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7174832560574993/295147905179352825856) (+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (pow.f64 eps 3))) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -2835694732801587/144115188075855872) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7174832560574993/295147905179352825856) (+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/6 (pow.f64 eps 3))) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -1041980208362341/1180591620717411303424) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7174832560574993/295147905179352825856) (*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 x)) 2) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -1041980208362341/1180591620717411303424) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7174832560574993/295147905179352825856) (*.f64 2 (*.f64 (cos.f64 x) (sin.f64 (*.f64 eps 1/2)))) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -1041980208362341/1180591620717411303424) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7174832560574993/295147905179352825856) (*.f64 (cos.f64 x) eps) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -1041980208362341/1180591620717411303424) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7174832560574993/295147905179352825856) (*.f64 eps (cos.f64 x)) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -1041980208362341/1180591620717411303424) (sin.f64 eps) (if (<=.f64 eps 7174832560574993/295147905179352825856) (*.f64 (cos.f64 x) eps) (sin.f64 eps)))
(if (<=.f64 eps -1041980208362341/1180591620717411303424) (sin.f64 eps) (if (<=.f64 eps 7174832560574993/295147905179352825856) (*.f64 eps (cos.f64 x)) (sin.f64 eps)))
(sin.f64 eps)
eps
Compiler

Compiled 203 to 127 computations (37.4% saved)

soundness178.0ms (1.1%)

Algorithm
egg-herbie
Rules
591×fma-def_binary64
589×sub-neg_binary64
538×fma-def_binary64
441×*-commutative_binary64
417×associate-*r*_binary64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0891080
12611063
2710977
32290973
43991973
55252972
67312972
01371623
14041569
211461497
348121440
Stop Event
node limit
node limit
Compiler

Compiled 367 to 249 computations (32.2% saved)

end148.0ms (0.9%)

Compiler

Compiled 183 to 78 computations (57.4% saved)

Profiling

Loading profile data...