Details

Time bar (total: 14.0s)

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

sample4.8s (34.3%)

Results
2.3s3668×body1024valid
1.5s1271×body2048valid
620.0ms1374×body512valid
403.0ms1938×body256valid
9.0msbody4096valid
Bogosity

preprocess24.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
36.0b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
36.0b
(-.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
0.6b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
1.1b
(sin.f64 (+.f64 x eps))
Compiler

Compiled 20 to 6 computations (70% saved)

series5.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite86.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

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

simplify86.0ms (0.6%)

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

eval107.0ms (0.8%)

Compiler

Compiled 3642 to 1131 computations (68.9% saved)

prune310.0ms (2.2%)

Pruning

37 alts after pruning (36 fresh and 1 done)

PrunedKeptTotal
New16936205
Fresh000
Picked011
Done000
Total16937206
Error
0.1b
Counts
206 → 37
Alt Table
Click to see full alt table
StatusErrorProgram
36.6b
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x))
30.1b
(*.f64 (cos.f64 x) eps)
61.3b
(-.f64 (sin.f64 x) (sin.f64 x))
51.6b
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))
43.5b
(-.f64 (-.f64 (exp.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) 1) (sin.f64 x))
41.9b
(fma.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
23.9b
(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)))
23.4b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
36.0b
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
51.1b
(pow.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)
26.9b
(-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3)) (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (*.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (sin.f64 x))
36.2b
(expm1.f64 (log1p.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
23.4b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
36.4b
(-.f64 (fma.f64 x (+.f64 (cos.f64 eps) (*.f64 x (*.f64 (sin.f64 eps) -1/2))) (sin.f64 eps)) x)
39.2b
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3))
23.4b
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
36.1b
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) x)
36.2b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)
30.0b
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
36.7b
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x))
43.7b
(log.f64 (*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (exp.f64 (sin.f64 (+.f64 x eps)))))
36.0b
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
30.2b
(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)))))
36.2b
(-.f64 (sin.f64 eps) (sin.f64 x))
37.1b
(*.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))))
45.5b
(-.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
30.2b
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps)))
36.0b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
24.1b
(-.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))
23.4b
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
43.7b
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
30.2b
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x)))))
51.4b
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x))
30.3b
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
23.4b
(fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
36.5b
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)
43.6b
(log.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
Compiler

Compiled 1125 to 726 computations (35.5% saved)

localize37.0ms (0.3%)

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))
1.7b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
Compiler

Compiled 40 to 9 computations (77.5% saved)

series21.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 (cos.f64 x) (sin.f64 eps))
2.0ms
eps
@-inf
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))

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

simplify128.0ms (0.9%)

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

Useful iterations: 5 (0.0ms)

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

localize6.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 10 to 4 computations (60% saved)

series4.0ms (0%)

Counts
1 → 8
Calls

6 calls:

TimeVariablePointExpression
2.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)
0.0ms
x
@-inf
(*.f64 (cos.f64 x) eps)
0.0ms
x
@inf
(*.f64 (cos.f64 x) eps)

rewrite58.0ms (0.4%)

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

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

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 44 to 23 computations (47.7% saved)

series20.0ms (0.1%)

Counts
3 → 19
Calls

18 calls:

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

rewrite88.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
599×log-prod_binary64
398×pow-prod-down_binary64
376×fma-def_binary64
317×pow2_binary64
220×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify189.0ms (1.3%)

Algorithm
egg-herbie
Rules
1240×distribute-lft-out_binary64
614×unswap-sqr_binary64
403×*-commutative_binary64
398×distribute-rgt-out_binary64
369×fma-def_binary64
Iterations

Useful iterations: 7 (0.0ms)

IterNodesCost
055397
1154395
2455363
31726331
43261331
54306331
64480331
74655330
84897330
95116330
107320330
117625330
127983330
Stop Event
node limit
Counts
133 → 143
Calls
Call 1
Inputs
(*.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))))
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 (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))))))
(+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(*.f64 (cos.f64 x) eps)
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 -1/240 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 -1/240 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (+.f64 (*.f64 1/10080 (*.f64 (pow.f64 eps 2) (pow.f64 x 7))) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))))))
Outputs
(*.f64 (pow.f64 eps 2) x)
(*.f64 (*.f64 eps eps) x)
(*.f64 eps (*.f64 eps x))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 (pow.f64 eps 2) x))
(fma.f64 -1/6 (*.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 (*.f64 eps eps) x))
(fma.f64 -1/6 (*.f64 eps (*.f64 eps (pow.f64 x 3))) (*.f64 (*.f64 eps eps) x))
(*.f64 (*.f64 eps eps) (+.f64 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 (pow.f64 x 5) (*.f64 (*.f64 eps eps) 1/120))))
(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 x (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/6 (pow.f64 x 3)))))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 x (*.f64 1/120 (pow.f64 x 5)))))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))))
(+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 eps 2) (pow.f64 x 7))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (*.f64 (pow.f64 eps 2) x))))
(fma.f64 -1/5040 (*.f64 (*.f64 eps eps) (pow.f64 x 7)) (fma.f64 -1/6 (*.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/120 (*.f64 (*.f64 eps eps) (pow.f64 x 5)) (*.f64 (*.f64 eps eps) x))))
(fma.f64 -1/5040 (*.f64 (*.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 (pow.f64 x 5) (*.f64 (*.f64 eps eps) 1/120)))))
(+.f64 (*.f64 (*.f64 eps eps) (+.f64 x (*.f64 1/120 (pow.f64 x 5)))) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 -1/5040 (pow.f64 x 7)))))
(*.f64 (*.f64 eps eps) (+.f64 (+.f64 x (*.f64 1/120 (pow.f64 x 5))) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 -1/5040 (pow.f64 x 7)))))
(*.f64 (*.f64 eps eps) (+.f64 x (+.f64 (*.f64 1/120 (pow.f64 x 5)) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 -1/5040 (pow.f64 x 7))))))
eps
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps)
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps)
(fma.f64 (*.f64 (*.f64 eps eps) x) -1/2 eps)
(fma.f64 (*.f64 eps eps) (*.f64 x -1/2) eps)
(fma.f64 (*.f64 eps (*.f64 eps x)) -1/2 eps)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))
(+.f64 (fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps) (*.f64 -1/2 (*.f64 eps (*.f64 x x))))
(fma.f64 (*.f64 (*.f64 eps eps) x) -1/2 (fma.f64 -1/2 (*.f64 x (*.f64 x eps)) eps))
(fma.f64 eps (*.f64 x (*.f64 x -1/2)) (fma.f64 (*.f64 eps eps) (*.f64 x -1/2) eps))
(+.f64 eps (*.f64 (*.f64 eps (*.f64 x -1/2)) (+.f64 x eps)))
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))))))
(+.f64 (fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps) (fma.f64 -1/2 (*.f64 eps (*.f64 x x)) (*.f64 (*.f64 (*.f64 eps eps) (pow.f64 x 3)) 1/12)))
(+.f64 (fma.f64 -1/2 (*.f64 x (*.f64 x eps)) eps) (fma.f64 (*.f64 (*.f64 eps eps) 1/12) (pow.f64 x 3) (*.f64 (*.f64 eps eps) (*.f64 x -1/2))))
(+.f64 (fma.f64 eps (*.f64 x (*.f64 x -1/2)) eps) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 x -1/2) (*.f64 (pow.f64 x 3) 1/12))))
(+.f64 (*.f64 (*.f64 eps (*.f64 x -1/2)) (+.f64 x eps)) (fma.f64 (*.f64 eps eps) (*.f64 (pow.f64 x 3) 1/12) eps))
(+.f64 (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x)))) (fma.f64 (*.f64 eps eps) (*.f64 (pow.f64 x 3) 1/12) eps))
(+.f64 eps (*.f64 eps (+.f64 (*.f64 x (*.f64 -1/2 (+.f64 eps x))) (*.f64 (pow.f64 x 3) (*.f64 eps 1/12)))))
(*.f64 eps (+.f64 1 (+.f64 (*.f64 1/12 (*.f64 eps (pow.f64 x 3))) (*.f64 x (*.f64 -1/2 (+.f64 eps x))))))
(*.f64 eps (+.f64 (*.f64 (pow.f64 x 3) (*.f64 eps 1/12)) (+.f64 1 (*.f64 x (*.f64 -1/2 (+.f64 eps x))))))
(+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 eps (cos.f64 x) (*.f64 (*.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 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2))))
(+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 eps (cos.f64 x) (*.f64 (*.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 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2))))
(+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 eps (cos.f64 x) (*.f64 (*.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 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2))))
(+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 eps (cos.f64 x) (*.f64 (*.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 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2))))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (*.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 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (*.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 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 (*.f64 (*.f64 eps eps) x) -1/2)
(*.f64 (*.f64 eps eps) (*.f64 x -1/2))
(*.f64 eps (*.f64 eps (*.f64 x -1/2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) (*.f64 (*.f64 (*.f64 eps eps) (pow.f64 x 3)) 1/12))
(fma.f64 (*.f64 (*.f64 eps eps) 1/12) (pow.f64 x 3) (*.f64 (*.f64 eps eps) (*.f64 x -1/2)))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 x -1/2) (*.f64 (pow.f64 x 3) 1/12)))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 (pow.f64 x 3) 1/12) (*.f64 x -1/2)))
(*.f64 (*.f64 eps (*.f64 eps x)) (+.f64 -1/2 (*.f64 (*.f64 x x) 1/12)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 -1/240 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3)))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) (fma.f64 -1/240 (*.f64 (*.f64 eps eps) (pow.f64 x 5)) (*.f64 (*.f64 (*.f64 eps eps) (pow.f64 x 3)) 1/12)))
(fma.f64 (*.f64 (*.f64 eps eps) x) -1/2 (fma.f64 (*.f64 eps (*.f64 eps (pow.f64 x 3))) 1/12 (*.f64 (pow.f64 x 5) (*.f64 (*.f64 eps eps) -1/240))))
(fma.f64 (*.f64 eps eps) (*.f64 (pow.f64 x 5) -1/240) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 x -1/2) (*.f64 (pow.f64 x 3) 1/12))))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 x -1/2) (+.f64 (*.f64 (pow.f64 x 5) -1/240) (*.f64 (pow.f64 x 3) 1/12))))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 (pow.f64 x 5) -1/240) (+.f64 (*.f64 (pow.f64 x 3) 1/12) (*.f64 x -1/2))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 -1/240 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (+.f64 (*.f64 1/10080 (*.f64 (pow.f64 eps 2) (pow.f64 x 7))) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) (fma.f64 -1/240 (*.f64 (*.f64 eps eps) (pow.f64 x 5)) (fma.f64 1/10080 (*.f64 (*.f64 eps eps) (pow.f64 x 7)) (*.f64 (*.f64 (*.f64 eps eps) (pow.f64 x 3)) 1/12))))
(fma.f64 (*.f64 (*.f64 eps eps) x) -1/2 (fma.f64 (*.f64 eps (*.f64 eps (pow.f64 x 5))) -1/240 (fma.f64 (*.f64 eps (*.f64 eps (pow.f64 x 3))) 1/12 (*.f64 (*.f64 eps eps) (*.f64 (pow.f64 x 7) 1/10080)))))
(+.f64 (*.f64 (*.f64 eps eps) (+.f64 (*.f64 x -1/2) (*.f64 (pow.f64 x 3) 1/12))) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 (pow.f64 x 5) -1/240) (*.f64 (pow.f64 x 7) 1/10080))))
(*.f64 (*.f64 eps eps) (+.f64 (+.f64 (*.f64 (pow.f64 x 5) -1/240) (*.f64 (pow.f64 x 7) 1/10080)) (+.f64 (*.f64 (pow.f64 x 3) 1/12) (*.f64 x -1/2))))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 (pow.f64 x 7) 1/10080) (+.f64 (*.f64 (pow.f64 x 5) -1/240) (+.f64 (*.f64 (pow.f64 x 3) 1/12) (*.f64 x -1/2)))))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 (pow.f64 x 5) -1/240) (+.f64 (*.f64 (pow.f64 x 3) 1/12) (+.f64 (*.f64 (pow.f64 x 7) 1/10080) (*.f64 x -1/2)))))

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x))
0.4b
(pow.f64 (sin.f64 (+.f64 x eps)) 2)
1.1b
(sin.f64 (+.f64 x eps))
2.2b
(sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2))
Compiler

Compiled 37 to 15 computations (59.5% saved)

series16.0ms (0.1%)

Counts
3 → 72
Calls

18 calls:

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

rewrite83.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
468×log-prod_binary64
421×fma-def_binary64
309×pow-prod-down_binary64
281×pow2_binary64
228×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify95.0ms (0.7%)

Algorithm
egg-herbie
Rules
683×distribute-rgt-neg-out_binary64
648×fma-def_binary64
600×distribute-lft-neg-out_binary64
523×associate-*r*_binary64
506×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0107986
1329973
2917935
34253935
Stop Event
node limit
Counts
262 → 241
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)))
(pow.f64 (sin.f64 eps) 2)
(+.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (*.f64 2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))) (*.f64 (+.f64 (*.f64 -1 (pow.f64 (sin.f64 eps) 2)) (pow.f64 (cos.f64 eps) 2)) (pow.f64 x 2))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (*.f64 2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 (cos.f64 eps) (sin.f64 eps))) (*.f64 -1/3 (*.f64 (cos.f64 eps) (sin.f64 eps)))) (pow.f64 x 3)) (*.f64 (+.f64 (*.f64 -1 (pow.f64 (sin.f64 eps) 2)) (pow.f64 (cos.f64 eps) 2)) (pow.f64 x 2)))))
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 2)
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 2)
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 2)
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 2)
(pow.f64 (sin.f64 x) 2)
(+.f64 (pow.f64 (sin.f64 x) 2) (*.f64 2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x)))))
(+.f64 (pow.f64 (sin.f64 x) 2) (+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1 (pow.f64 (sin.f64 x) 2)) (pow.f64 (cos.f64 x) 2))) (*.f64 2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x))))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 -1 (*.f64 (cos.f64 x) (sin.f64 x)))) (pow.f64 eps 3)) (+.f64 (pow.f64 (sin.f64 x) 2) (+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1 (pow.f64 (sin.f64 x) 2)) (pow.f64 (cos.f64 x) 2))) (*.f64 2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x)))))))
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 2)
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 2)
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 2)
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 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 (*.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 (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (sin.f64 eps))))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (fma.f64 (*.f64 (cos.f64 eps) -1/6) (pow.f64 x 3) (sin.f64 eps))))
(+.f64 (*.f64 (cos.f64 eps) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)) (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (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 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x)))
(fma.f64 eps (cos.f64 x) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (sin.f64 x)))
(fma.f64 eps (cos.f64 x) (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(+.f64 (fma.f64 (cos.f64 x) eps (sin.f64 x)) (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))))
(+.f64 (sin.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))))
(+.f64 (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
(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))
(pow.f64 (sin.f64 eps) 2)
(+.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (*.f64 2 (cos.f64 eps)) (*.f64 (sin.f64 eps) x)))
(fma.f64 2 (*.f64 (sin.f64 eps) (*.f64 (cos.f64 eps) x)) (pow.f64 (sin.f64 eps) 2))
(*.f64 (sin.f64 eps) (+.f64 (*.f64 (cos.f64 eps) (*.f64 x 2)) (sin.f64 eps)))
(*.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) (*.f64 (cos.f64 eps) (*.f64 x 2))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (*.f64 2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))) (*.f64 (+.f64 (*.f64 -1 (pow.f64 (sin.f64 eps) 2)) (pow.f64 (cos.f64 eps) 2)) (pow.f64 x 2))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (fma.f64 2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)) (*.f64 (*.f64 x x) (fma.f64 -1 (pow.f64 (sin.f64 eps) 2) (pow.f64 (cos.f64 eps) 2)))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (fma.f64 2 (*.f64 (sin.f64 eps) (*.f64 (cos.f64 eps) x)) (*.f64 (*.f64 x x) (-.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 (sin.f64 eps) 2)))))
(fma.f64 x (*.f64 x (-.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 (sin.f64 eps) 2))) (*.f64 (sin.f64 eps) (+.f64 (*.f64 (cos.f64 eps) (*.f64 x 2)) (sin.f64 eps))))
(fma.f64 x (*.f64 x (-.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 (sin.f64 eps) 2))) (*.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) (*.f64 (cos.f64 eps) (*.f64 x 2)))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (*.f64 2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 (cos.f64 eps) (sin.f64 eps))) (*.f64 -1/3 (*.f64 (cos.f64 eps) (sin.f64 eps)))) (pow.f64 x 3)) (*.f64 (+.f64 (*.f64 -1 (pow.f64 (sin.f64 eps) 2)) (pow.f64 (cos.f64 eps) 2)) (pow.f64 x 2)))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (fma.f64 2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)) (fma.f64 (*.f64 (*.f64 (sin.f64 eps) (cos.f64 eps)) -4/3) (pow.f64 x 3) (*.f64 (*.f64 x x) (fma.f64 -1 (pow.f64 (sin.f64 eps) 2) (pow.f64 (cos.f64 eps) 2))))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (fma.f64 2 (*.f64 (sin.f64 eps) (*.f64 (cos.f64 eps) x)) (fma.f64 (*.f64 x x) (-.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 (sin.f64 eps) 2)) (*.f64 (pow.f64 x 3) (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) -4/3))))))
(+.f64 (pow.f64 (sin.f64 eps) 2) (fma.f64 x (*.f64 x (-.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 (sin.f64 eps) 2))) (*.f64 (*.f64 (sin.f64 eps) (cos.f64 eps)) (+.f64 (*.f64 x 2) (*.f64 (pow.f64 x 3) -4/3)))))
(+.f64 (*.f64 (*.f64 (sin.f64 eps) (cos.f64 eps)) (+.f64 (*.f64 x 2) (*.f64 (pow.f64 x 3) -4/3))) (fma.f64 (*.f64 x x) (-.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 (sin.f64 eps) 2)) (pow.f64 (sin.f64 eps) 2)))
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 x) 2)
(+.f64 (pow.f64 (sin.f64 x) 2) (*.f64 2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x)))))
(+.f64 (pow.f64 (sin.f64 x) 2) (*.f64 (*.f64 2 eps) (*.f64 (sin.f64 x) (cos.f64 x))))
(fma.f64 2 (*.f64 eps (*.f64 (sin.f64 x) (cos.f64 x))) (pow.f64 (sin.f64 x) 2))
(*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 2 (cos.f64 x))) (sin.f64 x)))
(*.f64 (sin.f64 x) (+.f64 (sin.f64 x) (*.f64 eps (*.f64 2 (cos.f64 x)))))
(+.f64 (pow.f64 (sin.f64 x) 2) (+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1 (pow.f64 (sin.f64 x) 2)) (pow.f64 (cos.f64 x) 2))) (*.f64 2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x))))))
(+.f64 (pow.f64 (sin.f64 x) 2) (fma.f64 (*.f64 eps eps) (fma.f64 -1 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) (*.f64 (*.f64 2 eps) (*.f64 (sin.f64 x) (cos.f64 x)))))
(+.f64 (pow.f64 (sin.f64 x) 2) (fma.f64 2 (*.f64 eps (*.f64 (sin.f64 x) (cos.f64 x))) (*.f64 (*.f64 eps eps) (-.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (sin.f64 x) 2)))))
(fma.f64 eps (*.f64 eps (-.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (sin.f64 x) 2))) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 2 (cos.f64 x))) (sin.f64 x))))
(fma.f64 eps (*.f64 eps (-.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (sin.f64 x) 2))) (*.f64 (sin.f64 x) (+.f64 (sin.f64 x) (*.f64 eps (*.f64 2 (cos.f64 x))))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 -1 (*.f64 (cos.f64 x) (sin.f64 x)))) (pow.f64 eps 3)) (+.f64 (pow.f64 (sin.f64 x) 2) (+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1 (pow.f64 (sin.f64 x) 2)) (pow.f64 (cos.f64 x) 2))) (*.f64 2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x)))))))
(fma.f64 (*.f64 (*.f64 (sin.f64 x) (cos.f64 x)) -4/3) (pow.f64 eps 3) (+.f64 (pow.f64 (sin.f64 x) 2) (fma.f64 (*.f64 eps eps) (fma.f64 -1 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) (*.f64 (*.f64 2 eps) (*.f64 (sin.f64 x) (cos.f64 x))))))
(+.f64 (fma.f64 2 (*.f64 eps (*.f64 (sin.f64 x) (cos.f64 x))) (*.f64 (*.f64 eps eps) (-.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (sin.f64 x) 2)))) (fma.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) (*.f64 (cos.f64 x) -4/3)) (pow.f64 (sin.f64 x) 2)))
(+.f64 (fma.f64 eps (*.f64 eps (-.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (sin.f64 x) 2))) (pow.f64 (sin.f64 x) 2)) (*.f64 (*.f64 (sin.f64 x) (cos.f64 x)) (+.f64 (*.f64 eps 2) (*.f64 (pow.f64 eps 3) -4/3))))
(+.f64 (fma.f64 (*.f64 eps eps) (-.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (sin.f64 x) 2)) (pow.f64 (sin.f64 x) 2)) (*.f64 (*.f64 (sin.f64 x) (cos.f64 x)) (+.f64 (*.f64 eps 2) (*.f64 (pow.f64 eps 3) -4/3))))
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 2)
(pow.f64 (sin.f64 (+.f64 eps x)) 2)
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps))
(fma.f64 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps)))
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps)))
(-.f64 (fma.f64 (cos.f64 eps) x (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (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 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 (pow.f64 x 3) (fma.f64 (cos.f64 eps) -1/6 1/6) (sin.f64 eps))))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 (cos.f64 x) eps (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x)))
(fma.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)) (*.f64 eps (cos.f64 x)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x)))
(fma.f64 eps (cos.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(fma.f64 (cos.f64 x) 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 (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)))))
(+.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 -1/2 (*.f64 (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 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))

localize18.0ms (0.1%)

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.2b
(*.f64 (sin.f64 x) (cos.f64 eps))
1.7b
(+.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)

series9.0ms (0.1%)

Counts
3 → 56
Calls

18 calls:

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

rewrite207.0ms (1.5%)

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

simplify94.0ms (0.7%)

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

eval456.0ms (3.2%)

Compiler

Compiled 18913 to 5993 computations (68.3% saved)

prune490.0ms (3.5%)

Pruning

61 alts after pruning (58 fresh and 3 done)

PrunedKeptTotal
New949511000
Fresh24731
Picked011
Done325
Total976611037
Error
0.0b
Counts
1037 → 61
Alt Table
Click to see full alt table
StatusErrorProgram
30.1b
(*.f64 (cos.f64 x) eps)
54.6b
(-.f64 (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 (+.f64 x eps)))))) (sin.f64 x))
60.6b
(-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1)
23.4b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
34.8b
(+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
30.2b
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2))))
53.1b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x)))
25.1b
(/.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))))
30.6b
(+.f64 (*.f64 (cos.f64 x) eps) (-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) 1))
50.4b
(-.f64 (fabs.f64 (sin.f64 (+.f64 x eps))) (sin.f64 x))
43.7b
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
59.7b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (neg.f64 (sin.f64 x)))
23.4b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
26.9b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) 3)))
39.2b
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3))
30.3b
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 0 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))))
36.2b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)
54.6b
(/.f64 1 (/.f64 (fma.f64 eps (cos.f64 x) (*.f64 1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))) (-.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 2) (*.f64 1/4 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 4)))))
36.7b
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x))
30.6b
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) eps)))
47.2b
eps
45.6b
(fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))
36.2b
(-.f64 (sin.f64 eps) (sin.f64 x))
50.6b
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3))
60.8b
(+.f64 (-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
37.1b
(*.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))))
36.5b
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)
40.4b
(fma.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))
30.7b
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (log.f64 (+.f64 1 (expm1.f64 (*.f64 eps (*.f64 eps (sin.f64 x))))))))
23.4b
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
36.7b
(-.f64 (fma.f64 (cos.f64 eps) x (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps))) x)
37.0b
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)) (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps))) (sin.f64 x))
45.5b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) 2) (sin.f64 x)))
36.7b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (sin.f64 eps) x))
54.2b
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2))
23.5b
(+.f64 (expm1.f64 (log1p.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
30.0b
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
30.6b
(fma.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))
31.0b
(fma.f64 (pow.f64 (cbrt.f64 eps) 2) (*.f64 (cbrt.f64 eps) (cos.f64 x)) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))
24.2b
(+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
36.0b
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
60.9b
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 x) 2)) (sin.f64 x))
46.9b
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2)
23.4b
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
23.4b
(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)))
51.6b
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))
30.8b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3)
0.3b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
23.9b
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
0.3b
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))))
57.5b
(pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3)
30.2b
(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)))))
29.4b
(sin.f64 eps)
30.2b
(fma.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))
36.4b
(fma.f64 x (+.f64 (*.f64 (sin.f64 eps) (*.f64 x -1/2)) (cos.f64 eps)) (-.f64 (sin.f64 eps) x))
51.2b
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x))
26.7b
(/.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)))
23.5b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))) (sin.f64 x)))
24.1b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (fma.f64 (pow.f64 (cbrt.f64 (sin.f64 eps)) 2) (*.f64 (cbrt.f64 (sin.f64 eps)) (cos.f64 x)) (neg.f64 (sin.f64 x))))
36.0b
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
49.9b
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x)))))
Compiler

Compiled 1906 to 1257 computations (34.1% saved)

localize26.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 36 to 16 computations (55.6% saved)

series10.0ms (0.1%)

Counts
3 → 60
Calls

15 calls:

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

rewrite100.0ms (0.7%)

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

simplify86.0ms (0.6%)

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

Useful iterations: 3 (0.0ms)

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

localize15.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 40 to 18 computations (55% saved)

series8.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite67.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
970×pow1_binary64
904×add-log-exp_binary64
904×log1p-expm1-u_binary64
904×expm1-log1p-u_binary64
92×associate-*r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify176.0ms (1.3%)

Algorithm
egg-herbie
Rules
871×fma-def_binary64
744×unswap-sqr_binary64
682×sqr-pow_binary64
548×fabs-mul_binary64
502×cube-prod_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
017678
147588
2103516
3260516
41082516
52183516
63623516
73893516
83994516
94129516
104320516
114567516
124913516
135310516
145866516
156605516
167543516
Stop Event
node limit
Counts
86 → 51
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 -1/2 (*.f64 eps x))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x)))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x)))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x)))
(*.f64 -1/2 (pow.f64 x 2))
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2)))
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2)))
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2)))
(*.f64 -1/2 (pow.f64 x 2))
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2)))
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2)))
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2)))
(*.f64 -1/2 (pow.f64 x 2))
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2)))
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2)))
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2)))
(*.f64 -1/2 (*.f64 eps x))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x)))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x)))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x)))
(*.f64 -1/2 (*.f64 eps x))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x)))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x)))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x)))
Outputs
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))
(*.f64 (*.f64 -1/2 eps) (*.f64 x x))
(*.f64 (*.f64 x (*.f64 -1/2 eps)) x)
(*.f64 -1/2 (*.f64 eps (*.f64 x x)))
(*.f64 x (*.f64 x (*.f64 -1/2 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 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x)))
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.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 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x)))
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.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 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x)))
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.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 eps (*.f64 x (*.f64 -1/2 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 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x)))
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.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 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x)))
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.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 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x)))
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.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 eps (*.f64 x (*.f64 -1/2 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 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x)))
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.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 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x)))
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.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 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x)))
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.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 eps (*.f64 x (*.f64 -1/2 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 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x)))
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.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 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x)))
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.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 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x)))
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.f64 eps x))))
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))
(*.f64 (*.f64 -1/2 eps) (*.f64 x x))
(*.f64 (*.f64 x (*.f64 -1/2 eps)) x)
(*.f64 -1/2 (*.f64 eps (*.f64 x x)))
(*.f64 x (*.f64 x (*.f64 -1/2 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 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x)))
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.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 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x)))
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.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 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x)))
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.f64 eps x))))
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))
(*.f64 (*.f64 -1/2 eps) (*.f64 x x))
(*.f64 (*.f64 x (*.f64 -1/2 eps)) x)
(*.f64 -1/2 (*.f64 eps (*.f64 x x)))
(*.f64 x (*.f64 x (*.f64 -1/2 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 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x)))
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.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 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x)))
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.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 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x)))
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.f64 eps x))))
(*.f64 -1/2 (*.f64 eps x))
(*.f64 (*.f64 -1/2 eps) x)
(*.f64 x (*.f64 -1/2 eps))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x)))
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x)))
(*.f64 -1/2 (*.f64 x (+.f64 eps x)))
(*.f64 (+.f64 eps x) (*.f64 -1/2 x))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x)))
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x)))
(*.f64 -1/2 (*.f64 x (+.f64 eps x)))
(*.f64 (+.f64 eps x) (*.f64 -1/2 x))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x)))
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x)))
(*.f64 -1/2 (*.f64 x (+.f64 eps x)))
(*.f64 (+.f64 eps x) (*.f64 -1/2 x))
(*.f64 -1/2 (pow.f64 x 2))
(*.f64 -1/2 (*.f64 x x))
(*.f64 (*.f64 -1/2 x) x)
(*.f64 x (*.f64 -1/2 x))
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2)))
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x)))
(*.f64 -1/2 (*.f64 x (+.f64 eps x)))
(*.f64 (+.f64 eps x) (*.f64 -1/2 x))
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2)))
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x)))
(*.f64 -1/2 (*.f64 x (+.f64 eps x)))
(*.f64 (+.f64 eps x) (*.f64 -1/2 x))
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2)))
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x)))
(*.f64 -1/2 (*.f64 x (+.f64 eps x)))
(*.f64 (+.f64 eps x) (*.f64 -1/2 x))
(*.f64 -1/2 (pow.f64 x 2))
(*.f64 -1/2 (*.f64 x x))
(*.f64 (*.f64 -1/2 x) x)
(*.f64 x (*.f64 -1/2 x))
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2)))
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x)))
(*.f64 -1/2 (*.f64 x (+.f64 eps x)))
(*.f64 (+.f64 eps x) (*.f64 -1/2 x))
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2)))
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x)))
(*.f64 -1/2 (*.f64 x (+.f64 eps x)))
(*.f64 (+.f64 eps x) (*.f64 -1/2 x))
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2)))
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x)))
(*.f64 -1/2 (*.f64 x (+.f64 eps x)))
(*.f64 (+.f64 eps x) (*.f64 -1/2 x))
(*.f64 -1/2 (pow.f64 x 2))
(*.f64 -1/2 (*.f64 x x))
(*.f64 (*.f64 -1/2 x) x)
(*.f64 x (*.f64 -1/2 x))
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2)))
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x)))
(*.f64 -1/2 (*.f64 x (+.f64 eps x)))
(*.f64 (+.f64 eps x) (*.f64 -1/2 x))
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2)))
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x)))
(*.f64 -1/2 (*.f64 x (+.f64 eps x)))
(*.f64 (+.f64 eps x) (*.f64 -1/2 x))
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2)))
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x)))
(*.f64 -1/2 (*.f64 x (+.f64 eps x)))
(*.f64 (+.f64 eps x) (*.f64 -1/2 x))
(*.f64 -1/2 (*.f64 eps x))
(*.f64 (*.f64 -1/2 eps) x)
(*.f64 x (*.f64 -1/2 eps))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x)))
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x)))
(*.f64 -1/2 (*.f64 x (+.f64 eps x)))
(*.f64 (+.f64 eps x) (*.f64 -1/2 x))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x)))
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x)))
(*.f64 -1/2 (*.f64 x (+.f64 eps x)))
(*.f64 (+.f64 eps x) (*.f64 -1/2 x))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x)))
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x)))
(*.f64 -1/2 (*.f64 x (+.f64 eps x)))
(*.f64 (+.f64 eps x) (*.f64 -1/2 x))
(*.f64 -1/2 (*.f64 eps x))
(*.f64 (*.f64 -1/2 eps) x)
(*.f64 x (*.f64 -1/2 eps))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x)))
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x)))
(*.f64 -1/2 (*.f64 x (+.f64 eps x)))
(*.f64 (+.f64 eps x) (*.f64 -1/2 x))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x)))
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x)))
(*.f64 -1/2 (*.f64 x (+.f64 eps x)))
(*.f64 (+.f64 eps x) (*.f64 -1/2 x))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x)))
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x)))
(*.f64 -1/2 (*.f64 x (+.f64 eps x)))
(*.f64 (+.f64 eps x) (*.f64 -1/2 x))

localize15.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cos.f64 x) eps)
0.2b
(pow.f64 (*.f64 (cos.f64 x) eps) 3)
38.9b
(pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3)
Compiler

Compiled 26 to 12 computations (53.8% saved)

series21.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite69.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
725×pow1_binary64
681×add-log-exp_binary64
681×log1p-expm1-u_binary64
681×expm1-log1p-u_binary64
663×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify52.0ms (0.4%)

Algorithm
egg-herbie
Rules
711×associate-*r*_binary64
709×associate-*l*_binary64
632×fma-def_binary64
625×times-frac_binary64
319×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
094938
1294886
21242719
Stop Event
node limit
Counts
99 → 67
Calls
Call 1
Inputs
eps
(+.f64 (*.f64 1/3 (/.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) (pow.f64 x 2)) (pow.f64 eps 2))) eps)
(+.f64 (*.f64 1/3 (/.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) (pow.f64 x 2)) (pow.f64 eps 2))) (+.f64 eps (*.f64 1/3 (/.f64 (*.f64 (-.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))) (*.f64 1/2 (pow.f64 eps 3)))) (*.f64 1/3 (/.f64 (pow.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) 2) (pow.f64 eps 3)))) (pow.f64 x 4)) (pow.f64 eps 2)))))
(+.f64 (*.f64 1/3 (/.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) (pow.f64 x 2)) (pow.f64 eps 2))) (+.f64 eps (+.f64 (*.f64 1/3 (/.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/720 (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 -1/24 (pow.f64 eps 2)) (*.f64 -1/360 (pow.f64 eps 2)))) (+.f64 (*.f64 -1/24 (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))))))) (+.f64 (*.f64 1/3 (/.f64 (*.f64 (-.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))) (*.f64 1/2 (pow.f64 eps 3)))) (*.f64 1/3 (/.f64 (pow.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) 2) (pow.f64 eps 3)))) (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3)))) (pow.f64 eps 3))) (+.f64 (*.f64 1/27 (/.f64 (pow.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) 3) (pow.f64 eps 6))) (*.f64 1/3 (/.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) (-.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))) (*.f64 1/2 (pow.f64 eps 3)))) (*.f64 1/3 (/.f64 (pow.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) 2) (pow.f64 eps 3))))) (pow.f64 eps 3)))))) (pow.f64 x 6)) (pow.f64 eps 2))) (*.f64 1/3 (/.f64 (*.f64 (-.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))) (*.f64 1/2 (pow.f64 eps 3)))) (*.f64 1/3 (/.f64 (pow.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) 2) (pow.f64 eps 3)))) (pow.f64 x 4)) (pow.f64 eps 2))))))
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1))))
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1))))
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1))))
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1))))
(pow.f64 eps 3)
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) (pow.f64 x 2)) (pow.f64 eps 3))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) (pow.f64 x 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))) (*.f64 1/2 (pow.f64 eps 3)))) (pow.f64 x 4)) (pow.f64 eps 3)))
(+.f64 (*.f64 (+.f64 (*.f64 eps (+.f64 (*.f64 -1/24 (pow.f64 eps 2)) (*.f64 -1/360 (pow.f64 eps 2)))) (+.f64 (*.f64 -1/720 (pow.f64 eps 3)) (+.f64 (*.f64 -1/24 (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))))))) (pow.f64 x 6)) (+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) (pow.f64 x 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))) (*.f64 1/2 (pow.f64 eps 3)))) (pow.f64 x 4)) (pow.f64 eps 3))))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3))
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3))
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3))
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
Outputs
eps
(+.f64 (*.f64 1/3 (/.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) (pow.f64 x 2)) (pow.f64 eps 2))) eps)
(fma.f64 1/3 (/.f64 (*.f64 (*.f64 (pow.f64 eps 3) -3/2) (*.f64 x x)) (*.f64 eps eps)) eps)
(fma.f64 1/3 (*.f64 (/.f64 (*.f64 (pow.f64 eps 3) -3/2) eps) (/.f64 (*.f64 x x) eps)) eps)
(+.f64 eps (*.f64 (/.f64 (*.f64 -1/2 (pow.f64 eps 3)) eps) (/.f64 x (/.f64 eps x))))
(+.f64 (*.f64 1/3 (/.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) (pow.f64 x 2)) (pow.f64 eps 2))) (+.f64 eps (*.f64 1/3 (/.f64 (*.f64 (-.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))) (*.f64 1/2 (pow.f64 eps 3)))) (*.f64 1/3 (/.f64 (pow.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) 2) (pow.f64 eps 3)))) (pow.f64 x 4)) (pow.f64 eps 2)))))
(+.f64 (fma.f64 1/3 (/.f64 (*.f64 (*.f64 (pow.f64 eps 3) -3/2) (*.f64 x x)) (*.f64 eps eps)) eps) (*.f64 1/3 (/.f64 (+.f64 (fma.f64 1/24 (pow.f64 eps 3) (fma.f64 eps (*.f64 (*.f64 eps eps) 1/3) (*.f64 (pow.f64 eps 3) 1/2))) (*.f64 -1/3 (/.f64 (pow.f64 (*.f64 (pow.f64 eps 3) -3/2) 2) (pow.f64 eps 3)))) (/.f64 (*.f64 eps eps) (pow.f64 x 4)))))
(fma.f64 1/3 (*.f64 (/.f64 (*.f64 (pow.f64 eps 3) -3/2) eps) (/.f64 (*.f64 x x) eps)) (fma.f64 1/3 (/.f64 (fma.f64 (pow.f64 eps 3) 1/24 (+.f64 (fma.f64 (pow.f64 eps 3) 1/2 (*.f64 (pow.f64 eps 3) 1/3)) (*.f64 (/.f64 (*.f64 (pow.f64 eps 6) 9/4) (pow.f64 eps 3)) -1/3))) (/.f64 eps (/.f64 (pow.f64 x 4) eps))) eps))
(+.f64 eps (*.f64 (/.f64 1/3 eps) (+.f64 (/.f64 (pow.f64 eps 3) (/.f64 eps (*.f64 -3/2 (*.f64 x x)))) (/.f64 (fma.f64 (*.f64 9/4 (pow.f64 eps 3)) -1/3 (fma.f64 (pow.f64 eps 3) 1/3 (*.f64 (pow.f64 eps 3) 13/24))) (/.f64 eps (pow.f64 x 4))))))
(+.f64 (*.f64 1/3 (/.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) (pow.f64 x 2)) (pow.f64 eps 2))) (+.f64 eps (+.f64 (*.f64 1/3 (/.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/720 (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 -1/24 (pow.f64 eps 2)) (*.f64 -1/360 (pow.f64 eps 2)))) (+.f64 (*.f64 -1/24 (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))))))) (+.f64 (*.f64 1/3 (/.f64 (*.f64 (-.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))) (*.f64 1/2 (pow.f64 eps 3)))) (*.f64 1/3 (/.f64 (pow.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) 2) (pow.f64 eps 3)))) (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3)))) (pow.f64 eps 3))) (+.f64 (*.f64 1/27 (/.f64 (pow.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) 3) (pow.f64 eps 6))) (*.f64 1/3 (/.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) (-.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))) (*.f64 1/2 (pow.f64 eps 3)))) (*.f64 1/3 (/.f64 (pow.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) 2) (pow.f64 eps 3))))) (pow.f64 eps 3)))))) (pow.f64 x 6)) (pow.f64 eps 2))) (*.f64 1/3 (/.f64 (*.f64 (-.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))) (*.f64 1/2 (pow.f64 eps 3)))) (*.f64 1/3 (/.f64 (pow.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) 2) (pow.f64 eps 3)))) (pow.f64 x 4)) (pow.f64 eps 2))))))
(+.f64 (fma.f64 1/3 (/.f64 (*.f64 (*.f64 (pow.f64 eps 3) -3/2) (*.f64 x x)) (*.f64 eps eps)) eps) (*.f64 1/3 (+.f64 (/.f64 (-.f64 (fma.f64 -1/720 (pow.f64 eps 3) (fma.f64 eps (*.f64 (*.f64 eps eps) -2/45) (fma.f64 -1/24 (pow.f64 eps 3) (*.f64 (*.f64 -1/2 eps) (*.f64 (*.f64 eps eps) 1/3))))) (fma.f64 1/3 (/.f64 (*.f64 (pow.f64 eps 3) -3/2) (/.f64 (pow.f64 eps 3) (+.f64 (fma.f64 1/24 (pow.f64 eps 3) (fma.f64 eps (*.f64 (*.f64 eps eps) 1/3) (*.f64 (pow.f64 eps 3) 1/2))) (*.f64 -1/3 (/.f64 (pow.f64 (*.f64 (pow.f64 eps 3) -3/2) 2) (pow.f64 eps 3)))))) (fma.f64 1/27 (/.f64 (pow.f64 (*.f64 (pow.f64 eps 3) -3/2) 3) (pow.f64 eps 6)) (*.f64 1/3 (/.f64 (*.f64 (pow.f64 eps 3) -3/2) (/.f64 (pow.f64 eps 3) (+.f64 (fma.f64 1/24 (pow.f64 eps 3) (fma.f64 eps (*.f64 (*.f64 eps eps) 1/3) (*.f64 (pow.f64 eps 3) 1/2))) (*.f64 -1/3 (/.f64 (pow.f64 (*.f64 (pow.f64 eps 3) -3/2) 2) (pow.f64 eps 3)))))))))) (/.f64 (*.f64 eps eps) (pow.f64 x 6))) (/.f64 (+.f64 (fma.f64 1/24 (pow.f64 eps 3) (fma.f64 eps (*.f64 (*.f64 eps eps) 1/3) (*.f64 (pow.f64 eps 3) 1/2))) (*.f64 -1/3 (/.f64 (pow.f64 (*.f64 (pow.f64 eps 3) -3/2) 2) (pow.f64 eps 3)))) (/.f64 (*.f64 eps eps) (pow.f64 x 4))))))
(fma.f64 1/3 (*.f64 (/.f64 (*.f64 (pow.f64 eps 3) -3/2) eps) (/.f64 (*.f64 x x) eps)) (fma.f64 1/3 (+.f64 (/.f64 (fma.f64 (pow.f64 eps 3) 1/24 (+.f64 (fma.f64 (pow.f64 eps 3) 1/2 (*.f64 (pow.f64 eps 3) 1/3)) (*.f64 (/.f64 (*.f64 (pow.f64 eps 6) 9/4) (pow.f64 eps 3)) -1/3))) (/.f64 eps (/.f64 (pow.f64 x 4) eps))) (*.f64 (/.f64 (-.f64 (+.f64 (*.f64 (pow.f64 eps 3) -2/45) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 3) 1/3)) (*.f64 (pow.f64 eps 3) -31/720))) (fma.f64 1/3 (*.f64 (/.f64 (*.f64 (pow.f64 eps 3) -3/2) (pow.f64 eps 3)) (fma.f64 (pow.f64 eps 3) 1/24 (+.f64 (fma.f64 (pow.f64 eps 3) 1/2 (*.f64 (pow.f64 eps 3) 1/3)) (*.f64 (/.f64 (*.f64 (pow.f64 eps 6) 9/4) (pow.f64 eps 3)) -1/3)))) (fma.f64 1/3 (*.f64 (/.f64 (*.f64 (pow.f64 eps 3) -3/2) (pow.f64 eps 3)) (fma.f64 (pow.f64 eps 3) 1/24 (+.f64 (fma.f64 (pow.f64 eps 3) 1/2 (*.f64 (pow.f64 eps 3) 1/3)) (*.f64 (/.f64 (*.f64 (pow.f64 eps 6) 9/4) (pow.f64 eps 3)) -1/3)))) (/.f64 1/27 (/.f64 (pow.f64 eps 6) (*.f64 (pow.f64 (pow.f64 eps 3) 3) -27/8)))))) eps) (/.f64 (pow.f64 x 6) eps))) eps))
(+.f64 eps (fma.f64 1/3 (fma.f64 (/.f64 (+.f64 (*.f64 (pow.f64 eps 3) -7/80) (-.f64 (*.f64 (pow.f64 eps 3) -1/6) (fma.f64 1/27 (/.f64 (pow.f64 eps 3) -8/27) (*.f64 (*.f64 -3/2 (fma.f64 (*.f64 9/4 (pow.f64 eps 3)) -1/3 (fma.f64 (pow.f64 eps 3) 1/3 (*.f64 (pow.f64 eps 3) 13/24)))) 2/3)))) eps) (/.f64 (pow.f64 x 6) eps) (*.f64 (/.f64 (fma.f64 (*.f64 9/4 (pow.f64 eps 3)) -1/3 (fma.f64 (pow.f64 eps 3) 1/3 (*.f64 (pow.f64 eps 3) 13/24))) (*.f64 eps eps)) (pow.f64 x 4))) (*.f64 (/.f64 (*.f64 -1/2 (pow.f64 eps 3)) eps) (/.f64 x (/.f64 eps x)))))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1))))
(neg.f64 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1))))
(*.f64 (*.f64 eps (cos.f64 x)) (neg.f64 (cbrt.f64 -1)))
(*.f64 eps (*.f64 (cos.f64 x) (neg.f64 (cbrt.f64 -1))))
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1))))
(neg.f64 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1))))
(*.f64 (*.f64 eps (cos.f64 x)) (neg.f64 (cbrt.f64 -1)))
(*.f64 eps (*.f64 (cos.f64 x) (neg.f64 (cbrt.f64 -1))))
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1))))
(neg.f64 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1))))
(*.f64 (*.f64 eps (cos.f64 x)) (neg.f64 (cbrt.f64 -1)))
(*.f64 eps (*.f64 (cos.f64 x) (neg.f64 (cbrt.f64 -1))))
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1))))
(neg.f64 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1))))
(*.f64 (*.f64 eps (cos.f64 x)) (neg.f64 (cbrt.f64 -1)))
(*.f64 eps (*.f64 (cos.f64 x) (neg.f64 (cbrt.f64 -1))))
(pow.f64 eps 3)
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) (pow.f64 x 2)) (pow.f64 eps 3))
(fma.f64 (*.f64 (pow.f64 eps 3) -3/2) (*.f64 x x) (pow.f64 eps 3))
(fma.f64 (pow.f64 eps 3) (*.f64 -3/2 (*.f64 x x)) (pow.f64 eps 3))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) (pow.f64 x 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))) (*.f64 1/2 (pow.f64 eps 3)))) (pow.f64 x 4)) (pow.f64 eps 3)))
(fma.f64 (*.f64 (pow.f64 eps 3) -3/2) (*.f64 x x) (fma.f64 (fma.f64 1/24 (pow.f64 eps 3) (fma.f64 eps (*.f64 (*.f64 eps eps) 1/3) (*.f64 (pow.f64 eps 3) 1/2))) (pow.f64 x 4) (pow.f64 eps 3)))
(fma.f64 (*.f64 (pow.f64 eps 3) -3/2) (*.f64 x x) (fma.f64 (fma.f64 (pow.f64 eps 3) 1/24 (fma.f64 (pow.f64 eps 3) 1/2 (*.f64 (pow.f64 eps 3) 1/3))) (pow.f64 x 4) (pow.f64 eps 3)))
(fma.f64 (pow.f64 eps 3) (*.f64 -3/2 (*.f64 x x)) (fma.f64 (fma.f64 (pow.f64 eps 3) 1/3 (*.f64 (pow.f64 eps 3) 13/24)) (pow.f64 x 4) (pow.f64 eps 3)))
(+.f64 (*.f64 (+.f64 (*.f64 eps (+.f64 (*.f64 -1/24 (pow.f64 eps 2)) (*.f64 -1/360 (pow.f64 eps 2)))) (+.f64 (*.f64 -1/720 (pow.f64 eps 3)) (+.f64 (*.f64 -1/24 (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))))))) (pow.f64 x 6)) (+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) (pow.f64 x 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))) (*.f64 1/2 (pow.f64 eps 3)))) (pow.f64 x 4)) (pow.f64 eps 3))))
(fma.f64 (fma.f64 eps (*.f64 (*.f64 eps eps) -2/45) (fma.f64 -1/720 (pow.f64 eps 3) (fma.f64 -1/24 (pow.f64 eps 3) (*.f64 (*.f64 -1/2 eps) (*.f64 (*.f64 eps eps) 1/3))))) (pow.f64 x 6) (fma.f64 (*.f64 (pow.f64 eps 3) -3/2) (*.f64 x x) (fma.f64 (fma.f64 1/24 (pow.f64 eps 3) (fma.f64 eps (*.f64 (*.f64 eps eps) 1/3) (*.f64 (pow.f64 eps 3) 1/2))) (pow.f64 x 4) (pow.f64 eps 3))))
(fma.f64 (+.f64 (*.f64 (pow.f64 eps 3) -2/45) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 3) 1/3)) (*.f64 (pow.f64 eps 3) -31/720))) (pow.f64 x 6) (fma.f64 (*.f64 (pow.f64 eps 3) -3/2) (*.f64 x x) (fma.f64 (fma.f64 (pow.f64 eps 3) 1/24 (fma.f64 (pow.f64 eps 3) 1/2 (*.f64 (pow.f64 eps 3) 1/3))) (pow.f64 x 4) (pow.f64 eps 3))))
(fma.f64 (+.f64 (*.f64 (pow.f64 eps 3) -7/80) (*.f64 (pow.f64 eps 3) -1/6)) (pow.f64 x 6) (fma.f64 (pow.f64 eps 3) (*.f64 -3/2 (*.f64 x x)) (fma.f64 (fma.f64 (pow.f64 eps 3) 1/3 (*.f64 (pow.f64 eps 3) 13/24)) (pow.f64 x 4) (pow.f64 eps 3))))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3))
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3))
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3))
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3))
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3))
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3))

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))
0.4b
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)
0.6b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
1.1b
(sin.f64 (+.f64 x eps))
Compiler

Compiled 39 to 10 computations (74.4% saved)

series34.0ms (0.2%)

Counts
2 → 40
Calls

12 calls:

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

rewrite84.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

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

simplify85.0ms (0.6%)

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

Useful iterations: 2 (0.0ms)

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

localize23.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 49 to 17 computations (65.3% saved)

series16.0ms (0.1%)

Counts
4 → 72
Calls

21 calls:

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

rewrite95.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
598×log-prod_binary64
415×pow-prod-down_binary64
305×pow2_binary64
294×prod-diff_binary64
233×pow-unpow_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify181.0ms (1.3%)

Algorithm
egg-herbie
Rules
833×distribute-lft-out_binary64
683×*-commutative_binary64
502×sqr-pow_binary64
413×fma-def_binary64
404×distribute-rgt-out_binary64
Iterations

Useful iterations: 7 (0.0ms)

IterNodesCost
0741015
11951009
2536983
31952943
43761943
54031943
64261943
74537942
84949942
95260942
106870942
117272942
127746942
Stop Event
node limit
Counts
174 → 139
Calls
Call 1
Inputs
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 -1/240 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 -1/240 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (+.f64 (*.f64 1/10080 (*.f64 (pow.f64 eps 2) (pow.f64 x 7))) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
eps
(+.f64 eps (*.f64 -1/4 (*.f64 eps (pow.f64 x 2))))
(+.f64 eps (+.f64 (*.f64 -1/96 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/4 (*.f64 eps (pow.f64 x 2)))))
(+.f64 (*.f64 -19/5760 (*.f64 eps (pow.f64 x 6))) (+.f64 eps (+.f64 (*.f64 -1/96 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/4 (*.f64 eps (pow.f64 x 2))))))
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.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 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
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 (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))))))
(+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
1
(+.f64 1 (*.f64 -1/4 (pow.f64 x 2)))
(+.f64 1 (+.f64 (*.f64 -1/4 (pow.f64 x 2)) (*.f64 -1/96 (pow.f64 x 4))))
(+.f64 1 (+.f64 (*.f64 -1/4 (pow.f64 x 2)) (+.f64 (*.f64 -1/96 (pow.f64 x 4)) (*.f64 -19/5760 (pow.f64 x 6)))))
Outputs
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) (*.f64 1/12 (*.f64 (*.f64 eps eps) (pow.f64 x 3))))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) (*.f64 (pow.f64 x 3) (*.f64 (*.f64 eps eps) 1/12)))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/2 x) (*.f64 1/12 (pow.f64 x 3))))
(*.f64 x (*.f64 (*.f64 eps eps) (+.f64 -1/2 (*.f64 1/12 (*.f64 x x)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 -1/240 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3)))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) (fma.f64 -1/240 (*.f64 (*.f64 eps eps) (pow.f64 x 5)) (*.f64 1/12 (*.f64 (*.f64 eps eps) (pow.f64 x 3)))))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) (fma.f64 -1/240 (*.f64 eps (*.f64 eps (pow.f64 x 5))) (*.f64 (pow.f64 x 3) (*.f64 (*.f64 eps eps) 1/12))))
(fma.f64 (*.f64 eps eps) (*.f64 -1/240 (pow.f64 x 5)) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/2 x) (*.f64 1/12 (pow.f64 x 3)))))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 -1/240 (pow.f64 x 5)) (*.f64 1/12 (pow.f64 x 3)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 -1/240 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (+.f64 (*.f64 1/10080 (*.f64 (pow.f64 eps 2) (pow.f64 x 7))) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) (fma.f64 -1/240 (*.f64 (*.f64 eps eps) (pow.f64 x 5)) (fma.f64 1/10080 (*.f64 (*.f64 eps eps) (pow.f64 x 7)) (*.f64 1/12 (*.f64 (*.f64 eps eps) (pow.f64 x 3))))))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) (fma.f64 -1/240 (*.f64 eps (*.f64 eps (pow.f64 x 5))) (fma.f64 1/10080 (*.f64 (*.f64 eps eps) (pow.f64 x 7)) (*.f64 (pow.f64 x 3) (*.f64 (*.f64 eps eps) 1/12)))))
(+.f64 (*.f64 (*.f64 eps eps) (+.f64 (*.f64 1/12 (pow.f64 x 3)) (*.f64 1/10080 (pow.f64 x 7)))) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/2 x) (*.f64 -1/240 (pow.f64 x 5)))))
(*.f64 (*.f64 eps eps) (+.f64 (+.f64 (*.f64 -1/2 x) (*.f64 1/12 (pow.f64 x 3))) (+.f64 (*.f64 1/10080 (pow.f64 x 7)) (*.f64 -1/240 (pow.f64 x 5)))))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 1/10080 (pow.f64 x 7)) (+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 -1/240 (pow.f64 x 5)) (*.f64 1/12 (pow.f64 x 3))))))
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/240 (pow.f64 x 5)) (+.f64 (*.f64 1/10080 (pow.f64 x 7)) (+.f64 (*.f64 -1/2 x) (*.f64 1/12 (pow.f64 x 3))))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 eps (sqrt.f64 (cos.f64 x)))
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 eps (sqrt.f64 (cos.f64 x)))
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 eps (sqrt.f64 (cos.f64 x)))
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 eps (sqrt.f64 (cos.f64 x)))
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 eps (sqrt.f64 (cos.f64 x)))
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 eps (sqrt.f64 (cos.f64 x)))
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 eps (sqrt.f64 (cos.f64 x)))
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 eps (sqrt.f64 (cos.f64 x)))
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 eps (sqrt.f64 (cos.f64 x)))
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 eps (sqrt.f64 (cos.f64 x)))
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 eps (sqrt.f64 (cos.f64 x)))
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 eps (sqrt.f64 (cos.f64 x)))
eps
(+.f64 eps (*.f64 -1/4 (*.f64 eps (pow.f64 x 2))))
(+.f64 eps (*.f64 -1/4 (*.f64 eps (*.f64 x x))))
(fma.f64 -1/4 (*.f64 eps (*.f64 x x)) eps)
(*.f64 (fma.f64 -1/4 (*.f64 x x) 1) eps)
(*.f64 eps (fma.f64 x (*.f64 x -1/4) 1))
(+.f64 eps (+.f64 (*.f64 -1/96 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/4 (*.f64 eps (pow.f64 x 2)))))
(+.f64 eps (fma.f64 -1/96 (*.f64 eps (pow.f64 x 4)) (*.f64 -1/4 (*.f64 eps (*.f64 x x)))))
(+.f64 (fma.f64 -1/4 (*.f64 eps (*.f64 x x)) eps) (*.f64 (pow.f64 x 4) (*.f64 eps -1/96)))
(+.f64 eps (*.f64 eps (fma.f64 x (*.f64 x -1/4) (*.f64 -1/96 (pow.f64 x 4)))))
(*.f64 eps (fma.f64 x (*.f64 x -1/4) (fma.f64 -1/96 (pow.f64 x 4) 1)))
(+.f64 (*.f64 -19/5760 (*.f64 eps (pow.f64 x 6))) (+.f64 eps (+.f64 (*.f64 -1/96 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/4 (*.f64 eps (pow.f64 x 2))))))
(fma.f64 -19/5760 (*.f64 eps (pow.f64 x 6)) (+.f64 eps (fma.f64 -1/96 (*.f64 eps (pow.f64 x 4)) (*.f64 -1/4 (*.f64 eps (*.f64 x x))))))
(+.f64 (fma.f64 -1/4 (*.f64 eps (*.f64 x x)) (*.f64 (pow.f64 x 4) (*.f64 eps -1/96))) (fma.f64 (*.f64 eps -19/5760) (pow.f64 x 6) eps))
(+.f64 eps (fma.f64 eps (*.f64 -19/5760 (pow.f64 x 6)) (*.f64 eps (fma.f64 x (*.f64 x -1/4) (*.f64 -1/96 (pow.f64 x 4))))))
(+.f64 eps (*.f64 eps (fma.f64 x (*.f64 x -1/4) (fma.f64 -1/96 (pow.f64 x 4) (*.f64 -19/5760 (pow.f64 x 6))))))
(*.f64 eps (+.f64 1 (fma.f64 x (*.f64 x -1/4) (fma.f64 -1/96 (pow.f64 x 4) (*.f64 -19/5760 (pow.f64 x 6))))))
(+.f64 eps (*.f64 (fma.f64 x (*.f64 x -1/4) (fma.f64 -1/96 (pow.f64 x 4) (*.f64 -19/5760 (pow.f64 x 6)))) eps))
(*.f64 eps (+.f64 (fma.f64 x (*.f64 x -1/4) 1) (fma.f64 -19/5760 (pow.f64 x 6) (*.f64 -1/96 (pow.f64 x 4)))))
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 eps (sqrt.f64 (cos.f64 x)))
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 eps (sqrt.f64 (cos.f64 x)))
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 eps (sqrt.f64 (cos.f64 x)))
(*.f64 (sqrt.f64 (cos.f64 x)) eps)
(*.f64 eps (sqrt.f64 (cos.f64 x)))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (*.f64 eps (cos.f64 x)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x)))
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x)))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps))))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (*.f64 eps (cos.f64 x)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x)))
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x)))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps))))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (*.f64 eps (cos.f64 x)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x)))
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x)))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (*.f64 eps (cos.f64 x)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x)))
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x)))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps))))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (*.f64 eps (cos.f64 x)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x)))
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x)))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps))))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (*.f64 eps (cos.f64 x)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x)))
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x)))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps))))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (*.f64 eps (cos.f64 x)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x)))
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x)))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps))))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (*.f64 eps (cos.f64 x)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x)))
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x)))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps))))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (*.f64 eps (cos.f64 x)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x)))
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x)))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps))))
eps
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps)
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps)
(fma.f64 (*.f64 -1/2 (*.f64 eps eps)) x eps)
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps)
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 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 (*.f64 eps eps) x) (+.f64 eps (*.f64 -1/2 (*.f64 eps (*.f64 x x)))))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) (fma.f64 (*.f64 -1/2 eps) (*.f64 x x) eps))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) (fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps))
(+.f64 eps (*.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x))))
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x)))))
(+.f64 eps (*.f64 -1/2 (*.f64 x (*.f64 eps (+.f64 eps x)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) (+.f64 eps (fma.f64 -1/2 (*.f64 eps (*.f64 x x)) (*.f64 1/12 (*.f64 (*.f64 eps eps) (pow.f64 x 3))))))
(+.f64 (fma.f64 (*.f64 -1/2 (*.f64 eps eps)) x eps) (fma.f64 -1/2 (*.f64 eps (*.f64 x x)) (*.f64 (pow.f64 x 3) (*.f64 (*.f64 eps eps) 1/12))))
(+.f64 (*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/2 x) (*.f64 1/12 (pow.f64 x 3)))) (fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps))
(+.f64 (*.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x))) (fma.f64 (*.f64 eps eps) (*.f64 1/12 (pow.f64 x 3)) eps))
(+.f64 (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x)))) (fma.f64 (*.f64 eps eps) (*.f64 1/12 (pow.f64 x 3)) eps))
(+.f64 eps (*.f64 eps (+.f64 (*.f64 (pow.f64 x 3) (*.f64 eps 1/12)) (*.f64 x (*.f64 -1/2 (+.f64 eps x))))))
(*.f64 eps (+.f64 1 (+.f64 (*.f64 (pow.f64 x 3) (*.f64 eps 1/12)) (*.f64 -1/2 (*.f64 x (+.f64 eps x))))))
(+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (*.f64 eps (cos.f64 x)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x)))
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x)))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps))))
(+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (*.f64 eps (cos.f64 x)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x)))
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x)))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps))))
(+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (*.f64 eps (cos.f64 x)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x)))
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x)))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps))))
(+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (*.f64 eps (cos.f64 x)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x)))
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x)))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps))))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (*.f64 eps (cos.f64 x)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x)))
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x)))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps))))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (*.f64 eps (cos.f64 x)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x)))
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x)))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps))))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (*.f64 eps (cos.f64 x)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x)))
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x)))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps))))
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (*.f64 eps (cos.f64 x)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x)))
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x)))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps))))
1
(+.f64 1 (*.f64 -1/4 (pow.f64 x 2)))
(+.f64 1 (*.f64 -1/4 (*.f64 x x)))
(fma.f64 -1/4 (*.f64 x x) 1)
(fma.f64 x (*.f64 x -1/4) 1)
(+.f64 1 (+.f64 (*.f64 -1/4 (pow.f64 x 2)) (*.f64 -1/96 (pow.f64 x 4))))
(+.f64 1 (fma.f64 -1/4 (*.f64 x x) (*.f64 -1/96 (pow.f64 x 4))))
(+.f64 (fma.f64 -1/4 (*.f64 x x) 1) (*.f64 -1/96 (pow.f64 x 4)))
(fma.f64 x (*.f64 x -1/4) (fma.f64 -1/96 (pow.f64 x 4) 1))
(+.f64 1 (+.f64 (*.f64 -1/4 (pow.f64 x 2)) (+.f64 (*.f64 -1/96 (pow.f64 x 4)) (*.f64 -19/5760 (pow.f64 x 6)))))
(+.f64 1 (fma.f64 -1/4 (*.f64 x x) (fma.f64 -1/96 (pow.f64 x 4) (*.f64 -19/5760 (pow.f64 x 6)))))
(+.f64 (fma.f64 -1/4 (*.f64 x x) 1) (fma.f64 -1/96 (pow.f64 x 4) (*.f64 -19/5760 (pow.f64 x 6))))
(+.f64 (fma.f64 -1/4 (*.f64 x x) 1) (fma.f64 -19/5760 (pow.f64 x 6) (*.f64 -1/96 (pow.f64 x 4))))
(+.f64 1 (fma.f64 x (*.f64 x -1/4) (fma.f64 -1/96 (pow.f64 x 4) (*.f64 -19/5760 (pow.f64 x 6)))))
(+.f64 (fma.f64 x (*.f64 x -1/4) 1) (fma.f64 -19/5760 (pow.f64 x 6) (*.f64 -1/96 (pow.f64 x 4))))

eval413.0ms (2.9%)

Compiler

Compiled 18200 to 8131 computations (55.3% saved)

prune250.0ms (1.8%)

Pruning

60 alts after pruning (55 fresh and 5 done)

PrunedKeptTotal
New83228860
Fresh262753
Picked101
Done257
Total86160921
Error
0.0b
Counts
921 → 60
Alt Table
Click to see full alt table
StatusErrorProgram
30.1b
(*.f64 (cos.f64 x) eps)
54.6b
(-.f64 (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 (+.f64 x eps)))))) (sin.f64 x))
60.6b
(-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1)
49.6b
(+.f64 eps (*.f64 x (*.f64 x (*.f64 -1/2 eps))))
0.2b
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
12.8b
(fma.f64 (sin.f64 eps) (cos.f64 x) (-.f64 (*.f64 (cos.f64 eps) x) x))
23.4b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
34.8b
(+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
36.0b
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))
59.5b
(pow.f64 (pow.f64 eps 3) 1/3)
23.4b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
50.4b
(-.f64 (fabs.f64 (sin.f64 (+.f64 x eps))) (sin.f64 x))
43.7b
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
25.1b
(/.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))))
59.7b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (neg.f64 (sin.f64 x)))
39.2b
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3))
26.0b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x)))
30.4b
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) eps))
49.8b
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 x))))
1.5b
(pow.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 3)
30.2b
(*.f64 eps (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 eps)) (cos.f64 x)))
36.2b
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)
54.6b
(/.f64 1 (/.f64 (fma.f64 eps (cos.f64 x) (*.f64 1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))) (-.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 2) (*.f64 1/4 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 4)))))
36.7b
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x))
45.1b
(pow.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 3) 1/3)
0.3b
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
0.3b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x)))
0.3b
(log1p.f64 (expm1.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))
36.2b
(-.f64 (sin.f64 eps) (sin.f64 x))
50.6b
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3))
60.8b
(+.f64 (-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
28.2b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x)))
40.3b
(*.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)))
36.7b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (sin.f64 eps) x))
23.4b
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
36.7b
(-.f64 (fma.f64 (cos.f64 eps) x (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps))) x)
20.4b
(cbrt.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 3))
54.2b
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2))
30.0b
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
30.4b
(*.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)))
24.2b
(+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
36.0b
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
60.9b
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 x) 2)) (sin.f64 x))
46.9b
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2)
30.1b
(pow.f64 (cbrt.f64 (sin.f64 eps)) 3)
45.4b
(*.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps))
48.3b
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 eps))))
30.8b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3)
0.3b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
45.7b
(*.f64 (*.f64 (cos.f64 x) (cbrt.f64 (*.f64 eps eps))) (cbrt.f64 eps))
57.5b
(pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3)
30.2b
(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)))))
29.4b
(sin.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)))
30.2b
(+.f64 (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2))) (*.f64 eps (cos.f64 x)))
51.6b
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))
51.2b
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x))
36.8b
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))) 3)
47.2b
eps
30.6b
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) eps)))
Compiler

Compiled 1536 to 1063 computations (30.8% saved)

localize18.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 34 to 13 computations (61.8% saved)

series4.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite62.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

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

simplify48.0ms (0.3%)

Algorithm
egg-herbie
Rules
936×fma-def_binary64
754×distribute-rgt-out_binary64
746×distribute-lft-out_binary64
665×associate-*l*_binary64
505×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
044478
1123476
2329465
31055450
44501450
Stop Event
node limit
Counts
60 → 52
Calls
Call 1
Inputs
(*.f64 (cos.f64 x) eps)
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(+.f64 (*.f64 (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)))
Outputs
(*.f64 (cos.f64 x) eps)
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
(fma.f64 (cos.f64 x) eps (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (*.f64 (cos.f64 x) eps))
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 (sin.f64 x)) (*.f64 (cos.f64 x) eps))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 eps (*.f64 -1/2 (sin.f64 x)))))
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
(fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (*.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 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))))
(fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x)))))
(fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 eps (*.f64 -1/2 (*.f64 eps (sin.f64 x)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))))
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (+.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 (sin.f64 x) (+.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 1/24 (pow.f64 eps 4)))))
(fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (sin.f64 x) (fma.f64 eps (*.f64 eps -1/2) (*.f64 1/24 (pow.f64 eps 4)))))
(fma.f64 (sin.f64 x) (fma.f64 eps (*.f64 eps -1/2) (*.f64 1/24 (pow.f64 eps 4))) (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) 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 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(sin.f64 eps)
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps))
(fma.f64 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps))
(fma.f64 x (cos.f64 eps) (-.f64 (sin.f64 eps) x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)))
(fma.f64 -1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (fma.f64 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps)))
(fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (sin.f64 eps)))
(-.f64 (fma.f64 (fma.f64 x (*.f64 x -1/2) 1) (sin.f64 eps) (*.f64 x (cos.f64 eps))) x)
(fma.f64 (fma.f64 x (*.f64 x -1/2) 1) (sin.f64 eps) (fma.f64 x (cos.f64 eps) (neg.f64 x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 -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 x (+.f64 (cos.f64 eps) -1) (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)))) (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (sin.f64 eps)))
(fma.f64 (+.f64 (cos.f64 eps) -1) (fma.f64 -1/6 (pow.f64 x 3) x) (*.f64 (sin.f64 eps) (fma.f64 x (*.f64 x -1/2) 1)))
(+.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 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps)))

localize13.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 29 to 17 computations (41.4% saved)

series5.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite62.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
941×pow1_binary64
875×add-log-exp_binary64
875×log1p-expm1-u_binary64
875×expm1-log1p-u_binary64
857×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify209.0ms (1.5%)

Algorithm
egg-herbie
Rules
1080×sqr-pow_binary64
750×fma-def_binary64
634×fabs-mul_binary64
612×pow-sqr_binary64
612×cube-prod_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010480
120480
242480
394480
4247480
5850480
61392480
72127480
82357480
92536480
102744480
113080480
123422480
133796480
144255480
154864480
165572480
176430480
186854480
197168480
207478480
217556480
227592480
Stop Event
node limit
Counts
98 → 56
Calls
Call 1
Inputs
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
eps
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps)
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
eps
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps)
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
Outputs
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(*.f64 eps (*.f64 eps (*.f64 -1/2 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(*.f64 eps (*.f64 eps (*.f64 -1/2 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(*.f64 eps (*.f64 eps (*.f64 -1/2 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(*.f64 eps (*.f64 eps (*.f64 -1/2 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(*.f64 eps (*.f64 eps (*.f64 -1/2 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(*.f64 eps (*.f64 eps (*.f64 -1/2 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(*.f64 eps (*.f64 eps (*.f64 -1/2 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(*.f64 eps (*.f64 eps (*.f64 -1/2 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(*.f64 eps (*.f64 eps (*.f64 -1/2 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(*.f64 eps (*.f64 eps (*.f64 -1/2 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(*.f64 eps (*.f64 eps (*.f64 -1/2 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(*.f64 eps (*.f64 eps (*.f64 -1/2 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(*.f64 eps (*.f64 eps (*.f64 -1/2 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(*.f64 eps (*.f64 eps (*.f64 -1/2 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(*.f64 eps (*.f64 eps (*.f64 -1/2 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(*.f64 eps (*.f64 eps (*.f64 -1/2 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(*.f64 eps (*.f64 eps (*.f64 -1/2 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(*.f64 eps (*.f64 eps (*.f64 -1/2 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(*.f64 eps (*.f64 eps (*.f64 -1/2 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(*.f64 eps (*.f64 eps (*.f64 -1/2 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(*.f64 eps (*.f64 eps (*.f64 -1/2 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(*.f64 eps (*.f64 eps (*.f64 -1/2 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(*.f64 eps (*.f64 eps (*.f64 -1/2 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(*.f64 eps (*.f64 eps (*.f64 -1/2 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x))
eps
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps)
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps)
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps)
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps)
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1))
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps)
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps)
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps)
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps)
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1))
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps)
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps)
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps)
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps)
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1))
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(*.f64 eps (*.f64 eps (*.f64 -1/2 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x))
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps)
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps)
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps)
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1))
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1))
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps)
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps)
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps)
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1))
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1))
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps)
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps)
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps)
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1))
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(*.f64 eps (*.f64 eps (*.f64 -1/2 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x))
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps)
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps)
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps)
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1))
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1))
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps)
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps)
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps)
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1))
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1))
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps)
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps)
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps)
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1))
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1))
eps
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps)
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps)
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps)
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps)
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1))
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps)
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps)
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps)
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps)
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1))
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps)
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps)
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps)
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps)
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1))
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(*.f64 eps (*.f64 eps (*.f64 -1/2 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x))
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps)
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps)
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps)
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1))
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1))
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps)
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps)
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps)
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1))
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1))
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps)
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps)
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps)
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1))
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1))
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x))
(*.f64 -1/2 (*.f64 eps (*.f64 eps x)))
(*.f64 eps (*.f64 x (*.f64 -1/2 eps)))
(*.f64 eps (*.f64 eps (*.f64 -1/2 x)))
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x))
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps)
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps)
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps)
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1))
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1))
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps)
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps)
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps)
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1))
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1))
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps)
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps)
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps)
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1))
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1))

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cos.f64 x) eps)
0.2b
(pow.f64 (*.f64 (cos.f64 x) eps) 3)
39.1b
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3))
Compiler

Compiled 24 to 10 computations (58.3% saved)

series4.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite54.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
645×pow1_binary64
603×add-log-exp_binary64
603×log1p-expm1-u_binary64
603×expm1-log1p-u_binary64
586×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
086
11686
217286
Stop Event
node limit
Counts
1 → 29
Calls
Call 1
Inputs
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 x) eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 x) eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (cos.f64 x) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) (pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2) (cbrt.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 eps) 2) (*.f64 (cbrt.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) (sqrt.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 eps) (*.f64 (sqrt.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2) 1/3) (cbrt.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 x) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3/2) 1/3) (pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3/2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 eps) 2)) (cbrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 x) eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 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 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)))))))

simplify91.0ms (0.6%)

Algorithm
egg-herbie
Rules
458×distribute-rgt-out_binary64
451×*-commutative_binary64
449×fma-neg_binary64
397×associate-*l*_binary64
372×fma-def_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
030218
170216
2187212
3542206
42089205
54162205
64458205
74805205
85609205
97060205
Stop Event
node limit
Counts
53 → 38
Calls
Call 1
Inputs
eps
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))
(+.f64 (*.f64 -1/720 (*.f64 eps (pow.f64 x 6))) (+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))))
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1))))
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1))))
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1))))
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1))))
Outputs
eps
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(+.f64 eps (*.f64 -1/2 (*.f64 eps (*.f64 x x))))
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps)
(fma.f64 eps (*.f64 x (*.f64 x -1/2)) eps)
(*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1))
(fma.f64 x (*.f64 -1/2 (*.f64 eps x)) eps)
(+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))
(+.f64 eps (fma.f64 1/24 (*.f64 eps (pow.f64 x 4)) (*.f64 -1/2 (*.f64 eps (*.f64 x x)))))
(+.f64 eps (fma.f64 -1/2 (*.f64 eps (*.f64 x x)) (*.f64 eps (*.f64 (pow.f64 x 4) 1/24))))
(fma.f64 eps (*.f64 1/24 (pow.f64 x 4)) (fma.f64 eps (*.f64 x (*.f64 x -1/2)) 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 eps (*.f64 (pow.f64 x 4) 1/24))) (fma.f64 -1/720 (*.f64 eps (pow.f64 x 6)) eps))
(fma.f64 -1/720 (*.f64 eps (pow.f64 x 6)) (fma.f64 eps (*.f64 1/24 (pow.f64 x 4)) (fma.f64 eps (*.f64 x (*.f64 x -1/2)) eps)))
(fma.f64 eps (fma.f64 -1/2 (*.f64 x x) (*.f64 1/24 (pow.f64 x 4))) (fma.f64 (pow.f64 x 6) (*.f64 eps -1/720) 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/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 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1))))
(neg.f64 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1))))
(*.f64 (*.f64 eps (cos.f64 x)) (neg.f64 (cbrt.f64 -1)))
(*.f64 (cos.f64 x) (*.f64 (cbrt.f64 -1) (neg.f64 eps)))
(*.f64 (cos.f64 x) (neg.f64 (*.f64 eps (cbrt.f64 -1))))
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1))))
(neg.f64 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1))))
(*.f64 (*.f64 eps (cos.f64 x)) (neg.f64 (cbrt.f64 -1)))
(*.f64 (cos.f64 x) (*.f64 (cbrt.f64 -1) (neg.f64 eps)))
(*.f64 (cos.f64 x) (neg.f64 (*.f64 eps (cbrt.f64 -1))))
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1))))
(neg.f64 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1))))
(*.f64 (*.f64 eps (cos.f64 x)) (neg.f64 (cbrt.f64 -1)))
(*.f64 (cos.f64 x) (*.f64 (cbrt.f64 -1) (neg.f64 eps)))
(*.f64 (cos.f64 x) (neg.f64 (*.f64 eps (cbrt.f64 -1))))
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1))))
(neg.f64 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1))))
(*.f64 (*.f64 eps (cos.f64 x)) (neg.f64 (cbrt.f64 -1)))
(*.f64 (cos.f64 x) (*.f64 (cbrt.f64 -1) (neg.f64 eps)))
(*.f64 (cos.f64 x) (neg.f64 (*.f64 eps (cbrt.f64 -1))))

localize15.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x))
0.2b
(pow.f64 (sin.f64 eps) 2)
15.1b
(sqrt.f64 (pow.f64 (sin.f64 eps) 2))
Compiler

Compiled 26 to 14 computations (46.2% saved)

series4.0ms (0%)

Counts
3 → 40
Calls

12 calls:

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

rewrite61.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
872×pow1_binary64
811×add-log-exp_binary64
810×log1p-expm1-u_binary64
810×expm1-log1p-u_binary64
792×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
119317
2220217
Stop Event
node limit
Counts
3 → 75
Calls
Call 1
Inputs
(sqrt.f64 (pow.f64 (sin.f64 eps) 2))
(pow.f64 (sin.f64 eps) 2)
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sin.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 eps)) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 eps)) 2) (cbrt.f64 (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 eps)) (sqrt.f64 (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (sin.f64 eps) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sin.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (sin.f64 eps) 4)) 1/2) (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 eps)) 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 eps) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 eps) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sin.f64 eps)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sin.f64 eps)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sin.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sin.f64 eps) 3))))) (#(struct:change #<rule egg-rr> (2) ((x sin.f64 eps)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sin.f64 eps)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (sin.f64 eps) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 eps) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 eps) (sin.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (sin.f64 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (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 (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 eps))) (sqrt.f64 (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (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 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 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 +.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 2 (*.f64 (sin.f64 (/.f64 (-.f64 eps x) 2)) (cos.f64 (/.f64 (+.f64 eps x) 2))))))) (#(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 (-.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 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 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
874×fma-def_binary64
654×associate-*l*_binary64
650×distribute-lft-out_binary64
644×distribute-rgt-out_binary64
498×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
062365
1158350
2387344
31224342
44619342
Stop Event
node limit
Counts
115 → 105
Calls
Call 1
Inputs
eps
(+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))
(+.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 1/120 (pow.f64 eps 5))))
(+.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (+.f64 (*.f64 1/120 (pow.f64 eps 5)) (*.f64 -1/5040 (pow.f64 eps 7)))))
(sin.f64 eps)
(sin.f64 eps)
(sin.f64 eps)
(sin.f64 eps)
(sin.f64 eps)
(sin.f64 eps)
(sin.f64 eps)
(sin.f64 eps)
(pow.f64 eps 2)
(+.f64 (pow.f64 eps 2) (*.f64 -1/3 (pow.f64 eps 4)))
(+.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/3 (pow.f64 eps 4)) (*.f64 2/45 (pow.f64 eps 6))))
(+.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/315 (pow.f64 eps 8)) (+.f64 (*.f64 -1/3 (pow.f64 eps 4)) (*.f64 2/45 (pow.f64 eps 6)))))
(*.f64 -1 (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))
Outputs
eps
(+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))
(fma.f64 -1/6 (pow.f64 eps 3) eps)
(+.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 1/120 (pow.f64 eps 5))))
(+.f64 eps (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 1/120 (pow.f64 eps 5))))
(+.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 1/120 (pow.f64 eps 5)))
(fma.f64 -1/6 (pow.f64 eps 3) (fma.f64 1/120 (pow.f64 eps 5) eps))
(+.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (+.f64 (*.f64 1/120 (pow.f64 eps 5)) (*.f64 -1/5040 (pow.f64 eps 7)))))
(+.f64 eps (fma.f64 -1/6 (pow.f64 eps 3) (fma.f64 1/120 (pow.f64 eps 5) (*.f64 -1/5040 (pow.f64 eps 7)))))
(+.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (fma.f64 1/120 (pow.f64 eps 5) (*.f64 -1/5040 (pow.f64 eps 7))))
(+.f64 eps (fma.f64 -1/6 (pow.f64 eps 3) (fma.f64 -1/5040 (pow.f64 eps 7) (*.f64 1/120 (pow.f64 eps 5)))))
(fma.f64 -1/5040 (pow.f64 eps 7) (fma.f64 -1/6 (pow.f64 eps 3) (fma.f64 1/120 (pow.f64 eps 5) eps)))
(fma.f64 -1/6 (pow.f64 eps 3) (fma.f64 1/120 (pow.f64 eps 5) (fma.f64 -1/5040 (pow.f64 eps 7) eps)))
(sin.f64 eps)
(sin.f64 eps)
(sin.f64 eps)
(sin.f64 eps)
(sin.f64 eps)
(sin.f64 eps)
(sin.f64 eps)
(sin.f64 eps)
(pow.f64 eps 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 -1/3 (pow.f64 eps 4) (*.f64 eps eps))
(fma.f64 eps eps (*.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 (*.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 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 -1/3 (pow.f64 eps 4) (fma.f64 -1/315 (pow.f64 eps 8) (*.f64 2/45 (pow.f64 eps 6)))))
(fma.f64 -1/3 (pow.f64 eps 4) (fma.f64 eps eps (fma.f64 -1/315 (pow.f64 eps 8) (*.f64 2/45 (pow.f64 eps 6)))))
(fma.f64 -1/3 (pow.f64 eps 4) (fma.f64 eps eps (fma.f64 2/45 (pow.f64 eps 6) (*.f64 -1/315 (pow.f64 eps 8)))))
(*.f64 -1 (sin.f64 x))
(neg.f64 (sin.f64 x))
(+.f64 eps (*.f64 -1 (sin.f64 x)))
(+.f64 eps (neg.f64 (sin.f64 x)))
(-.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))
(fma.f64 -1/6 (pow.f64 eps 3) (-.f64 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 (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 1/120 (pow.f64 eps 5))) (-.f64 eps (sin.f64 x)))
(-.f64 (fma.f64 -1/6 (pow.f64 eps 3) (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))

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2))
0.2b
(*.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)))
0.3b
(pow.f64 (cbrt.f64 (cos.f64 x)) 2)
0.3b
(cbrt.f64 (cos.f64 x))
Compiler

Compiled 33 to 14 computations (57.6% saved)

series19.0ms (0.1%)

Counts
4 → 72
Calls

18 calls:

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

rewrite88.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
766×pow1_binary64
705×add-log-exp_binary64
705×log1p-expm1-u_binary64
705×expm1-log1p-u_binary64
688×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify212.0ms (1.5%)

Algorithm
egg-herbie
Rules
1924×fma-def_binary64
724×sqr-pow_binary64
430×*-commutative_binary64
420×cube-prod_binary64
327×pow-sqr_binary64
Iterations

Useful iterations: 8 (0.0ms)

IterNodesCost
068684
1172672
2433662
31334657
41963655
52855655
62995655
73200655
83419646
95309646
105733646
116251646
126843646
137531646
147866646
Stop Event
node limit
Counts
134 → 95
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1/6 (pow.f64 x 2)))
(+.f64 (*.f64 -1/72 (pow.f64 x 4)) (+.f64 1 (*.f64 -1/6 (pow.f64 x 2))))
(+.f64 (*.f64 -1/72 (pow.f64 x 4)) (+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 x 2)) (*.f64 -23/6480 (pow.f64 x 6)))))
(pow.f64 (cos.f64 x) 1/3)
(pow.f64 (cos.f64 x) 1/3)
(pow.f64 (cos.f64 x) 1/3)
(pow.f64 (cos.f64 x) 1/3)
(pow.f64 (cos.f64 x) 1/3)
(pow.f64 (cos.f64 x) 1/3)
(pow.f64 (cos.f64 x) 1/3)
(pow.f64 (cos.f64 x) 1/3)
1
(+.f64 (*.f64 -1/3 (pow.f64 x 2)) 1)
(+.f64 (*.f64 -1/3 (pow.f64 x 2)) (+.f64 1 (*.f64 -1/405 (pow.f64 x 6))))
(+.f64 (*.f64 -1/3 (pow.f64 x 2)) (+.f64 1 (+.f64 (*.f64 -1/405 (pow.f64 x 6)) (*.f64 -1/1701 (pow.f64 x 8)))))
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
eps
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))
(+.f64 (*.f64 -1/720 (*.f64 eps (pow.f64 x 6))) (+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))))
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 eps (cos.f64 x))
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps)
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps)
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps)
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps)
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps)
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps)
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps)
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps)
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps)
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps)
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps)
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps)
eps
(+.f64 (*.f64 -1/3 (*.f64 eps (pow.f64 x 2))) eps)
(+.f64 (*.f64 -1/3 (*.f64 eps (pow.f64 x 2))) (+.f64 eps (*.f64 -1/405 (*.f64 eps (pow.f64 x 6)))))
(+.f64 (*.f64 -1/3 (*.f64 eps (pow.f64 x 2))) (+.f64 (*.f64 -1/1701 (*.f64 eps (pow.f64 x 8))) (+.f64 eps (*.f64 -1/405 (*.f64 eps (pow.f64 x 6))))))
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3))
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3))
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3))
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3))
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3))
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3))
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3))
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3))
Outputs
1
(+.f64 1 (*.f64 -1/6 (pow.f64 x 2)))
(+.f64 1 (*.f64 -1/6 (*.f64 x x)))
(fma.f64 -1/6 (*.f64 x x) 1)
(+.f64 (*.f64 -1/72 (pow.f64 x 4)) (+.f64 1 (*.f64 -1/6 (pow.f64 x 2))))
(fma.f64 -1/72 (pow.f64 x 4) (+.f64 1 (*.f64 -1/6 (*.f64 x x))))
(fma.f64 -1/72 (pow.f64 x 4) (fma.f64 -1/6 (*.f64 x x) 1))
(fma.f64 -1/6 (*.f64 x x) (fma.f64 -1/72 (pow.f64 x 4) 1))
(+.f64 (*.f64 -1/72 (pow.f64 x 4)) (+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 x 2)) (*.f64 -23/6480 (pow.f64 x 6)))))
(fma.f64 -1/72 (pow.f64 x 4) (+.f64 1 (fma.f64 -1/6 (*.f64 x x) (*.f64 -23/6480 (pow.f64 x 6)))))
(+.f64 (fma.f64 -23/6480 (pow.f64 x 6) (*.f64 -1/6 (*.f64 x x))) (fma.f64 -1/72 (pow.f64 x 4) 1))
(fma.f64 -1/72 (pow.f64 x 4) (fma.f64 -1/6 (*.f64 x x) (fma.f64 -23/6480 (pow.f64 x 6) 1)))
(fma.f64 -1/6 (*.f64 x x) (fma.f64 -1/72 (pow.f64 x 4) (fma.f64 -23/6480 (pow.f64 x 6) 1)))
(fma.f64 -23/6480 (pow.f64 x 6) (fma.f64 -1/6 (*.f64 x x) (fma.f64 -1/72 (pow.f64 x 4) 1)))
(pow.f64 (cos.f64 x) 1/3)
(cbrt.f64 (cos.f64 x))
(pow.f64 (cos.f64 x) 1/3)
(cbrt.f64 (cos.f64 x))
(pow.f64 (cos.f64 x) 1/3)
(cbrt.f64 (cos.f64 x))
(pow.f64 (cos.f64 x) 1/3)
(cbrt.f64 (cos.f64 x))
(pow.f64 (cos.f64 x) 1/3)
(cbrt.f64 (cos.f64 x))
(pow.f64 (cos.f64 x) 1/3)
(cbrt.f64 (cos.f64 x))
(pow.f64 (cos.f64 x) 1/3)
(cbrt.f64 (cos.f64 x))
(pow.f64 (cos.f64 x) 1/3)
(cbrt.f64 (cos.f64 x))
1
(+.f64 (*.f64 -1/3 (pow.f64 x 2)) 1)
(fma.f64 -1/3 (*.f64 x x) 1)
(fma.f64 (*.f64 x x) -1/3 1)
(fma.f64 x (*.f64 x -1/3) 1)
(+.f64 (*.f64 -1/3 (pow.f64 x 2)) (+.f64 1 (*.f64 -1/405 (pow.f64 x 6))))
(+.f64 (fma.f64 -1/3 (*.f64 x x) 1) (*.f64 (pow.f64 x 6) -1/405))
(fma.f64 (*.f64 x x) -1/3 (fma.f64 (pow.f64 x 6) -1/405 1))
(fma.f64 x (*.f64 x -1/3) (fma.f64 (pow.f64 x 6) -1/405 1))
(+.f64 (*.f64 -1/3 (pow.f64 x 2)) (+.f64 1 (+.f64 (*.f64 -1/405 (pow.f64 x 6)) (*.f64 -1/1701 (pow.f64 x 8)))))
(+.f64 (fma.f64 -1/3 (*.f64 x x) 1) (fma.f64 -1/405 (pow.f64 x 6) (*.f64 -1/1701 (pow.f64 x 8))))
(+.f64 (fma.f64 (*.f64 x x) -1/3 1) (fma.f64 (pow.f64 x 6) -1/405 (*.f64 -1/1701 (pow.f64 x 8))))
(fma.f64 x (*.f64 x -1/3) (fma.f64 (pow.f64 x 6) -1/405 (fma.f64 -1/1701 (pow.f64 x 8) 1)))
(fma.f64 (*.f64 x x) (fma.f64 (pow.f64 x 6) -1/1701 -1/3) (fma.f64 (pow.f64 x 6) -1/405 1))
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 x) 2))
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 x) 2))
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 x) 2))
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 x) 2))
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 x) 2))
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 x) 2))
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 x) 2))
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 x) 2))
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
eps
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))
(+.f64 eps (*.f64 -1/2 (*.f64 (*.f64 x x) eps)))
(fma.f64 -1/2 (*.f64 x (*.f64 x eps)) eps)
(fma.f64 (*.f64 x x) (*.f64 eps -1/2) eps)
(fma.f64 x (*.f64 x (*.f64 eps -1/2)) eps)
(+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))
(+.f64 eps (fma.f64 1/24 (*.f64 (pow.f64 x 4) eps) (*.f64 -1/2 (*.f64 (*.f64 x x) eps))))
(+.f64 eps (fma.f64 -1/2 (*.f64 x (*.f64 x eps)) (*.f64 (pow.f64 x 4) (*.f64 eps 1/24))))
(fma.f64 (*.f64 x x) (*.f64 eps -1/2) (fma.f64 (pow.f64 x 4) (*.f64 eps 1/24) eps))
(fma.f64 (pow.f64 x 4) (*.f64 eps 1/24) (fma.f64 (*.f64 x x) (*.f64 eps -1/2) eps))
(*.f64 eps (fma.f64 x (*.f64 x -1/2) (fma.f64 (pow.f64 x 4) 1/24 1)))
(+.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 (pow.f64 x 6) eps) (+.f64 eps (fma.f64 1/24 (*.f64 (pow.f64 x 4) eps) (*.f64 -1/2 (*.f64 (*.f64 x x) eps)))))
(+.f64 (fma.f64 -1/2 (*.f64 x (*.f64 x eps)) (*.f64 (pow.f64 x 4) (*.f64 eps 1/24))) (fma.f64 (*.f64 eps -1/720) (pow.f64 x 6) eps))
(fma.f64 (pow.f64 x 6) (*.f64 eps -1/720) (fma.f64 (*.f64 x x) (*.f64 eps -1/2) (fma.f64 (pow.f64 x 4) (*.f64 eps 1/24) eps)))
(fma.f64 (pow.f64 x 6) (*.f64 eps -1/720) (fma.f64 (pow.f64 x 4) (*.f64 eps 1/24) (fma.f64 (*.f64 x x) (*.f64 eps -1/2) eps)))
(*.f64 eps (fma.f64 x (fma.f64 1/24 (pow.f64 x 3) (*.f64 x -1/2)) (fma.f64 (pow.f64 x 6) -1/720 1)))
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 eps (cos.f64 x))
(*.f64 (cos.f64 x) eps)
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps)
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps)
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps)
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps)
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps)
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps)
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps)
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps)
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps)
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps)
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps)
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps)
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2)))
eps
(+.f64 (*.f64 -1/3 (*.f64 eps (pow.f64 x 2))) eps)
(fma.f64 -1/3 (*.f64 (*.f64 x x) eps) eps)
(fma.f64 -1/3 (*.f64 x (*.f64 x eps)) eps)
(fma.f64 (*.f64 x x) (*.f64 -1/3 eps) eps)
(fma.f64 x (*.f64 x (*.f64 -1/3 eps)) eps)
(+.f64 (*.f64 -1/3 (*.f64 eps (pow.f64 x 2))) (+.f64 eps (*.f64 -1/405 (*.f64 eps (pow.f64 x 6)))))
(+.f64 (fma.f64 -1/3 (*.f64 (*.f64 x x) eps) eps) (*.f64 (*.f64 -1/405 eps) (pow.f64 x 6)))
(fma.f64 -1/3 (*.f64 x (*.f64 x eps)) (fma.f64 (*.f64 -1/405 eps) (pow.f64 x 6) eps))
(+.f64 eps (*.f64 eps (fma.f64 x (*.f64 x -1/3) (*.f64 (pow.f64 x 6) -1/405))))
(*.f64 eps (fma.f64 x (*.f64 x -1/3) (fma.f64 (pow.f64 x 6) -1/405 1)))
(*.f64 (fma.f64 x (*.f64 x -1/3) (fma.f64 (pow.f64 x 6) -1/405 1)) eps)
(+.f64 (*.f64 -1/3 (*.f64 eps (pow.f64 x 2))) (+.f64 (*.f64 -1/1701 (*.f64 eps (pow.f64 x 8))) (+.f64 eps (*.f64 -1/405 (*.f64 eps (pow.f64 x 6))))))
(fma.f64 -1/3 (*.f64 (*.f64 x x) eps) (fma.f64 -1/1701 (*.f64 (pow.f64 x 8) eps) (+.f64 eps (*.f64 (*.f64 -1/405 eps) (pow.f64 x 6)))))
(fma.f64 -1/3 (*.f64 x (*.f64 x eps)) (fma.f64 -1/1701 (*.f64 (pow.f64 x 8) eps) (fma.f64 (*.f64 -1/405 eps) (pow.f64 x 6) eps)))
(+.f64 (fma.f64 (*.f64 x x) (*.f64 -1/3 eps) eps) (*.f64 eps (fma.f64 (pow.f64 x 6) -1/405 (*.f64 -1/1701 (pow.f64 x 8)))))
(+.f64 eps (*.f64 eps (fma.f64 x (*.f64 x -1/3) (fma.f64 (pow.f64 x 6) -1/405 (*.f64 -1/1701 (pow.f64 x 8))))))
(*.f64 eps (fma.f64 x (*.f64 x -1/3) (fma.f64 (pow.f64 x 6) -1/405 (fma.f64 -1/1701 (pow.f64 x 8) 1))))
(*.f64 (fma.f64 x (*.f64 x -1/3) (fma.f64 (pow.f64 x 6) -1/405 (fma.f64 -1/1701 (pow.f64 x 8) 1))) eps)
(*.f64 (fma.f64 (*.f64 x x) (fma.f64 (pow.f64 x 6) -1/1701 -1/3) (fma.f64 (pow.f64 x 6) -1/405 1)) eps)
(fma.f64 eps (fma.f64 x (*.f64 x -1/3) (*.f64 (pow.f64 x 6) (fma.f64 (*.f64 x x) -1/1701 -1/405))) eps)
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3))
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3))
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3))
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3))
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3))
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3))
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3))
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2)))
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3))
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2)))

eval218.0ms (1.6%)

Compiler

Compiled 7551 to 3738 computations (50.5% saved)

prune175.0ms (1.2%)

Pruning

67 alts after pruning (58 fresh and 9 done)

PrunedKeptTotal
New48723510
Fresh153550
Picked011
Done189
Total50367570
Error
0.0b
Counts
570 → 67
Alt Table
Click to see full alt table
StatusErrorProgram
36.3b
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 eps))) (sin.f64 x))
30.1b
(*.f64 (cos.f64 x) eps)
60.6b
(-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1)
49.6b
(+.f64 eps (*.f64 x (*.f64 x (*.f64 -1/2 eps))))
37.7b
(-.f64 (sin.f64 eps) x)
0.2b
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
12.8b
(fma.f64 (sin.f64 eps) (cos.f64 x) (-.f64 (*.f64 (cos.f64 eps) x) x))
23.4b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
34.8b
(+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
43.3b
(-.f64 (log.f64 (exp.f64 (sin.f64 eps))) (sin.f64 x))
30.1b
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps)))
50.3b
(-.f64 (fabs.f64 (sin.f64 eps)) (sin.f64 x))
38.9b
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 eps) (sin.f64 x)) 3))
51.6b
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 eps) (sin.f64 x)) 2))
50.4b
(-.f64 (fabs.f64 (sin.f64 (+.f64 x eps))) (sin.f64 x))
59.5b
(pow.f64 (pow.f64 eps 3) 1/3)
23.4b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
25.1b
(/.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))))
54.2b
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2))
59.7b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (neg.f64 (sin.f64 x)))
36.8b
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 eps)) 3) (sin.f64 x))
46.9b
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2)
36.4b
(*.f64 2 (*.f64 (sin.f64 (/.f64 (-.f64 eps x) 2)) (cos.f64 (/.f64 (+.f64 eps x) 2))))
30.8b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3)
30.6b
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) eps)))
49.8b
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 x))))
43.3b
(-.f64 (-.f64 (+.f64 1 (sin.f64 eps)) 1) (sin.f64 x))
1.5b
(pow.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 3)
60.1b
(neg.f64 (sin.f64 x))
30.2b
(*.f64 eps (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 eps)) (cos.f64 x)))
36.7b
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x))
45.1b
(pow.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 3) 1/3)
0.3b
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
0.3b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x)))
0.3b
(log1p.f64 (expm1.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))
36.2b
(-.f64 (sin.f64 eps) (sin.f64 x))
50.6b
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3))
38.3b
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (sin.f64 eps)))
60.8b
(+.f64 (-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
30.0b
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
28.2b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x)))
40.3b
(*.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)))
36.7b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (sin.f64 eps) x))
23.4b
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
26.0b
(fma.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
36.7b
(-.f64 (fma.f64 (cos.f64 eps) x (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps))) x)
36.3b
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 eps) (sin.f64 x))))
20.4b
(cbrt.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 3))
30.4b
(*.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)))
60.9b
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 x) 2)) (sin.f64 x))
24.2b
(+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
30.1b
(pow.f64 (cbrt.f64 (sin.f64 eps)) 3)
45.4b
(*.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps))
45.7b
(*.f64 (*.f64 (cos.f64 x) (cbrt.f64 (*.f64 eps eps))) (cbrt.f64 eps))
47.2b
eps
48.3b
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 eps))))
0.3b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
57.5b
(pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3)
30.2b
(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)))))
29.4b
(sin.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)))
30.2b
(+.f64 (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2))) (*.f64 eps (cos.f64 x)))
30.8b
(*.f64 (pow.f64 (cbrt.f64 eps) 2) (*.f64 (cbrt.f64 eps) (cos.f64 x)))
47.0b
(*.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) 1)
50.6b
(cbrt.f64 (*.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2) (cos.f64 x)) eps))
36.8b
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))) 3)
36.3b
(-.f64 (log1p.f64 (expm1.f64 (sin.f64 eps))) (sin.f64 x))
Compiler

Compiled 832 to 583 computations (29.9% saved)

regimes380.0ms (2.7%)

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

4 calls:

125.0ms
eps
97.0ms
x
62.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
47.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Results
ErrorSegmentsBranch
0.2b1x
0.2b1eps
0.2b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
0.2b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 1748 to 613 computations (64.9% saved)

regimes226.0ms (1.6%)

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

4 calls:

62.0ms
eps
58.0ms
x
40.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
37.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 970 to 396 computations (59.2% saved)

regimes267.0ms (1.9%)

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

4 calls:

130.0ms
eps
47.0ms
x
36.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
31.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Results
ErrorSegmentsBranch
12.8b1x
11.4b3eps
12.8b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
12.8b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 783 to 316 computations (59.6% saved)

bsearch137.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
75.0ms
1.0556431116860713e+37
4.32074551794446e+39
61.0ms
-24.337863054659543
-1.6044258178957098
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes317.0ms (2.3%)

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

4 calls:

151.0ms
eps
46.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
45.0ms
x
35.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Results
ErrorSegmentsBranch
12.8b1x
11.4b3eps
12.8b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
12.8b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 770 to 312 computations (59.5% saved)

bsearch107.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
51.0ms
1.0556431116860713e+37
4.32074551794446e+39
56.0ms
-24.337863054659543
-1.6044258178957098
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes162.0ms (1.2%)

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

4 calls:

41.0ms
x
40.0ms
eps
32.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
28.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Results
ErrorSegmentsBranch
12.8b1x
12.8b1eps
12.8b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
12.8b1(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 757 to 309 computations (59.2% saved)

regimes389.0ms (2.8%)

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

4 calls:

122.0ms
eps
112.0ms
x
70.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
64.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Results
ErrorSegmentsBranch
12.7b3x
12.0b3eps
12.5b3(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
12.5b3(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 712 to 295 computations (58.6% saved)

bsearch116.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
57.0ms
0.0008569044353900222
5.962625102886873
59.0ms
-0.0004093905845400458
-3.029191699827036e-5
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes91.0ms (0.6%)

Counts
24 → 3
Calls
Call 1
Inputs
eps
eps
eps
(+.f64 eps (*.f64 x (*.f64 x (*.f64 -1/2 eps))))
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 x))))
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 eps))))
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x)))))
(sin.f64 eps)
(neg.f64 (sin.f64 x))
(-.f64 (sin.f64 eps) x)
(*.f64 (cos.f64 x) eps)
(-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1)
(pow.f64 (pow.f64 eps 3) 1/3)
(-.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 1 (sin.f64 eps)) 1) (sin.f64 x))
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))
(*.f64 eps (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 eps)) (cos.f64 x)))
(*.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 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (sin.f64 eps)))
Outputs
(-.f64 (sin.f64 eps) (sin.f64 x))
(*.f64 eps (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 eps)) (cos.f64 x)))
(-.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
12.7b3x
12.0b3eps
12.5b3(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 182 to 93 computations (48.9% saved)

bsearch114.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
56.0ms
0.0008569044353900222
5.962625102886873
57.0ms
-0.0004093905845400458
-3.029191699827036e-5
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes77.0ms (0.5%)

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

3 calls:

28.0ms
eps
27.0ms
x
17.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Results
ErrorSegmentsBranch
12.7b3x
12.1b3eps
12.6b3(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 137 to 70 computations (48.9% saved)

bsearch114.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
57.0ms
0.0008569044353900222
5.962625102886873
57.0ms
-0.0004093905845400458
-3.029191699827036e-5
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes43.0ms (0.3%)

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

2 calls:

20.0ms
eps
19.0ms
x
Results
ErrorSegmentsBranch
13.1b3x
12.3b3eps
Compiler

Compiled 80 to 42 computations (47.5% saved)

bsearch122.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
65.0ms
1.4478825126045238e-27
3.866108660305141e-27
57.0ms
-0.0004093905845400458
-3.029191699827036e-5
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes16.0ms (0.1%)

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

2 calls:

7.0ms
x
6.0ms
eps
Results
ErrorSegmentsBranch
29.4b1x
29.4b1eps
Compiler

Compiled 58 to 31 computations (46.6% saved)

regimes12.0ms (0.1%)

Accuracy

Total -2.8b remaining (-5.9%)

Threshold costs -2.8b (-5.9%)

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

2 calls:

5.0ms
x
5.0ms
eps
Results
ErrorSegmentsBranch
47.2b1x
47.2b1eps
Compiler

Compiled 49 to 27 computations (44.9% saved)

simplify18.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
059348
181348
289348
393348
495348
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(if (<=.f64 eps -3425249718248715/140737488355328) (+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) (if (<=.f64 eps 10556431116860712842650417394184355840) (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))) (+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))
(if (<=.f64 eps -3425249718248715/140737488355328) (+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) (if (<=.f64 eps 10556431116860712842650417394184355840) (fma.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (+.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))
(if (<=.f64 eps -7551923339196579/18446744073709551616) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7903548407633161/9223372036854775808) (+.f64 (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2))) (*.f64 eps (cos.f64 x))) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -7551923339196579/18446744073709551616) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7903548407633161/9223372036854775808) (*.f64 eps (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 eps)) (cos.f64 x))) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -7551923339196579/18446744073709551616) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7903548407633161/9223372036854775808) (*.f64 (cos.f64 x) eps) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -7551923339196579/18446744073709551616) (sin.f64 eps) (if (<=.f64 eps 8072214747750447/5575186299632655785383929568162090376495104) (*.f64 (cos.f64 x) eps) (sin.f64 eps)))
(sin.f64 eps)
eps
Outputs
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))
(if (<=.f64 eps -3425249718248715/140737488355328) (+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) (if (<=.f64 eps 10556431116860712842650417394184355840) (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))) (+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))
(if (<=.f64 eps -3425249718248715/140737488355328) (+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) (if (<=.f64 eps 10556431116860712842650417394184355840) (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps)))) (+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))
(if (<=.f64 eps -3425249718248715/140737488355328) (+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) (if (<=.f64 eps 10556431116860712842650417394184355840) (fma.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (+.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))
(if (<=.f64 eps -7551923339196579/18446744073709551616) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7903548407633161/9223372036854775808) (+.f64 (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2))) (*.f64 eps (cos.f64 x))) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -7551923339196579/18446744073709551616) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7903548407633161/9223372036854775808) (*.f64 eps (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 eps)) (cos.f64 x))) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -7551923339196579/18446744073709551616) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7903548407633161/9223372036854775808) (*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -7551923339196579/18446744073709551616) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7903548407633161/9223372036854775808) (*.f64 (cos.f64 x) eps) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -7551923339196579/18446744073709551616) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7903548407633161/9223372036854775808) (*.f64 eps (cos.f64 x)) (-.f64 (sin.f64 eps) (sin.f64 x))))
(if (<=.f64 eps -7551923339196579/18446744073709551616) (sin.f64 eps) (if (<=.f64 eps 8072214747750447/5575186299632655785383929568162090376495104) (*.f64 (cos.f64 x) eps) (sin.f64 eps)))
(if (<=.f64 eps -7551923339196579/18446744073709551616) (sin.f64 eps) (if (<=.f64 eps 8072214747750447/5575186299632655785383929568162090376495104) (*.f64 eps (cos.f64 x)) (sin.f64 eps)))
(sin.f64 eps)
eps
Compiler

Compiled 245 to 130 computations (46.9% saved)

soundness190.0ms (1.4%)

Algorithm
egg-herbie
Rules
589×sub-neg_binary64
579×fma-neg_binary64
538×fma-def_binary64
486×fma-def_binary64
464×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0891080
12611063
2710977
32290973
43991973
55252972
67312972
0821018
1227995
2649949
32341936
45438936
57500936
Stop Event
node limit
node limit
Compiler

Compiled 225 to 155 computations (31.1% saved)

end81.0ms (0.6%)

Compiler

Compiled 225 to 75 computations (66.7% saved)

Profiling

Loading profile data...