Details

Time bar (total: 18.1s)

analyze941.0ms (5.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%49.9%50.1%0
0%49.9%50.1%1
0%49.9%50.1%2
0%49.9%50.1%3
0%49.9%50.1%4
0%49.9%50.1%5
0%49.9%50.1%6
0%49.9%50.1%7
0%49.9%50.1%8
0.4%49.5%50.1%9
0.4%48.9%50.7%10
0.6%48.2%51.2%11
1.1%47.3%51.7%12
Compiler

Compiled 34 to 24 computations (29.4% saved)

sample8.2s (45.3%)

Results
5.4s4204×body2048valid
1.7s2505×body1024valid
303.0ms798×body512valid
218.0ms294×body2048invalid
215.0ms455×body1024invalid
143.0ms730×body256valid
127.0ms712×body256invalid
77.0ms230×body512invalid
26.0ms19×body4096valid

preprocess80.0ms (0.4%)

Algorithm
egg-herbie
Rules
604×associate-/l/_binary64
556×distribute-rgt-in_binary64
547×distribute-lft-in_binary64
333×div-sub_binary64
265×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
051112
1146112
2314112
3787112
43423112
033
133
Stop Event
unsound
node limit
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
0
2
Call 2
Inputs
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) 1) (-.f64 (exp.f64 (*.f64 b eps)) 1)))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 b a) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 b eps)) 1) (-.f64 (exp.f64 (*.f64 a eps)) 1)))
(/.f64 (*.f64 a (-.f64 (exp.f64 (*.f64 (+.f64 eps b) a)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 b a)) 1)))
(/.f64 (*.f64 b (-.f64 (exp.f64 (*.f64 (+.f64 a eps) b)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a b)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
Outputs
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) 1) (-.f64 (exp.f64 (*.f64 b eps)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 eps a))) (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps b))))
(*.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (/.f64 (/.f64 eps (expm1.f64 (*.f64 eps a))) (expm1.f64 (*.f64 eps b))))
(*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 b a) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 b eps)) 1) (-.f64 (exp.f64 (*.f64 a eps)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 eps a))) (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps b))))
(*.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (/.f64 (/.f64 eps (expm1.f64 (*.f64 eps a))) (expm1.f64 (*.f64 eps b))))
(*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
(/.f64 (*.f64 a (-.f64 (exp.f64 (*.f64 (+.f64 eps b) a)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 b a)) 1)))
(*.f64 (/.f64 a (expm1.f64 (*.f64 eps a))) (/.f64 (expm1.f64 (*.f64 a (+.f64 eps b))) (expm1.f64 (*.f64 a b))))
(*.f64 (/.f64 (expm1.f64 (*.f64 a (+.f64 eps b))) (expm1.f64 (*.f64 eps a))) (/.f64 a (expm1.f64 (*.f64 a b))))
(/.f64 (*.f64 a (expm1.f64 (*.f64 a (+.f64 eps b)))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 a b))))
(*.f64 a (/.f64 (expm1.f64 (*.f64 a (+.f64 eps b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 a b)))))
(/.f64 (*.f64 b (-.f64 (exp.f64 (*.f64 (+.f64 a eps) b)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a b)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (*.f64 b (expm1.f64 (*.f64 b (+.f64 eps a)))) (*.f64 (expm1.f64 (*.f64 eps b)) (expm1.f64 (*.f64 a b))))
(*.f64 (/.f64 b (expm1.f64 (*.f64 a b))) (/.f64 (expm1.f64 (*.f64 b (+.f64 eps a))) (expm1.f64 (*.f64 eps b))))
(/.f64 (/.f64 (*.f64 b (expm1.f64 (*.f64 b (+.f64 eps a)))) (expm1.f64 (*.f64 eps b))) (expm1.f64 (*.f64 a b)))
(*.f64 b (/.f64 (expm1.f64 (*.f64 b (+.f64 eps a))) (*.f64 (expm1.f64 (*.f64 eps b)) (expm1.f64 (*.f64 a b)))))
Symmetry

(sort a b)

Compiler

Compiled 30 to 22 computations (26.7% saved)

simplify30.0ms (0.2%)

Algorithm
egg-herbie
Rules
986×times-frac_binary64
580×associate-/l*_binary64
452×associate-*l*_binary64
435×associate-*r*_binary64
372×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01828
14728
210828
326928
498928
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) 1) (-.f64 (exp.f64 (*.f64 b eps)) 1)))
Outputs
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) 1) (-.f64 (exp.f64 (*.f64 b eps)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 eps a))) (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps b))))
(*.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))) (/.f64 eps (expm1.f64 (*.f64 eps b))))
(*.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (/.f64 eps (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
(*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))

eval1.0ms (0%)

Compiler

Compiled 45 to 28 computations (37.8% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
40.8b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
40.8b
(*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
Compiler

Compiled 21 to 13 computations (38.1% saved)

localize23.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(expm1.f64 (*.f64 eps (+.f64 a b)))
0.1b
(*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))
15.3b
(/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))
28.2b
(*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
Compiler

Compiled 77 to 13 computations (83.1% saved)

series40.0ms (0.2%)

Counts
4 → 144
Calls

36 calls:

TimeVariablePointExpression
5.0ms
a
@inf
(*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
4.0ms
eps
@0
(*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
4.0ms
a
@0
(expm1.f64 (*.f64 eps (+.f64 a b)))
2.0ms
eps
@-inf
(*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
2.0ms
a
@0
(*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))

rewrite99.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
889×prod-diff_binary64
838×log-prod_binary64
289×fma-def_binary64
269×expm1-udef_binary64
269×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01476
129476
2408376
Stop Event
node limit
Counts
4 → 120
Calls
Call 1
Inputs
(*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
(/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))
(*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))
(expm1.f64 (*.f64 eps (+.f64 a b)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 eps) (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))) (cbrt.f64 (pow.f64 (exp.f64 eps) (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 eps) (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 eps) (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 eps) (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 eps (/.f64 (expm1.f64 (*.f64 eps b)) (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))) (*.f64 eps (expm1.f64 (*.f64 eps (+.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (expm1.f64 (*.f64 eps (+.f64 a b)))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 eps (expm1.f64 (*.f64 eps (+.f64 a b))))) (*.f64 (expm1.f64 (*.f64 eps b)) (neg.f64 (expm1.f64 (*.f64 eps a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 eps (+.f64 a b)))) (expm1.f64 (*.f64 eps a))) (expm1.f64 (*.f64 eps b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 eps (+.f64 a b)))) (expm1.f64 (*.f64 eps b))) (expm1.f64 (*.f64 eps a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 eps (+.f64 a b)))) 1) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 eps (+.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))) 2)) (cbrt.f64 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 eps (+.f64 a b)))) (sqrt.f64 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))) (sqrt.f64 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) eps) (*.f64 (expm1.f64 (*.f64 eps b)) (neg.f64 (expm1.f64 (*.f64 eps a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))) eps) (expm1.f64 (*.f64 eps b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (+.f64 a b))))) (*.f64 (expm1.f64 (*.f64 eps b)) (neg.f64 (expm1.f64 (*.f64 eps a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a)))) (expm1.f64 (*.f64 eps b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 eps) (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 eps 3) (pow.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))) 3) (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))) (cbrt.f64 (exp.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (exp.f64 eps) (+.f64 a b)) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))) (/.f64 1 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (/.f64 1 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))) (pow.f64 (cbrt.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))) 2) (cbrt.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) 2) (*.f64 (cbrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) (/.f64 1 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))) (sqrt.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) (*.f64 (sqrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) (/.f64 1 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) (/.f64 1 (*.f64 (expm1.f64 (*.f64 eps b)) (neg.f64 (expm1.f64 (*.f64 eps a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))) (expm1.f64 (*.f64 eps (+.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))) (/.f64 1 (expm1.f64 (*.f64 eps b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (expm1.f64 (*.f64 eps a))) (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) 2) (expm1.f64 (*.f64 eps a))) (/.f64 (cbrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) (expm1.f64 (*.f64 eps b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) (expm1.f64 (*.f64 eps a))) (/.f64 (sqrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) (expm1.f64 (*.f64 eps b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) (expm1.f64 (*.f64 eps b))) (/.f64 (sqrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) (expm1.f64 (*.f64 eps a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (expm1.f64 (*.f64 eps b))) (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) 2) (expm1.f64 (*.f64 eps b))) (/.f64 (cbrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) (expm1.f64 (*.f64 eps a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) 2) 1) (/.f64 (cbrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) 1) (/.f64 (sqrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))) 2)) (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (cbrt.f64 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) 2) (pow.f64 (cbrt.f64 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))) 2)) (cbrt.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) (pow.f64 (cbrt.f64 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))) 2)) (/.f64 (sqrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) (cbrt.f64 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))) (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (sqrt.f64 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) 2) (sqrt.f64 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))) (/.f64 (cbrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) (sqrt.f64 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (expm1.f64 (*.f64 eps b)) (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps b)) (neg.f64 (expm1.f64 (*.f64 eps a))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) 3) (pow.f64 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (expm1.f64 (*.f64 eps b))) (expm1.f64 (*.f64 eps a)))) (cbrt.f64 (pow.f64 (exp.f64 (expm1.f64 (*.f64 eps b))) (expm1.f64 (*.f64 eps a)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (expm1.f64 (*.f64 eps b))) (expm1.f64 (*.f64 eps a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (expm1.f64 (*.f64 eps b))) (expm1.f64 (*.f64 eps a))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (expm1.f64 (*.f64 eps b))) (expm1.f64 (*.f64 eps a))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (expm1.f64 (*.f64 eps b))) (expm1.f64 (*.f64 eps a))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (expm1.f64 (*.f64 eps a)) 3) (pow.f64 (expm1.f64 (*.f64 eps b)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (expm1.f64 (*.f64 eps b)) 3) (pow.f64 (expm1.f64 (*.f64 eps a)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (exp.f64 eps) (+.f64 a b)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (expm1.f64 (*.f64 eps (+.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (expm1.f64 (*.f64 eps (+.f64 a b))))) (cbrt.f64 (exp.f64 (expm1.f64 (*.f64 eps (+.f64 a b))))))) (log.f64 (cbrt.f64 (exp.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))))) (log.f64 (sqrt.f64 (exp.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 (exp.f64 eps) (+.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (expm1.f64 (*.f64 eps (+.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) (pow.f64 (cbrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) 2) (cbrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) (sqrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (pow.f64 (exp.f64 eps) (+.f64 a b)) 3) 1) (fma.f64 (pow.f64 (exp.f64 eps) (+.f64 a b)) (pow.f64 (exp.f64 eps) (+.f64 a b)) (+.f64 1 (*.f64 (pow.f64 (exp.f64 eps) (+.f64 a b)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (exp.f64 eps) (+.f64 a b)) (pow.f64 (exp.f64 eps) (+.f64 a b)) -1) (+.f64 (pow.f64 (exp.f64 eps) (+.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (expm1.f64 (*.f64 eps (+.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (expm1.f64 (*.f64 eps (+.f64 a b)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (pow.f64 (exp.f64 eps) (+.f64 a b)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (exp.f64 eps) a) (pow.f64 (exp.f64 eps) b) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 eps) (+.f64 a b))) (cbrt.f64 (pow.f64 (exp.f64 eps) (+.f64 a b)))) (cbrt.f64 (pow.f64 (exp.f64 eps) (+.f64 a b))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (pow.f64 (exp.f64 eps) (+.f64 a b))) (sqrt.f64 (pow.f64 (exp.f64 eps) (+.f64 a b))) -1)))))

simplify143.0ms (0.8%)

Algorithm
egg-herbie
Rules
881×times-frac_binary64
420×cancel-sign-sub-inv_binary64
338×associate-*r*_binary64
336×fma-def_binary64
268×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03305943
111295861
243415743
Stop Event
node limit
Counts
264 → 228
Calls
Call 1
Inputs
(/.f64 (+.f64 a b) (*.f64 a b))
(+.f64 (*.f64 eps (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) (+.f64 (/.f64 1 a) (/.f64 1 b)))
(+.f64 (*.f64 (-.f64 (*.f64 1/6 (/.f64 (pow.f64 (+.f64 a b) 3) (*.f64 a b))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 3) b)) (+.f64 (*.f64 1/6 (*.f64 a (pow.f64 b 3))) (*.f64 1/4 (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2))))) (*.f64 a b)))) (pow.f64 eps 2)) (+.f64 (*.f64 eps (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) (+.f64 (/.f64 1 a) (/.f64 1 b))))
(+.f64 (*.f64 (-.f64 (*.f64 1/24 (/.f64 (pow.f64 (+.f64 a b) 4) (*.f64 a b))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/12 (*.f64 (pow.f64 a 2) (pow.f64 b 3))) (+.f64 (*.f64 1/24 (*.f64 a (pow.f64 b 4))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 a 4) b)) (*.f64 1/12 (*.f64 (pow.f64 a 3) (pow.f64 b 2)))))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (/.f64 (*.f64 (-.f64 (*.f64 1/6 (/.f64 (pow.f64 (+.f64 a b) 3) (*.f64 a b))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 3) b)) (+.f64 (*.f64 1/6 (*.f64 a (pow.f64 b 3))) (*.f64 1/4 (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2))))) (*.f64 a b)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2))))) (*.f64 a b)) (/.f64 (*.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 3) b)) (+.f64 (*.f64 1/6 (*.f64 a (pow.f64 b 3))) (*.f64 1/4 (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) (*.f64 a b))))) (pow.f64 eps 3)) (+.f64 (*.f64 (-.f64 (*.f64 1/6 (/.f64 (pow.f64 (+.f64 a b) 3) (*.f64 a b))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 3) b)) (+.f64 (*.f64 1/6 (*.f64 a (pow.f64 b 3))) (*.f64 1/4 (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2))))) (*.f64 a b)))) (pow.f64 eps 2)) (+.f64 (*.f64 eps (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) (+.f64 (/.f64 1 a) (/.f64 1 b)))))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 1 a)
(-.f64 (+.f64 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1)) (/.f64 1 a)) (*.f64 1/2 eps))
(-.f64 (+.f64 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1)) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 eps 2) (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1))) (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 1/2 (*.f64 eps (-.f64 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1)) (*.f64 1/2 eps)))))) a) (/.f64 1 a))) (*.f64 1/2 eps))
(-.f64 (+.f64 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1)) (+.f64 (*.f64 (pow.f64 a 2) (-.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 eps 3) (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1))) (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 2) (-.f64 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1)) (*.f64 1/2 eps)))) (*.f64 1/2 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 eps 2) (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1))) (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 1/2 (*.f64 eps (-.f64 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1)) (*.f64 1/2 eps)))))) eps)))))) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 eps 2) (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1))) (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 1/2 (*.f64 eps (-.f64 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1)) (*.f64 1/2 eps)))))) a) (/.f64 1 a)))) (*.f64 1/2 eps))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 eps (-.f64 b (*.f64 -1 a)))) 1) eps) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 eps (-.f64 b (*.f64 -1 a)))) 1) eps) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 eps (-.f64 b (*.f64 -1 a)))) 1) eps) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 eps (-.f64 b (*.f64 -1 a)))) 1) eps) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 1 b)
(-.f64 (+.f64 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1)) (/.f64 1 b)) (*.f64 1/2 eps))
(-.f64 (+.f64 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1)) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 eps 2) (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1))) (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 1/2 (*.f64 eps (-.f64 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1)) (*.f64 1/2 eps)))))) b) (/.f64 1 b))) (*.f64 1/2 eps))
(-.f64 (+.f64 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1)) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 eps 2) (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1))) (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 1/2 (*.f64 eps (-.f64 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1)) (*.f64 1/2 eps)))))) b) (+.f64 (/.f64 1 b) (*.f64 (pow.f64 b 2) (-.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 eps 3) (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1))) (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 eps 2) (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1))) (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 1/2 (*.f64 eps (-.f64 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1)) (*.f64 1/2 eps)))))) eps)) (*.f64 1/6 (*.f64 (pow.f64 eps 2) (-.f64 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1)) (*.f64 1/2 eps))))))))))) (*.f64 1/2 eps))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (-.f64 a (*.f64 -1 b)))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (-.f64 a (*.f64 -1 b)))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (-.f64 a (*.f64 -1 b)))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (-.f64 a (*.f64 -1 b)))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (+.f64 a b) (*.f64 eps (*.f64 a b)))
(-.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 1 (*.f64 eps a)))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))))
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 1/6 (/.f64 (pow.f64 (+.f64 a b) 3) (*.f64 a b))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 3) b)) (+.f64 (*.f64 1/6 (*.f64 a (pow.f64 b 3))) (*.f64 1/4 (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2))))) (*.f64 a b)))) eps) (+.f64 (/.f64 1 (*.f64 eps b)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 1 (*.f64 eps a))))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))))
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 1/24 (/.f64 (pow.f64 (+.f64 a b) 4) (*.f64 a b))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/12 (*.f64 (pow.f64 a 2) (pow.f64 b 3))) (+.f64 (*.f64 1/24 (*.f64 a (pow.f64 b 4))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 a 4) b)) (*.f64 1/12 (*.f64 (pow.f64 a 3) (pow.f64 b 2)))))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (/.f64 (*.f64 (-.f64 (*.f64 1/6 (/.f64 (pow.f64 (+.f64 a b) 3) (*.f64 a b))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 3) b)) (+.f64 (*.f64 1/6 (*.f64 a (pow.f64 b 3))) (*.f64 1/4 (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2))))) (*.f64 a b)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2))))) (*.f64 a b)) (/.f64 (*.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 3) b)) (+.f64 (*.f64 1/6 (*.f64 a (pow.f64 b 3))) (*.f64 1/4 (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) (*.f64 a b))))) (pow.f64 eps 2)) (+.f64 (*.f64 (-.f64 (*.f64 1/6 (/.f64 (pow.f64 (+.f64 a b) 3) (*.f64 a b))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 3) b)) (+.f64 (*.f64 1/6 (*.f64 a (pow.f64 b 3))) (*.f64 1/4 (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2))))) (*.f64 a b)))) eps) (+.f64 (/.f64 1 (*.f64 eps b)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 1 (*.f64 eps a)))))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 1 (*.f64 eps a))
(-.f64 (+.f64 (/.f64 (exp.f64 (*.f64 eps b)) (-.f64 (exp.f64 (*.f64 eps b)) 1)) (/.f64 1 (*.f64 eps a))) 1/2)
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1))) (+.f64 (*.f64 1/6 eps) (*.f64 1/2 (*.f64 eps (-.f64 (/.f64 (exp.f64 (*.f64 eps b)) (-.f64 (exp.f64 (*.f64 eps b)) 1)) 1/2))))) a) (+.f64 (/.f64 (exp.f64 (*.f64 eps b)) (-.f64 (exp.f64 (*.f64 eps b)) 1)) (/.f64 1 (*.f64 eps a)))) 1/2)
(-.f64 (+.f64 (*.f64 (pow.f64 a 2) (-.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 eps 2) (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1))) (+.f64 (*.f64 1/24 (pow.f64 eps 2)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 2) (-.f64 (/.f64 (exp.f64 (*.f64 eps b)) (-.f64 (exp.f64 (*.f64 eps b)) 1)) 1/2))) (*.f64 1/2 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1))) (+.f64 (*.f64 1/6 eps) (*.f64 1/2 (*.f64 eps (-.f64 (/.f64 (exp.f64 (*.f64 eps b)) (-.f64 (exp.f64 (*.f64 eps b)) 1)) 1/2))))) eps)))))) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1))) (+.f64 (*.f64 1/6 eps) (*.f64 1/2 (*.f64 eps (-.f64 (/.f64 (exp.f64 (*.f64 eps b)) (-.f64 (exp.f64 (*.f64 eps b)) 1)) 1/2))))) a) (+.f64 (/.f64 (exp.f64 (*.f64 eps b)) (-.f64 (exp.f64 (*.f64 eps b)) 1)) (/.f64 1 (*.f64 eps a))))) 1/2)
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (-.f64 b (*.f64 -1 a)))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (-.f64 b (*.f64 -1 a)))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (-.f64 b (*.f64 -1 a)))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (-.f64 b (*.f64 -1 a)))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 1 (*.f64 eps b))
(-.f64 (+.f64 (/.f64 (exp.f64 (*.f64 eps a)) (-.f64 (exp.f64 (*.f64 eps a)) 1)) (/.f64 1 (*.f64 eps b))) 1/2)
(-.f64 (+.f64 (/.f64 (exp.f64 (*.f64 eps a)) (-.f64 (exp.f64 (*.f64 eps a)) 1)) (+.f64 (/.f64 1 (*.f64 eps b)) (*.f64 (-.f64 (*.f64 1/2 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1))) (+.f64 (*.f64 1/6 eps) (*.f64 1/2 (*.f64 eps (-.f64 (/.f64 (exp.f64 (*.f64 eps a)) (-.f64 (exp.f64 (*.f64 eps a)) 1)) 1/2))))) b))) 1/2)
(-.f64 (+.f64 (/.f64 (exp.f64 (*.f64 eps a)) (-.f64 (exp.f64 (*.f64 eps a)) 1)) (+.f64 (/.f64 1 (*.f64 eps b)) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1))) (+.f64 (*.f64 1/6 eps) (*.f64 1/2 (*.f64 eps (-.f64 (/.f64 (exp.f64 (*.f64 eps a)) (-.f64 (exp.f64 (*.f64 eps a)) 1)) 1/2))))) b) (*.f64 (pow.f64 b 2) (-.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 eps 2) (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1))) (+.f64 (*.f64 1/24 (pow.f64 eps 2)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 2) (-.f64 (/.f64 (exp.f64 (*.f64 eps a)) (-.f64 (exp.f64 (*.f64 eps a)) 1)) 1/2))) (*.f64 1/2 (*.f64 eps (-.f64 (*.f64 1/2 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1))) (+.f64 (*.f64 1/6 eps) (*.f64 1/2 (*.f64 eps (-.f64 (/.f64 (exp.f64 (*.f64 eps a)) (-.f64 (exp.f64 (*.f64 eps a)) 1)) 1/2)))))))))))))) 1/2)
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (-.f64 (exp.f64 (*.f64 (-.f64 a (*.f64 -1 b)) eps)) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (-.f64 (exp.f64 (*.f64 (-.f64 a (*.f64 -1 b)) eps)) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (-.f64 (exp.f64 (*.f64 (-.f64 a (*.f64 -1 b)) eps)) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (-.f64 (exp.f64 (*.f64 (-.f64 a (*.f64 -1 b)) eps)) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(*.f64 (pow.f64 eps 2) (*.f64 a b))
(+.f64 (*.f64 (pow.f64 eps 2) (*.f64 a b)) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2))))))
(+.f64 (*.f64 (pow.f64 eps 2) (*.f64 a b)) (+.f64 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 3) b)) (+.f64 (*.f64 1/6 (*.f64 a (pow.f64 b 3))) (*.f64 1/4 (*.f64 (pow.f64 a 2) (pow.f64 b 2)))))) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))))))
(+.f64 (*.f64 (pow.f64 eps 2) (*.f64 a b)) (+.f64 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 3) b)) (+.f64 (*.f64 1/6 (*.f64 a (pow.f64 b 3))) (*.f64 1/4 (*.f64 (pow.f64 a 2) (pow.f64 b 2)))))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2))))) (*.f64 (pow.f64 eps 5) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 a 2) (pow.f64 b 3))) (+.f64 (*.f64 1/24 (*.f64 a (pow.f64 b 4))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 a 4) b)) (*.f64 1/12 (*.f64 (pow.f64 a 3) (pow.f64 b 2))))))))))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 eps (*.f64 a (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (*.f64 (pow.f64 a 2) (-.f64 (exp.f64 (*.f64 eps b)) 1)))) (*.f64 eps (*.f64 a (-.f64 (exp.f64 (*.f64 eps b)) 1))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (*.f64 (pow.f64 a 2) (-.f64 (exp.f64 (*.f64 eps b)) 1)))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (*.f64 (pow.f64 a 3) (-.f64 (exp.f64 (*.f64 eps b)) 1)))) (*.f64 eps (*.f64 a (-.f64 (exp.f64 (*.f64 eps b)) 1)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (*.f64 (pow.f64 a 4) (-.f64 (exp.f64 (*.f64 eps b)) 1)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (*.f64 (pow.f64 a 2) (-.f64 (exp.f64 (*.f64 eps b)) 1)))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (*.f64 (pow.f64 a 3) (-.f64 (exp.f64 (*.f64 eps b)) 1)))) (*.f64 eps (*.f64 a (-.f64 (exp.f64 (*.f64 eps b)) 1))))))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 eps (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) b))
(+.f64 (*.f64 1/2 (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (*.f64 (pow.f64 eps 2) (pow.f64 b 2)))) (*.f64 eps (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) b)))
(+.f64 (*.f64 1/6 (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (*.f64 (pow.f64 eps 3) (pow.f64 b 3)))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (*.f64 (pow.f64 eps 2) (pow.f64 b 2)))) (*.f64 eps (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) b))))
(+.f64 (*.f64 1/6 (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (*.f64 (pow.f64 eps 3) (pow.f64 b 3)))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (*.f64 (pow.f64 eps 2) (pow.f64 b 2)))) (+.f64 (*.f64 1/24 (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (*.f64 (pow.f64 eps 4) (pow.f64 b 4)))) (*.f64 eps (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) b)))))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 eps (+.f64 a b))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 (+.f64 a b) 2))) (*.f64 eps (+.f64 a b)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 (+.f64 a b) 3))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 (+.f64 a b) 2))) (*.f64 eps (+.f64 a b))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (pow.f64 (+.f64 a b) 4))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 (+.f64 a b) 3))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 (+.f64 a b) 2))) (*.f64 eps (+.f64 a b)))))
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(-.f64 (+.f64 (*.f64 eps (*.f64 a (exp.f64 (*.f64 eps b)))) (exp.f64 (*.f64 eps b))) 1)
(-.f64 (+.f64 (*.f64 eps (*.f64 a (exp.f64 (*.f64 eps b)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (*.f64 (pow.f64 a 2) (exp.f64 (*.f64 eps b))))) (exp.f64 (*.f64 eps b)))) 1)
(-.f64 (+.f64 (*.f64 eps (*.f64 a (exp.f64 (*.f64 eps b)))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (*.f64 (pow.f64 a 3) (exp.f64 (*.f64 eps b))))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (*.f64 (pow.f64 a 2) (exp.f64 (*.f64 eps b))))) (exp.f64 (*.f64 eps b))))) 1)
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(-.f64 (exp.f64 (*.f64 eps (-.f64 b (*.f64 -1 a)))) 1)
(-.f64 (exp.f64 (*.f64 eps (-.f64 b (*.f64 -1 a)))) 1)
(-.f64 (exp.f64 (*.f64 eps (-.f64 b (*.f64 -1 a)))) 1)
(-.f64 (exp.f64 (*.f64 eps (-.f64 b (*.f64 -1 a)))) 1)
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(-.f64 (+.f64 (*.f64 eps (*.f64 b (exp.f64 (*.f64 eps a)))) (exp.f64 (*.f64 eps a))) 1)
(-.f64 (+.f64 (*.f64 eps (*.f64 b (exp.f64 (*.f64 eps a)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (*.f64 (pow.f64 b 2) (exp.f64 (*.f64 eps a))))) (exp.f64 (*.f64 eps a)))) 1)
(-.f64 (+.f64 (*.f64 eps (*.f64 b (exp.f64 (*.f64 eps a)))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (*.f64 (pow.f64 b 3) (exp.f64 (*.f64 eps a))))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (*.f64 (pow.f64 b 2) (exp.f64 (*.f64 eps a))))) (exp.f64 (*.f64 eps a))))) 1)
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(-.f64 (exp.f64 (*.f64 eps (-.f64 a (*.f64 -1 b)))) 1)
(-.f64 (exp.f64 (*.f64 eps (-.f64 a (*.f64 -1 b)))) 1)
(-.f64 (exp.f64 (*.f64 eps (-.f64 a (*.f64 -1 b)))) 1)
(-.f64 (exp.f64 (*.f64 eps (-.f64 a (*.f64 -1 b)))) 1)
Outputs
(/.f64 (+.f64 a b) (*.f64 a b))
(/.f64 (/.f64 (+.f64 a b) a) b)
(+.f64 (*.f64 eps (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) (+.f64 (/.f64 1 a) (/.f64 1 b)))
(fma.f64 eps (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (*.f64 (/.f64 (*.f64 1/2 (+.f64 (*.f64 b (*.f64 a a)) (*.f64 a (*.f64 b b)))) (*.f64 a a)) (/.f64 (+.f64 a b) (*.f64 b b)))) (+.f64 (/.f64 1 a) (/.f64 1 b)))
(+.f64 (/.f64 1 b) (fma.f64 eps (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (*.f64 (+.f64 a b) 1/2) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))) (*.f64 a (*.f64 a (*.f64 b b))))) (/.f64 1 a)))
(+.f64 (/.f64 1 b) (fma.f64 eps (fma.f64 (/.f64 1/2 a) (/.f64 (pow.f64 (+.f64 a b) 2) b) (/.f64 -1/2 (/.f64 (/.f64 (*.f64 a a) (/.f64 (+.f64 a b) (*.f64 b b))) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))))) (/.f64 1 a)))
(+.f64 (*.f64 (-.f64 (*.f64 1/6 (/.f64 (pow.f64 (+.f64 a b) 3) (*.f64 a b))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 3) b)) (+.f64 (*.f64 1/6 (*.f64 a (pow.f64 b 3))) (*.f64 1/4 (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2))))) (*.f64 a b)))) (pow.f64 eps 2)) (+.f64 (*.f64 eps (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) (+.f64 (/.f64 1 a) (/.f64 1 b))))
(fma.f64 (-.f64 (-.f64 (*.f64 1/6 (/.f64 (pow.f64 (+.f64 a b) 3) (*.f64 a b))) (/.f64 (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 1/6 (*.f64 a (pow.f64 b 3)) (*.f64 (*.f64 (*.f64 a a) (*.f64 b b)) 1/4))) (/.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (+.f64 a b)))) (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (*.f64 (/.f64 (*.f64 1/2 (+.f64 (*.f64 b (*.f64 a a)) (*.f64 a (*.f64 b b)))) (*.f64 a a)) (/.f64 (+.f64 a b) (*.f64 b b)))) (/.f64 (*.f64 a b) (*.f64 1/2 (+.f64 (*.f64 b (*.f64 a a)) (*.f64 a (*.f64 b b))))))) (*.f64 eps eps) (fma.f64 eps (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (*.f64 (/.f64 (*.f64 1/2 (+.f64 (*.f64 b (*.f64 a a)) (*.f64 a (*.f64 b b)))) (*.f64 a a)) (/.f64 (+.f64 a b) (*.f64 b b)))) (+.f64 (/.f64 1 a) (/.f64 1 b))))
(fma.f64 (-.f64 (*.f64 1/6 (/.f64 (pow.f64 (+.f64 a b) 3) (*.f64 a b))) (fma.f64 (/.f64 (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 1/6 (*.f64 a (pow.f64 b 3)) (*.f64 (*.f64 a a) (*.f64 (*.f64 b b) 1/4)))) (*.f64 a a)) (/.f64 (+.f64 a b) (*.f64 b b)) (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (*.f64 (+.f64 a b) 1/2) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))) (*.f64 a (*.f64 a (*.f64 b b))))) (/.f64 (/.f64 (*.f64 a b) 1/2) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b))))))) (*.f64 eps eps) (+.f64 (/.f64 1 b) (fma.f64 eps (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (*.f64 (+.f64 a b) 1/2) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))) (*.f64 a (*.f64 a (*.f64 b b))))) (/.f64 1 a))))
(fma.f64 (-.f64 (*.f64 (/.f64 1/6 a) (/.f64 (pow.f64 (+.f64 a b) 3) b)) (fma.f64 (/.f64 (fma.f64 (/.f64 1/2 a) (/.f64 (pow.f64 (+.f64 a b) 2) b) (/.f64 -1/2 (/.f64 (/.f64 (*.f64 a a) (/.f64 (+.f64 a b) (*.f64 b b))) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))))) a) (*.f64 1/2 (/.f64 (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b))) b)) (*.f64 (/.f64 (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 (*.f64 a 1/6) (pow.f64 b 3) (*.f64 (*.f64 b b) (*.f64 (*.f64 a a) 1/4)))) a) (/.f64 (+.f64 a b) (*.f64 a (*.f64 b b)))))) (*.f64 eps eps) (+.f64 (/.f64 1 b) (fma.f64 eps (fma.f64 (/.f64 1/2 a) (/.f64 (pow.f64 (+.f64 a b) 2) b) (/.f64 -1/2 (/.f64 (/.f64 (*.f64 a a) (/.f64 (+.f64 a b) (*.f64 b b))) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))))) (/.f64 1 a))))
(+.f64 (*.f64 (-.f64 (*.f64 1/24 (/.f64 (pow.f64 (+.f64 a b) 4) (*.f64 a b))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/12 (*.f64 (pow.f64 a 2) (pow.f64 b 3))) (+.f64 (*.f64 1/24 (*.f64 a (pow.f64 b 4))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 a 4) b)) (*.f64 1/12 (*.f64 (pow.f64 a 3) (pow.f64 b 2)))))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (/.f64 (*.f64 (-.f64 (*.f64 1/6 (/.f64 (pow.f64 (+.f64 a b) 3) (*.f64 a b))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 3) b)) (+.f64 (*.f64 1/6 (*.f64 a (pow.f64 b 3))) (*.f64 1/4 (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2))))) (*.f64 a b)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2))))) (*.f64 a b)) (/.f64 (*.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 3) b)) (+.f64 (*.f64 1/6 (*.f64 a (pow.f64 b 3))) (*.f64 1/4 (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) (*.f64 a b))))) (pow.f64 eps 3)) (+.f64 (*.f64 (-.f64 (*.f64 1/6 (/.f64 (pow.f64 (+.f64 a b) 3) (*.f64 a b))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 3) b)) (+.f64 (*.f64 1/6 (*.f64 a (pow.f64 b 3))) (*.f64 1/4 (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2))))) (*.f64 a b)))) (pow.f64 eps 2)) (+.f64 (*.f64 eps (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) (+.f64 (/.f64 1 a) (/.f64 1 b)))))
(fma.f64 (-.f64 (*.f64 1/24 (/.f64 (pow.f64 (+.f64 a b) 4) (*.f64 a b))) (+.f64 (+.f64 (*.f64 (/.f64 (fma.f64 1/12 (*.f64 (*.f64 a a) (pow.f64 b 3)) (fma.f64 1/24 (*.f64 a (pow.f64 b 4)) (fma.f64 1/24 (*.f64 b (pow.f64 a 4)) (*.f64 1/12 (*.f64 (*.f64 b b) (pow.f64 a 3)))))) (*.f64 a a)) (/.f64 (+.f64 a b) (*.f64 b b))) (/.f64 (-.f64 (-.f64 (*.f64 1/6 (/.f64 (pow.f64 (+.f64 a b) 3) (*.f64 a b))) (/.f64 (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 1/6 (*.f64 a (pow.f64 b 3)) (*.f64 (*.f64 (*.f64 a a) (*.f64 b b)) 1/4))) (/.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (+.f64 a b)))) (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (*.f64 (/.f64 (*.f64 1/2 (+.f64 (*.f64 b (*.f64 a a)) (*.f64 a (*.f64 b b)))) (*.f64 a a)) (/.f64 (+.f64 a b) (*.f64 b b)))) (/.f64 (*.f64 a b) (*.f64 1/2 (+.f64 (*.f64 b (*.f64 a a)) (*.f64 a (*.f64 b b))))))) (/.f64 (*.f64 a b) (*.f64 1/2 (+.f64 (*.f64 b (*.f64 a a)) (*.f64 a (*.f64 b b))))))) (*.f64 (/.f64 (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 1/6 (*.f64 a (pow.f64 b 3)) (*.f64 (*.f64 (*.f64 a a) (*.f64 b b)) 1/4))) a) (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (*.f64 (/.f64 (*.f64 1/2 (+.f64 (*.f64 b (*.f64 a a)) (*.f64 a (*.f64 b b)))) (*.f64 a a)) (/.f64 (+.f64 a b) (*.f64 b b)))) b)))) (pow.f64 eps 3) (fma.f64 (-.f64 (-.f64 (*.f64 1/6 (/.f64 (pow.f64 (+.f64 a b) 3) (*.f64 a b))) (/.f64 (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 1/6 (*.f64 a (pow.f64 b 3)) (*.f64 (*.f64 (*.f64 a a) (*.f64 b b)) 1/4))) (/.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (+.f64 a b)))) (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (*.f64 (/.f64 (*.f64 1/2 (+.f64 (*.f64 b (*.f64 a a)) (*.f64 a (*.f64 b b)))) (*.f64 a a)) (/.f64 (+.f64 a b) (*.f64 b b)))) (/.f64 (*.f64 a b) (*.f64 1/2 (+.f64 (*.f64 b (*.f64 a a)) (*.f64 a (*.f64 b b))))))) (*.f64 eps eps) (fma.f64 eps (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (*.f64 (/.f64 (*.f64 1/2 (+.f64 (*.f64 b (*.f64 a a)) (*.f64 a (*.f64 b b)))) (*.f64 a a)) (/.f64 (+.f64 a b) (*.f64 b b)))) (+.f64 (/.f64 1 a) (/.f64 1 b)))))
(fma.f64 (-.f64 (*.f64 1/24 (/.f64 (pow.f64 (+.f64 a b) 4) (*.f64 a b))) (fma.f64 (/.f64 (fma.f64 1/12 (*.f64 (*.f64 a a) (pow.f64 b 3)) (fma.f64 1/24 (*.f64 a (pow.f64 b 4)) (fma.f64 1/24 (*.f64 b (pow.f64 a 4)) (*.f64 (*.f64 b b) (*.f64 (pow.f64 a 3) 1/12))))) (*.f64 a a)) (/.f64 (+.f64 a b) (*.f64 b b)) (fma.f64 (/.f64 (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 1/6 (*.f64 a (pow.f64 b 3)) (*.f64 (*.f64 a a) (*.f64 (*.f64 b b) 1/4)))) a) (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (*.f64 (+.f64 a b) 1/2) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))) (*.f64 a (*.f64 a (*.f64 b b))))) b) (*.f64 (/.f64 (*.f64 1/2 (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))) a) (/.f64 (-.f64 (*.f64 1/6 (/.f64 (pow.f64 (+.f64 a b) 3) (*.f64 a b))) (fma.f64 (/.f64 (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 1/6 (*.f64 a (pow.f64 b 3)) (*.f64 (*.f64 a a) (*.f64 (*.f64 b b) 1/4)))) (*.f64 a a)) (/.f64 (+.f64 a b) (*.f64 b b)) (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (*.f64 (+.f64 a b) 1/2) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))) (*.f64 a (*.f64 a (*.f64 b b))))) (/.f64 (/.f64 (*.f64 a b) 1/2) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b))))))) b))))) (pow.f64 eps 3) (fma.f64 (-.f64 (*.f64 1/6 (/.f64 (pow.f64 (+.f64 a b) 3) (*.f64 a b))) (fma.f64 (/.f64 (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 1/6 (*.f64 a (pow.f64 b 3)) (*.f64 (*.f64 a a) (*.f64 (*.f64 b b) 1/4)))) (*.f64 a a)) (/.f64 (+.f64 a b) (*.f64 b b)) (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (*.f64 (+.f64 a b) 1/2) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))) (*.f64 a (*.f64 a (*.f64 b b))))) (/.f64 (/.f64 (*.f64 a b) 1/2) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b))))))) (*.f64 eps eps) (+.f64 (/.f64 1 b) (fma.f64 eps (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (*.f64 (+.f64 a b) 1/2) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))) (*.f64 a (*.f64 a (*.f64 b b))))) (/.f64 1 a)))))
(fma.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (+.f64 a b) 4) a) (/.f64 1/24 b)) (fma.f64 (/.f64 (fma.f64 1/12 (*.f64 (*.f64 a a) (pow.f64 b 3)) (fma.f64 1/24 (*.f64 a (pow.f64 b 4)) (fma.f64 1/24 (*.f64 b (pow.f64 a 4)) (*.f64 (pow.f64 a 3) (*.f64 (*.f64 b b) 1/12))))) (*.f64 a a)) (/.f64 (+.f64 a b) (*.f64 b b)) (fma.f64 (/.f64 (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 (*.f64 a 1/6) (pow.f64 b 3) (*.f64 (*.f64 b b) (*.f64 (*.f64 a a) 1/4)))) a) (/.f64 (fma.f64 (/.f64 1/2 a) (/.f64 (pow.f64 (+.f64 a b) 2) b) (/.f64 -1/2 (/.f64 (/.f64 (*.f64 a a) (/.f64 (+.f64 a b) (*.f64 b b))) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))))) b) (/.f64 (*.f64 1/2 (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))) (/.f64 (*.f64 a b) (-.f64 (*.f64 (/.f64 1/6 a) (/.f64 (pow.f64 (+.f64 a b) 3) b)) (fma.f64 (/.f64 (fma.f64 (/.f64 1/2 a) (/.f64 (pow.f64 (+.f64 a b) 2) b) (/.f64 -1/2 (/.f64 (/.f64 (*.f64 a a) (/.f64 (+.f64 a b) (*.f64 b b))) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))))) a) (*.f64 1/2 (/.f64 (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b))) b)) (*.f64 (/.f64 (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 (*.f64 a 1/6) (pow.f64 b 3) (*.f64 (*.f64 b b) (*.f64 (*.f64 a a) 1/4)))) a) (/.f64 (+.f64 a b) (*.f64 a (*.f64 b b))))))))))) (pow.f64 eps 3) (fma.f64 (-.f64 (*.f64 (/.f64 1/6 a) (/.f64 (pow.f64 (+.f64 a b) 3) b)) (fma.f64 (/.f64 (fma.f64 (/.f64 1/2 a) (/.f64 (pow.f64 (+.f64 a b) 2) b) (/.f64 -1/2 (/.f64 (/.f64 (*.f64 a a) (/.f64 (+.f64 a b) (*.f64 b b))) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))))) a) (*.f64 1/2 (/.f64 (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b))) b)) (*.f64 (/.f64 (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 (*.f64 a 1/6) (pow.f64 b 3) (*.f64 (*.f64 b b) (*.f64 (*.f64 a a) 1/4)))) a) (/.f64 (+.f64 a b) (*.f64 a (*.f64 b b)))))) (*.f64 eps eps) (+.f64 (/.f64 1 b) (fma.f64 eps (fma.f64 (/.f64 1/2 a) (/.f64 (pow.f64 (+.f64 a b) 2) b) (/.f64 -1/2 (/.f64 (/.f64 (*.f64 a a) (/.f64 (+.f64 a b) (*.f64 b b))) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))))) (/.f64 1 a)))))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 (+.f64 a b) eps))) (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 b eps)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 a eps))))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 (+.f64 a b) eps))) (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 b eps)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 a eps))))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 (+.f64 a b) eps))) (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 b eps)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 a eps))))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 (+.f64 a b) eps))) (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 b eps)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 a eps))))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 (+.f64 a b) eps))) (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 b eps)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 a eps))))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 (+.f64 a b) eps))) (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 b eps)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 a eps))))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 (+.f64 a b) eps))) (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 b eps)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 a eps))))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 (+.f64 a b) eps))) (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 b eps)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 a eps))))
(/.f64 1 a)
(-.f64 (+.f64 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1)) (/.f64 1 a)) (*.f64 1/2 eps))
(+.f64 (/.f64 eps (/.f64 (expm1.f64 (*.f64 b eps)) (pow.f64 (exp.f64 eps) b))) (-.f64 (/.f64 1 a) (*.f64 eps 1/2)))
(+.f64 (/.f64 1 a) (+.f64 (*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (pow.f64 (exp.f64 eps) b)) (*.f64 eps -1/2)))
(+.f64 (/.f64 1 a) (+.f64 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps))))) (*.f64 eps -1/2)))
(-.f64 (+.f64 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1)) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 eps 2) (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1))) (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 1/2 (*.f64 eps (-.f64 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1)) (*.f64 1/2 eps)))))) a) (/.f64 1 a))) (*.f64 1/2 eps))
(+.f64 (/.f64 eps (/.f64 (expm1.f64 (*.f64 b eps)) (pow.f64 (exp.f64 eps) b))) (-.f64 (fma.f64 (-.f64 (*.f64 1/2 (/.f64 (*.f64 eps eps) (/.f64 (expm1.f64 (*.f64 b eps)) (pow.f64 (exp.f64 eps) b)))) (fma.f64 1/6 (*.f64 eps eps) (*.f64 (*.f64 eps 1/2) (+.f64 (/.f64 eps (/.f64 (expm1.f64 (*.f64 b eps)) (pow.f64 (exp.f64 eps) b))) (*.f64 -1/2 eps))))) a (/.f64 1 a)) (*.f64 eps 1/2)))
(+.f64 (*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (pow.f64 (exp.f64 eps) b)) (+.f64 (fma.f64 a (-.f64 (/.f64 (*.f64 (*.f64 1/2 (*.f64 eps eps)) (pow.f64 (exp.f64 eps) b)) (expm1.f64 (*.f64 b eps))) (fma.f64 1/2 (*.f64 eps (+.f64 (*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (pow.f64 (exp.f64 eps) b)) (*.f64 eps -1/2))) (*.f64 eps (*.f64 eps 1/6)))) (/.f64 1 a)) (*.f64 eps -1/2)))
(+.f64 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps))))) (+.f64 (/.f64 1 a) (fma.f64 a (+.f64 (fma.f64 1/2 (/.f64 (*.f64 eps eps) (-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps))))) (*.f64 (*.f64 eps -1/2) (+.f64 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps))))) (*.f64 eps -1/2)))) (*.f64 -1/6 (*.f64 eps eps))) (*.f64 eps -1/2))))
(-.f64 (+.f64 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1)) (+.f64 (*.f64 (pow.f64 a 2) (-.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 eps 3) (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1))) (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 2) (-.f64 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1)) (*.f64 1/2 eps)))) (*.f64 1/2 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 eps 2) (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1))) (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 1/2 (*.f64 eps (-.f64 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1)) (*.f64 1/2 eps)))))) eps)))))) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 eps 2) (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1))) (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 1/2 (*.f64 eps (-.f64 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1)) (*.f64 1/2 eps)))))) a) (/.f64 1 a)))) (*.f64 1/2 eps))
(+.f64 (/.f64 eps (/.f64 (expm1.f64 (*.f64 b eps)) (pow.f64 (exp.f64 eps) b))) (-.f64 (fma.f64 (*.f64 a a) (-.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 eps 3) (pow.f64 (exp.f64 eps) b)) (expm1.f64 (*.f64 b eps)))) (fma.f64 1/24 (pow.f64 eps 3) (fma.f64 1/6 (*.f64 (*.f64 eps eps) (+.f64 (/.f64 eps (/.f64 (expm1.f64 (*.f64 b eps)) (pow.f64 (exp.f64 eps) b))) (*.f64 -1/2 eps))) (*.f64 1/2 (*.f64 eps (-.f64 (*.f64 1/2 (/.f64 (*.f64 eps eps) (/.f64 (expm1.f64 (*.f64 b eps)) (pow.f64 (exp.f64 eps) b)))) (fma.f64 1/6 (*.f64 eps eps) (*.f64 (*.f64 eps 1/2) (+.f64 (/.f64 eps (/.f64 (expm1.f64 (*.f64 b eps)) (pow.f64 (exp.f64 eps) b))) (*.f64 -1/2 eps)))))))))) (fma.f64 (-.f64 (*.f64 1/2 (/.f64 (*.f64 eps eps) (/.f64 (expm1.f64 (*.f64 b eps)) (pow.f64 (exp.f64 eps) b)))) (fma.f64 1/6 (*.f64 eps eps) (*.f64 (*.f64 eps 1/2) (+.f64 (/.f64 eps (/.f64 (expm1.f64 (*.f64 b eps)) (pow.f64 (exp.f64 eps) b))) (*.f64 -1/2 eps))))) a (/.f64 1 a))) (*.f64 eps 1/2)))
(+.f64 (*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (pow.f64 (exp.f64 eps) b)) (+.f64 (fma.f64 (*.f64 a a) (-.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 eps 3) (pow.f64 (exp.f64 eps) b)) (expm1.f64 (*.f64 b eps)))) (fma.f64 1/24 (pow.f64 eps 3) (fma.f64 1/2 (*.f64 eps (-.f64 (/.f64 (*.f64 (*.f64 1/2 (*.f64 eps eps)) (pow.f64 (exp.f64 eps) b)) (expm1.f64 (*.f64 b eps))) (fma.f64 1/2 (*.f64 eps (+.f64 (*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (pow.f64 (exp.f64 eps) b)) (*.f64 eps -1/2))) (*.f64 eps (*.f64 eps 1/6))))) (*.f64 1/6 (*.f64 (*.f64 eps eps) (+.f64 (*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (pow.f64 (exp.f64 eps) b)) (*.f64 eps -1/2))))))) (fma.f64 a (-.f64 (/.f64 (*.f64 (*.f64 1/2 (*.f64 eps eps)) (pow.f64 (exp.f64 eps) b)) (expm1.f64 (*.f64 b eps))) (fma.f64 1/2 (*.f64 eps (+.f64 (*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (pow.f64 (exp.f64 eps) b)) (*.f64 eps -1/2))) (*.f64 eps (*.f64 eps 1/6)))) (/.f64 1 a))) (*.f64 eps -1/2)))
(+.f64 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps))))) (+.f64 (fma.f64 (*.f64 a a) (-.f64 (/.f64 (*.f64 1/6 (pow.f64 eps 3)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps))))) (fma.f64 1/24 (pow.f64 eps 3) (fma.f64 1/2 (*.f64 eps (+.f64 (fma.f64 1/2 (/.f64 (*.f64 eps eps) (-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps))))) (*.f64 (*.f64 eps -1/2) (+.f64 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps))))) (*.f64 eps -1/2)))) (*.f64 -1/6 (*.f64 eps eps)))) (*.f64 (*.f64 eps (*.f64 eps 1/6)) (+.f64 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps))))) (*.f64 eps -1/2)))))) (fma.f64 a (+.f64 (fma.f64 1/2 (/.f64 (*.f64 eps eps) (-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps))))) (*.f64 (*.f64 eps -1/2) (+.f64 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps))))) (*.f64 eps -1/2)))) (*.f64 -1/6 (*.f64 eps eps))) (/.f64 1 a))) (*.f64 eps -1/2)))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 (+.f64 a b) eps))) (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 b eps)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 a eps))))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 (+.f64 a b) eps))) (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 b eps)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 a eps))))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 (+.f64 a b) eps))) (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 b eps)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 a eps))))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 (+.f64 a b) eps))) (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 b eps)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 a eps))))
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 eps (-.f64 b (*.f64 -1 a)))) 1) eps) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 (+.f64 a b) eps))) (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 b eps)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 a eps))))
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 eps (-.f64 b (*.f64 -1 a)))) 1) eps) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 (+.f64 a b) eps))) (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 b eps)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 a eps))))
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 eps (-.f64 b (*.f64 -1 a)))) 1) eps) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 (+.f64 a b) eps))) (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 b eps)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 a eps))))
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 eps (-.f64 b (*.f64 -1 a)))) 1) eps) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 (+.f64 a b) eps))) (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 b eps)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 a eps))))
(/.f64 1 b)
(-.f64 (+.f64 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1)) (/.f64 1 b)) (*.f64 1/2 eps))
(+.f64 (/.f64 eps (/.f64 (expm1.f64 (*.f64 a eps)) (pow.f64 (exp.f64 eps) a))) (-.f64 (/.f64 1 b) (*.f64 eps 1/2)))
(+.f64 (/.f64 eps (/.f64 (expm1.f64 (*.f64 a eps)) (pow.f64 (exp.f64 eps) a))) (+.f64 (/.f64 1 b) (*.f64 eps -1/2)))
(+.f64 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 a eps))))) (+.f64 (/.f64 1 b) (*.f64 eps -1/2)))
(-.f64 (+.f64 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1)) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 eps 2) (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1))) (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 1/2 (*.f64 eps (-.f64 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1)) (*.f64 1/2 eps)))))) b) (/.f64 1 b))) (*.f64 1/2 eps))
(+.f64 (/.f64 eps (/.f64 (expm1.f64 (*.f64 a eps)) (pow.f64 (exp.f64 eps) a))) (-.f64 (fma.f64 (-.f64 (*.f64 1/2 (/.f64 (*.f64 (*.f64 eps eps) (pow.f64 (exp.f64 eps) a)) (expm1.f64 (*.f64 a eps)))) (fma.f64 1/6 (*.f64 eps eps) (*.f64 (*.f64 eps 1/2) (+.f64 (/.f64 eps (/.f64 (expm1.f64 (*.f64 a eps)) (pow.f64 (exp.f64 eps) a))) (*.f64 -1/2 eps))))) b (/.f64 1 b)) (*.f64 eps 1/2)))
(+.f64 (/.f64 eps (/.f64 (expm1.f64 (*.f64 a eps)) (pow.f64 (exp.f64 eps) a))) (+.f64 (fma.f64 b (-.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 eps eps) (expm1.f64 (*.f64 a eps))) (pow.f64 (exp.f64 eps) a))) (fma.f64 1/2 (*.f64 eps (+.f64 (/.f64 eps (/.f64 (expm1.f64 (*.f64 a eps)) (pow.f64 (exp.f64 eps) a))) (*.f64 eps -1/2))) (*.f64 eps (*.f64 eps 1/6)))) (/.f64 1 b)) (*.f64 eps -1/2)))
(+.f64 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 a eps))))) (+.f64 (/.f64 1 b) (fma.f64 b (+.f64 (fma.f64 1/2 (/.f64 (*.f64 eps eps) (-.f64 1 (exp.f64 (neg.f64 (*.f64 a eps))))) (*.f64 (*.f64 eps -1/2) (+.f64 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 a eps))))) (*.f64 eps -1/2)))) (*.f64 -1/6 (*.f64 eps eps))) (*.f64 eps -1/2))))
(-.f64 (+.f64 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1)) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 eps 2) (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1))) (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 1/2 (*.f64 eps (-.f64 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1)) (*.f64 1/2 eps)))))) b) (+.f64 (/.f64 1 b) (*.f64 (pow.f64 b 2) (-.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 eps 3) (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1))) (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 eps 2) (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1))) (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 1/2 (*.f64 eps (-.f64 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1)) (*.f64 1/2 eps)))))) eps)) (*.f64 1/6 (*.f64 (pow.f64 eps 2) (-.f64 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1)) (*.f64 1/2 eps))))))))))) (*.f64 1/2 eps))
(+.f64 (/.f64 eps (/.f64 (expm1.f64 (*.f64 a eps)) (pow.f64 (exp.f64 eps) a))) (-.f64 (+.f64 (fma.f64 (-.f64 (*.f64 1/2 (/.f64 (*.f64 (*.f64 eps eps) (pow.f64 (exp.f64 eps) a)) (expm1.f64 (*.f64 a eps)))) (fma.f64 1/6 (*.f64 eps eps) (*.f64 (*.f64 eps 1/2) (+.f64 (/.f64 eps (/.f64 (expm1.f64 (*.f64 a eps)) (pow.f64 (exp.f64 eps) a))) (*.f64 -1/2 eps))))) b (/.f64 1 b)) (*.f64 (*.f64 b b) (-.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 eps 3) (pow.f64 (exp.f64 eps) a)) (expm1.f64 (*.f64 a eps)))) (fma.f64 1/24 (pow.f64 eps 3) (fma.f64 1/2 (*.f64 eps (-.f64 (*.f64 1/2 (/.f64 (*.f64 (*.f64 eps eps) (pow.f64 (exp.f64 eps) a)) (expm1.f64 (*.f64 a eps)))) (fma.f64 1/6 (*.f64 eps eps) (*.f64 (*.f64 eps 1/2) (+.f64 (/.f64 eps (/.f64 (expm1.f64 (*.f64 a eps)) (pow.f64 (exp.f64 eps) a))) (*.f64 -1/2 eps)))))) (*.f64 1/6 (*.f64 (*.f64 eps eps) (+.f64 (/.f64 eps (/.f64 (expm1.f64 (*.f64 a eps)) (pow.f64 (exp.f64 eps) a))) (*.f64 -1/2 eps))))))))) (*.f64 eps 1/2)))
(+.f64 (/.f64 eps (/.f64 (expm1.f64 (*.f64 a eps)) (pow.f64 (exp.f64 eps) a))) (+.f64 (fma.f64 b (-.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 eps eps) (expm1.f64 (*.f64 a eps))) (pow.f64 (exp.f64 eps) a))) (fma.f64 1/2 (*.f64 eps (+.f64 (/.f64 eps (/.f64 (expm1.f64 (*.f64 a eps)) (pow.f64 (exp.f64 eps) a))) (*.f64 eps -1/2))) (*.f64 eps (*.f64 eps 1/6)))) (fma.f64 (*.f64 b b) (-.f64 (*.f64 1/6 (/.f64 (pow.f64 eps 3) (/.f64 (expm1.f64 (*.f64 a eps)) (pow.f64 (exp.f64 eps) a)))) (fma.f64 1/24 (pow.f64 eps 3) (fma.f64 1/2 (*.f64 eps (-.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 eps eps) (expm1.f64 (*.f64 a eps))) (pow.f64 (exp.f64 eps) a))) (fma.f64 1/2 (*.f64 eps (+.f64 (/.f64 eps (/.f64 (expm1.f64 (*.f64 a eps)) (pow.f64 (exp.f64 eps) a))) (*.f64 eps -1/2))) (*.f64 eps (*.f64 eps 1/6))))) (*.f64 1/6 (*.f64 eps (*.f64 eps (+.f64 (/.f64 eps (/.f64 (expm1.f64 (*.f64 a eps)) (pow.f64 (exp.f64 eps) a))) (*.f64 eps -1/2)))))))) (/.f64 1 b))) (*.f64 eps -1/2)))
(+.f64 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 a eps))))) (+.f64 (fma.f64 b (+.f64 (fma.f64 1/2 (/.f64 (*.f64 eps eps) (-.f64 1 (exp.f64 (neg.f64 (*.f64 a eps))))) (*.f64 (*.f64 eps -1/2) (+.f64 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 a eps))))) (*.f64 eps -1/2)))) (*.f64 -1/6 (*.f64 eps eps))) (/.f64 1 b)) (fma.f64 (*.f64 b b) (-.f64 (*.f64 1/6 (/.f64 (pow.f64 eps 3) (-.f64 1 (exp.f64 (neg.f64 (*.f64 a eps)))))) (fma.f64 1/24 (pow.f64 eps 3) (fma.f64 1/2 (*.f64 eps (+.f64 (fma.f64 1/2 (/.f64 (*.f64 eps eps) (-.f64 1 (exp.f64 (neg.f64 (*.f64 a eps))))) (*.f64 (*.f64 eps -1/2) (+.f64 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 a eps))))) (*.f64 eps -1/2)))) (*.f64 -1/6 (*.f64 eps eps)))) (*.f64 1/6 (*.f64 (*.f64 eps eps) (+.f64 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 a eps))))) (*.f64 eps -1/2))))))) (*.f64 eps -1/2))))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 (+.f64 a b) eps))) (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 b eps)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 a eps))))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 (+.f64 a b) eps))) (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 b eps)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 a eps))))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 (+.f64 a b) eps))) (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 b eps)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 a eps))))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 (+.f64 a b) eps))) (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 b eps)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 a eps))))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (-.f64 a (*.f64 -1 b)))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 (+.f64 a b) eps))) (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 b eps)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 a eps))))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (-.f64 a (*.f64 -1 b)))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 (+.f64 a b) eps))) (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 b eps)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 a eps))))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (-.f64 a (*.f64 -1 b)))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 (+.f64 a b) eps))) (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 b eps)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 a eps))))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 eps (-.f64 a (*.f64 -1 b)))) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 (+.f64 a b) eps))) (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 b eps)))
(*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 a eps))))
(/.f64 (+.f64 a b) (*.f64 eps (*.f64 a b)))
(/.f64 (+.f64 a b) (*.f64 (*.f64 a b) eps))
(/.f64 (+.f64 a b) (*.f64 a (*.f64 b eps)))
(/.f64 (/.f64 (+.f64 a b) (*.f64 a eps)) b)
(-.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 1 (*.f64 eps a)))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))))
(+.f64 (/.f64 (/.f64 1 eps) b) (-.f64 (fma.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b)) (/.f64 1 (*.f64 a eps))) (*.f64 (/.f64 (*.f64 1/2 (+.f64 (*.f64 b (*.f64 a a)) (*.f64 a (*.f64 b b)))) (*.f64 a a)) (/.f64 (+.f64 a b) (*.f64 b b)))))
(+.f64 (/.f64 1 (*.f64 b eps)) (-.f64 (fma.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b)) (/.f64 1 (*.f64 a eps))) (/.f64 (*.f64 (*.f64 (+.f64 a b) 1/2) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))) (*.f64 a (*.f64 a (*.f64 b b))))))
(+.f64 (/.f64 1 (*.f64 b eps)) (+.f64 (/.f64 1 (*.f64 a eps)) (fma.f64 (/.f64 1/2 a) (/.f64 (pow.f64 (+.f64 a b) 2) b) (/.f64 -1/2 (/.f64 (/.f64 (*.f64 a a) (/.f64 (+.f64 a b) (*.f64 b b))) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b))))))))
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 1/6 (/.f64 (pow.f64 (+.f64 a b) 3) (*.f64 a b))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 3) b)) (+.f64 (*.f64 1/6 (*.f64 a (pow.f64 b 3))) (*.f64 1/4 (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2))))) (*.f64 a b)))) eps) (+.f64 (/.f64 1 (*.f64 eps b)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 1 (*.f64 eps a))))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))))
(-.f64 (fma.f64 (-.f64 (-.f64 (*.f64 1/6 (/.f64 (pow.f64 (+.f64 a b) 3) (*.f64 a b))) (/.f64 (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 1/6 (*.f64 a (pow.f64 b 3)) (*.f64 (*.f64 (*.f64 a a) (*.f64 b b)) 1/4))) (/.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (+.f64 a b)))) (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (*.f64 (/.f64 (*.f64 1/2 (+.f64 (*.f64 b (*.f64 a a)) (*.f64 a (*.f64 b b)))) (*.f64 a a)) (/.f64 (+.f64 a b) (*.f64 b b)))) (/.f64 (*.f64 a b) (*.f64 1/2 (+.f64 (*.f64 b (*.f64 a a)) (*.f64 a (*.f64 b b))))))) eps (+.f64 (/.f64 (/.f64 1 eps) b) (fma.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b)) (/.f64 1 (*.f64 a eps))))) (*.f64 (/.f64 (*.f64 1/2 (+.f64 (*.f64 b (*.f64 a a)) (*.f64 a (*.f64 b b)))) (*.f64 a a)) (/.f64 (+.f64 a b) (*.f64 b b))))
(-.f64 (fma.f64 eps (-.f64 (*.f64 1/6 (/.f64 (pow.f64 (+.f64 a b) 3) (*.f64 a b))) (fma.f64 (/.f64 (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 1/6 (*.f64 a (pow.f64 b 3)) (*.f64 (*.f64 a a) (*.f64 (*.f64 b b) 1/4)))) (*.f64 a a)) (/.f64 (+.f64 a b) (*.f64 b b)) (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (*.f64 (+.f64 a b) 1/2) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))) (*.f64 a (*.f64 a (*.f64 b b))))) (/.f64 (/.f64 (*.f64 a b) 1/2) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b))))))) (+.f64 (/.f64 1 (*.f64 b eps)) (fma.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b)) (/.f64 1 (*.f64 a eps))))) (/.f64 (*.f64 (*.f64 (+.f64 a b) 1/2) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))) (*.f64 a (*.f64 a (*.f64 b b)))))
(fma.f64 eps (-.f64 (*.f64 (/.f64 1/6 a) (/.f64 (pow.f64 (+.f64 a b) 3) b)) (fma.f64 (/.f64 (fma.f64 (/.f64 1/2 a) (/.f64 (pow.f64 (+.f64 a b) 2) b) (/.f64 -1/2 (/.f64 (/.f64 (*.f64 a a) (/.f64 (+.f64 a b) (*.f64 b b))) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))))) a) (*.f64 1/2 (/.f64 (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b))) b)) (*.f64 (/.f64 (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 (*.f64 a 1/6) (pow.f64 b 3) (*.f64 (*.f64 b b) (*.f64 (*.f64 a a) 1/4)))) a) (/.f64 (+.f64 a b) (*.f64 a (*.f64 b b)))))) (+.f64 (/.f64 1 (*.f64 b eps)) (+.f64 (/.f64 1 (*.f64 a eps)) (fma.f64 (/.f64 1/2 a) (/.f64 (pow.f64 (+.f64 a b) 2) b) (/.f64 -1/2 (/.f64 (/.f64 (*.f64 a a) (/.f64 (+.f64 a b) (*.f64 b b))) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))))))))
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 1/24 (/.f64 (pow.f64 (+.f64 a b) 4) (*.f64 a b))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/12 (*.f64 (pow.f64 a 2) (pow.f64 b 3))) (+.f64 (*.f64 1/24 (*.f64 a (pow.f64 b 4))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 a 4) b)) (*.f64 1/12 (*.f64 (pow.f64 a 3) (pow.f64 b 2)))))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (/.f64 (*.f64 (-.f64 (*.f64 1/6 (/.f64 (pow.f64 (+.f64 a b) 3) (*.f64 a b))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 3) b)) (+.f64 (*.f64 1/6 (*.f64 a (pow.f64 b 3))) (*.f64 1/4 (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2))))) (*.f64 a b)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2))))) (*.f64 a b)) (/.f64 (*.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 3) b)) (+.f64 (*.f64 1/6 (*.f64 a (pow.f64 b 3))) (*.f64 1/4 (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) (*.f64 a b))))) (pow.f64 eps 2)) (+.f64 (*.f64 (-.f64 (*.f64 1/6 (/.f64 (pow.f64 (+.f64 a b) 3) (*.f64 a b))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 3) b)) (+.f64 (*.f64 1/6 (*.f64 a (pow.f64 b 3))) (*.f64 1/4 (*.f64 (pow.f64 a 2) (pow.f64 b 2))))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2))))) (*.f64 a b)))) eps) (+.f64 (/.f64 1 (*.f64 eps b)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 1 (*.f64 eps a)))))) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))) (+.f64 a b)) (*.f64 (pow.f64 a 2) (pow.f64 b 2))))
(-.f64 (fma.f64 (-.f64 (*.f64 1/24 (/.f64 (pow.f64 (+.f64 a b) 4) (*.f64 a b))) (+.f64 (+.f64 (*.f64 (/.f64 (fma.f64 1/12 (*.f64 (*.f64 a a) (pow.f64 b 3)) (fma.f64 1/24 (*.f64 a (pow.f64 b 4)) (fma.f64 1/24 (*.f64 b (pow.f64 a 4)) (*.f64 1/12 (*.f64 (*.f64 b b) (pow.f64 a 3)))))) (*.f64 a a)) (/.f64 (+.f64 a b) (*.f64 b b))) (/.f64 (-.f64 (-.f64 (*.f64 1/6 (/.f64 (pow.f64 (+.f64 a b) 3) (*.f64 a b))) (/.f64 (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 1/6 (*.f64 a (pow.f64 b 3)) (*.f64 (*.f64 (*.f64 a a) (*.f64 b b)) 1/4))) (/.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (+.f64 a b)))) (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (*.f64 (/.f64 (*.f64 1/2 (+.f64 (*.f64 b (*.f64 a a)) (*.f64 a (*.f64 b b)))) (*.f64 a a)) (/.f64 (+.f64 a b) (*.f64 b b)))) (/.f64 (*.f64 a b) (*.f64 1/2 (+.f64 (*.f64 b (*.f64 a a)) (*.f64 a (*.f64 b b))))))) (/.f64 (*.f64 a b) (*.f64 1/2 (+.f64 (*.f64 b (*.f64 a a)) (*.f64 a (*.f64 b b))))))) (*.f64 (/.f64 (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 1/6 (*.f64 a (pow.f64 b 3)) (*.f64 (*.f64 (*.f64 a a) (*.f64 b b)) 1/4))) a) (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (*.f64 (/.f64 (*.f64 1/2 (+.f64 (*.f64 b (*.f64 a a)) (*.f64 a (*.f64 b b)))) (*.f64 a a)) (/.f64 (+.f64 a b) (*.f64 b b)))) b)))) (*.f64 eps eps) (fma.f64 (-.f64 (-.f64 (*.f64 1/6 (/.f64 (pow.f64 (+.f64 a b) 3) (*.f64 a b))) (/.f64 (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 1/6 (*.f64 a (pow.f64 b 3)) (*.f64 (*.f64 (*.f64 a a) (*.f64 b b)) 1/4))) (/.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (+.f64 a b)))) (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (*.f64 (/.f64 (*.f64 1/2 (+.f64 (*.f64 b (*.f64 a a)) (*.f64 a (*.f64 b b)))) (*.f64 a a)) (/.f64 (+.f64 a b) (*.f64 b b)))) (/.f64 (*.f64 a b) (*.f64 1/2 (+.f64 (*.f64 b (*.f64 a a)) (*.f64 a (*.f64 b b))))))) eps (+.f64 (/.f64 (/.f64 1 eps) b) (fma.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b)) (/.f64 1 (*.f64 a eps)))))) (*.f64 (/.f64 (*.f64 1/2 (+.f64 (*.f64 b (*.f64 a a)) (*.f64 a (*.f64 b b)))) (*.f64 a a)) (/.f64 (+.f64 a b) (*.f64 b b))))
(-.f64 (fma.f64 (*.f64 eps eps) (-.f64 (*.f64 1/24 (/.f64 (pow.f64 (+.f64 a b) 4) (*.f64 a b))) (fma.f64 (/.f64 (fma.f64 1/12 (*.f64 (*.f64 a a) (pow.f64 b 3)) (fma.f64 1/24 (*.f64 a (pow.f64 b 4)) (fma.f64 1/24 (*.f64 b (pow.f64 a 4)) (*.f64 (*.f64 b b) (*.f64 (pow.f64 a 3) 1/12))))) (*.f64 a a)) (/.f64 (+.f64 a b) (*.f64 b b)) (fma.f64 (/.f64 (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 1/6 (*.f64 a (pow.f64 b 3)) (*.f64 (*.f64 a a) (*.f64 (*.f64 b b) 1/4)))) a) (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (*.f64 (+.f64 a b) 1/2) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))) (*.f64 a (*.f64 a (*.f64 b b))))) b) (*.f64 (/.f64 (*.f64 1/2 (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))) a) (/.f64 (-.f64 (*.f64 1/6 (/.f64 (pow.f64 (+.f64 a b) 3) (*.f64 a b))) (fma.f64 (/.f64 (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 1/6 (*.f64 a (pow.f64 b 3)) (*.f64 (*.f64 a a) (*.f64 (*.f64 b b) 1/4)))) (*.f64 a a)) (/.f64 (+.f64 a b) (*.f64 b b)) (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (*.f64 (+.f64 a b) 1/2) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))) (*.f64 a (*.f64 a (*.f64 b b))))) (/.f64 (/.f64 (*.f64 a b) 1/2) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b))))))) b))))) (fma.f64 eps (-.f64 (*.f64 1/6 (/.f64 (pow.f64 (+.f64 a b) 3) (*.f64 a b))) (fma.f64 (/.f64 (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 1/6 (*.f64 a (pow.f64 b 3)) (*.f64 (*.f64 a a) (*.f64 (*.f64 b b) 1/4)))) (*.f64 a a)) (/.f64 (+.f64 a b) (*.f64 b b)) (/.f64 (-.f64 (*.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b))) (/.f64 (*.f64 (*.f64 (+.f64 a b) 1/2) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))) (*.f64 a (*.f64 a (*.f64 b b))))) (/.f64 (/.f64 (*.f64 a b) 1/2) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b))))))) (+.f64 (/.f64 1 (*.f64 b eps)) (fma.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b)) (/.f64 1 (*.f64 a eps)))))) (/.f64 (*.f64 (*.f64 (+.f64 a b) 1/2) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))) (*.f64 a (*.f64 a (*.f64 b b)))))
(+.f64 (fma.f64 eps (-.f64 (*.f64 (/.f64 1/6 a) (/.f64 (pow.f64 (+.f64 a b) 3) b)) (fma.f64 (/.f64 (fma.f64 (/.f64 1/2 a) (/.f64 (pow.f64 (+.f64 a b) 2) b) (/.f64 -1/2 (/.f64 (/.f64 (*.f64 a a) (/.f64 (+.f64 a b) (*.f64 b b))) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))))) a) (*.f64 1/2 (/.f64 (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b))) b)) (*.f64 (/.f64 (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 (*.f64 a 1/6) (pow.f64 b 3) (*.f64 (*.f64 b b) (*.f64 (*.f64 a a) 1/4)))) a) (/.f64 (+.f64 a b) (*.f64 a (*.f64 b b)))))) (+.f64 (/.f64 1 (*.f64 b eps)) (fma.f64 1/2 (/.f64 (pow.f64 (+.f64 a b) 2) (*.f64 a b)) (/.f64 1 (*.f64 a eps))))) (fma.f64 (*.f64 eps eps) (-.f64 (*.f64 (/.f64 (pow.f64 (+.f64 a b) 4) a) (/.f64 1/24 b)) (fma.f64 (/.f64 (fma.f64 1/12 (*.f64 (*.f64 a a) (pow.f64 b 3)) (fma.f64 1/24 (*.f64 a (pow.f64 b 4)) (fma.f64 1/24 (*.f64 b (pow.f64 a 4)) (*.f64 (pow.f64 a 3) (*.f64 (*.f64 b b) 1/12))))) (*.f64 a a)) (/.f64 (+.f64 a b) (*.f64 b b)) (fma.f64 (/.f64 (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 (*.f64 a 1/6) (pow.f64 b 3) (*.f64 (*.f64 b b) (*.f64 (*.f64 a a) 1/4)))) a) (/.f64 (fma.f64 (/.f64 1/2 a) (/.f64 (pow.f64 (+.f64 a b) 2) b) (/.f64 -1/2 (/.f64 (/.f64 (*.f64 a a) (/.f64 (+.f64 a b) (*.f64 b b))) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))))) b) (/.f64 (*.f64 1/2 (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))) (/.f64 (*.f64 a b) (-.f64 (*.f64 (/.f64 1/6 a) (/.f64 (pow.f64 (+.f64 a b) 3) b)) (fma.f64 (/.f64 (fma.f64 (/.f64 1/2 a) (/.f64 (pow.f64 (+.f64 a b) 2) b) (/.f64 -1/2 (/.f64 (/.f64 (*.f64 a a) (/.f64 (+.f64 a b) (*.f64 b b))) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))))) a) (*.f64 1/2 (/.f64 (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b))) b)) (*.f64 (/.f64 (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 (*.f64 a 1/6) (pow.f64 b 3) (*.f64 (*.f64 b b) (*.f64 (*.f64 a a) 1/4)))) a) (/.f64 (+.f64 a b) (*.f64 a (*.f64 b b))))))))))) (/.f64 -1/2 (/.f64 (/.f64 (*.f64 a a) (/.f64 (+.f64 a b) (*.f64 b b))) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))))))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 1 (*.f64 eps a))
(/.f64 1 (*.f64 a eps))
(-.f64 (+.f64 (/.f64 (exp.f64 (*.f64 eps b)) (-.f64 (exp.f64 (*.f64 eps b)) 1)) (/.f64 1 (*.f64 eps a))) 1/2)
(+.f64 (/.f64 (pow.f64 (exp.f64 eps) b) (expm1.f64 (*.f64 b eps))) (-.f64 (/.f64 1 (*.f64 a eps)) 1/2))
(+.f64 (/.f64 1 (*.f64 a eps)) (+.f64 (/.f64 (pow.f64 (exp.f64 eps) b) (expm1.f64 (*.f64 b eps))) -1/2))
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1))) (+.f64 (*.f64 1/6 eps) (*.f64 1/2 (*.f64 eps (-.f64 (/.f64 (exp.f64 (*.f64 eps b)) (-.f64 (exp.f64 (*.f64 eps b)) 1)) 1/2))))) a) (+.f64 (/.f64 (exp.f64 (*.f64 eps b)) (-.f64 (exp.f64 (*.f64 eps b)) 1)) (/.f64 1 (*.f64 eps a)))) 1/2)
(+.f64 (fma.f64 (-.f64 (*.f64 1/2 (/.f64 eps (/.f64 (expm1.f64 (*.f64 b eps)) (pow.f64 (exp.f64 eps) b)))) (fma.f64 1/6 eps (*.f64 (*.f64 eps 1/2) (+.f64 (/.f64 (pow.f64 (exp.f64 eps) b) (expm1.f64 (*.f64 b eps))) -1/2)))) a (+.f64 (/.f64 1 (*.f64 a eps)) (/.f64 (pow.f64 (exp.f64 eps) b) (expm1.f64 (*.f64 b eps))))) -1/2)
(+.f64 (+.f64 (/.f64 1 (*.f64 a eps)) (fma.f64 a (-.f64 (*.f64 1/2 (*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (pow.f64 (exp.f64 eps) b))) (fma.f64 eps 1/6 (*.f64 eps (*.f64 1/2 (+.f64 (/.f64 (pow.f64 (exp.f64 eps) b) (expm1.f64 (*.f64 b eps))) -1/2))))) (/.f64 (pow.f64 (exp.f64 eps) b) (expm1.f64 (*.f64 b eps))))) -1/2)
(+.f64 (+.f64 (/.f64 1 (*.f64 a eps)) (/.f64 (pow.f64 (exp.f64 eps) b) (expm1.f64 (*.f64 b eps)))) (fma.f64 a (-.f64 (/.f64 (*.f64 eps 1/2) (-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps))))) (fma.f64 eps 1/6 (*.f64 (*.f64 eps 1/2) (+.f64 (/.f64 (pow.f64 (exp.f64 eps) b) (expm1.f64 (*.f64 b eps))) -1/2)))) -1/2))
(-.f64 (+.f64 (*.f64 (pow.f64 a 2) (-.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 eps 2) (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1))) (+.f64 (*.f64 1/24 (pow.f64 eps 2)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 2) (-.f64 (/.f64 (exp.f64 (*.f64 eps b)) (-.f64 (exp.f64 (*.f64 eps b)) 1)) 1/2))) (*.f64 1/2 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1))) (+.f64 (*.f64 1/6 eps) (*.f64 1/2 (*.f64 eps (-.f64 (/.f64 (exp.f64 (*.f64 eps b)) (-.f64 (exp.f64 (*.f64 eps b)) 1)) 1/2))))) eps)))))) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps b))) (-.f64 (exp.f64 (*.f64 eps b)) 1))) (+.f64 (*.f64 1/6 eps) (*.f64 1/2 (*.f64 eps (-.f64 (/.f64 (exp.f64 (*.f64 eps b)) (-.f64 (exp.f64 (*.f64 eps b)) 1)) 1/2))))) a) (+.f64 (/.f64 (exp.f64 (*.f64 eps b)) (-.f64 (exp.f64 (*.f64 eps b)) 1)) (/.f64 1 (*.f64 eps a))))) 1/2)
(+.f64 (fma.f64 (*.f64 a a) (-.f64 (*.f64 1/6 (/.f64 (*.f64 eps eps) (/.f64 (expm1.f64 (*.f64 b eps)) (pow.f64 (exp.f64 eps) b)))) (fma.f64 1/24 (*.f64 eps eps) (fma.f64 1/6 (*.f64 (*.f64 eps eps) (+.f64 (/.f64 (pow.f64 (exp.f64 eps) b) (expm1.f64 (*.f64 b eps))) -1/2)) (*.f64 1/2 (*.f64 eps (-.f64 (*.f64 1/2 (/.f64 eps (/.f64 (expm1.f64 (*.f64 b eps)) (pow.f64 (exp.f64 eps) b)))) (fma.f64 1/6 eps (*.f64 (*.f64 eps 1/2) (+.f64 (/.f64 (pow.f64 (exp.f64 eps) b) (expm1.f64 (*.f64 b eps))) -1/2))))))))) (fma.f64 (-.f64 (*.f64 1/2 (/.f64 eps (/.f64 (expm1.f64 (*.f64 b eps)) (pow.f64 (exp.f64 eps) b)))) (fma.f64 1/6 eps (*.f64 (*.f64 eps 1/2) (+.f64 (/.f64 (pow.f64 (exp.f64 eps) b) (expm1.f64 (*.f64 b eps))) -1/2)))) a (+.f64 (/.f64 1 (*.f64 a eps)) (/.f64 (pow.f64 (exp.f64 eps) b) (expm1.f64 (*.f64 b eps)))))) -1/2)
(+.f64 (fma.f64 (*.f64 a a) (-.f64 (*.f64 1/6 (*.f64 (/.f64 (*.f64 eps eps) (expm1.f64 (*.f64 b eps))) (pow.f64 (exp.f64 eps) b))) (fma.f64 (*.f64 eps eps) 1/24 (fma.f64 1/2 (*.f64 eps (-.f64 (*.f64 1/2 (*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (pow.f64 (exp.f64 eps) b))) (fma.f64 eps 1/6 (*.f64 eps (*.f64 1/2 (+.f64 (/.f64 (pow.f64 (exp.f64 eps) b) (expm1.f64 (*.f64 b eps))) -1/2)))))) (*.f64 1/6 (*.f64 (*.f64 eps eps) (+.f64 (/.f64 (pow.f64 (exp.f64 eps) b) (expm1.f64 (*.f64 b eps))) -1/2)))))) (+.f64 (/.f64 1 (*.f64 a eps)) (fma.f64 a (-.f64 (*.f64 1/2 (*.f64 (/.f64 eps (expm1.f64 (*.f64 b eps))) (pow.f64 (exp.f64 eps) b))) (fma.f64 eps 1/6 (*.f64 eps (*.f64 1/2 (+.f64 (/.f64 (pow.f64 (exp.f64 eps) b) (expm1.f64 (*.f64 b eps))) -1/2))))) (/.f64 (pow.f64 (exp.f64 eps) b) (expm1.f64 (*.f64 b eps)))))) -1/2)
(+.f64 (fma.f64 a (-.f64 (/.f64 (*.f64 eps 1/2) (-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps))))) (fma.f64 eps 1/6 (*.f64 (*.f64 eps 1/2) (+.f64 (/.f64 (pow.f64 (exp.f64 eps) b) (expm1.f64 (*.f64 b eps))) -1/2)))) (+.f64 (/.f64 1 (*.f64 a eps)) (/.f64 (pow.f64 (exp.f64 eps) b) (expm1.f64 (*.f64 b eps))))) (fma.f64 a (*.f64 a (-.f64 (*.f64 1/6 (/.f64 (*.f64 eps eps) (-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps)))))) (fma.f64 (*.f64 eps eps) 1/24 (fma.f64 1/2 (*.f64 eps (-.f64 (/.f64 (*.f64 eps 1/2) (-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps))))) (fma.f64 eps 1/6 (*.f64 (*.f64 eps 1/2) (+.f64 (/.f64 (pow.f64 (exp.f64 eps) b) (expm1.f64 (*.f64 b eps))) -1/2))))) (*.f64 (*.f64 eps eps) (*.f64 (+.f64 (/.f64 (pow.f64 (exp.f64 eps) b) (expm1.f64 (*.f64 b eps))) -1/2) 1/6)))))) -1/2))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (-.f64 b (*.f64 -1 a)))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (-.f64 b (*.f64 -1 a)))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (-.f64 b (*.f64 -1 a)))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (-.f64 b (*.f64 -1 a)))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 1 (*.f64 eps b))
(/.f64 (/.f64 1 eps) b)
(/.f64 1 (*.f64 b eps))
(-.f64 (+.f64 (/.f64 (exp.f64 (*.f64 eps a)) (-.f64 (exp.f64 (*.f64 eps a)) 1)) (/.f64 1 (*.f64 eps b))) 1/2)
(+.f64 (/.f64 (pow.f64 (exp.f64 eps) a) (expm1.f64 (*.f64 a eps))) (-.f64 (/.f64 (/.f64 1 eps) b) 1/2))
(+.f64 (/.f64 1 (*.f64 b eps)) (+.f64 (/.f64 (pow.f64 (exp.f64 eps) a) (expm1.f64 (*.f64 a eps))) -1/2))
(+.f64 (/.f64 (pow.f64 (exp.f64 eps) a) (expm1.f64 (*.f64 a eps))) (+.f64 (/.f64 1 (*.f64 b eps)) -1/2))
(-.f64 (+.f64 (/.f64 (exp.f64 (*.f64 eps a)) (-.f64 (exp.f64 (*.f64 eps a)) 1)) (+.f64 (/.f64 1 (*.f64 eps b)) (*.f64 (-.f64 (*.f64 1/2 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1))) (+.f64 (*.f64 1/6 eps) (*.f64 1/2 (*.f64 eps (-.f64 (/.f64 (exp.f64 (*.f64 eps a)) (-.f64 (exp.f64 (*.f64 eps a)) 1)) 1/2))))) b))) 1/2)
(+.f64 (+.f64 (+.f64 (/.f64 (/.f64 1 eps) b) (/.f64 (pow.f64 (exp.f64 eps) a) (expm1.f64 (*.f64 a eps)))) (*.f64 b (-.f64 (/.f64 (*.f64 1/2 (*.f64 eps (pow.f64 (exp.f64 eps) a))) (expm1.f64 (*.f64 a eps))) (fma.f64 1/6 eps (*.f64 (*.f64 eps 1/2) (+.f64 (/.f64 (pow.f64 (exp.f64 eps) a) (expm1.f64 (*.f64 a eps))) -1/2)))))) -1/2)
(+.f64 (/.f64 (pow.f64 (exp.f64 eps) a) (expm1.f64 (*.f64 a eps))) (+.f64 (fma.f64 b (-.f64 (/.f64 (*.f64 1/2 (*.f64 eps (pow.f64 (exp.f64 eps) a))) (expm1.f64 (*.f64 a eps))) (fma.f64 eps 1/6 (*.f64 eps (*.f64 (+.f64 (/.f64 (pow.f64 (exp.f64 eps) a) (expm1.f64 (*.f64 a eps))) -1/2) 1/2)))) (/.f64 1 (*.f64 b eps))) -1/2))
(+.f64 (+.f64 (/.f64 1 (*.f64 b eps)) (/.f64 (pow.f64 (exp.f64 eps) a) (expm1.f64 (*.f64 a eps)))) (fma.f64 b (+.f64 (fma.f64 1/2 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 a eps))))) (*.f64 (*.f64 eps -1/2) (+.f64 (/.f64 (pow.f64 (exp.f64 eps) a) (expm1.f64 (*.f64 a eps))) -1/2))) (*.f64 -1/6 eps)) -1/2))
(-.f64 (+.f64 (/.f64 (exp.f64 (*.f64 eps a)) (-.f64 (exp.f64 (*.f64 eps a)) 1)) (+.f64 (/.f64 1 (*.f64 eps b)) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1))) (+.f64 (*.f64 1/6 eps) (*.f64 1/2 (*.f64 eps (-.f64 (/.f64 (exp.f64 (*.f64 eps a)) (-.f64 (exp.f64 (*.f64 eps a)) 1)) 1/2))))) b) (*.f64 (pow.f64 b 2) (-.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 eps 2) (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1))) (+.f64 (*.f64 1/24 (pow.f64 eps 2)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 2) (-.f64 (/.f64 (exp.f64 (*.f64 eps a)) (-.f64 (exp.f64 (*.f64 eps a)) 1)) 1/2))) (*.f64 1/2 (*.f64 eps (-.f64 (*.f64 1/2 (/.f64 (*.f64 eps (exp.f64 (*.f64 eps a))) (-.f64 (exp.f64 (*.f64 eps a)) 1))) (+.f64 (*.f64 1/6 eps) (*.f64 1/2 (*.f64 eps (-.f64 (/.f64 (exp.f64 (*.f64 eps a)) (-.f64 (exp.f64 (*.f64 eps a)) 1)) 1/2)))))))))))))) 1/2)
(+.f64 (+.f64 (+.f64 (/.f64 (/.f64 1 eps) b) (/.f64 (pow.f64 (exp.f64 eps) a) (expm1.f64 (*.f64 a eps)))) (fma.f64 (-.f64 (/.f64 (*.f64 1/2 (*.f64 eps (pow.f64 (exp.f64 eps) a))) (expm1.f64 (*.f64 a eps))) (fma.f64 1/6 eps (*.f64 (*.f64 eps 1/2) (+.f64 (/.f64 (pow.f64 (exp.f64 eps) a) (expm1.f64 (*.f64 a eps))) -1/2)))) b (*.f64 (*.f64 b b) (-.f64 (*.f64 1/6 (/.f64 (*.f64 (*.f64 eps eps) (pow.f64 (exp.f64 eps) a)) (expm1.f64 (*.f64 a eps)))) (fma.f64 1/24 (*.f64 eps eps) (fma.f64 1/6 (*.f64 (*.f64 eps eps) (+.f64 (/.f64 (pow.f64 (exp.f64 eps) a) (expm1.f64 (*.f64 a eps))) -1/2)) (*.f64 1/2 (*.f64 eps (-.f64 (/.f64 (*.f64 1/2 (*.f64 eps (pow.f64 (exp.f64 eps) a))) (expm1.f64 (*.f64 a eps))) (fma.f64 1/6 eps (*.f64 (*.f64 eps 1/2) (+.f64 (/.f64 (pow.f64 (exp.f64 eps) a) (expm1.f64 (*.f64 a eps))) -1/2)))))))))))) -1/2)
(+.f64 (/.f64 (pow.f64 (exp.f64 eps) a) (expm1.f64 (*.f64 a eps))) (+.f64 (/.f64 1 (*.f64 b eps)) (-.f64 (fma.f64 b (-.f64 (/.f64 (*.f64 1/2 (*.f64 eps (pow.f64 (exp.f64 eps) a))) (expm1.f64 (*.f64 a eps))) (fma.f64 eps 1/6 (*.f64 eps (*.f64 (+.f64 (/.f64 (pow.f64 (exp.f64 eps) a) (expm1.f64 (*.f64 a eps))) -1/2) 1/2)))) (*.f64 b (*.f64 b (-.f64 (/.f64 (*.f64 eps (*.f64 eps 1/6)) (/.f64 (expm1.f64 (*.f64 a eps)) (pow.f64 (exp.f64 eps) a))) (fma.f64 (*.f64 eps eps) 1/24 (fma.f64 (*.f64 eps 1/2) (-.f64 (/.f64 (*.f64 1/2 (*.f64 eps (pow.f64 (exp.f64 eps) a))) (expm1.f64 (*.f64 a eps))) (fma.f64 eps 1/6 (*.f64 eps (*.f64 (+.f64 (/.f64 (pow.f64 (exp.f64 eps) a) (expm1.f64 (*.f64 a eps))) -1/2) 1/2)))) (*.f64 1/6 (*.f64 (*.f64 eps eps) (+.f64 (/.f64 (pow.f64 (exp.f64 eps) a) (expm1.f64 (*.f64 a eps))) -1/2))))))))) 1/2)))
(+.f64 (/.f64 (pow.f64 (exp.f64 eps) a) (expm1.f64 (*.f64 a eps))) (+.f64 (fma.f64 b (+.f64 (fma.f64 1/2 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 a eps))))) (*.f64 (*.f64 eps -1/2) (+.f64 (/.f64 (pow.f64 (exp.f64 eps) a) (expm1.f64 (*.f64 a eps))) -1/2))) (*.f64 -1/6 eps)) (/.f64 1 (*.f64 b eps))) (fma.f64 b (*.f64 b (-.f64 (/.f64 (*.f64 eps (*.f64 eps 1/6)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 a eps))))) (fma.f64 (*.f64 eps eps) 1/24 (fma.f64 1/2 (*.f64 eps (+.f64 (fma.f64 1/2 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 a eps))))) (*.f64 (*.f64 eps -1/2) (+.f64 (/.f64 (pow.f64 (exp.f64 eps) a) (expm1.f64 (*.f64 a eps))) -1/2))) (*.f64 -1/6 eps))) (*.f64 (*.f64 eps (*.f64 eps 1/6)) (+.f64 (/.f64 (pow.f64 (exp.f64 eps) a) (expm1.f64 (*.f64 a eps))) -1/2)))))) -1/2)))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (-.f64 (exp.f64 (*.f64 (-.f64 a (*.f64 -1 b)) eps)) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (-.f64 (exp.f64 (*.f64 (-.f64 a (*.f64 -1 b)) eps)) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (-.f64 (exp.f64 (*.f64 (-.f64 a (*.f64 -1 b)) eps)) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps))))
(/.f64 (-.f64 (exp.f64 (*.f64 (-.f64 a (*.f64 -1 b)) eps)) 1) (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps))))
(*.f64 (pow.f64 eps 2) (*.f64 a b))
(*.f64 (*.f64 a b) (*.f64 eps eps))
(*.f64 a (*.f64 b (*.f64 eps eps)))
(+.f64 (*.f64 (pow.f64 eps 2) (*.f64 a b)) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2))))))
(fma.f64 (*.f64 eps eps) (*.f64 a b) (*.f64 (*.f64 1/2 (+.f64 (*.f64 b (*.f64 a a)) (*.f64 a (*.f64 b b)))) (pow.f64 eps 3)))
(fma.f64 (*.f64 a b) (*.f64 eps eps) (*.f64 (*.f64 (pow.f64 eps 3) 1/2) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))))
(fma.f64 (*.f64 a b) (*.f64 eps eps) (*.f64 1/2 (*.f64 (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b))) (pow.f64 eps 3))))
(+.f64 (*.f64 (pow.f64 eps 2) (*.f64 a b)) (+.f64 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 3) b)) (+.f64 (*.f64 1/6 (*.f64 a (pow.f64 b 3))) (*.f64 1/4 (*.f64 (pow.f64 a 2) (pow.f64 b 2)))))) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2)))))))
(fma.f64 (*.f64 eps eps) (*.f64 a b) (fma.f64 (pow.f64 eps 4) (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 1/6 (*.f64 a (pow.f64 b 3)) (*.f64 (*.f64 (*.f64 a a) (*.f64 b b)) 1/4))) (*.f64 (*.f64 1/2 (+.f64 (*.f64 b (*.f64 a a)) (*.f64 a (*.f64 b b)))) (pow.f64 eps 3))))
(fma.f64 (*.f64 a b) (*.f64 eps eps) (fma.f64 (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 1/6 (*.f64 a (pow.f64 b 3)) (*.f64 (*.f64 a a) (*.f64 (*.f64 b b) 1/4)))) (pow.f64 eps 4) (*.f64 (*.f64 (pow.f64 eps 3) 1/2) (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b))))))
(fma.f64 (*.f64 a b) (*.f64 eps eps) (fma.f64 (*.f64 1/2 (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))) (pow.f64 eps 3) (*.f64 (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 (*.f64 a 1/6) (pow.f64 b 3) (*.f64 (*.f64 b b) (*.f64 (*.f64 a a) 1/4)))) (pow.f64 eps 4))))
(+.f64 (*.f64 (pow.f64 eps 2) (*.f64 a b)) (+.f64 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 3) b)) (+.f64 (*.f64 1/6 (*.f64 a (pow.f64 b 3))) (*.f64 1/4 (*.f64 (pow.f64 a 2) (pow.f64 b 2)))))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (*.f64 1/2 (*.f64 a (pow.f64 b 2))))) (*.f64 (pow.f64 eps 5) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 a 2) (pow.f64 b 3))) (+.f64 (*.f64 1/24 (*.f64 a (pow.f64 b 4))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 a 4) b)) (*.f64 1/12 (*.f64 (pow.f64 a 3) (pow.f64 b 2))))))))))
(fma.f64 (*.f64 eps eps) (*.f64 a b) (fma.f64 (pow.f64 eps 4) (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 1/6 (*.f64 a (pow.f64 b 3)) (*.f64 (*.f64 (*.f64 a a) (*.f64 b b)) 1/4))) (fma.f64 (pow.f64 eps 3) (*.f64 1/2 (+.f64 (*.f64 b (*.f64 a a)) (*.f64 a (*.f64 b b)))) (*.f64 (fma.f64 1/12 (*.f64 (*.f64 a a) (pow.f64 b 3)) (fma.f64 1/24 (*.f64 a (pow.f64 b 4)) (fma.f64 1/24 (*.f64 b (pow.f64 a 4)) (*.f64 1/12 (*.f64 (*.f64 b b) (pow.f64 a 3)))))) (pow.f64 eps 5)))))
(fma.f64 (*.f64 a b) (*.f64 eps eps) (fma.f64 (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 1/6 (*.f64 a (pow.f64 b 3)) (*.f64 (*.f64 a a) (*.f64 (*.f64 b b) 1/4)))) (pow.f64 eps 4) (fma.f64 (*.f64 1/2 (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))) (pow.f64 eps 3) (*.f64 (fma.f64 1/12 (*.f64 (*.f64 a a) (pow.f64 b 3)) (fma.f64 1/24 (*.f64 a (pow.f64 b 4)) (fma.f64 1/24 (*.f64 b (pow.f64 a 4)) (*.f64 (*.f64 b b) (*.f64 (pow.f64 a 3) 1/12))))) (pow.f64 eps 5)))))
(fma.f64 (*.f64 a b) (*.f64 eps eps) (fma.f64 (fma.f64 1/6 (*.f64 b (pow.f64 a 3)) (fma.f64 (*.f64 a 1/6) (pow.f64 b 3) (*.f64 (*.f64 b b) (*.f64 (*.f64 a a) 1/4)))) (pow.f64 eps 4) (fma.f64 (*.f64 1/2 (fma.f64 b (*.f64 a a) (*.f64 a (*.f64 b b)))) (pow.f64 eps 3) (*.f64 (fma.f64 1/12 (*.f64 (*.f64 a a) (pow.f64 b 3)) (fma.f64 1/24 (*.f64 a (pow.f64 b 4)) (fma.f64 1/24 (*.f64 b (pow.f64 a 4)) (*.f64 (pow.f64 a 3) (*.f64 (*.f64 b b) 1/12))))) (pow.f64 eps 5)))))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps)))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps)))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps)))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps)))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps)))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps)))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps)))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps)))
(*.f64 eps (*.f64 a (-.f64 (exp.f64 (*.f64 eps b)) 1)))
(*.f64 (*.f64 a eps) (expm1.f64 (*.f64 b eps)))
(*.f64 a (*.f64 eps (expm1.f64 (*.f64 b eps))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (*.f64 (pow.f64 a 2) (-.f64 (exp.f64 (*.f64 eps b)) 1)))) (*.f64 eps (*.f64 a (-.f64 (exp.f64 (*.f64 eps b)) 1))))
(fma.f64 1/2 (*.f64 (*.f64 (*.f64 eps eps) (*.f64 a a)) (expm1.f64 (*.f64 b eps))) (*.f64 (*.f64 a eps) (expm1.f64 (*.f64 b eps))))
(fma.f64 eps (*.f64 a (expm1.f64 (*.f64 b eps))) (*.f64 1/2 (*.f64 (expm1.f64 (*.f64 b eps)) (*.f64 eps (*.f64 eps (*.f64 a a))))))
(fma.f64 eps (*.f64 a (expm1.f64 (*.f64 b eps))) (*.f64 1/2 (*.f64 (*.f64 (*.f64 eps eps) (expm1.f64 (*.f64 b eps))) (*.f64 a a))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (*.f64 (pow.f64 a 2) (-.f64 (exp.f64 (*.f64 eps b)) 1)))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (*.f64 (pow.f64 a 3) (-.f64 (exp.f64 (*.f64 eps b)) 1)))) (*.f64 eps (*.f64 a (-.f64 (exp.f64 (*.f64 eps b)) 1)))))
(fma.f64 1/2 (*.f64 (*.f64 (*.f64 eps eps) (*.f64 a a)) (expm1.f64 (*.f64 b eps))) (fma.f64 1/6 (*.f64 (*.f64 (pow.f64 eps 3) (pow.f64 a 3)) (expm1.f64 (*.f64 b eps))) (*.f64 (*.f64 a eps) (expm1.f64 (*.f64 b eps)))))
(fma.f64 1/2 (*.f64 (expm1.f64 (*.f64 b eps)) (*.f64 eps (*.f64 eps (*.f64 a a)))) (fma.f64 eps (*.f64 a (expm1.f64 (*.f64 b eps))) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (*.f64 (pow.f64 a 3) (expm1.f64 (*.f64 b eps)))))))
(fma.f64 1/2 (*.f64 (*.f64 (*.f64 eps eps) (expm1.f64 (*.f64 b eps))) (*.f64 a a)) (fma.f64 eps (*.f64 a (expm1.f64 (*.f64 b eps))) (*.f64 (*.f64 (pow.f64 a 3) (pow.f64 eps 3)) (*.f64 (expm1.f64 (*.f64 b eps)) 1/6))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (*.f64 (pow.f64 a 4) (-.f64 (exp.f64 (*.f64 eps b)) 1)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (*.f64 (pow.f64 a 2) (-.f64 (exp.f64 (*.f64 eps b)) 1)))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (*.f64 (pow.f64 a 3) (-.f64 (exp.f64 (*.f64 eps b)) 1)))) (*.f64 eps (*.f64 a (-.f64 (exp.f64 (*.f64 eps b)) 1))))))
(fma.f64 1/24 (*.f64 (*.f64 (pow.f64 eps 4) (pow.f64 a 4)) (expm1.f64 (*.f64 b eps))) (fma.f64 1/2 (*.f64 (*.f64 (*.f64 eps eps) (*.f64 a a)) (expm1.f64 (*.f64 b eps))) (fma.f64 1/6 (*.f64 (*.f64 (pow.f64 eps 3) (pow.f64 a 3)) (expm1.f64 (*.f64 b eps))) (*.f64 (*.f64 a eps) (expm1.f64 (*.f64 b eps))))))
(fma.f64 1/24 (*.f64 (expm1.f64 (*.f64 b eps)) (*.f64 (pow.f64 a 4) (pow.f64 eps 4))) (fma.f64 1/2 (*.f64 (expm1.f64 (*.f64 b eps)) (*.f64 eps (*.f64 eps (*.f64 a a)))) (fma.f64 eps (*.f64 a (expm1.f64 (*.f64 b eps))) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (*.f64 (pow.f64 a 3) (expm1.f64 (*.f64 b eps))))))))
(fma.f64 1/24 (*.f64 (pow.f64 a 4) (*.f64 (expm1.f64 (*.f64 b eps)) (pow.f64 eps 4))) (fma.f64 1/2 (*.f64 (*.f64 (*.f64 eps eps) (expm1.f64 (*.f64 b eps))) (*.f64 a a)) (fma.f64 eps (*.f64 a (expm1.f64 (*.f64 b eps))) (*.f64 (*.f64 (pow.f64 a 3) (pow.f64 eps 3)) (*.f64 (expm1.f64 (*.f64 b eps)) 1/6)))))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps)))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps)))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps)))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps)))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps)))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps)))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps)))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps)))
(*.f64 eps (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) b))
(*.f64 eps (*.f64 b (expm1.f64 (*.f64 a eps))))
(+.f64 (*.f64 1/2 (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (*.f64 (pow.f64 eps 2) (pow.f64 b 2)))) (*.f64 eps (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) b)))
(fma.f64 1/2 (*.f64 (expm1.f64 (*.f64 a eps)) (*.f64 (*.f64 b b) (*.f64 eps eps))) (*.f64 eps (*.f64 b (expm1.f64 (*.f64 a eps)))))
(fma.f64 eps (*.f64 b (expm1.f64 (*.f64 a eps))) (*.f64 1/2 (*.f64 (expm1.f64 (*.f64 a eps)) (*.f64 b (*.f64 b (*.f64 eps eps))))))
(fma.f64 eps (*.f64 b (expm1.f64 (*.f64 a eps))) (*.f64 (*.f64 b (*.f64 b (*.f64 eps eps))) (*.f64 1/2 (expm1.f64 (*.f64 a eps)))))
(+.f64 (*.f64 1/6 (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (*.f64 (pow.f64 eps 3) (pow.f64 b 3)))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (*.f64 (pow.f64 eps 2) (pow.f64 b 2)))) (*.f64 eps (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) b))))
(fma.f64 1/6 (*.f64 (expm1.f64 (*.f64 a eps)) (*.f64 (pow.f64 b 3) (pow.f64 eps 3))) (fma.f64 1/2 (*.f64 (expm1.f64 (*.f64 a eps)) (*.f64 (*.f64 b b) (*.f64 eps eps))) (*.f64 eps (*.f64 b (expm1.f64 (*.f64 a eps))))))
(fma.f64 1/6 (*.f64 (pow.f64 b 3) (*.f64 (pow.f64 eps 3) (expm1.f64 (*.f64 a eps)))) (fma.f64 eps (*.f64 b (expm1.f64 (*.f64 a eps))) (*.f64 1/2 (*.f64 (expm1.f64 (*.f64 a eps)) (*.f64 b (*.f64 b (*.f64 eps eps)))))))
(fma.f64 1/6 (*.f64 (*.f64 (expm1.f64 (*.f64 a eps)) (pow.f64 b 3)) (pow.f64 eps 3)) (fma.f64 eps (*.f64 b (expm1.f64 (*.f64 a eps))) (*.f64 (*.f64 b (*.f64 b (*.f64 eps eps))) (*.f64 1/2 (expm1.f64 (*.f64 a eps))))))
(+.f64 (*.f64 1/6 (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (*.f64 (pow.f64 eps 3) (pow.f64 b 3)))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (*.f64 (pow.f64 eps 2) (pow.f64 b 2)))) (+.f64 (*.f64 1/24 (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (*.f64 (pow.f64 eps 4) (pow.f64 b 4)))) (*.f64 eps (*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) b)))))
(fma.f64 1/6 (*.f64 (expm1.f64 (*.f64 a eps)) (*.f64 (pow.f64 b 3) (pow.f64 eps 3))) (fma.f64 1/2 (*.f64 (expm1.f64 (*.f64 a eps)) (*.f64 (*.f64 b b) (*.f64 eps eps))) (fma.f64 1/24 (*.f64 (expm1.f64 (*.f64 a eps)) (*.f64 (pow.f64 b 4) (pow.f64 eps 4))) (*.f64 eps (*.f64 b (expm1.f64 (*.f64 a eps)))))))
(fma.f64 1/6 (*.f64 (pow.f64 b 3) (*.f64 (pow.f64 eps 3) (expm1.f64 (*.f64 a eps)))) (fma.f64 1/2 (*.f64 (expm1.f64 (*.f64 a eps)) (*.f64 b (*.f64 b (*.f64 eps eps)))) (fma.f64 eps (*.f64 b (expm1.f64 (*.f64 a eps))) (*.f64 1/24 (*.f64 (pow.f64 b 4) (*.f64 (expm1.f64 (*.f64 a eps)) (pow.f64 eps 4)))))))
(fma.f64 1/6 (*.f64 (*.f64 (expm1.f64 (*.f64 a eps)) (pow.f64 b 3)) (pow.f64 eps 3)) (fma.f64 1/2 (*.f64 (*.f64 b b) (*.f64 (*.f64 eps eps) (expm1.f64 (*.f64 a eps)))) (fma.f64 eps (*.f64 b (expm1.f64 (*.f64 a eps))) (*.f64 (expm1.f64 (*.f64 a eps)) (*.f64 (*.f64 (pow.f64 b 4) (pow.f64 eps 4)) 1/24)))))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps)))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps)))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps)))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps)))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps)))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps)))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps)))
(*.f64 (-.f64 (exp.f64 (*.f64 eps a)) 1) (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 b eps)))
(*.f64 eps (+.f64 a b))
(*.f64 (+.f64 a b) eps)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 (+.f64 a b) 2))) (*.f64 eps (+.f64 a b)))
(fma.f64 1/2 (*.f64 (pow.f64 (+.f64 a b) 2) (*.f64 eps eps)) (*.f64 (+.f64 a b) eps))
(fma.f64 (*.f64 1/2 (*.f64 eps eps)) (pow.f64 (+.f64 a b) 2) (*.f64 (+.f64 a b) eps))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 (+.f64 a b) 3))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 (+.f64 a b) 2))) (*.f64 eps (+.f64 a b))))
(fma.f64 1/6 (*.f64 (pow.f64 (+.f64 a b) 3) (pow.f64 eps 3)) (fma.f64 1/2 (*.f64 (pow.f64 (+.f64 a b) 2) (*.f64 eps eps)) (*.f64 (+.f64 a b) eps)))
(fma.f64 1/6 (*.f64 (pow.f64 (+.f64 a b) 3) (pow.f64 eps 3)) (fma.f64 (*.f64 1/2 (*.f64 eps eps)) (pow.f64 (+.f64 a b) 2) (*.f64 (+.f64 a b) eps)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (pow.f64 (+.f64 a b) 4))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 (+.f64 a b) 3))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 (+.f64 a b) 2))) (*.f64 eps (+.f64 a b)))))
(fma.f64 1/24 (*.f64 (pow.f64 (+.f64 a b) 4) (pow.f64 eps 4)) (fma.f64 1/6 (*.f64 (pow.f64 (+.f64 a b) 3) (pow.f64 eps 3)) (fma.f64 1/2 (*.f64 (pow.f64 (+.f64 a b) 2) (*.f64 eps eps)) (*.f64 (+.f64 a b) eps))))
(fma.f64 1/24 (*.f64 (pow.f64 (+.f64 a b) 4) (pow.f64 eps 4)) (fma.f64 1/6 (*.f64 (pow.f64 (+.f64 a b) 3) (pow.f64 eps 3)) (fma.f64 (*.f64 1/2 (*.f64 eps eps)) (pow.f64 (+.f64 a b) 2) (*.f64 (+.f64 a b) eps))))
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(expm1.f64 (*.f64 (+.f64 a b) eps))
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(expm1.f64 (*.f64 (+.f64 a b) eps))
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(expm1.f64 (*.f64 (+.f64 a b) eps))
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(expm1.f64 (*.f64 (+.f64 a b) eps))
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(expm1.f64 (*.f64 (+.f64 a b) eps))
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(expm1.f64 (*.f64 (+.f64 a b) eps))
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(expm1.f64 (*.f64 (+.f64 a b) eps))
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(expm1.f64 (*.f64 (+.f64 a b) eps))
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(expm1.f64 (*.f64 b eps))
(-.f64 (+.f64 (*.f64 eps (*.f64 a (exp.f64 (*.f64 eps b)))) (exp.f64 (*.f64 eps b))) 1)
(+.f64 (*.f64 (*.f64 a eps) (pow.f64 (exp.f64 eps) b)) (expm1.f64 (*.f64 b eps)))
(fma.f64 (*.f64 a eps) (pow.f64 (exp.f64 eps) b) (expm1.f64 (*.f64 b eps)))
(fma.f64 (+.f64 (*.f64 a eps) 1) (pow.f64 (exp.f64 eps) b) -1)
(-.f64 (+.f64 (*.f64 eps (*.f64 a (exp.f64 (*.f64 eps b)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (*.f64 (pow.f64 a 2) (exp.f64 (*.f64 eps b))))) (exp.f64 (*.f64 eps b)))) 1)
(+.f64 (fma.f64 eps (*.f64 a (pow.f64 (exp.f64 eps) b)) (fma.f64 1/2 (*.f64 (*.f64 (*.f64 eps eps) (*.f64 a a)) (pow.f64 (exp.f64 eps) b)) (pow.f64 (exp.f64 eps) b))) -1)
(+.f64 (fma.f64 eps (*.f64 a (pow.f64 (exp.f64 eps) b)) (*.f64 1/2 (*.f64 (pow.f64 (exp.f64 eps) b) (*.f64 eps (*.f64 eps (*.f64 a a)))))) (expm1.f64 (*.f64 b eps)))
(+.f64 (fma.f64 eps (*.f64 a (pow.f64 (exp.f64 eps) b)) (*.f64 (*.f64 (*.f64 1/2 (*.f64 eps eps)) (pow.f64 (exp.f64 eps) b)) (*.f64 a a))) (expm1.f64 (*.f64 b eps)))
(-.f64 (+.f64 (*.f64 eps (*.f64 a (exp.f64 (*.f64 eps b)))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (*.f64 (pow.f64 a 3) (exp.f64 (*.f64 eps b))))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (*.f64 (pow.f64 a 2) (exp.f64 (*.f64 eps b))))) (exp.f64 (*.f64 eps b))))) 1)
(+.f64 (fma.f64 eps (*.f64 a (pow.f64 (exp.f64 eps) b)) (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (*.f64 (pow.f64 a 3) (pow.f64 (exp.f64 eps) b))) (fma.f64 1/2 (*.f64 (*.f64 (*.f64 eps eps) (*.f64 a a)) (pow.f64 (exp.f64 eps) b)) (pow.f64 (exp.f64 eps) b)))) -1)
(+.f64 -1 (+.f64 (fma.f64 1/6 (*.f64 (pow.f64 a 3) (*.f64 (pow.f64 eps 3) (pow.f64 (exp.f64 eps) b))) (*.f64 1/2 (*.f64 (pow.f64 (exp.f64 eps) b) (*.f64 eps (*.f64 eps (*.f64 a a)))))) (*.f64 (+.f64 (*.f64 a eps) 1) (pow.f64 (exp.f64 eps) b))))
(+.f64 -1 (+.f64 (fma.f64 1/6 (*.f64 (pow.f64 (exp.f64 eps) b) (*.f64 (pow.f64 a 3) (pow.f64 eps 3))) (*.f64 (*.f64 (*.f64 1/2 (*.f64 eps eps)) (pow.f64 (exp.f64 eps) b)) (*.f64 a a))) (*.f64 (+.f64 (*.f64 a eps) 1) (pow.f64 (exp.f64 eps) b))))
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(expm1.f64 (*.f64 (+.f64 a b) eps))
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(expm1.f64 (*.f64 (+.f64 a b) eps))
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(expm1.f64 (*.f64 (+.f64 a b) eps))
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(expm1.f64 (*.f64 (+.f64 a b) eps))
(-.f64 (exp.f64 (*.f64 eps (-.f64 b (*.f64 -1 a)))) 1)
(expm1.f64 (*.f64 (+.f64 a b) eps))
(-.f64 (exp.f64 (*.f64 eps (-.f64 b (*.f64 -1 a)))) 1)
(expm1.f64 (*.f64 (+.f64 a b) eps))
(-.f64 (exp.f64 (*.f64 eps (-.f64 b (*.f64 -1 a)))) 1)
(expm1.f64 (*.f64 (+.f64 a b) eps))
(-.f64 (exp.f64 (*.f64 eps (-.f64 b (*.f64 -1 a)))) 1)
(expm1.f64 (*.f64 (+.f64 a b) eps))
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(expm1.f64 (*.f64 a eps))
(-.f64 (+.f64 (*.f64 eps (*.f64 b (exp.f64 (*.f64 eps a)))) (exp.f64 (*.f64 eps a))) 1)
(+.f64 (*.f64 eps (*.f64 b (pow.f64 (exp.f64 eps) a))) (expm1.f64 (*.f64 a eps)))
(fma.f64 (*.f64 b eps) (pow.f64 (exp.f64 eps) a) (expm1.f64 (*.f64 a eps)))
(fma.f64 (+.f64 (*.f64 b eps) 1) (pow.f64 (exp.f64 eps) a) -1)
(-.f64 (+.f64 (*.f64 eps (*.f64 b (exp.f64 (*.f64 eps a)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (*.f64 (pow.f64 b 2) (exp.f64 (*.f64 eps a))))) (exp.f64 (*.f64 eps a)))) 1)
(+.f64 (fma.f64 eps (*.f64 b (pow.f64 (exp.f64 eps) a)) (fma.f64 1/2 (*.f64 (*.f64 (*.f64 b b) (*.f64 eps eps)) (pow.f64 (exp.f64 eps) a)) (pow.f64 (exp.f64 eps) a))) -1)
(+.f64 (fma.f64 eps (*.f64 b (pow.f64 (exp.f64 eps) a)) (*.f64 1/2 (*.f64 (pow.f64 (exp.f64 eps) a) (*.f64 b (*.f64 b (*.f64 eps eps)))))) (expm1.f64 (*.f64 a eps)))
(-.f64 (+.f64 (*.f64 eps (*.f64 b (exp.f64 (*.f64 eps a)))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (*.f64 (pow.f64 b 3) (exp.f64 (*.f64 eps a))))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (*.f64 (pow.f64 b 2) (exp.f64 (*.f64 eps a))))) (exp.f64 (*.f64 eps a))))) 1)
(+.f64 (fma.f64 eps (*.f64 b (pow.f64 (exp.f64 eps) a)) (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (*.f64 (pow.f64 b 3) (pow.f64 (exp.f64 eps) a))) (fma.f64 1/2 (*.f64 (*.f64 (*.f64 b b) (*.f64 eps eps)) (pow.f64 (exp.f64 eps) a)) (pow.f64 (exp.f64 eps) a)))) -1)
(fma.f64 eps (*.f64 b (pow.f64 (exp.f64 eps) a)) (+.f64 (fma.f64 (*.f64 1/6 (pow.f64 eps 3)) (*.f64 (pow.f64 b 3) (pow.f64 (exp.f64 eps) a)) (*.f64 1/2 (*.f64 (pow.f64 (exp.f64 eps) a) (*.f64 b (*.f64 b (*.f64 eps eps)))))) (expm1.f64 (*.f64 a eps))))
(fma.f64 eps (*.f64 b (pow.f64 (exp.f64 eps) a)) (+.f64 (fma.f64 1/6 (*.f64 (pow.f64 b 3) (*.f64 (pow.f64 eps 3) (pow.f64 (exp.f64 eps) a))) (*.f64 1/2 (*.f64 (pow.f64 (exp.f64 eps) a) (*.f64 b (*.f64 b (*.f64 eps eps)))))) (expm1.f64 (*.f64 a eps))))
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(expm1.f64 (*.f64 (+.f64 a b) eps))
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(expm1.f64 (*.f64 (+.f64 a b) eps))
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(expm1.f64 (*.f64 (+.f64 a b) eps))
(-.f64 (exp.f64 (*.f64 eps (+.f64 a b))) 1)
(expm1.f64 (*.f64 (+.f64 a b) eps))
(-.f64 (exp.f64 (*.f64 eps (-.f64 a (*.f64 -1 b)))) 1)
(expm1.f64 (*.f64 (+.f64 a b) eps))
(-.f64 (exp.f64 (*.f64 eps (-.f64 a (*.f64 -1 b)))) 1)
(expm1.f64 (*.f64 (+.f64 a b) eps))
(-.f64 (exp.f64 (*.f64 eps (-.f64 a (*.f64 -1 b)))) 1)
(expm1.f64 (*.f64 (+.f64 a b) eps))
(-.f64 (exp.f64 (*.f64 eps (-.f64 a (*.f64 -1 b)))) 1)
(expm1.f64 (*.f64 (+.f64 a b) eps))

eval136.0ms (0.8%)

Compiler

Compiled 9532 to 3558 computations (62.7% saved)

prune72.0ms (0.4%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New21414228
Fresh000
Picked101
Done000
Total21514229
Error
0.0b
Counts
229 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
36.8b
(/.f64 1 b)
29.9b
(/.f64 eps (/.f64 (expm1.f64 (*.f64 eps b)) (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a)))))
49.4b
(*.f64 eps (/.f64 (expm1.f64 (*.f64 b eps)) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
49.7b
(*.f64 eps (/.f64 1 (*.f64 eps b)))
51.9b
(+.f64 (/.f64 1 a) (+.f64 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps))))) (*.f64 eps -1/2)))
41.1b
(*.f64 eps (pow.f64 (cbrt.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))) 3))
29.3b
(/.f64 1 a)
59.0b
(*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 a (*.f64 b (*.f64 eps eps)))))
54.0b
(*.f64 eps (/.f64 (expm1.f64 (*.f64 a eps)) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
54.7b
(+.f64 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 a eps))))) (+.f64 (/.f64 1 b) (*.f64 eps -1/2)))
54.5b
(*.f64 eps (/.f64 (*.f64 (+.f64 a b) eps) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
10.9b
(/.f64 (/.f64 (+.f64 a b) a) b)
15.0b
(/.f64 (+.f64 a b) (*.f64 a b))
40.9b
(*.f64 eps (/.f64 (/.f64 (+.f64 a b) (*.f64 a eps)) b))
Compiler

Compiled 436 to 286 computations (34.4% saved)

localize6.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (+.f64 a b) a)
8.1b
(/.f64 (/.f64 (+.f64 a b) a) b)
Compiler

Compiled 20 to 6 computations (70% saved)

series6.0ms (0%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
a
@inf
(/.f64 (/.f64 (+.f64 a b) a) b)
1.0ms
a
@-inf
(/.f64 (/.f64 (+.f64 a b) a) b)
1.0ms
a
@0
(/.f64 (/.f64 (+.f64 a b) a) b)
1.0ms
b
@-inf
(/.f64 (/.f64 (+.f64 a b) a) b)
1.0ms
b
@inf
(/.f64 (/.f64 (+.f64 a b) a) b)

rewrite68.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
955×pow1_binary64
895×add-log-exp_binary64
895×log1p-expm1-u_binary64
895×expm1-log1p-u_binary64
78×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0617
114317
2235417
Stop Event
node limit
Counts
2 → 71
Calls
Call 1
Inputs
(/.f64 (/.f64 (+.f64 a b) a) b)
(/.f64 (+.f64 a b) a)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (+.f64 a b) (*.f64 a b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 a b) (/.f64 1 (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 a b) (*.f64 (/.f64 1 a) (/.f64 1 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 a b) a) (/.f64 1 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (+.f64 a b) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))) (cbrt.f64 (pow.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 2)) (cbrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 a b) a)) 2) (*.f64 (cbrt.f64 (/.f64 (+.f64 a b) a)) (/.f64 1 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))) (sqrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (+.f64 a b) a)) (*.f64 (sqrt.f64 (/.f64 (+.f64 a b) a)) (/.f64 1 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 (+.f64 a b)) a) (/.f64 1 (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b) (/.f64 (+.f64 a b) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) b) (/.f64 (cbrt.f64 (+.f64 a b)) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 a b)) b) (/.f64 (sqrt.f64 (+.f64 a b)) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 a b) 1) (/.f64 (/.f64 1 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 a b) a)) 2) 1) (/.f64 (cbrt.f64 (/.f64 (+.f64 a b) a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 (+.f64 a b) a)) 1) (/.f64 (sqrt.f64 (/.f64 (+.f64 a b) a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 a b) (pow.f64 (cbrt.f64 b) 2)) (/.f64 (/.f64 1 a) (cbrt.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 b) 2)) (/.f64 (/.f64 (+.f64 a b) a) (cbrt.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 a b) a)) 2) (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 (+.f64 a b) a)) (pow.f64 (cbrt.f64 b) 2)) (/.f64 (sqrt.f64 (/.f64 (+.f64 a b) a)) (cbrt.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 a b) (sqrt.f64 b)) (/.f64 (/.f64 1 a) (sqrt.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 b)) (/.f64 (/.f64 (+.f64 a b) a) (sqrt.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 a b) a)) 2) (sqrt.f64 b)) (/.f64 (cbrt.f64 (/.f64 (+.f64 a b) a)) (sqrt.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 b (/.f64 a (+.f64 a b))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 (+.f64 a b) a) (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (+.f64 a b) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (+.f64 a b) (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 (+.f64 a b) a) 3) (pow.f64 b 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (+.f64 a b) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (+.f64 a b) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (+.f64 a b) (*.f64 a b))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (+.f64 a b) a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 a b) (/.f64 1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 a b) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (+.f64 a b) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (+.f64 a b) a)) (pow.f64 (cbrt.f64 (/.f64 (+.f64 a b) a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 a b) a)) 2) (cbrt.f64 (/.f64 (+.f64 a b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) (*.f64 (cbrt.f64 (+.f64 a b)) (/.f64 1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (+.f64 a b) a)) (sqrt.f64 (/.f64 (+.f64 a b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 a b)) (*.f64 (sqrt.f64 (+.f64 a b)) (/.f64 1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (+.f64 a b)) (/.f64 1 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 a) (+.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) 1) (/.f64 (cbrt.f64 (+.f64 a b)) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 a b)) 1) (/.f64 (sqrt.f64 (+.f64 a b)) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 a) 2)) (/.f64 (+.f64 a b) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) (pow.f64 (cbrt.f64 a) 2)) (cbrt.f64 (/.f64 (+.f64 a b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 a b)) (pow.f64 (cbrt.f64 a) 2)) (/.f64 (sqrt.f64 (+.f64 a b)) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 a)) (/.f64 (+.f64 a b) (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) (sqrt.f64 a)) (/.f64 (cbrt.f64 (+.f64 a b)) (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 a b) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (+.f64 a b) a) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (+.f64 a b) a)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (+.f64 a b) a)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a (+.f64 a b)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (+.f64 a b) (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (+.f64 a b) a) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (+.f64 a b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (+.f64 a b) a))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (+.f64 a b) a) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (+.f64 a b) 3) (pow.f64 a 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (+.f64 a b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (+.f64 a b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (+.f64 a b) a)))))))

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010345
113345
Stop Event
saturated
Counts
119 → 79
Calls
Call 1
Inputs
(/.f64 1 a)
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 a)
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(/.f64 1 a)
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(/.f64 b a)
(+.f64 (/.f64 b a) 1)
(+.f64 (/.f64 b a) 1)
(+.f64 (/.f64 b a) 1)
1
(+.f64 (/.f64 b a) 1)
(+.f64 (/.f64 b a) 1)
(+.f64 (/.f64 b a) 1)
1
(+.f64 (/.f64 b a) 1)
(+.f64 (/.f64 b a) 1)
(+.f64 (/.f64 b a) 1)
1
(+.f64 (/.f64 b a) 1)
(+.f64 (/.f64 b a) 1)
(+.f64 (/.f64 b a) 1)
(/.f64 b a)
(+.f64 (/.f64 b a) 1)
(+.f64 (/.f64 b a) 1)
(+.f64 (/.f64 b a) 1)
(/.f64 b a)
(+.f64 (/.f64 b a) 1)
(+.f64 (/.f64 b a) 1)
(+.f64 (/.f64 b a) 1)
Outputs
(/.f64 1 a)
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 a)
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 a)
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 b a)
(+.f64 (/.f64 b a) 1)
(+.f64 1 (/.f64 b a))
(+.f64 (/.f64 b a) 1)
(+.f64 1 (/.f64 b a))
(+.f64 (/.f64 b a) 1)
(+.f64 1 (/.f64 b a))
1
(+.f64 (/.f64 b a) 1)
(+.f64 1 (/.f64 b a))
(+.f64 (/.f64 b a) 1)
(+.f64 1 (/.f64 b a))
(+.f64 (/.f64 b a) 1)
(+.f64 1 (/.f64 b a))
1
(+.f64 (/.f64 b a) 1)
(+.f64 1 (/.f64 b a))
(+.f64 (/.f64 b a) 1)
(+.f64 1 (/.f64 b a))
(+.f64 (/.f64 b a) 1)
(+.f64 1 (/.f64 b a))
1
(+.f64 (/.f64 b a) 1)
(+.f64 1 (/.f64 b a))
(+.f64 (/.f64 b a) 1)
(+.f64 1 (/.f64 b a))
(+.f64 (/.f64 b a) 1)
(+.f64 1 (/.f64 b a))
(/.f64 b a)
(+.f64 (/.f64 b a) 1)
(+.f64 1 (/.f64 b a))
(+.f64 (/.f64 b a) 1)
(+.f64 1 (/.f64 b a))
(+.f64 (/.f64 b a) 1)
(+.f64 1 (/.f64 b a))
(/.f64 b a)
(+.f64 (/.f64 b a) 1)
(+.f64 1 (/.f64 b a))
(+.f64 (/.f64 b a) 1)
(+.f64 1 (/.f64 b a))
(+.f64 (/.f64 b a) 1)
(+.f64 1 (/.f64 b a))

localize4.0ms (0%)

Compiler

Compiled 8 to 6 computations (25% saved)

localize7.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
14.7b
(/.f64 (+.f64 a b) (*.f64 a b))
Compiler

Compiled 18 to 6 computations (66.7% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
a
@0
(/.f64 (+.f64 a b) (*.f64 a b))
0.0ms
a
@inf
(/.f64 (+.f64 a b) (*.f64 a b))
0.0ms
b
@inf
(/.f64 (+.f64 a b) (*.f64 a b))
0.0ms
a
@-inf
(/.f64 (+.f64 a b) (*.f64 a b))
0.0ms
b
@-inf
(/.f64 (+.f64 a b) (*.f64 a b))

rewrite53.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
872×pow1_binary64
816×add-log-exp_binary64
816×log1p-expm1-u_binary64
816×expm1-log1p-u_binary64
799×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify9.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08204
110204
Stop Event
saturated
Counts
62 → 42
Calls
Call 1
Inputs
(/.f64 1 a)
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 a)
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(/.f64 1 a)
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 b) (/.f64 1 a))
Outputs
(/.f64 1 a)
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 a)
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 a)
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))

localize32.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(exp.f64 (neg.f64 (*.f64 b eps)))
0.0b
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps)))))
0.0b
(+.f64 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps))))) (*.f64 eps -1/2))
2.5b
(-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps))))
Compiler

Compiled 72 to 32 computations (55.6% saved)

series16.0ms (0.1%)

Counts
4 → 96
Calls

24 calls:

TimeVariablePointExpression
2.0ms
eps
@0
(+.f64 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps))))) (*.f64 eps -1/2))
1.0ms
eps
@inf
(+.f64 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps))))) (*.f64 eps -1/2))
1.0ms
b
@0
(+.f64 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps))))) (*.f64 eps -1/2))
1.0ms
eps
@-inf
(+.f64 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps))))) (*.f64 eps -1/2))
1.0ms
b
@inf
(+.f64 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps))))) (*.f64 eps -1/2))

rewrite337.0ms (1.9%)

Algorithm
egg-rewrite
egg-rewrite-iter-limit
batch-egg-rewrite
Rules
932×pow1_binary64
864×add-log-exp_binary64
864×log1p-expm1-u_binary64
864×expm1-log1p-u_binary64
742×pow1_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01244
126144
2363044
0811
11659
221069
01220
126120
2363020
01220
0914
119012
2255612
068
11226
215406
Stop Event
node limit
node limit
iter limit
node limit
node limit
node limit
Counts
4 → 101
Calls
Call 1
Inputs
(-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps))))
(+.f64 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps))))) (*.f64 eps -1/2))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps)))))
(exp.f64 (neg.f64 (*.f64 b eps)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (neg.f64 (pow.f64 (exp.f64 b) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (neg.f64 (pow.f64 (exp.f64 b) eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (pow.f64 (exp.f64 b) eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (pow.f64 (exp.f64 b) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (exp.f64 b) eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 1 (pow.f64 (exp.f64 b) eps))) (pow.f64 (cbrt.f64 (-.f64 1 (pow.f64 (exp.f64 b) eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 1 (pow.f64 (exp.f64 b) eps))) 2) (cbrt.f64 (-.f64 1 (pow.f64 (exp.f64 b) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 1 (pow.f64 (exp.f64 b) eps))) (sqrt.f64 (-.f64 1 (pow.f64 (exp.f64 b) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (pow.f64 (exp.f64 b) eps) 3)) (/.f64 1 (+.f64 1 (+.f64 (pow.f64 (exp.f64 b) eps) (pow.f64 (pow.f64 (exp.f64 b) eps) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (pow.f64 (exp.f64 b) eps) 2)) (/.f64 1 (+.f64 1 (pow.f64 (exp.f64 b) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 1 (+.f64 (pow.f64 (exp.f64 b) eps) (pow.f64 (pow.f64 (exp.f64 b) eps) 2))) (-.f64 1 (pow.f64 (pow.f64 (exp.f64 b) eps) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 1 (pow.f64 (exp.f64 b) eps)) (-.f64 1 (pow.f64 (pow.f64 (exp.f64 b) eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (pow.f64 (exp.f64 b) eps) 3)) (+.f64 1 (+.f64 (pow.f64 (exp.f64 b) eps) (pow.f64 (pow.f64 (exp.f64 b) eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (pow.f64 (exp.f64 b) eps) 2)) (+.f64 1 (pow.f64 (exp.f64 b) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 (pow.f64 (exp.f64 b) eps) 3))) (neg.f64 (+.f64 1 (+.f64 (pow.f64 (exp.f64 b) eps) (pow.f64 (pow.f64 (exp.f64 b) eps) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 (pow.f64 (exp.f64 b) eps) 2))) (neg.f64 (+.f64 1 (pow.f64 (exp.f64 b) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (neg.f64 (pow.f64 (exp.f64 b) eps)) 3)) (+.f64 1 (-.f64 (*.f64 (neg.f64 (pow.f64 (exp.f64 b) eps)) (neg.f64 (pow.f64 (exp.f64 b) eps))) (neg.f64 (pow.f64 (exp.f64 b) eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (*.f64 (neg.f64 (pow.f64 (exp.f64 b) eps)) (neg.f64 (pow.f64 (exp.f64 b) eps)))) (-.f64 1 (neg.f64 (pow.f64 (exp.f64 b) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (pow.f64 (exp.f64 b) eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 1 (pow.f64 (exp.f64 b) eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 1 (pow.f64 (exp.f64 b) eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 1 (pow.f64 (exp.f64 b) eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 1 (pow.f64 (exp.f64 b) eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 1 (pow.f64 (exp.f64 b) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 1 (pow.f64 (exp.f64 b) eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 1 (pow.f64 (exp.f64 b) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 1 (pow.f64 (exp.f64 b) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (neg.f64 (pow.f64 (exp.f64 b) eps))))))))
((#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (/.f64 eps (-.f64 1 (exp.f64 (*.f64 b (neg.f64 eps))))) (*.f64 eps -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (+.f64 (/.f64 eps (-.f64 1 (exp.f64 (*.f64 b (neg.f64 eps))))) (*.f64 eps -1/2))) (cbrt.f64 (+.f64 (/.f64 eps (-.f64 1 (exp.f64 (*.f64 b (neg.f64 eps))))) (*.f64 eps -1/2)))) (cbrt.f64 (+.f64 (/.f64 eps (-.f64 1 (exp.f64 (*.f64 b (neg.f64 eps))))) (*.f64 eps -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (/.f64 eps (-.f64 1 (exp.f64 (*.f64 b (neg.f64 eps))))) (*.f64 eps -1/2))) (sqrt.f64 (+.f64 (/.f64 eps (-.f64 1 (exp.f64 (*.f64 b (neg.f64 eps))))) (*.f64 eps -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (/.f64 eps (-.f64 1 (exp.f64 (*.f64 b (neg.f64 eps))))) 3) (pow.f64 (*.f64 eps -1/2) 3)) (+.f64 (*.f64 (/.f64 eps (-.f64 1 (exp.f64 (*.f64 b (neg.f64 eps))))) (/.f64 eps (-.f64 1 (exp.f64 (*.f64 b (neg.f64 eps)))))) (-.f64 (*.f64 (*.f64 eps -1/2) (*.f64 eps -1/2)) (*.f64 (/.f64 eps (-.f64 1 (exp.f64 (*.f64 b (neg.f64 eps))))) (*.f64 eps -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (/.f64 eps (-.f64 1 (exp.f64 (*.f64 b (neg.f64 eps))))) (/.f64 eps (-.f64 1 (exp.f64 (*.f64 b (neg.f64 eps)))))) (*.f64 (*.f64 eps -1/2) (*.f64 eps -1/2))) (-.f64 (/.f64 eps (-.f64 1 (exp.f64 (*.f64 b (neg.f64 eps))))) (*.f64 eps -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (/.f64 eps (-.f64 1 (exp.f64 (*.f64 b (neg.f64 eps))))) (*.f64 eps -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (/.f64 eps (-.f64 1 (exp.f64 (*.f64 b (neg.f64 eps))))) (*.f64 eps -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (+.f64 (/.f64 eps (-.f64 1 (exp.f64 (*.f64 b (neg.f64 eps))))) (*.f64 eps -1/2)) (+.f64 (/.f64 eps (-.f64 1 (exp.f64 (*.f64 b (neg.f64 eps))))) (*.f64 eps -1/2))) (+.f64 (/.f64 eps (-.f64 1 (exp.f64 (*.f64 b (neg.f64 eps))))) (*.f64 eps -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (/.f64 eps (-.f64 1 (exp.f64 (*.f64 b (neg.f64 eps))))) (*.f64 eps -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (/.f64 eps (-.f64 1 (exp.f64 (*.f64 b (neg.f64 eps))))) (*.f64 eps -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (/.f64 eps (-.f64 1 (exp.f64 (*.f64 b (neg.f64 eps))))) (*.f64 eps -1/2))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) b))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps (/.f64 1 (-.f64 1 (pow.f64 (exp.f64 eps) b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 eps eps)) (*.f64 (cbrt.f64 eps) (/.f64 1 (-.f64 1 (pow.f64 (exp.f64 eps) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) b)))) (pow.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) b)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) b)))) 2) (cbrt.f64 (/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 eps) (*.f64 (sqrt.f64 eps) (/.f64 1 (-.f64 1 (pow.f64 (exp.f64 eps) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) b)))) (sqrt.f64 (/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 eps) (/.f64 1 (neg.f64 (-.f64 1 (pow.f64 (exp.f64 eps) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 1 (pow.f64 (exp.f64 eps) b))) eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 eps eps)) 1) (/.f64 (cbrt.f64 eps) (-.f64 1 (pow.f64 (exp.f64 eps) b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 eps) 1) (/.f64 (sqrt.f64 eps) (-.f64 1 (pow.f64 (exp.f64 eps) b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (pow.f64 (-.f64 1 (pow.f64 (exp.f64 eps) b)) 2))) (/.f64 eps (cbrt.f64 (-.f64 1 (pow.f64 (exp.f64 eps) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 eps eps)) (cbrt.f64 (pow.f64 (-.f64 1 (pow.f64 (exp.f64 eps) b)) 2))) (cbrt.f64 (/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 eps) (cbrt.f64 (pow.f64 (-.f64 1 (pow.f64 (exp.f64 eps) b)) 2))) (/.f64 (sqrt.f64 eps) (cbrt.f64 (-.f64 1 (pow.f64 (exp.f64 eps) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (-.f64 1 (pow.f64 (exp.f64 eps) b)))) (/.f64 eps (sqrt.f64 (-.f64 1 (pow.f64 (exp.f64 eps) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 eps eps)) (sqrt.f64 (-.f64 1 (pow.f64 (exp.f64 eps) b)))) (/.f64 (cbrt.f64 eps) (sqrt.f64 (-.f64 1 (pow.f64 (exp.f64 eps) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 eps (-.f64 1 (pow.f64 (pow.f64 (exp.f64 eps) b) 3))) (+.f64 1 (+.f64 (pow.f64 (exp.f64 eps) b) (pow.f64 (pow.f64 (exp.f64 eps) b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 eps (-.f64 1 (pow.f64 (pow.f64 (exp.f64 eps) b) 2))) (+.f64 1 (pow.f64 (exp.f64 eps) b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) b))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) b)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) b)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 1 (pow.f64 (exp.f64 eps) b)) eps) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 eps (neg.f64 (-.f64 1 (pow.f64 (exp.f64 eps) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) b))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) b))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 eps 3) (pow.f64 (-.f64 1 (pow.f64 (exp.f64 eps) b)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) b)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (expm1.f64 (*.f64 b eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (exp.f64 eps) b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 eps) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (exp.f64 eps) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (exp.f64 eps) b)) (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 eps) b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 eps) b)) 2) (cbrt.f64 (pow.f64 (exp.f64 eps) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (exp.f64 eps) b)) (sqrt.f64 (pow.f64 (exp.f64 eps) b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (pow.f64 (exp.f64 eps) b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (pow.f64 (exp.f64 eps) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (pow.f64 (exp.f64 eps) b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 eps) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 eps) b) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 eps) b)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 b) eps)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 b) (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (exp.f64 eps) b) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (exp.f64 eps) b)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (pow.f64 (exp.f64 eps) b)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (*.f64 b eps))) (sqrt.f64 (*.f64 b eps)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 b eps)) 2)) (cbrt.f64 (*.f64 b eps)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (neg.f64 b)) eps)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 -1) (*.f64 b eps))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (*.f64 b eps))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (pow.f64 (exp.f64 eps) b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (exp.f64 eps) b)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (exp.f64 eps) b) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (exp.f64 eps) b)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (exp.f64 eps) b)))))))

simplify79.0ms (0.4%)

Algorithm
egg-herbie
Rules
586×distribute-neg-in_binary64
454×distribute-rgt-in_binary64
449×distribute-lft-in_binary64
398×associate-+l+_binary64
382×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01191735
14141681
217501602
364681518
Stop Event
node limit
Counts
197 → 146
Calls
Call 1
Inputs
(*.f64 eps b)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (*.f64 eps b))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (+.f64 (*.f64 eps b) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 eps 4) (pow.f64 b 4))) (+.f64 (*.f64 eps b) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3))))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(*.f64 eps b)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (*.f64 eps b))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (+.f64 (*.f64 eps b) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 eps 4) (pow.f64 b 4))) (+.f64 (*.f64 eps b) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3))))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(/.f64 1 b)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/24 (pow.f64 b 2)) (+.f64 (*.f64 1/2 (*.f64 b (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (*.f64 1/12 (pow.f64 b 2)))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 b 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (+.f64 (*.f64 1/120 (pow.f64 b 3)) (+.f64 (*.f64 -1/48 (pow.f64 b 3)) (*.f64 1/2 (*.f64 b (+.f64 (*.f64 -1/24 (pow.f64 b 2)) (+.f64 (*.f64 1/2 (*.f64 b (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (*.f64 1/12 (pow.f64 b 2))))))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/24 (pow.f64 b 2)) (+.f64 (*.f64 1/2 (*.f64 b (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (*.f64 1/12 (pow.f64 b 2)))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b))))
(*.f64 eps (-.f64 (/.f64 1 (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))) 1/2))
(*.f64 eps (-.f64 (/.f64 1 (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))) 1/2))
(*.f64 eps (-.f64 (/.f64 1 (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))) 1/2))
(*.f64 eps (-.f64 (/.f64 1 (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))) 1/2))
(*.f64 -1 (*.f64 eps (-.f64 1/2 (/.f64 1 (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))))))
(*.f64 -1 (*.f64 eps (-.f64 1/2 (/.f64 1 (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))))))
(*.f64 -1 (*.f64 eps (-.f64 1/2 (/.f64 1 (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))))))
(*.f64 -1 (*.f64 eps (-.f64 1/2 (/.f64 1 (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))))))
(/.f64 1 b)
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))) b)) (/.f64 1 b))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))) b)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/24 (pow.f64 eps 3)) (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))))) (*.f64 1/12 (pow.f64 eps 3)))) (pow.f64 b 2))) (/.f64 1 b)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))) b)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/24 (pow.f64 eps 3)) (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))))) (*.f64 1/12 (pow.f64 eps 3)))) eps)) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))))) (*.f64 1/120 (pow.f64 eps 4))))) (pow.f64 b 3))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/24 (pow.f64 eps 3)) (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))))) (*.f64 1/12 (pow.f64 eps 3)))) (pow.f64 b 2))) (/.f64 1 b))))
(+.f64 (*.f64 -1/2 eps) (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))))
(+.f64 (*.f64 -1/2 eps) (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))))
(+.f64 (*.f64 -1/2 eps) (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))))
(+.f64 (*.f64 -1/2 eps) (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))))
(+.f64 (*.f64 -1/2 eps) (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))))
(+.f64 (*.f64 -1/2 eps) (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))))
(+.f64 (*.f64 -1/2 eps) (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))))
(+.f64 (*.f64 -1/2 eps) (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))))
(/.f64 1 b)
(+.f64 (*.f64 1/2 eps) (/.f64 1 b))
(+.f64 (*.f64 1/2 eps) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b)))
(+.f64 (*.f64 1/2 eps) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/24 (pow.f64 b 2)) (+.f64 (*.f64 1/2 (*.f64 b (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (*.f64 1/12 (pow.f64 b 2)))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 1 b)
(+.f64 (*.f64 1/2 eps) (/.f64 1 b))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))) b)) (+.f64 (*.f64 1/2 eps) (/.f64 1 b)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))) b)) (+.f64 (*.f64 1/2 eps) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/24 (pow.f64 eps 3)) (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))))) (*.f64 1/12 (pow.f64 eps 3)))) (pow.f64 b 2))) (/.f64 1 b))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
1
(+.f64 1 (*.f64 -1 (*.f64 eps b)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (+.f64 1 (*.f64 -1 (*.f64 eps b))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (+.f64 1 (+.f64 (*.f64 -1 (*.f64 eps b)) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3))))))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (neg.f64 (*.f64 eps b)))
1
(+.f64 1 (*.f64 -1 (*.f64 eps b)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (+.f64 1 (*.f64 -1 (*.f64 eps b))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (+.f64 1 (+.f64 (*.f64 -1 (*.f64 eps b)) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3))))))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (neg.f64 (*.f64 eps b)))
Outputs
(*.f64 eps b)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (*.f64 eps b))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (*.f64 b b)) (*.f64 eps b))
(fma.f64 -1/2 (*.f64 (*.f64 eps b) (*.f64 eps b)) (*.f64 eps b))
(*.f64 b (+.f64 eps (*.f64 b (*.f64 eps (*.f64 eps -1/2)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (+.f64 (*.f64 eps b) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3)))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (*.f64 b b)) (fma.f64 eps b (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3)))))
(fma.f64 -1/2 (*.f64 (*.f64 eps b) (*.f64 eps b)) (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3)) (*.f64 eps b)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (*.f64 b b))) (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3)) (*.f64 eps b)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 eps 4) (pow.f64 b 4))) (+.f64 (*.f64 eps b) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3))))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (*.f64 b b)) (fma.f64 -1/24 (*.f64 (pow.f64 eps 4) (pow.f64 b 4)) (fma.f64 eps b (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3))))))
(fma.f64 -1/2 (*.f64 (*.f64 eps b) (*.f64 eps b)) (fma.f64 -1/24 (*.f64 (pow.f64 eps 4) (pow.f64 b 4)) (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3)) (*.f64 eps b))))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (*.f64 b b))) (fma.f64 -1/24 (*.f64 (pow.f64 eps 4) (pow.f64 b 4)) (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3)) (*.f64 eps b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b)))
(neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b)))
(neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b)))
(neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b)))
(neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b)))
(neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b)))
(neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b)))
(neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b)))
(neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))
(*.f64 eps b)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (*.f64 eps b))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (*.f64 b b)) (*.f64 eps b))
(fma.f64 -1/2 (*.f64 (*.f64 eps b) (*.f64 eps b)) (*.f64 eps b))
(*.f64 b (+.f64 eps (*.f64 b (*.f64 eps (*.f64 eps -1/2)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (+.f64 (*.f64 eps b) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3)))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (*.f64 b b)) (fma.f64 eps b (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3)))))
(fma.f64 -1/2 (*.f64 (*.f64 eps b) (*.f64 eps b)) (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3)) (*.f64 eps b)))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (*.f64 b b))) (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3)) (*.f64 eps b)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (+.f64 (*.f64 -1/24 (*.f64 (pow.f64 eps 4) (pow.f64 b 4))) (+.f64 (*.f64 eps b) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3))))))
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (*.f64 b b)) (fma.f64 -1/24 (*.f64 (pow.f64 eps 4) (pow.f64 b 4)) (fma.f64 eps b (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3))))))
(fma.f64 -1/2 (*.f64 (*.f64 eps b) (*.f64 eps b)) (fma.f64 -1/24 (*.f64 (pow.f64 eps 4) (pow.f64 b 4)) (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3)) (*.f64 eps b))))
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (*.f64 b b))) (fma.f64 -1/24 (*.f64 (pow.f64 eps 4) (pow.f64 b 4)) (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3)) (*.f64 eps b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b)))
(neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b)))
(neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b)))
(neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b)))
(neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b)))
(neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b)))
(neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b)))
(neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))
(-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))
(-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b)))
(neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))
(/.f64 1 b)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b))
(fma.f64 -1 (*.f64 (*.f64 eps eps) (*.f64 b -1/12)) (/.f64 1 b))
(-.f64 (/.f64 1 b) (*.f64 (*.f64 eps eps) (*.f64 b -1/12)))
(fma.f64 (*.f64 (*.f64 eps eps) 1/12) b (/.f64 1 b))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/24 (pow.f64 b 2)) (+.f64 (*.f64 1/2 (*.f64 b (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (*.f64 1/12 (pow.f64 b 2)))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b)))
(fma.f64 -1 (*.f64 (pow.f64 eps 3) (fma.f64 -1/24 (*.f64 b b) (fma.f64 1/2 (*.f64 b (*.f64 b -1/12)) (*.f64 (*.f64 b b) 1/12)))) (fma.f64 -1 (*.f64 (*.f64 eps eps) (*.f64 b -1/12)) (/.f64 1 b)))
(-.f64 (-.f64 (/.f64 1 b) (*.f64 (*.f64 eps eps) (*.f64 b -1/12))) (*.f64 (pow.f64 eps 3) (fma.f64 (*.f64 b b) -1/24 (fma.f64 1/2 (*.f64 (*.f64 b b) -1/12) (*.f64 (*.f64 b b) 1/12)))))
(-.f64 (/.f64 1 b) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 eps (+.f64 (*.f64 (*.f64 b -1/12) (*.f64 b 1/2)) (*.f64 (*.f64 b b) 1/24))) (*.f64 b -1/12))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 4) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 b 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (+.f64 (*.f64 1/120 (pow.f64 b 3)) (+.f64 (*.f64 -1/48 (pow.f64 b 3)) (*.f64 1/2 (*.f64 b (+.f64 (*.f64 -1/24 (pow.f64 b 2)) (+.f64 (*.f64 1/2 (*.f64 b (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (*.f64 1/12 (pow.f64 b 2))))))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/24 (pow.f64 b 2)) (+.f64 (*.f64 1/2 (*.f64 b (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (*.f64 1/12 (pow.f64 b 2)))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b))))
(fma.f64 -1 (*.f64 (pow.f64 eps 4) (fma.f64 -1/6 (*.f64 (*.f64 b b) (*.f64 b -1/12)) (fma.f64 1/120 (pow.f64 b 3) (fma.f64 -1/48 (pow.f64 b 3) (*.f64 1/2 (*.f64 b (fma.f64 -1/24 (*.f64 b b) (fma.f64 1/2 (*.f64 b (*.f64 b -1/12)) (*.f64 (*.f64 b b) 1/12))))))))) (fma.f64 -1 (*.f64 (pow.f64 eps 3) (fma.f64 -1/24 (*.f64 b b) (fma.f64 1/2 (*.f64 b (*.f64 b -1/12)) (*.f64 (*.f64 b b) 1/12)))) (fma.f64 -1 (*.f64 (*.f64 eps eps) (*.f64 b -1/12)) (/.f64 1 b))))
(-.f64 (-.f64 (-.f64 (/.f64 1 b) (*.f64 (*.f64 eps eps) (*.f64 b -1/12))) (*.f64 (pow.f64 eps 3) (fma.f64 (*.f64 b b) -1/24 (fma.f64 1/2 (*.f64 (*.f64 b b) -1/12) (*.f64 (*.f64 b b) 1/12))))) (*.f64 (pow.f64 eps 4) (fma.f64 -1/6 (*.f64 (pow.f64 b 3) -1/12) (+.f64 (*.f64 b (*.f64 (fma.f64 (*.f64 b b) -1/24 (fma.f64 1/2 (*.f64 (*.f64 b b) -1/12) (*.f64 (*.f64 b b) 1/12))) 1/2)) (*.f64 (pow.f64 b 3) -1/80)))))
(-.f64 (-.f64 (/.f64 1 b) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 eps (+.f64 (*.f64 (*.f64 b -1/12) (*.f64 b 1/2)) (*.f64 (*.f64 b b) 1/24))) (*.f64 b -1/12)))) (*.f64 (pow.f64 eps 4) (fma.f64 -1/6 (*.f64 (pow.f64 b 3) -1/12) (+.f64 (*.f64 b (*.f64 1/2 (+.f64 (*.f64 (*.f64 b -1/12) (*.f64 b 1/2)) (*.f64 (*.f64 b b) 1/24)))) (*.f64 (pow.f64 b 3) -1/80)))))
(-.f64 (/.f64 1 b) (+.f64 (*.f64 (pow.f64 eps 4) (fma.f64 -1/6 (*.f64 (pow.f64 b 3) -1/12) (+.f64 (*.f64 b (*.f64 1/2 (+.f64 (*.f64 (*.f64 b -1/12) (*.f64 b 1/2)) (*.f64 (*.f64 b b) 1/24)))) (*.f64 (pow.f64 b 3) -1/80)))) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 eps (+.f64 (*.f64 (*.f64 b -1/12) (*.f64 b 1/2)) (*.f64 (*.f64 b b) 1/24))) (*.f64 b -1/12)))))
(*.f64 eps (-.f64 (/.f64 1 (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))) 1/2))
(*.f64 eps (+.f64 (/.f64 1 (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))) -1/2))
(*.f64 eps (+.f64 -1/2 (/.f64 1 (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))))
(fma.f64 eps -1/2 (/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))))
(*.f64 eps (-.f64 (/.f64 1 (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))) 1/2))
(*.f64 eps (+.f64 (/.f64 1 (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))) -1/2))
(*.f64 eps (+.f64 -1/2 (/.f64 1 (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))))
(fma.f64 eps -1/2 (/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))))
(*.f64 eps (-.f64 (/.f64 1 (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))) 1/2))
(*.f64 eps (+.f64 (/.f64 1 (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))) -1/2))
(*.f64 eps (+.f64 -1/2 (/.f64 1 (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))))
(fma.f64 eps -1/2 (/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))))
(*.f64 eps (-.f64 (/.f64 1 (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))) 1/2))
(*.f64 eps (+.f64 (/.f64 1 (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))) -1/2))
(*.f64 eps (+.f64 -1/2 (/.f64 1 (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))))
(fma.f64 eps -1/2 (/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))))
(*.f64 -1 (*.f64 eps (-.f64 1/2 (/.f64 1 (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))))))
(*.f64 eps (+.f64 (/.f64 1 (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))) -1/2))
(*.f64 eps (+.f64 -1/2 (/.f64 1 (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))))
(fma.f64 eps -1/2 (/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))))
(*.f64 -1 (*.f64 eps (-.f64 1/2 (/.f64 1 (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))))))
(*.f64 eps (+.f64 (/.f64 1 (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))) -1/2))
(*.f64 eps (+.f64 -1/2 (/.f64 1 (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))))
(fma.f64 eps -1/2 (/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))))
(*.f64 -1 (*.f64 eps (-.f64 1/2 (/.f64 1 (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))))))
(*.f64 eps (+.f64 (/.f64 1 (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))) -1/2))
(*.f64 eps (+.f64 -1/2 (/.f64 1 (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))))
(fma.f64 eps -1/2 (/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))))
(*.f64 -1 (*.f64 eps (-.f64 1/2 (/.f64 1 (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))))))
(*.f64 eps (+.f64 (/.f64 1 (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))) -1/2))
(*.f64 eps (+.f64 -1/2 (/.f64 1 (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))))
(fma.f64 eps -1/2 (/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))))
(/.f64 1 b)
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))) b)) (/.f64 1 b))
(fma.f64 -1 (*.f64 (*.f64 eps eps) (*.f64 b -1/12)) (/.f64 1 b))
(-.f64 (/.f64 1 b) (*.f64 (*.f64 eps eps) (*.f64 b -1/12)))
(fma.f64 (*.f64 (*.f64 eps eps) 1/12) b (/.f64 1 b))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))) b)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/24 (pow.f64 eps 3)) (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))))) (*.f64 1/12 (pow.f64 eps 3)))) (pow.f64 b 2))) (/.f64 1 b)))
(fma.f64 -1 (*.f64 b (*.f64 (*.f64 eps eps) -1/12)) (fma.f64 -1 (*.f64 (*.f64 b b) (fma.f64 -1/24 (pow.f64 eps 3) (fma.f64 1/2 (*.f64 eps (*.f64 (*.f64 eps eps) -1/12)) (*.f64 (pow.f64 eps 3) 1/12)))) (/.f64 1 b)))
(-.f64 (-.f64 (/.f64 1 b) (*.f64 b (*.f64 b (fma.f64 (pow.f64 eps 3) -1/24 (fma.f64 (pow.f64 eps 3) 1/12 (*.f64 1/2 (*.f64 (pow.f64 eps 3) -1/12))))))) (*.f64 (*.f64 eps eps) (*.f64 b -1/12)))
(+.f64 (/.f64 1 b) (*.f64 b (-.f64 (*.f64 (*.f64 eps eps) 1/12) (*.f64 b (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 3) -1/12)) (*.f64 (pow.f64 eps 3) 1/24))))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))) b)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/24 (pow.f64 eps 3)) (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))))) (*.f64 1/12 (pow.f64 eps 3)))) eps)) (+.f64 (*.f64 -1/48 (pow.f64 eps 4)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))))) (*.f64 1/120 (pow.f64 eps 4))))) (pow.f64 b 3))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/24 (pow.f64 eps 3)) (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))))) (*.f64 1/12 (pow.f64 eps 3)))) (pow.f64 b 2))) (/.f64 1 b))))
(fma.f64 -1 (*.f64 b (*.f64 (*.f64 eps eps) -1/12)) (fma.f64 -1 (*.f64 (pow.f64 b 3) (fma.f64 1/2 (*.f64 eps (fma.f64 -1/24 (pow.f64 eps 3) (fma.f64 1/2 (*.f64 eps (*.f64 (*.f64 eps eps) -1/12)) (*.f64 (pow.f64 eps 3) 1/12)))) (fma.f64 -1/48 (pow.f64 eps 4) (fma.f64 -1/6 (*.f64 (*.f64 eps eps) (*.f64 (*.f64 eps eps) -1/12)) (*.f64 (pow.f64 eps 4) 1/120))))) (fma.f64 -1 (*.f64 (*.f64 b b) (fma.f64 -1/24 (pow.f64 eps 3) (fma.f64 1/2 (*.f64 eps (*.f64 (*.f64 eps eps) -1/12)) (*.f64 (pow.f64 eps 3) 1/12)))) (/.f64 1 b))))
(-.f64 (-.f64 (-.f64 (/.f64 1 b) (*.f64 b (*.f64 b (fma.f64 (pow.f64 eps 3) -1/24 (fma.f64 (pow.f64 eps 3) 1/12 (*.f64 1/2 (*.f64 (pow.f64 eps 3) -1/12))))))) (*.f64 (pow.f64 b 3) (fma.f64 1/2 (*.f64 eps (fma.f64 (pow.f64 eps 3) -1/24 (fma.f64 (pow.f64 eps 3) 1/12 (*.f64 1/2 (*.f64 (pow.f64 eps 3) -1/12))))) (fma.f64 (pow.f64 eps 4) -1/48 (fma.f64 (pow.f64 eps 4) 1/120 (*.f64 -1/6 (*.f64 (pow.f64 eps 4) -1/12))))))) (*.f64 (*.f64 eps eps) (*.f64 b -1/12)))
(fma.f64 (*.f64 (*.f64 eps eps) 1/12) b (-.f64 (/.f64 1 b) (*.f64 (*.f64 b b) (+.f64 (*.f64 b (fma.f64 1/2 (*.f64 eps (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 3) -1/12)) (*.f64 (pow.f64 eps 3) 1/24))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 4) -1/12)) (*.f64 (pow.f64 eps 4) -1/80)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 3) -1/12)) (*.f64 (pow.f64 eps 3) 1/24))))))
(-.f64 (fma.f64 (*.f64 (*.f64 eps eps) 1/12) b (/.f64 1 b)) (*.f64 (*.f64 b b) (+.f64 (*.f64 b (fma.f64 1/2 (*.f64 eps (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 3) -1/12)) (*.f64 (pow.f64 eps 3) 1/24))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 4) -1/12)) (*.f64 (pow.f64 eps 4) -1/80)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 3) -1/12)) (*.f64 (pow.f64 eps 3) 1/24)))))
(+.f64 (*.f64 -1/2 eps) (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))))
(*.f64 eps (+.f64 (/.f64 1 (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))) -1/2))
(*.f64 eps (+.f64 -1/2 (/.f64 1 (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))))
(fma.f64 eps -1/2 (/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))))
(+.f64 (*.f64 -1/2 eps) (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))))
(*.f64 eps (+.f64 (/.f64 1 (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))) -1/2))
(*.f64 eps (+.f64 -1/2 (/.f64 1 (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))))
(fma.f64 eps -1/2 (/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))))
(+.f64 (*.f64 -1/2 eps) (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))))
(*.f64 eps (+.f64 (/.f64 1 (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))) -1/2))
(*.f64 eps (+.f64 -1/2 (/.f64 1 (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))))
(fma.f64 eps -1/2 (/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))))
(+.f64 (*.f64 -1/2 eps) (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))))
(*.f64 eps (+.f64 (/.f64 1 (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))) -1/2))
(*.f64 eps (+.f64 -1/2 (/.f64 1 (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))))
(fma.f64 eps -1/2 (/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))))
(+.f64 (*.f64 -1/2 eps) (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))))
(*.f64 eps (+.f64 (/.f64 1 (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))) -1/2))
(*.f64 eps (+.f64 -1/2 (/.f64 1 (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))))
(fma.f64 eps -1/2 (/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))))
(+.f64 (*.f64 -1/2 eps) (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))))
(*.f64 eps (+.f64 (/.f64 1 (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))) -1/2))
(*.f64 eps (+.f64 -1/2 (/.f64 1 (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))))
(fma.f64 eps -1/2 (/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))))
(+.f64 (*.f64 -1/2 eps) (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))))
(*.f64 eps (+.f64 (/.f64 1 (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))) -1/2))
(*.f64 eps (+.f64 -1/2 (/.f64 1 (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))))
(fma.f64 eps -1/2 (/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))))
(+.f64 (*.f64 -1/2 eps) (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b))))))
(*.f64 eps (+.f64 (/.f64 1 (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b))))) -1/2))
(*.f64 eps (+.f64 -1/2 (/.f64 1 (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))))
(fma.f64 eps -1/2 (/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b))))))
(/.f64 1 b)
(+.f64 (*.f64 1/2 eps) (/.f64 1 b))
(fma.f64 1/2 eps (/.f64 1 b))
(fma.f64 eps 1/2 (/.f64 1 b))
(+.f64 (*.f64 1/2 eps) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b)))
(fma.f64 1/2 eps (fma.f64 -1 (*.f64 (*.f64 eps eps) (*.f64 b -1/12)) (/.f64 1 b)))
(-.f64 (fma.f64 eps 1/2 (/.f64 1 b)) (*.f64 (*.f64 eps eps) (*.f64 b -1/12)))
(fma.f64 eps 1/2 (fma.f64 (*.f64 (*.f64 eps eps) 1/12) b (/.f64 1 b)))
(+.f64 (*.f64 1/2 eps) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/24 (pow.f64 b 2)) (+.f64 (*.f64 1/2 (*.f64 b (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (*.f64 1/12 (pow.f64 b 2)))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b))))
(fma.f64 1/2 eps (fma.f64 -1 (*.f64 (pow.f64 eps 3) (fma.f64 -1/24 (*.f64 b b) (fma.f64 1/2 (*.f64 b (*.f64 b -1/12)) (*.f64 (*.f64 b b) 1/12)))) (fma.f64 -1 (*.f64 (*.f64 eps eps) (*.f64 b -1/12)) (/.f64 1 b))))
(fma.f64 eps 1/2 (-.f64 (-.f64 (/.f64 1 b) (*.f64 (*.f64 eps eps) (*.f64 b -1/12))) (*.f64 (pow.f64 eps 3) (fma.f64 (*.f64 b b) -1/24 (fma.f64 1/2 (*.f64 (*.f64 b b) -1/12) (*.f64 (*.f64 b b) 1/12))))))
(fma.f64 eps 1/2 (-.f64 (/.f64 1 b) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 eps (+.f64 (*.f64 (*.f64 b -1/12) (*.f64 b 1/2)) (*.f64 (*.f64 b b) 1/24))) (*.f64 b -1/12)))))
(-.f64 (fma.f64 eps 1/2 (/.f64 1 b)) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 eps (+.f64 (*.f64 (*.f64 b -1/12) (*.f64 b 1/2)) (*.f64 (*.f64 b b) 1/24))) (*.f64 b -1/12))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))
(/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))
(/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))
(/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))
(/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))
(/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))
(/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))
(/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))
(/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 1 b)
(+.f64 (*.f64 1/2 eps) (/.f64 1 b))
(fma.f64 1/2 eps (/.f64 1 b))
(fma.f64 eps 1/2 (/.f64 1 b))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))) b)) (+.f64 (*.f64 1/2 eps) (/.f64 1 b)))
(fma.f64 1/2 eps (fma.f64 -1 (*.f64 (*.f64 eps eps) (*.f64 b -1/12)) (/.f64 1 b)))
(-.f64 (fma.f64 eps 1/2 (/.f64 1 b)) (*.f64 (*.f64 eps eps) (*.f64 b -1/12)))
(fma.f64 eps 1/2 (fma.f64 (*.f64 (*.f64 eps eps) 1/12) b (/.f64 1 b)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))) b)) (+.f64 (*.f64 1/2 eps) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/24 (pow.f64 eps 3)) (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))))) (*.f64 1/12 (pow.f64 eps 3)))) (pow.f64 b 2))) (/.f64 1 b))))
(fma.f64 -1 (*.f64 b (*.f64 (*.f64 eps eps) -1/12)) (fma.f64 1/2 eps (fma.f64 -1 (*.f64 (*.f64 b b) (fma.f64 -1/24 (pow.f64 eps 3) (fma.f64 1/2 (*.f64 eps (*.f64 (*.f64 eps eps) -1/12)) (*.f64 (pow.f64 eps 3) 1/12)))) (/.f64 1 b))))
(-.f64 (fma.f64 eps 1/2 (-.f64 (/.f64 1 b) (*.f64 b (*.f64 b (fma.f64 (pow.f64 eps 3) -1/24 (fma.f64 (pow.f64 eps 3) 1/12 (*.f64 1/2 (*.f64 (pow.f64 eps 3) -1/12)))))))) (*.f64 (*.f64 eps eps) (*.f64 b -1/12)))
(+.f64 (fma.f64 eps 1/2 (/.f64 1 b)) (*.f64 b (-.f64 (*.f64 (*.f64 eps eps) 1/12) (*.f64 b (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 3) -1/12)) (*.f64 (pow.f64 eps 3) 1/24))))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))
(/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))
(/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))
(/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))
(/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))
(/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))
(/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))
(/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 eps b)))))
(/.f64 eps (-.f64 1 (exp.f64 (*.f64 eps (neg.f64 b)))))
(/.f64 eps (-.f64 1 (pow.f64 (exp.f64 eps) (neg.f64 b))))
(/.f64 eps (neg.f64 (expm1.f64 (*.f64 eps (neg.f64 b)))))
1
(+.f64 1 (*.f64 -1 (*.f64 eps b)))
(+.f64 1 (*.f64 eps (neg.f64 b)))
(-.f64 1 (*.f64 eps b))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (+.f64 1 (*.f64 -1 (*.f64 eps b))))
(fma.f64 1/2 (*.f64 (*.f64 eps eps) (*.f64 b b)) (+.f64 1 (*.f64 eps (neg.f64 b))))
(-.f64 (fma.f64 (*.f64 (*.f64 eps b) (*.f64 eps b)) 1/2 1) (*.f64 eps b))
(-.f64 (fma.f64 (*.f64 eps (*.f64 eps 1/2)) (*.f64 b b) 1) (*.f64 eps b))
(+.f64 1 (*.f64 b (-.f64 (*.f64 b (*.f64 eps (*.f64 eps 1/2))) eps)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (+.f64 1 (+.f64 (*.f64 -1 (*.f64 eps b)) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3))))))
(fma.f64 1/2 (*.f64 (*.f64 eps eps) (*.f64 b b)) (+.f64 1 (fma.f64 -1 (*.f64 eps b) (*.f64 (*.f64 (pow.f64 eps 3) (pow.f64 b 3)) -1/6))))
(+.f64 (fma.f64 (*.f64 (pow.f64 eps 3) (pow.f64 b 3)) -1/6 (*.f64 eps (neg.f64 b))) (fma.f64 (*.f64 (*.f64 eps b) (*.f64 eps b)) 1/2 1))
(-.f64 (fma.f64 (*.f64 eps (*.f64 eps 1/2)) (*.f64 b b) 1) (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3)) (*.f64 eps b)))
(-.f64 (*.f64 (*.f64 b b) (+.f64 (*.f64 b (*.f64 (pow.f64 eps 3) -1/6)) (*.f64 eps (*.f64 eps 1/2)))) (fma.f64 eps b -1))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (*.f64 eps (neg.f64 b)))
(pow.f64 (exp.f64 eps) (neg.f64 b))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (*.f64 eps (neg.f64 b)))
(pow.f64 (exp.f64 eps) (neg.f64 b))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (*.f64 eps (neg.f64 b)))
(pow.f64 (exp.f64 eps) (neg.f64 b))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (*.f64 eps (neg.f64 b)))
(pow.f64 (exp.f64 eps) (neg.f64 b))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (*.f64 eps (neg.f64 b)))
(pow.f64 (exp.f64 eps) (neg.f64 b))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (*.f64 eps (neg.f64 b)))
(pow.f64 (exp.f64 eps) (neg.f64 b))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (*.f64 eps (neg.f64 b)))
(pow.f64 (exp.f64 eps) (neg.f64 b))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (*.f64 eps (neg.f64 b)))
(pow.f64 (exp.f64 eps) (neg.f64 b))
1
(+.f64 1 (*.f64 -1 (*.f64 eps b)))
(+.f64 1 (*.f64 eps (neg.f64 b)))
(-.f64 1 (*.f64 eps b))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (+.f64 1 (*.f64 -1 (*.f64 eps b))))
(fma.f64 1/2 (*.f64 (*.f64 eps eps) (*.f64 b b)) (+.f64 1 (*.f64 eps (neg.f64 b))))
(-.f64 (fma.f64 (*.f64 (*.f64 eps b) (*.f64 eps b)) 1/2 1) (*.f64 eps b))
(-.f64 (fma.f64 (*.f64 eps (*.f64 eps 1/2)) (*.f64 b b) 1) (*.f64 eps b))
(+.f64 1 (*.f64 b (-.f64 (*.f64 b (*.f64 eps (*.f64 eps 1/2))) eps)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (+.f64 1 (+.f64 (*.f64 -1 (*.f64 eps b)) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3))))))
(fma.f64 1/2 (*.f64 (*.f64 eps eps) (*.f64 b b)) (+.f64 1 (fma.f64 -1 (*.f64 eps b) (*.f64 (*.f64 (pow.f64 eps 3) (pow.f64 b 3)) -1/6))))
(+.f64 (fma.f64 (*.f64 (pow.f64 eps 3) (pow.f64 b 3)) -1/6 (*.f64 eps (neg.f64 b))) (fma.f64 (*.f64 (*.f64 eps b) (*.f64 eps b)) 1/2 1))
(-.f64 (fma.f64 (*.f64 eps (*.f64 eps 1/2)) (*.f64 b b) 1) (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3)) (*.f64 eps b)))
(-.f64 (*.f64 (*.f64 b b) (+.f64 (*.f64 b (*.f64 (pow.f64 eps 3) -1/6)) (*.f64 eps (*.f64 eps 1/2)))) (fma.f64 eps b -1))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (*.f64 eps (neg.f64 b)))
(pow.f64 (exp.f64 eps) (neg.f64 b))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (*.f64 eps (neg.f64 b)))
(pow.f64 (exp.f64 eps) (neg.f64 b))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (*.f64 eps (neg.f64 b)))
(pow.f64 (exp.f64 eps) (neg.f64 b))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (*.f64 eps (neg.f64 b)))
(pow.f64 (exp.f64 eps) (neg.f64 b))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (*.f64 eps (neg.f64 b)))
(pow.f64 (exp.f64 eps) (neg.f64 b))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (*.f64 eps (neg.f64 b)))
(pow.f64 (exp.f64 eps) (neg.f64 b))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (*.f64 eps (neg.f64 b)))
(pow.f64 (exp.f64 eps) (neg.f64 b))
(exp.f64 (neg.f64 (*.f64 eps b)))
(exp.f64 (*.f64 eps (neg.f64 b)))
(pow.f64 (exp.f64 eps) (neg.f64 b))

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(expm1.f64 (*.f64 a eps))
0.1b
(*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))
15.8b
(*.f64 eps (/.f64 (expm1.f64 (*.f64 a eps)) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
28.4b
(/.f64 (expm1.f64 (*.f64 a eps)) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))
Compiler

Compiled 66 to 12 computations (81.8% saved)

series13.0ms (0.1%)

Counts
3 → 96
Calls

24 calls:

TimeVariablePointExpression
1.0ms
eps
@-inf
(*.f64 eps (/.f64 (expm1.f64 (*.f64 a eps)) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
1.0ms
a
@0
(/.f64 (expm1.f64 (*.f64 a eps)) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))
1.0ms
eps
@inf
(*.f64 eps (/.f64 (expm1.f64 (*.f64 a eps)) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
1.0ms
b
@-inf
(/.f64 (expm1.f64 (*.f64 a eps)) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))
1.0ms
a
@0
(*.f64 eps (/.f64 (expm1.f64 (*.f64 a eps)) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))

rewrite136.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
639×log-prod_binary64
427×pow-prod-down_binary64
291×pow2_binary64
258×pow-unpow_binary64
211×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01353
126624
2300124
Stop Event
node limit
Counts
3 → 119
Calls
Call 1
Inputs
(/.f64 (expm1.f64 (*.f64 a eps)) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))
(*.f64 eps (/.f64 (expm1.f64 (*.f64 a eps)) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
(expm1.f64 (*.f64 a eps))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1 (expm1.f64 (*.f64 eps b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 1 (expm1.f64 (*.f64 eps b))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (expm1.f64 (*.f64 eps b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (expm1.f64 (*.f64 eps b)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (expm1.f64 (*.f64 eps b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 1 (expm1.f64 (*.f64 eps b))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (exp.f64 eps) a) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 eps b)))) (/.f64 (/.f64 1 (expm1.f64 (*.f64 eps b))) (expm1.f64 (*.f64 a eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (expm1.f64 (*.f64 a eps)) (/.f64 (/.f64 1 (expm1.f64 (*.f64 eps b))) (expm1.f64 (*.f64 a eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (expm1.f64 (*.f64 eps b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (expm1.f64 (*.f64 eps b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (expm1.f64 (*.f64 a eps))) 2) (*.f64 (cbrt.f64 (expm1.f64 (*.f64 a eps))) (/.f64 (/.f64 1 (expm1.f64 (*.f64 eps b))) (expm1.f64 (*.f64 a eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (expm1.f64 (*.f64 eps b)))) (cbrt.f64 (pow.f64 (expm1.f64 (*.f64 eps b)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (expm1.f64 (*.f64 eps b)) -2)) (/.f64 1 (cbrt.f64 (expm1.f64 (*.f64 eps b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (expm1.f64 (*.f64 a eps))) (*.f64 (sqrt.f64 (expm1.f64 (*.f64 a eps))) (/.f64 (/.f64 1 (expm1.f64 (*.f64 eps b))) (expm1.f64 (*.f64 a eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (expm1.f64 (*.f64 eps b)) -1/2) (pow.f64 (expm1.f64 (*.f64 eps b)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (expm1.f64 (*.f64 a eps))) (/.f64 1 (*.f64 (expm1.f64 (*.f64 eps b)) (neg.f64 (expm1.f64 (*.f64 a eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (expm1.f64 (*.f64 eps b))) (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 a eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (expm1.f64 (*.f64 a eps))) 2) 1) (/.f64 (cbrt.f64 (expm1.f64 (*.f64 a eps))) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 eps b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (expm1.f64 (*.f64 a eps))) 1) (/.f64 (sqrt.f64 (expm1.f64 (*.f64 a eps))) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 eps b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (expm1.f64 (*.f64 a eps)) -1/2) (/.f64 (sqrt.f64 (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 eps b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 eps b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (expm1.f64 (*.f64 a eps))) -1) (/.f64 (cbrt.f64 (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 eps b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 eps b))) (pow.f64 (expm1.f64 (*.f64 a eps)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (expm1.f64 (*.f64 a eps))) 2) (expm1.f64 (*.f64 eps b))) (pow.f64 (cbrt.f64 (expm1.f64 (*.f64 a eps))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 eps b)))) -2) (/.f64 (expm1.f64 (*.f64 a eps)) (cbrt.f64 (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 eps b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (expm1.f64 (*.f64 a eps))) 2) (cbrt.f64 (pow.f64 (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 eps b))) 2))) (/.f64 1 (cbrt.f64 (expm1.f64 (*.f64 eps b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (expm1.f64 (*.f64 a eps))) (cbrt.f64 (pow.f64 (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 eps b))) 2))) (/.f64 (sqrt.f64 (expm1.f64 (*.f64 a eps))) (cbrt.f64 (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 eps b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 eps b))) -1/2) (/.f64 (expm1.f64 (*.f64 a eps)) (sqrt.f64 (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 eps b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (expm1.f64 (*.f64 a eps))) 2) (sqrt.f64 (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 eps b))))) (/.f64 (cbrt.f64 (expm1.f64 (*.f64 a eps))) (sqrt.f64 (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 eps b))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (expm1.f64 (*.f64 eps b)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (expm1.f64 (*.f64 eps b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (expm1.f64 (*.f64 eps b)) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (expm1.f64 (*.f64 eps b)) 1) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (expm1.f64 (*.f64 eps b)) 3) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (cbrt.f64 (expm1.f64 (*.f64 eps b)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (expm1.f64 (*.f64 eps b))) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (expm1.f64 (*.f64 eps b)) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (expm1.f64 (*.f64 eps b))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (expm1.f64 (*.f64 eps b)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (expm1.f64 (*.f64 a eps)) 3) (pow.f64 (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 eps b))) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (expm1.f64 (*.f64 eps b)) 1) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (expm1.f64 (*.f64 a eps)) (*.f64 (expm1.f64 (*.f64 eps b)) (neg.f64 (expm1.f64 (*.f64 a eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (expm1.f64 (*.f64 eps b)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1 (expm1.f64 (*.f64 eps b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (expm1.f64 (*.f64 eps b))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (expm1.f64 (*.f64 eps b)) 1) -3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (expm1.f64 (*.f64 a eps)) 3) (pow.f64 (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 eps b))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1 (expm1.f64 (*.f64 eps b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1 (expm1.f64 (*.f64 eps b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log.f64 (expm1.f64 (*.f64 eps b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log.f64 (expm1.f64 (*.f64 eps b)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (neg.f64 (log.f64 (expm1.f64 (*.f64 eps b))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log.f64 (cbrt.f64 (expm1.f64 (*.f64 eps b))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (expm1.f64 (*.f64 eps b)) -1/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (-.f64 (log.f64 (expm1.f64 (*.f64 eps b))) 0) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 (expm1.f64 (*.f64 eps b)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 eps (expm1.f64 (*.f64 eps b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 eps (expm1.f64 (*.f64 eps b))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 eps (expm1.f64 (*.f64 eps b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 eps (expm1.f64 (*.f64 eps b)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 eps (expm1.f64 (*.f64 eps b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 eps (expm1.f64 (*.f64 eps b))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 eps (expm1.f64 (*.f64 eps b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 eps (/.f64 (expm1.f64 (*.f64 eps b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 eps b))) (*.f64 eps (expm1.f64 (*.f64 a eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (expm1.f64 (*.f64 a eps))) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 eps b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 eps (expm1.f64 (*.f64 a eps)))) (*.f64 (expm1.f64 (*.f64 eps b)) (neg.f64 (expm1.f64 (*.f64 a eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 eps b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 a eps))) (expm1.f64 (*.f64 eps b))) (expm1.f64 (*.f64 a eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 a eps))) 1) (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 eps b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 a eps))) (cbrt.f64 (pow.f64 (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 eps b))) 2))) (cbrt.f64 (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 eps b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 eps (expm1.f64 (*.f64 a eps))) (sqrt.f64 (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 eps b))))) (sqrt.f64 (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 eps b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (expm1.f64 (*.f64 a eps))) eps) (*.f64 (expm1.f64 (*.f64 eps b)) (neg.f64 (expm1.f64 (*.f64 a eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (neg.f64 (expm1.f64 (*.f64 a eps)))) (*.f64 (expm1.f64 (*.f64 eps b)) (neg.f64 (expm1.f64 (*.f64 a eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 eps (expm1.f64 (*.f64 eps b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 eps (expm1.f64 (*.f64 eps b))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 eps (expm1.f64 (*.f64 eps b))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 eps (expm1.f64 (*.f64 eps b)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 eps (expm1.f64 (*.f64 eps b)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (expm1.f64 (*.f64 a eps)) (expm1.f64 (*.f64 eps b))) (*.f64 eps (expm1.f64 (*.f64 a eps)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 eps (expm1.f64 (*.f64 eps b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 eps (expm1.f64 (*.f64 eps b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 eps (expm1.f64 (*.f64 eps b))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 eps (expm1.f64 (*.f64 eps b))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 eps (expm1.f64 (*.f64 eps b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 eps (expm1.f64 (*.f64 eps b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 eps (expm1.f64 (*.f64 eps b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 eps (expm1.f64 (*.f64 eps b)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 eps (expm1.f64 (*.f64 eps b))) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 eps (expm1.f64 (*.f64 eps b))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 eps (expm1.f64 (*.f64 eps b))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 eps (expm1.f64 (*.f64 eps b)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (exp.f64 eps) a) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (expm1.f64 (*.f64 a eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (expm1.f64 (*.f64 a eps)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (expm1.f64 (*.f64 a eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (expm1.f64 (*.f64 a eps))))) (log.f64 (sqrt.f64 (exp.f64 (expm1.f64 (*.f64 a eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 (exp.f64 eps) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (expm1.f64 (*.f64 a eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (expm1.f64 (*.f64 a eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (expm1.f64 (*.f64 a eps))) (pow.f64 (cbrt.f64 (expm1.f64 (*.f64 a eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (expm1.f64 (*.f64 a eps))) 2) (cbrt.f64 (expm1.f64 (*.f64 a eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (expm1.f64 (*.f64 a eps))) (sqrt.f64 (expm1.f64 (*.f64 a eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 eps) (*.f64 a 3)) 1) (+.f64 (pow.f64 (exp.f64 a) (+.f64 eps eps)) (+.f64 1 (*.f64 (pow.f64 (exp.f64 eps) a) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 a) (+.f64 eps eps)) 1) (+.f64 (pow.f64 (exp.f64 eps) a) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (expm1.f64 (*.f64 a eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (expm1.f64 (*.f64 a eps)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (expm1.f64 (*.f64 a eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (expm1.f64 (*.f64 a eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (expm1.f64 (*.f64 a eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (expm1.f64 (*.f64 a eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (expm1.f64 (*.f64 a eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (expm1.f64 (*.f64 a eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (expm1.f64 (*.f64 a eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (expm1.f64 (*.f64 a eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (expm1.f64 (*.f64 a eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (expm1.f64 (*.f64 a eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (expm1.f64 (*.f64 a eps)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (expm1.f64 (*.f64 a eps)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (expm1.f64 (*.f64 a eps)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (expm1.f64 (*.f64 a eps))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (pow.f64 (exp.f64 eps) a) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 eps) a)) 2) (cbrt.f64 (pow.f64 (exp.f64 eps) a)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (pow.f64 (exp.f64 eps) a)) (sqrt.f64 (pow.f64 (exp.f64 eps) a)) -1)))))

simplify89.0ms (0.5%)

Algorithm
egg-herbie
Rules
722×associate-*r*_binary64
501×distribute-rgt-neg-in_binary64
398×distribute-lft-neg-in_binary64
301×distribute-rgt-in_binary64
295×distribute-lft-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01071014
1379994
21518984
35935980
Stop Event
node limit
Counts
215 → 148
Calls
Call 1
Inputs
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (*.f64 eps b))
(-.f64 (/.f64 1 (*.f64 eps b)) 1/2)
(-.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (*.f64 -1 (*.f64 eps (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b))))) 1/2)
(-.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/24 (pow.f64 b 2)) (+.f64 (*.f64 -1/2 (*.f64 b (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (*.f64 -1/12 (pow.f64 b 2)))))) (*.f64 -1 (*.f64 eps (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))))) 1/2)
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (*.f64 eps b))
(-.f64 (/.f64 1 (*.f64 eps b)) 1/2)
(-.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (*.f64 -1 (*.f64 b (+.f64 (*.f64 1/6 eps) (*.f64 -1/4 eps))))) 1/2)
(-.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 b 2) (+.f64 (*.f64 1/24 (pow.f64 eps 2)) (+.f64 (*.f64 -1/12 (pow.f64 eps 2)) (*.f64 -1/2 (*.f64 eps (+.f64 (*.f64 1/6 eps) (*.f64 -1/4 eps)))))))) (*.f64 -1 (*.f64 b (+.f64 (*.f64 1/6 eps) (*.f64 -1/4 eps)))))) 1/2)
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 b)
(+.f64 (*.f64 -1/2 eps) (/.f64 1 b))
(+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 1/24 (pow.f64 b 2)) (+.f64 (*.f64 -1/2 (*.f64 b (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (*.f64 -1/12 (pow.f64 b 2)))))) (+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b))))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 b)
(+.f64 (*.f64 -1/2 eps) (/.f64 1 b))
(+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))) b)) (/.f64 1 b)))
(+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))) b)) (+.f64 (/.f64 1 b) (*.f64 -1 (*.f64 (pow.f64 b 2) (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 -1/12 (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 eps (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))))))))))))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 eps a)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 a 2))) (*.f64 eps a))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 a 2))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 a 3))) (*.f64 eps a)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 a 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (pow.f64 a 4))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 a 3))) (*.f64 eps a))))
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(*.f64 eps a)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 a 2))) (*.f64 eps a))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 a 2))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 a 3))) (*.f64 eps a)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 a 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (pow.f64 a 4))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 a 3))) (*.f64 eps a))))
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(-.f64 (exp.f64 (*.f64 eps a)) 1)
Outputs
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (expm1.f64 (*.f64 eps b)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (expm1.f64 (*.f64 eps b)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (expm1.f64 (*.f64 eps b)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (expm1.f64 (*.f64 eps b)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (expm1.f64 (*.f64 eps b)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (expm1.f64 (*.f64 eps b)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (expm1.f64 (*.f64 eps b)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (expm1.f64 (*.f64 eps b)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (expm1.f64 (*.f64 eps b)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (expm1.f64 (*.f64 eps b)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (expm1.f64 (*.f64 eps b)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (expm1.f64 (*.f64 eps b)))
(/.f64 1 (*.f64 eps b))
(/.f64 (/.f64 1 b) eps)
(-.f64 (/.f64 1 (*.f64 eps b)) 1/2)
(+.f64 (/.f64 1 (*.f64 eps b)) -1/2)
(+.f64 (/.f64 (/.f64 1 b) eps) -1/2)
(-.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (*.f64 -1 (*.f64 eps (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b))))) 1/2)
(+.f64 (/.f64 1 (*.f64 eps b)) (-.f64 (neg.f64 (*.f64 eps (*.f64 b -1/12))) 1/2))
(+.f64 (/.f64 (/.f64 1 b) eps) (fma.f64 (neg.f64 b) (*.f64 eps -1/12) -1/2))
(+.f64 (/.f64 (/.f64 1 b) eps) (fma.f64 eps (*.f64 b 1/12) -1/2))
(-.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/24 (pow.f64 b 2)) (+.f64 (*.f64 -1/2 (*.f64 b (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (*.f64 -1/12 (pow.f64 b 2)))))) (*.f64 -1 (*.f64 eps (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))))) 1/2)
(+.f64 (/.f64 1 (*.f64 eps b)) (-.f64 (neg.f64 (*.f64 eps (*.f64 b -1/12))) 1/2))
(+.f64 (/.f64 (/.f64 1 b) eps) (fma.f64 (neg.f64 b) (*.f64 eps -1/12) -1/2))
(+.f64 (/.f64 (/.f64 1 b) eps) (fma.f64 eps (*.f64 b 1/12) -1/2))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (expm1.f64 (*.f64 eps b)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (expm1.f64 (*.f64 eps b)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (expm1.f64 (*.f64 eps b)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (expm1.f64 (*.f64 eps b)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (expm1.f64 (*.f64 eps b)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (expm1.f64 (*.f64 eps b)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (expm1.f64 (*.f64 eps b)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (expm1.f64 (*.f64 eps b)))
(/.f64 1 (*.f64 eps b))
(/.f64 (/.f64 1 b) eps)
(-.f64 (/.f64 1 (*.f64 eps b)) 1/2)
(+.f64 (/.f64 1 (*.f64 eps b)) -1/2)
(+.f64 (/.f64 (/.f64 1 b) eps) -1/2)
(-.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (*.f64 -1 (*.f64 b (+.f64 (*.f64 1/6 eps) (*.f64 -1/4 eps))))) 1/2)
(+.f64 (/.f64 1 (*.f64 eps b)) (-.f64 (neg.f64 (*.f64 eps (*.f64 b -1/12))) 1/2))
(+.f64 (/.f64 (/.f64 1 b) eps) (fma.f64 (neg.f64 b) (*.f64 eps -1/12) -1/2))
(+.f64 (/.f64 (/.f64 1 b) eps) (fma.f64 eps (*.f64 b 1/12) -1/2))
(-.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 b 2) (+.f64 (*.f64 1/24 (pow.f64 eps 2)) (+.f64 (*.f64 -1/12 (pow.f64 eps 2)) (*.f64 -1/2 (*.f64 eps (+.f64 (*.f64 1/6 eps) (*.f64 -1/4 eps)))))))) (*.f64 -1 (*.f64 b (+.f64 (*.f64 1/6 eps) (*.f64 -1/4 eps)))))) 1/2)
(+.f64 (/.f64 1 (*.f64 eps b)) (-.f64 (neg.f64 (*.f64 eps (*.f64 b -1/12))) 1/2))
(+.f64 (/.f64 (/.f64 1 b) eps) (fma.f64 (neg.f64 b) (*.f64 eps -1/12) -1/2))
(+.f64 (/.f64 (/.f64 1 b) eps) (fma.f64 eps (*.f64 b 1/12) -1/2))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (expm1.f64 (*.f64 eps b)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (expm1.f64 (*.f64 eps b)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (expm1.f64 (*.f64 eps b)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (expm1.f64 (*.f64 eps b)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (expm1.f64 (*.f64 eps b)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (expm1.f64 (*.f64 eps b)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (expm1.f64 (*.f64 eps b)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 (expm1.f64 (*.f64 eps b)))
(/.f64 1 b)
(+.f64 (*.f64 -1/2 eps) (/.f64 1 b))
(fma.f64 -1/2 eps (/.f64 1 b))
(fma.f64 eps -1/2 (/.f64 1 b))
(+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b)))
(fma.f64 -1/2 eps (fma.f64 -1 (*.f64 (*.f64 b -1/12) (*.f64 eps eps)) (/.f64 1 b)))
(fma.f64 eps -1/2 (fma.f64 (*.f64 1/12 (*.f64 eps eps)) b (/.f64 1 b)))
(fma.f64 eps -1/2 (fma.f64 (*.f64 (*.f64 eps eps) 1/12) b (/.f64 1 b)))
(+.f64 (/.f64 1 b) (*.f64 eps (fma.f64 eps (*.f64 b 1/12) -1/2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 1/24 (pow.f64 b 2)) (+.f64 (*.f64 -1/2 (*.f64 b (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (*.f64 -1/12 (pow.f64 b 2)))))) (+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b))))
(fma.f64 -1/2 eps (fma.f64 -1 (*.f64 (*.f64 b -1/12) (*.f64 eps eps)) (/.f64 1 b)))
(fma.f64 eps -1/2 (fma.f64 (*.f64 1/12 (*.f64 eps eps)) b (/.f64 1 b)))
(fma.f64 eps -1/2 (fma.f64 (*.f64 (*.f64 eps eps) 1/12) b (/.f64 1 b)))
(+.f64 (/.f64 1 b) (*.f64 eps (fma.f64 eps (*.f64 b 1/12) -1/2)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(/.f64 1 b)
(+.f64 (*.f64 -1/2 eps) (/.f64 1 b))
(fma.f64 -1/2 eps (/.f64 1 b))
(fma.f64 eps -1/2 (/.f64 1 b))
(+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))) b)) (/.f64 1 b)))
(fma.f64 -1/2 eps (fma.f64 -1 (*.f64 (*.f64 b -1/12) (*.f64 eps eps)) (/.f64 1 b)))
(fma.f64 eps -1/2 (fma.f64 (*.f64 1/12 (*.f64 eps eps)) b (/.f64 1 b)))
(fma.f64 eps -1/2 (fma.f64 (*.f64 (*.f64 eps eps) 1/12) b (/.f64 1 b)))
(+.f64 (/.f64 1 b) (*.f64 eps (fma.f64 eps (*.f64 b 1/12) -1/2)))
(+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))) b)) (+.f64 (/.f64 1 b) (*.f64 -1 (*.f64 (pow.f64 b 2) (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 -1/12 (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 eps (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))))))))))))
(fma.f64 -1/2 eps (fma.f64 -1 (*.f64 (*.f64 b -1/12) (*.f64 eps eps)) (/.f64 1 b)))
(fma.f64 eps -1/2 (fma.f64 (*.f64 1/12 (*.f64 eps eps)) b (/.f64 1 b)))
(fma.f64 eps -1/2 (fma.f64 (*.f64 (*.f64 eps eps) 1/12) b (/.f64 1 b)))
(+.f64 (/.f64 1 b) (*.f64 eps (fma.f64 eps (*.f64 b 1/12) -1/2)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(*.f64 eps a)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 a 2))) (*.f64 eps a))
(fma.f64 1/2 (*.f64 (*.f64 eps eps) (*.f64 a a)) (*.f64 eps a))
(fma.f64 1/2 (*.f64 eps (*.f64 eps (*.f64 a a))) (*.f64 eps a))
(*.f64 a (+.f64 eps (*.f64 a (*.f64 1/2 (*.f64 eps eps)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 a 2))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 a 3))) (*.f64 eps a)))
(fma.f64 1/2 (*.f64 (*.f64 eps eps) (*.f64 a a)) (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 a 3)) (*.f64 eps a)))
(fma.f64 1/2 (*.f64 eps (*.f64 eps (*.f64 a a))) (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 a 3)) (*.f64 eps a)))
(fma.f64 1/2 (*.f64 eps (*.f64 eps (*.f64 a a))) (fma.f64 eps a (*.f64 (pow.f64 eps 3) (*.f64 1/6 (pow.f64 a 3)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 a 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (pow.f64 a 4))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 a 3))) (*.f64 eps a))))
(fma.f64 1/2 (*.f64 (*.f64 eps eps) (*.f64 a a)) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (pow.f64 a 4)) (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 a 3)) (*.f64 eps a))))
(fma.f64 1/2 (*.f64 eps (*.f64 eps (*.f64 a a))) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (pow.f64 a 4)) (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 a 3)) (*.f64 eps a))))
(fma.f64 1/2 (*.f64 eps (*.f64 eps (*.f64 a a))) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (pow.f64 a 4)) (fma.f64 eps a (*.f64 (pow.f64 eps 3) (*.f64 1/6 (pow.f64 a 3))))))
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(expm1.f64 (*.f64 eps a))
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(expm1.f64 (*.f64 eps a))
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(expm1.f64 (*.f64 eps a))
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(expm1.f64 (*.f64 eps a))
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(expm1.f64 (*.f64 eps a))
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(expm1.f64 (*.f64 eps a))
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(expm1.f64 (*.f64 eps a))
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(expm1.f64 (*.f64 eps a))
(*.f64 eps a)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 a 2))) (*.f64 eps a))
(fma.f64 1/2 (*.f64 (*.f64 eps eps) (*.f64 a a)) (*.f64 eps a))
(fma.f64 1/2 (*.f64 eps (*.f64 eps (*.f64 a a))) (*.f64 eps a))
(*.f64 a (+.f64 eps (*.f64 a (*.f64 1/2 (*.f64 eps eps)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 a 2))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 a 3))) (*.f64 eps a)))
(fma.f64 1/2 (*.f64 (*.f64 eps eps) (*.f64 a a)) (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 a 3)) (*.f64 eps a)))
(fma.f64 1/2 (*.f64 eps (*.f64 eps (*.f64 a a))) (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 a 3)) (*.f64 eps a)))
(fma.f64 1/2 (*.f64 eps (*.f64 eps (*.f64 a a))) (fma.f64 eps a (*.f64 (pow.f64 eps 3) (*.f64 1/6 (pow.f64 a 3)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 a 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (pow.f64 a 4))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 a 3))) (*.f64 eps a))))
(fma.f64 1/2 (*.f64 (*.f64 eps eps) (*.f64 a a)) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (pow.f64 a 4)) (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 a 3)) (*.f64 eps a))))
(fma.f64 1/2 (*.f64 eps (*.f64 eps (*.f64 a a))) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (pow.f64 a 4)) (fma.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 a 3)) (*.f64 eps a))))
(fma.f64 1/2 (*.f64 eps (*.f64 eps (*.f64 a a))) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (pow.f64 a 4)) (fma.f64 eps a (*.f64 (pow.f64 eps 3) (*.f64 1/6 (pow.f64 a 3))))))
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(expm1.f64 (*.f64 eps a))
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(expm1.f64 (*.f64 eps a))
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(expm1.f64 (*.f64 eps a))
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(expm1.f64 (*.f64 eps a))
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(expm1.f64 (*.f64 eps a))
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(expm1.f64 (*.f64 eps a))
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(expm1.f64 (*.f64 eps a))
(-.f64 (exp.f64 (*.f64 eps a)) 1)
(expm1.f64 (*.f64 eps a))

eval301.0ms (1.7%)

Compiler

Compiled 9328 to 4427 computations (52.5% saved)

prune221.0ms (1.2%)

Pruning

13 alts after pruning (11 fresh and 2 done)

PrunedKeptTotal
New44910459
Fresh819
Picked101
Done224
Total46013473
Error
0b
Counts
473 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
36.6b
(+.f64 (*.f64 -1/2 eps) (/.f64 1 b))
18.7b
(+.f64 (/.f64 1 a) (+.f64 (/.f64 eps (*.f64 eps b)) (*.f64 eps -1/2)))
20.3b
(-.f64 (+.f64 1 (/.f64 (+.f64 a b) (*.f64 a b))) 1)
36.6b
(+.f64 (/.f64 1 b) (*.f64 eps (fma.f64 eps (*.f64 b 1/12) -1/2)))
49.6b
(*.f64 eps (-.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (*.f64 -1 (*.f64 eps (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b))))) 1/2))
15.0b
(/.f64 (+.f64 a b) (*.f64 a b))
2.3b
(+.f64 (/.f64 1 b) (/.f64 1 a))
49.4b
(*.f64 eps (/.f64 (expm1.f64 (*.f64 b eps)) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
36.8b
(/.f64 1 b)
48.3b
(/.f64 eps (expm1.f64 (*.f64 eps b)))
29.3b
(/.f64 1 a)
10.9b
(/.f64 (+.f64 (/.f64 b a) 1) b)
37.9b
(/.f64 (/.f64 b a) b)
Compiler

Compiled 298 to 213 computations (28.5% saved)

localize15.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (/.f64 1 b) (/.f64 1 a))
Compiler

Compiled 19 to 13 computations (31.6% saved)

series4.0ms (0%)

Counts
1 → 15
Calls

6 calls:

TimeVariablePointExpression
1.0ms
b
@0
(+.f64 (/.f64 1 b) (/.f64 1 a))
1.0ms
b
@-inf
(+.f64 (/.f64 1 b) (/.f64 1 a))
1.0ms
a
@0
(+.f64 (/.f64 1 b) (/.f64 1 a))
1.0ms
a
@-inf
(+.f64 (/.f64 1 b) (/.f64 1 a))
1.0ms
b
@inf
(+.f64 (/.f64 1 b) (/.f64 1 a))

rewrite120.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
852×pow1_binary64
795×add-log-exp_binary64
795×log1p-expm1-u_binary64
795×expm1-log1p-u_binary64
777×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
115610
2231610
Stop Event
node limit
Counts
1 → 44
Calls
Call 1
Inputs
(+.f64 (/.f64 1 b) (/.f64 1 a))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 (/.f64 1 b) (/.f64 1 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 b -2) (-.f64 (/.f64 1 b) (/.f64 1 a))) (/.f64 (pow.f64 a -2) (-.f64 (/.f64 1 b) (/.f64 1 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (/.f64 1 b) (/.f64 1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1 b) (/.f64 1 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (/.f64 1 b) (/.f64 1 a))) (pow.f64 (cbrt.f64 (+.f64 (/.f64 1 b) (/.f64 1 a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (/.f64 1 b) (/.f64 1 a))) 2) (cbrt.f64 (+.f64 (/.f64 1 b) (/.f64 1 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 (pow.f64 a -1/2) (pow.f64 b -1/2)) (hypot.f64 (pow.f64 a -1/2) (pow.f64 b -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 a b) (/.f64 1 (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 b -3) (pow.f64 a -3)) (/.f64 1 (+.f64 (pow.f64 b -2) (-.f64 (pow.f64 a -2) (/.f64 1 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 b -2) (pow.f64 a -2)) (/.f64 1 (-.f64 (/.f64 1 b) (/.f64 1 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 a b) (+.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 b -2) (-.f64 (pow.f64 a -2) (/.f64 1 (*.f64 a b)))) (+.f64 (pow.f64 b -3) (pow.f64 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (/.f64 1 b) (/.f64 1 a)) (-.f64 (pow.f64 b -2) (pow.f64 a -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 a b) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 b -3) (pow.f64 a -3)) (+.f64 (pow.f64 b -2) (-.f64 (pow.f64 a -2) (/.f64 1 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 b -3) (pow.f64 a -3)) (+.f64 (pow.f64 a -2) (-.f64 (pow.f64 b -2) (/.f64 1 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 b -2) (pow.f64 a -2)) (-.f64 (/.f64 1 b) (/.f64 1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 a b)) (neg.f64 (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 b -3) (pow.f64 a -3))) (neg.f64 (+.f64 (pow.f64 b -2) (-.f64 (pow.f64 a -2) (/.f64 1 (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 b -2) (pow.f64 a -2))) (neg.f64 (-.f64 (/.f64 1 b) (/.f64 1 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 a) (*.f64 (neg.f64 b) 1)) (*.f64 (neg.f64 b) a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 a) (*.f64 b -1)) (*.f64 b (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 -1 (neg.f64 a)) (*.f64 (neg.f64 b) -1)) (*.f64 (neg.f64 b) (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 b) (*.f64 (neg.f64 a) 1)) (*.f64 (neg.f64 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 b) (*.f64 a -1)) (*.f64 a (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 -1 (neg.f64 b)) (*.f64 (neg.f64 a) -1)) (*.f64 (neg.f64 a) (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 a -2) (pow.f64 b -2)) (-.f64 (/.f64 1 a) (/.f64 1 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 a b) b) a)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (/.f64 1 b) (/.f64 1 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (/.f64 1 b) (/.f64 1 a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (/.f64 1 b) (/.f64 1 a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 (pow.f64 a -1/2) (pow.f64 b -1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (/.f64 1 b) (/.f64 1 a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (/.f64 1 b) (/.f64 1 a))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (/.f64 1 b) (/.f64 1 a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (/.f64 1 b) (/.f64 1 a))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (/.f64 1 b) (/.f64 1 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (/.f64 1 b) (/.f64 1 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 1 b) (/.f64 1 a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 1 a) (/.f64 1 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 a -2)) (/.f64 1 (cbrt.f64 a)) (/.f64 1 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 b -2)) (/.f64 1 (cbrt.f64 b)) (/.f64 1 a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 a -1/2) (pow.f64 a -1/2) (/.f64 1 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 b -1/2) (pow.f64 b -1/2) (/.f64 1 a))))))

simplify17.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07114
110114
Stop Event
saturated
Counts
59 → 48
Calls
Call 1
Inputs
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 a)
(/.f64 1 a)
(/.f64 1 a)
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
Outputs
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(/.f64 1 a)
(/.f64 1 a)
(/.f64 1 a)
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))

localize7.0ms (0%)

Compiler

Compiled 8 to 6 computations (25% saved)

localize19.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 20 to 14 computations (30% saved)

series4.0ms (0%)

Counts
1 → 6
Calls

6 calls:

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

rewrite96.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
835×pow1_binary64
777×add-log-exp_binary64
777×log1p-expm1-u_binary64
777×expm1-log1p-u_binary64
761×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify13.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0724
11024
Stop Event
saturated
Counts
41 → 37
Calls
Call 1
Inputs
(/.f64 1 b)
(*.f64 -1/2 eps)
(*.f64 -1/2 eps)
(/.f64 1 b)
(*.f64 -1/2 eps)
(*.f64 -1/2 eps)
Outputs
(/.f64 1 b)
(*.f64 -1/2 eps)
(*.f64 -1/2 eps)
(/.f64 1 b)
(*.f64 -1/2 eps)
(*.f64 -1/2 eps)

localize21.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
2.7b
(-.f64 (+.f64 1 (/.f64 (+.f64 a b) (*.f64 a b))) 1)
14.7b
(/.f64 (+.f64 a b) (*.f64 a b))
Compiler

Compiled 39 to 13 computations (66.7% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
a
@0
(-.f64 (+.f64 1 (/.f64 (+.f64 a b) (*.f64 a b))) 1)
0.0ms
b
@-inf
(-.f64 (+.f64 1 (/.f64 (+.f64 a b) (*.f64 a b))) 1)
0.0ms
a
@inf
(-.f64 (+.f64 1 (/.f64 (+.f64 a b) (*.f64 a b))) 1)
0.0ms
a
@-inf
(-.f64 (+.f64 1 (/.f64 (+.f64 a b) (*.f64 a b))) 1)
0.0ms
b
@0
(-.f64 (+.f64 1 (/.f64 (+.f64 a b) (*.f64 a b))) 1)

rewrite244.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
579×fma-def_binary64
493×log-prod_binary64
333×pow-prod-down_binary64
266×fma-neg_binary64
258×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0916
121110
2335610
Stop Event
node limit
Counts
1 → 128
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (/.f64 (+.f64 a b) (*.f64 a b))) 1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (/.f64 (+.f64 a b) (*.f64 a b)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (+.f64 (/.f64 (+.f64 a b) (*.f64 a b)) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (/.f64 (+.f64 a b) (*.f64 a b))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (+.f64 a b) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 1 (/.f64 (+.f64 a b) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 (+.f64 a b) (*.f64 a b)) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (+.f64 a b) (*.f64 a b)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (+.f64 a b) (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (+.f64 a b) (*.f64 a b))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (+.f64 a b) (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (+.f64 a b) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 a b) (/.f64 1 (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) (*.f64 (cbrt.f64 (+.f64 a b)) (/.f64 1 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))) (pow.f64 (cbrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))) 2) (cbrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 a b)) (*.f64 (sqrt.f64 (+.f64 a b)) (/.f64 1 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))) (sqrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (+.f64 a b)) (/.f64 1 (*.f64 a (neg.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (+.f64 a b) (*.f64 a b))))) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (/.f64 (+.f64 a b) (*.f64 a b))) 2) (+.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 a b)) (+.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (+.f64 a b) (*.f64 a b))))) (/.f64 1 (+.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 a b) a) (/.f64 1 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) 1) (/.f64 (cbrt.f64 (+.f64 a b)) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 a b)) 1) (/.f64 (sqrt.f64 (+.f64 a b)) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 a b)) a) (/.f64 (sqrt.f64 (+.f64 a b)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 a) (/.f64 (+.f64 a b) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) a) (/.f64 (cbrt.f64 (+.f64 a b)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 a b)) b) (/.f64 (sqrt.f64 (+.f64 a b)) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b) (/.f64 (+.f64 a b) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) b) (/.f64 (cbrt.f64 (+.f64 a b)) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) -2) (/.f64 (+.f64 a b) (cbrt.f64 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) (pow.f64 (cbrt.f64 (*.f64 a b)) 2)) (cbrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 a b)) (pow.f64 (cbrt.f64 (*.f64 a b)) 2)) (/.f64 (sqrt.f64 (+.f64 a b)) (cbrt.f64 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 a b) -1/2) (/.f64 (+.f64 a b) (sqrt.f64 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) (sqrt.f64 (*.f64 a b))) (/.f64 (cbrt.f64 (+.f64 a b)) (sqrt.f64 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (hypot.f64 1 (sqrt.f64 (/.f64 (+.f64 a b) (*.f64 a b)))) 1) (expm1.f64 (*.f64 1/2 (log1p.f64 (/.f64 (+.f64 a b) (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 a (/.f64 (+.f64 a b) b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 1 (/.f64 (+.f64 a b) (*.f64 a b))) 2) (+.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 2)) (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (+.f64 a b) (*.f64 a b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 2) (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (+.f64 a b) (*.f64 a b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 a (/.f64 (+.f64 a b) b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 a b) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) (/.f64 (*.f64 a b) (cbrt.f64 (+.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (+.f64 a b)) (/.f64 (*.f64 a b) (sqrt.f64 (+.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 a b)) (*.f64 a (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (+.f64 a b) (*.f64 a b))))) (+.f64 (pow.f64 (+.f64 1 (/.f64 (+.f64 a b) (*.f64 a b))) 2) (+.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (+.f64 a b) (*.f64 a b))))) (+.f64 (pow.f64 (+.f64 1 (/.f64 (+.f64 a b) (*.f64 a b))) 2) (-.f64 1 (*.f64 (+.f64 1 (/.f64 (+.f64 a b) (*.f64 a b))) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 a 3) (pow.f64 b 3)) (*.f64 (*.f64 a b) (fma.f64 b (-.f64 b a) (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.f64 a (/.f64 (+.f64 a b) b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (+.f64 a b) (*.f64 a b))))) (+.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 (*.f64 a b) (-.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 a b) a) b)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (+.f64 a b) (*.f64 a b)))))) (neg.f64 (+.f64 (pow.f64 (+.f64 1 (/.f64 (+.f64 a b) (*.f64 a b))) 2) (+.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (+.f64 a b) (*.f64 a b)))))) (neg.f64 (+.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (+.f64 a b))) (neg.f64 (*.f64 a (neg.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (+.f64 a b) a)) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 a 3) (pow.f64 b 3)) 1) (*.f64 (fma.f64 b (-.f64 b a) (*.f64 a a)) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 1) (*.f64 (-.f64 a b) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 a b) b) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 a b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 (+.f64 a b) (*.f64 a b)) -1) 3)) (+.f64 1 (-.f64 (pow.f64 (+.f64 (/.f64 (+.f64 a b) (*.f64 a b)) -1) 2) (+.f64 (/.f64 (+.f64 a b) (*.f64 a b)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (+.f64 (/.f64 (+.f64 a b) (*.f64 a b)) -1) 2)) (-.f64 1 (+.f64 (/.f64 (+.f64 a b) (*.f64 a b)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 a b) 1) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 a b) (pow.f64 (cbrt.f64 (*.f64 a b)) 2)) (cbrt.f64 (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (+.f64 a b) a) 1) b)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (+.f64 a b) a) (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (+.f64 a b) a) (sqrt.f64 b)) (sqrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 a 3) (pow.f64 b 3)) (/.f64 1 (*.f64 a b))) (fma.f64 b (-.f64 b a) (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (/.f64 1 (*.f64 a b))) (-.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a (/.f64 (+.f64 a b) b)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (pow.f64 (+.f64 1 (/.f64 (+.f64 a b) (*.f64 a b))) 2) (+.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 2)) (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (+.f64 a b) (*.f64 a b)))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 2) (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (+.f64 a b) (*.f64 a b)))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 a (/.f64 (+.f64 a b) b)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (+.f64 a b) (*.f64 a (neg.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (+.f64 a b) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (+.f64 a b) (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))) (sqrt.f64 (*.f64 (/.f64 (+.f64 a b) (*.f64 a b)) (+.f64 (/.f64 (+.f64 a b) (*.f64 a b)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (+.f64 a b) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log1p.f64 (/.f64 (+.f64 a b) (*.f64 a b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (+.f64 a b) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (+.f64 a b) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (+.f64 a b) (*.f64 a b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 (+.f64 a b) (*.f64 a b)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 1 (/.f64 (+.f64 a b) (*.f64 a b))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 (/.f64 (+.f64 a b) (*.f64 a b)) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 a b) (/.f64 1 (*.f64 a b)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (/.f64 (+.f64 a b) (*.f64 a b))) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 1 (/.f64 (+.f64 a b) (*.f64 a b)))) (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 (+.f64 a b) (*.f64 a b)))) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 (+.f64 a b) (*.f64 a b)))) 2) (cbrt.f64 (+.f64 1 (/.f64 (+.f64 a b) (*.f64 a b)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 (+.f64 a b) (*.f64 a b)))) 2) (*.f64 (cbrt.f64 (+.f64 1 (/.f64 (+.f64 a b) (*.f64 a b)))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) (*.f64 (cbrt.f64 (+.f64 a b)) (/.f64 1 (*.f64 a b))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))) (pow.f64 (cbrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))) 2) (cbrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 1 (sqrt.f64 (/.f64 (+.f64 a b) (*.f64 a b)))) (hypot.f64 1 (sqrt.f64 (/.f64 (+.f64 a b) (*.f64 a b)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 1 (sqrt.f64 (/.f64 (+.f64 a b) (*.f64 a b)))) (*.f64 (hypot.f64 1 (sqrt.f64 (/.f64 (+.f64 a b) (*.f64 a b)))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a b)) (*.f64 (sqrt.f64 (+.f64 a b)) (/.f64 1 (*.f64 a b))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))) (sqrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (+.f64 a b)) (/.f64 1 (*.f64 a (neg.f64 b))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (expm1.f64 (*.f64 3 (log1p.f64 (/.f64 (+.f64 a b) (*.f64 a b))))) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (/.f64 (+.f64 a b) (*.f64 a b))) 2) (+.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (pow.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 3)) (/.f64 1 (fma.f64 (/.f64 (+.f64 a b) (*.f64 a b)) (+.f64 (/.f64 (+.f64 a b) (*.f64 a b)) -1) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (*.f64 a b)) (+.f64 a b) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (expm1.f64 (*.f64 2 (log1p.f64 (/.f64 (+.f64 a b) (*.f64 a b))))) (/.f64 1 (+.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (pow.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 2)) (/.f64 1 (-.f64 1 (/.f64 (+.f64 a b) (*.f64 a b)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (+.f64 a b) a) (/.f64 1 b) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 (/.f64 (+.f64 a b) (*.f64 a b)) -1)) 2) (cbrt.f64 (+.f64 (/.f64 (+.f64 a b) (*.f64 a b)) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 (/.f64 (+.f64 a b) (*.f64 a b)) -1)) (sqrt.f64 (+.f64 (/.f64 (+.f64 a b) (*.f64 a b)) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) 1) (/.f64 (cbrt.f64 (+.f64 a b)) (*.f64 a b)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (+.f64 a b)) 1) (/.f64 (sqrt.f64 (+.f64 a b)) (*.f64 a b)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (+.f64 a b)) a) (/.f64 (sqrt.f64 (+.f64 a b)) b) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 a) (/.f64 (+.f64 a b) b) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) a) (/.f64 (cbrt.f64 (+.f64 a b)) b) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (+.f64 a b)) b) (/.f64 (sqrt.f64 (+.f64 a b)) a) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 b) (/.f64 (+.f64 a b) a) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) b) (/.f64 (cbrt.f64 (+.f64 a b)) a) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) -2) (/.f64 (+.f64 a b) (cbrt.f64 (*.f64 a b))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) (pow.f64 (cbrt.f64 (*.f64 a b)) 2)) (cbrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (+.f64 a b)) (pow.f64 (cbrt.f64 (*.f64 a b)) 2)) (/.f64 (sqrt.f64 (+.f64 a b)) (cbrt.f64 (*.f64 a b))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 a b) -1/2) (/.f64 (+.f64 a b) (sqrt.f64 (*.f64 a b))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) (sqrt.f64 (*.f64 a b))) (/.f64 (cbrt.f64 (+.f64 a b)) (sqrt.f64 (*.f64 a b))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (hypot.f64 1 (sqrt.f64 (/.f64 (+.f64 a b) (*.f64 a b)))) 1) (expm1.f64 (*.f64 1/2 (log1p.f64 (/.f64 (+.f64 a b) (*.f64 a b))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))) 1) (-.f64 (sqrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))) 1) 1)))))

simplify33.0ms (0.2%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08204
110204
Stop Event
saturated
Counts
152 → 132
Calls
Call 1
Inputs
(/.f64 1 a)
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 a)
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(/.f64 1 a)
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 b) (/.f64 1 a))
Outputs
(/.f64 1 a)
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 a)
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 a)
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))

localize84.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 1 (*.f64 eps b))
0.3b
(*.f64 1/6 b)
0.7b
(+.f64 (*.f64 1/6 b) (*.f64 -1/4 b))
15.9b
(*.f64 eps (-.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (*.f64 -1 (*.f64 eps (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b))))) 1/2))
Compiler

Compiled 108 to 72 computations (33.3% saved)

series19.0ms (0.1%)

Counts
4 → 36
Calls

18 calls:

TimeVariablePointExpression
10.0ms
eps
@0
(*.f64 eps (-.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (*.f64 -1 (*.f64 eps (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b))))) 1/2))
1.0ms
eps
@inf
(*.f64 eps (-.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (*.f64 -1 (*.f64 eps (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b))))) 1/2))
1.0ms
eps
@-inf
(*.f64 eps (-.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (*.f64 -1 (*.f64 eps (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b))))) 1/2))
1.0ms
b
@0
(*.f64 eps (-.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (*.f64 -1 (*.f64 eps (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b))))) 1/2))
1.0ms
b
@inf
(*.f64 eps (-.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (*.f64 -1 (*.f64 eps (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b))))) 1/2))

rewrite160.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
475×fma-neg_binary64
325×expm1-udef_binary64
325×log1p-udef_binary64
254×log-pow_binary64
202×add-sqr-sqrt_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01839
140437
2571835
Stop Event
node limit
Counts
4 → 111
Calls
Call 1
Inputs
(*.f64 eps (-.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (*.f64 -1 (*.f64 eps (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b))))) 1/2))
(+.f64 (*.f64 1/6 b) (*.f64 -1/4 b))
(*.f64 1/6 b)
(/.f64 1 (*.f64 eps b))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1 (*.f64 eps b)) eps) (*.f64 (fma.f64 b (*.f64 -1/12 eps) -1/2) eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (*.f64 eps (*.f64 b -1/12))) eps) (*.f64 -1/2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 eps (/.f64 1 (*.f64 eps b))) (*.f64 eps (fma.f64 b (*.f64 -1/12 eps) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 eps (+.f64 (/.f64 1 (*.f64 eps b)) (*.f64 eps (*.f64 b -1/12)))) (*.f64 eps -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 eps (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 b (*.f64 -1/12 eps) -1/2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (*.f64 eps (*.f64 b -1/12))) 3) -1/8) eps) (+.f64 (+.f64 (+.f64 (pow.f64 (*.f64 eps b) -2) (pow.f64 (*.f64 eps (*.f64 b -1/12)) 2)) 1/4) (*.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (*.f64 eps (*.f64 b -1/12))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (+.f64 (pow.f64 (*.f64 eps b) -2) (pow.f64 (*.f64 eps (*.f64 b -1/12)) 2)) -1/4) eps) (+.f64 (/.f64 1 (*.f64 eps b)) (+.f64 (*.f64 eps (*.f64 b -1/12)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (+.f64 (pow.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (*.f64 eps (*.f64 b -1/12))) 3) -1/8)) (+.f64 (+.f64 (+.f64 (pow.f64 (*.f64 eps b) -2) (pow.f64 (*.f64 eps (*.f64 b -1/12)) 2)) 1/4) (*.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (*.f64 eps (*.f64 b -1/12))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (+.f64 (+.f64 (pow.f64 (*.f64 eps b) -2) (pow.f64 (*.f64 eps (*.f64 b -1/12)) 2)) -1/4)) (+.f64 (/.f64 1 (*.f64 eps b)) (+.f64 (*.f64 eps (*.f64 b -1/12)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 b (*.f64 -1/12 eps) -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 eps (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 b (*.f64 -1/12 eps) -1/2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 eps (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 b (*.f64 -1/12 eps) -1/2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 eps (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 b (*.f64 -1/12 eps) -1/2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 eps (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 b (*.f64 -1/12 eps) -1/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 b (*.f64 -1/12 eps) -1/2))) eps))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 eps (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 b (*.f64 -1/12 eps) -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 eps (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 b (*.f64 -1/12 eps) -1/2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 eps 3) (pow.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 b (*.f64 -1/12 eps) -1/2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 b (*.f64 -1/12 eps) -1/2)) 3) (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 eps (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 b (*.f64 -1/12 eps) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 eps (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 b (*.f64 -1/12 eps) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 eps (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 b (*.f64 -1/12 eps) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 eps (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 b (*.f64 -1/12 eps) -1/2)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 b -1/12))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 b 1/6) 2) (*.f64 b 5/12)) (/.f64 (*.f64 1/16 (*.f64 b b)) (*.f64 b 5/12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 b -1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 b -1/12)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 b -1/12) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 b -1/12)) (pow.f64 (cbrt.f64 (*.f64 b -1/12)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 b -1/12)) 2) (cbrt.f64 (*.f64 b -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) -1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 b -1/12)) (sqrt.f64 (*.f64 b -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) -1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 1/216 (pow.f64 b 3)) (*.f64 -1/64 (pow.f64 b 3))) (/.f64 1 (+.f64 (pow.f64 (*.f64 b 1/6) 2) (*.f64 (*.f64 b -1/4) (-.f64 (*.f64 b -1/4) (*.f64 b 1/6))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 b -1/12) (*.f64 b 5/12)) (/.f64 1 (*.f64 b 5/12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/12 b)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 b 1/6) 2) (*.f64 (*.f64 b -1/4) (-.f64 (*.f64 b -1/4) (*.f64 b 1/6)))) (+.f64 (*.f64 1/216 (pow.f64 b 3)) (*.f64 -1/64 (pow.f64 b 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 b 5/12) (*.f64 (*.f64 b -1/12) (*.f64 b 5/12))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 1/216 (pow.f64 b 3)) (*.f64 -1/64 (pow.f64 b 3))) (+.f64 (pow.f64 (*.f64 b 1/6) 2) (*.f64 (*.f64 b -1/4) (-.f64 (*.f64 b -1/4) (*.f64 b 1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 1/216 (pow.f64 b 3)) (*.f64 -1/64 (pow.f64 b 3))) (+.f64 (*.f64 1/16 (*.f64 b b)) (-.f64 (pow.f64 (*.f64 b 1/6) 2) (*.f64 b (*.f64 1/6 (*.f64 b -1/4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 b -1/12) (*.f64 b 5/12)) (*.f64 b 5/12))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (*.f64 1/216 (pow.f64 b 3)) (*.f64 -1/64 (pow.f64 b 3)))) (neg.f64 (+.f64 (pow.f64 (*.f64 b 1/6) 2) (*.f64 (*.f64 b -1/4) (-.f64 (*.f64 b -1/4) (*.f64 b 1/6))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (*.f64 b -1/12) (*.f64 b 5/12))) (neg.f64 (*.f64 b 5/12)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/16 (*.f64 b b) (neg.f64 (pow.f64 (*.f64 b 1/6) 2))) (-.f64 (*.f64 b -1/4) (*.f64 b 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 b -1/12) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 b -1/12) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 b -1/12)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 b -1/12)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 b -1/12) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 b -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 b -1/12))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 b 1/6))) (pow.f64 (exp.f64 -1/4) b)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 1/6) b) (+.f64 1 (expm1.f64 (*.f64 b -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 b 1/6))) (+.f64 1 (expm1.f64 (*.f64 b -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 b -1/4))) (pow.f64 (exp.f64 1/6) b)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 -1/4) b) (+.f64 1 (expm1.f64 (*.f64 b 1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 b -1/4))) (+.f64 1 (expm1.f64 (*.f64 b 1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 b -1/12) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 b -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 b -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 b -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 b -1/12)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 b 1/6) (*.f64 b -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 b -1/4) (*.f64 b 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b 1/6 (*.f64 b -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b -1/4 (*.f64 b 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/6 b (*.f64 b -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/4 b (*.f64 b 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 b 1/6)) 2) (cbrt.f64 (*.f64 b 1/6)) (*.f64 b -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 b -1/4)) 2) (cbrt.f64 (*.f64 b -1/4)) (*.f64 b 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 b 1/6)) (sqrt.f64 (*.f64 b 1/6)) (*.f64 b -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 b -1/4)) (sqrt.f64 (*.f64 b -1/4)) (*.f64 b 1/6))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 b 1/6))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 b 1/6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 b 1/6)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 b 1/6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/216 (pow.f64 b 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 b 1/6) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 1/6) b))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 b 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 1/216 (pow.f64 b 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 b 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 b 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 b 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 b 1/6)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 1 (*.f64 eps b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (*.f64 eps b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 eps b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (*.f64 eps (neg.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (*.f64 eps b))) (cbrt.f64 (pow.f64 (*.f64 eps b) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 eps b) -2)) (/.f64 1 (cbrt.f64 (*.f64 eps b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 eps b) -1/2) (pow.f64 (*.f64 eps b) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 eps) (pow.f64 b -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 eps) (/.f64 1 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 b -1) (/.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 eps b)) 2) -1) (pow.f64 (cbrt.f64 (*.f64 eps b)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 eps b)) -1) (pow.f64 (sqrt.f64 (*.f64 eps b)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps b) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (*.f64 eps b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (cbrt.f64 (*.f64 eps b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 eps b) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 eps b) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 eps b) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1 (*.f64 eps b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (*.f64 eps b)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 eps b) -3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1 (*.f64 eps b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1 (*.f64 eps b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log.f64 (*.f64 eps b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 eps b)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 eps b))) 1))))))

simplify102.0ms (0.6%)

Algorithm
egg-herbie
Rules
1006×fma-neg_binary64
587×distribute-rgt-neg-in_binary64
578×fma-def_binary64
567×cancel-sign-sub-inv_binary64
448×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
029436
172424
2200380
3662368
42627368
55650368
67822368
Stop Event
node limit
Counts
147 → 123
Calls
Call 1
Inputs
(/.f64 1 b)
(+.f64 (*.f64 -1/2 eps) (/.f64 1 b))
(+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b)))
(+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b)))
(*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b))))
(+.f64 (*.f64 -1/2 eps) (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))))
(+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b)))
(+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b)))
(*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b))))
(+.f64 (*.f64 -1/2 eps) (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))))
(+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b)))
(+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b)))
(/.f64 1 b)
(+.f64 (*.f64 -1/2 eps) (/.f64 1 b))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(*.f64 1/12 (*.f64 (pow.f64 eps 2) b))
(+.f64 (*.f64 -1/2 eps) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b)))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(*.f64 1/12 (*.f64 (pow.f64 eps 2) b))
(+.f64 (*.f64 -1/2 eps) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b)))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(*.f64 -1/12 b)
(*.f64 -1/12 b)
(*.f64 -1/12 b)
(*.f64 -1/12 b)
(*.f64 -1/12 b)
(*.f64 -1/12 b)
(*.f64 -1/12 b)
(*.f64 -1/12 b)
(*.f64 -1/12 b)
(*.f64 -1/12 b)
(*.f64 -1/12 b)
(*.f64 -1/12 b)
Outputs
(/.f64 1 b)
(+.f64 (*.f64 -1/2 eps) (/.f64 1 b))
(fma.f64 -1/2 eps (/.f64 1 b))
(+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b)))
(fma.f64 -1/2 eps (fma.f64 -1 (*.f64 (*.f64 eps eps) (*.f64 b -1/12)) (/.f64 1 b)))
(fma.f64 -1/2 eps (-.f64 (/.f64 1 b) (*.f64 eps (*.f64 eps (*.f64 b -1/12)))))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (fma.f64 -1/2 eps (/.f64 1 b)))
(fma.f64 eps (+.f64 -1/2 (*.f64 b (*.f64 eps 1/12))) (/.f64 1 b))
(neg.f64 (fma.f64 eps (fma.f64 b (*.f64 eps -1/12) 1/2) (/.f64 -1 b)))
(+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b)))
(fma.f64 -1/2 eps (fma.f64 -1 (*.f64 (*.f64 eps eps) (*.f64 b -1/12)) (/.f64 1 b)))
(fma.f64 -1/2 eps (-.f64 (/.f64 1 b) (*.f64 eps (*.f64 eps (*.f64 b -1/12)))))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (fma.f64 -1/2 eps (/.f64 1 b)))
(fma.f64 eps (+.f64 -1/2 (*.f64 b (*.f64 eps 1/12))) (/.f64 1 b))
(neg.f64 (fma.f64 eps (fma.f64 b (*.f64 eps -1/12) 1/2) (/.f64 -1 b)))
(*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b))))
(neg.f64 (*.f64 (*.f64 eps eps) (*.f64 b -1/12)))
(*.f64 (*.f64 eps eps) (neg.f64 (*.f64 b -1/12)))
(*.f64 b (*.f64 eps (*.f64 eps 1/12)))
(*.f64 b (*.f64 (*.f64 eps eps) 1/12))
(+.f64 (*.f64 -1/2 eps) (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))))
(fma.f64 -1/2 eps (neg.f64 (*.f64 (*.f64 eps eps) (*.f64 b -1/12))))
(-.f64 (*.f64 -1/2 eps) (*.f64 eps (*.f64 eps (*.f64 b -1/12))))
(*.f64 eps (-.f64 -1/2 (*.f64 b (*.f64 -1/12 eps))))
(*.f64 eps (+.f64 -1/2 (*.f64 b (*.f64 eps 1/12))))
(*.f64 eps (+.f64 -1/2 (*.f64 eps (*.f64 b 1/12))))
(+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b)))
(fma.f64 -1/2 eps (fma.f64 -1 (*.f64 (*.f64 eps eps) (*.f64 b -1/12)) (/.f64 1 b)))
(fma.f64 -1/2 eps (-.f64 (/.f64 1 b) (*.f64 eps (*.f64 eps (*.f64 b -1/12)))))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (fma.f64 -1/2 eps (/.f64 1 b)))
(fma.f64 eps (+.f64 -1/2 (*.f64 b (*.f64 eps 1/12))) (/.f64 1 b))
(neg.f64 (fma.f64 eps (fma.f64 b (*.f64 eps -1/12) 1/2) (/.f64 -1 b)))
(+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b)))
(fma.f64 -1/2 eps (fma.f64 -1 (*.f64 (*.f64 eps eps) (*.f64 b -1/12)) (/.f64 1 b)))
(fma.f64 -1/2 eps (-.f64 (/.f64 1 b) (*.f64 eps (*.f64 eps (*.f64 b -1/12)))))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (fma.f64 -1/2 eps (/.f64 1 b)))
(fma.f64 eps (+.f64 -1/2 (*.f64 b (*.f64 eps 1/12))) (/.f64 1 b))
(neg.f64 (fma.f64 eps (fma.f64 b (*.f64 eps -1/12) 1/2) (/.f64 -1 b)))
(*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b))))
(neg.f64 (*.f64 (*.f64 eps eps) (*.f64 b -1/12)))
(*.f64 (*.f64 eps eps) (neg.f64 (*.f64 b -1/12)))
(*.f64 b (*.f64 eps (*.f64 eps 1/12)))
(*.f64 b (*.f64 (*.f64 eps eps) 1/12))
(+.f64 (*.f64 -1/2 eps) (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))))
(fma.f64 -1/2 eps (neg.f64 (*.f64 (*.f64 eps eps) (*.f64 b -1/12))))
(-.f64 (*.f64 -1/2 eps) (*.f64 eps (*.f64 eps (*.f64 b -1/12))))
(*.f64 eps (-.f64 -1/2 (*.f64 b (*.f64 -1/12 eps))))
(*.f64 eps (+.f64 -1/2 (*.f64 b (*.f64 eps 1/12))))
(*.f64 eps (+.f64 -1/2 (*.f64 eps (*.f64 b 1/12))))
(+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b)))
(fma.f64 -1/2 eps (fma.f64 -1 (*.f64 (*.f64 eps eps) (*.f64 b -1/12)) (/.f64 1 b)))
(fma.f64 -1/2 eps (-.f64 (/.f64 1 b) (*.f64 eps (*.f64 eps (*.f64 b -1/12)))))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (fma.f64 -1/2 eps (/.f64 1 b)))
(fma.f64 eps (+.f64 -1/2 (*.f64 b (*.f64 eps 1/12))) (/.f64 1 b))
(neg.f64 (fma.f64 eps (fma.f64 b (*.f64 eps -1/12) 1/2) (/.f64 -1 b)))
(+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b)))
(fma.f64 -1/2 eps (fma.f64 -1 (*.f64 (*.f64 eps eps) (*.f64 b -1/12)) (/.f64 1 b)))
(fma.f64 -1/2 eps (-.f64 (/.f64 1 b) (*.f64 eps (*.f64 eps (*.f64 b -1/12)))))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (fma.f64 -1/2 eps (/.f64 1 b)))
(fma.f64 eps (+.f64 -1/2 (*.f64 b (*.f64 eps 1/12))) (/.f64 1 b))
(neg.f64 (fma.f64 eps (fma.f64 b (*.f64 eps -1/12) 1/2) (/.f64 -1 b)))
(/.f64 1 b)
(+.f64 (*.f64 -1/2 eps) (/.f64 1 b))
(fma.f64 -1/2 eps (/.f64 1 b))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(fma.f64 -1/2 eps (fma.f64 -1 (*.f64 (*.f64 eps eps) (*.f64 b -1/12)) (/.f64 1 b)))
(fma.f64 -1/2 eps (-.f64 (/.f64 1 b) (*.f64 eps (*.f64 eps (*.f64 b -1/12)))))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (fma.f64 -1/2 eps (/.f64 1 b)))
(fma.f64 eps (+.f64 -1/2 (*.f64 b (*.f64 eps 1/12))) (/.f64 1 b))
(neg.f64 (fma.f64 eps (fma.f64 b (*.f64 eps -1/12) 1/2) (/.f64 -1 b)))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(fma.f64 -1/2 eps (fma.f64 -1 (*.f64 (*.f64 eps eps) (*.f64 b -1/12)) (/.f64 1 b)))
(fma.f64 -1/2 eps (-.f64 (/.f64 1 b) (*.f64 eps (*.f64 eps (*.f64 b -1/12)))))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (fma.f64 -1/2 eps (/.f64 1 b)))
(fma.f64 eps (+.f64 -1/2 (*.f64 b (*.f64 eps 1/12))) (/.f64 1 b))
(neg.f64 (fma.f64 eps (fma.f64 b (*.f64 eps -1/12) 1/2) (/.f64 -1 b)))
(*.f64 1/12 (*.f64 (pow.f64 eps 2) b))
(neg.f64 (*.f64 (*.f64 eps eps) (*.f64 b -1/12)))
(*.f64 (*.f64 eps eps) (neg.f64 (*.f64 b -1/12)))
(*.f64 b (*.f64 eps (*.f64 eps 1/12)))
(*.f64 b (*.f64 (*.f64 eps eps) 1/12))
(+.f64 (*.f64 -1/2 eps) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b)))
(fma.f64 -1/2 eps (neg.f64 (*.f64 (*.f64 eps eps) (*.f64 b -1/12))))
(-.f64 (*.f64 -1/2 eps) (*.f64 eps (*.f64 eps (*.f64 b -1/12))))
(*.f64 eps (-.f64 -1/2 (*.f64 b (*.f64 -1/12 eps))))
(*.f64 eps (+.f64 -1/2 (*.f64 b (*.f64 eps 1/12))))
(*.f64 eps (+.f64 -1/2 (*.f64 eps (*.f64 b 1/12))))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(fma.f64 -1/2 eps (fma.f64 -1 (*.f64 (*.f64 eps eps) (*.f64 b -1/12)) (/.f64 1 b)))
(fma.f64 -1/2 eps (-.f64 (/.f64 1 b) (*.f64 eps (*.f64 eps (*.f64 b -1/12)))))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (fma.f64 -1/2 eps (/.f64 1 b)))
(fma.f64 eps (+.f64 -1/2 (*.f64 b (*.f64 eps 1/12))) (/.f64 1 b))
(neg.f64 (fma.f64 eps (fma.f64 b (*.f64 eps -1/12) 1/2) (/.f64 -1 b)))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(fma.f64 -1/2 eps (fma.f64 -1 (*.f64 (*.f64 eps eps) (*.f64 b -1/12)) (/.f64 1 b)))
(fma.f64 -1/2 eps (-.f64 (/.f64 1 b) (*.f64 eps (*.f64 eps (*.f64 b -1/12)))))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (fma.f64 -1/2 eps (/.f64 1 b)))
(fma.f64 eps (+.f64 -1/2 (*.f64 b (*.f64 eps 1/12))) (/.f64 1 b))
(neg.f64 (fma.f64 eps (fma.f64 b (*.f64 eps -1/12) 1/2) (/.f64 -1 b)))
(*.f64 1/12 (*.f64 (pow.f64 eps 2) b))
(neg.f64 (*.f64 (*.f64 eps eps) (*.f64 b -1/12)))
(*.f64 (*.f64 eps eps) (neg.f64 (*.f64 b -1/12)))
(*.f64 b (*.f64 eps (*.f64 eps 1/12)))
(*.f64 b (*.f64 (*.f64 eps eps) 1/12))
(+.f64 (*.f64 -1/2 eps) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b)))
(fma.f64 -1/2 eps (neg.f64 (*.f64 (*.f64 eps eps) (*.f64 b -1/12))))
(-.f64 (*.f64 -1/2 eps) (*.f64 eps (*.f64 eps (*.f64 b -1/12))))
(*.f64 eps (-.f64 -1/2 (*.f64 b (*.f64 -1/12 eps))))
(*.f64 eps (+.f64 -1/2 (*.f64 b (*.f64 eps 1/12))))
(*.f64 eps (+.f64 -1/2 (*.f64 eps (*.f64 b 1/12))))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(fma.f64 -1/2 eps (fma.f64 -1 (*.f64 (*.f64 eps eps) (*.f64 b -1/12)) (/.f64 1 b)))
(fma.f64 -1/2 eps (-.f64 (/.f64 1 b) (*.f64 eps (*.f64 eps (*.f64 b -1/12)))))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (fma.f64 -1/2 eps (/.f64 1 b)))
(fma.f64 eps (+.f64 -1/2 (*.f64 b (*.f64 eps 1/12))) (/.f64 1 b))
(neg.f64 (fma.f64 eps (fma.f64 b (*.f64 eps -1/12) 1/2) (/.f64 -1 b)))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(fma.f64 -1/2 eps (fma.f64 -1 (*.f64 (*.f64 eps eps) (*.f64 b -1/12)) (/.f64 1 b)))
(fma.f64 -1/2 eps (-.f64 (/.f64 1 b) (*.f64 eps (*.f64 eps (*.f64 b -1/12)))))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (fma.f64 -1/2 eps (/.f64 1 b)))
(fma.f64 eps (+.f64 -1/2 (*.f64 b (*.f64 eps 1/12))) (/.f64 1 b))
(neg.f64 (fma.f64 eps (fma.f64 b (*.f64 eps -1/12) 1/2) (/.f64 -1 b)))
(*.f64 -1/12 b)
(*.f64 b -1/12)
(*.f64 -1/12 b)
(*.f64 b -1/12)
(*.f64 -1/12 b)
(*.f64 b -1/12)
(*.f64 -1/12 b)
(*.f64 b -1/12)
(*.f64 -1/12 b)
(*.f64 b -1/12)
(*.f64 -1/12 b)
(*.f64 b -1/12)
(*.f64 -1/12 b)
(*.f64 b -1/12)
(*.f64 -1/12 b)
(*.f64 b -1/12)
(*.f64 -1/12 b)
(*.f64 b -1/12)
(*.f64 -1/12 b)
(*.f64 b -1/12)
(*.f64 -1/12 b)
(*.f64 b -1/12)
(*.f64 -1/12 b)
(*.f64 b -1/12)

eval695.0ms (3.8%)

Compiler

Compiled 6645 to 3647 computations (45.1% saved)

prune202.0ms (1.1%)

Pruning

13 alts after pruning (9 fresh and 4 done)

PrunedKeptTotal
New3775382
Fresh246
Picked101
Done246
Total38213395
Error
0b
Counts
395 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
29.3b
(/.f64 1 a)
49.5b
(*.f64 eps (-.f64 (+.f64 (*.f64 (/.f64 1 eps) (/.f64 1 b)) (*.f64 -1 (*.f64 eps (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b))))) 1/2))
36.6b
(+.f64 (*.f64 -1/2 eps) (/.f64 1 b))
18.7b
(+.f64 (/.f64 1 a) (+.f64 (/.f64 eps (*.f64 eps b)) (*.f64 eps -1/2)))
62.1b
(*.f64 -1/2 eps)
37.9b
(/.f64 (/.f64 b a) b)
49.4b
(*.f64 eps (/.f64 (expm1.f64 (*.f64 b eps)) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
36.8b
(/.f64 1 b)
48.3b
(/.f64 eps (expm1.f64 (*.f64 eps b)))
9.1b
(/.f64 (/.f64 (+.f64 a b) b) a)
39.5b
(-.f64 (+.f64 1 (/.f64 1 b)) 1)
2.3b
(+.f64 (/.f64 1 b) (/.f64 1 a))
49.6b
(*.f64 eps (-.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (*.f64 -1 (*.f64 eps (*.f64 b -1/12)))) 1/2))
Compiler

Compiled 280 to 204 computations (27.1% saved)

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (+.f64 a b) b)
6.4b
(/.f64 (/.f64 (+.f64 a b) b) a)
Compiler

Compiled 20 to 6 computations (70% saved)

series32.0ms (0.2%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
25.0ms
b
@inf
(/.f64 (+.f64 a b) b)
1.0ms
b
@-inf
(/.f64 (+.f64 a b) b)
1.0ms
b
@0
(/.f64 (+.f64 a b) b)
1.0ms
a
@0
(/.f64 (/.f64 (+.f64 a b) b) a)
1.0ms
a
@inf
(/.f64 (+.f64 a b) b)

rewrite84.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
948×pow1_binary64
888×add-log-exp_binary64
888×log1p-expm1-u_binary64
888×expm1-log1p-u_binary64
77×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0617
114217
2231317
Stop Event
node limit
Counts
2 → 71
Calls
Call 1
Inputs
(/.f64 (/.f64 (+.f64 a b) b) a)
(/.f64 (+.f64 a b) b)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (+.f64 a b) (*.f64 a b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 a b) (/.f64 1 (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 a b) (*.f64 (/.f64 1 b) (/.f64 1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 a b) b) (/.f64 1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (+.f64 a b) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))) (cbrt.f64 (pow.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 2)) (cbrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 a b) b)) 2) (*.f64 (cbrt.f64 (/.f64 (+.f64 a b) b)) (/.f64 1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))) (sqrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (+.f64 a b) b)) (*.f64 (sqrt.f64 (/.f64 (+.f64 a b) b)) (/.f64 1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 (+.f64 a b)) b) (/.f64 1 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 a) (/.f64 (+.f64 a b) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) a) (/.f64 (cbrt.f64 (+.f64 a b)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 a b)) a) (/.f64 (sqrt.f64 (+.f64 a b)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 a b) 1) (/.f64 (/.f64 1 b) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 a b) b)) 2) 1) (/.f64 (cbrt.f64 (/.f64 (+.f64 a b) b)) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 (+.f64 a b) b)) 1) (/.f64 (sqrt.f64 (/.f64 (+.f64 a b) b)) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 a b) (pow.f64 (cbrt.f64 a) 2)) (/.f64 (/.f64 1 b) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 a) 2)) (/.f64 (/.f64 (+.f64 a b) b) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 a b) b)) 2) (pow.f64 (cbrt.f64 a) 2)) (cbrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 (+.f64 a b) b)) (pow.f64 (cbrt.f64 a) 2)) (/.f64 (sqrt.f64 (/.f64 (+.f64 a b) b)) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 a b) (sqrt.f64 a)) (/.f64 (/.f64 1 b) (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 a)) (/.f64 (/.f64 (+.f64 a b) b) (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 a b) b)) 2) (sqrt.f64 a)) (/.f64 (cbrt.f64 (/.f64 (+.f64 a b) b)) (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (+.f64 a b) (*.f64 a b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a (/.f64 b (+.f64 a b))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 (+.f64 a b) b) (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (+.f64 a b) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (+.f64 a b) (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (+.f64 a b) (*.f64 a b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 (+.f64 a b) b) 3) (pow.f64 a 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (+.f64 a b) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (+.f64 a b) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (+.f64 a b) (*.f64 a b))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (+.f64 a b) b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 a b) (/.f64 1 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 a b) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (+.f64 a b) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (+.f64 a b) b)) (pow.f64 (cbrt.f64 (/.f64 (+.f64 a b) b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 a b) b)) 2) (cbrt.f64 (/.f64 (+.f64 a b) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) (*.f64 (cbrt.f64 (+.f64 a b)) (/.f64 1 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (+.f64 a b) b)) (sqrt.f64 (/.f64 (+.f64 a b) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 a b)) (*.f64 (sqrt.f64 (+.f64 a b)) (/.f64 1 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (+.f64 a b)) (/.f64 1 (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b) (+.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) 1) (/.f64 (cbrt.f64 (+.f64 a b)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 a b)) 1) (/.f64 (sqrt.f64 (+.f64 a b)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 b) 2)) (/.f64 (+.f64 a b) (cbrt.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 (/.f64 (+.f64 a b) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 a b)) (pow.f64 (cbrt.f64 b) 2)) (/.f64 (sqrt.f64 (+.f64 a b)) (cbrt.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 b)) (/.f64 (+.f64 a b) (sqrt.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) (sqrt.f64 b)) (/.f64 (cbrt.f64 (+.f64 a b)) (sqrt.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 a b) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (+.f64 a b) b) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (+.f64 a b) b)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (+.f64 a b) b)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 b (+.f64 a b)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (+.f64 a b) (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (+.f64 a b) b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (+.f64 a b) b)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (+.f64 a b) b))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (+.f64 a b) b) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (+.f64 a b) 3) (pow.f64 b 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (+.f64 a b) b)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (+.f64 a b) b)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (+.f64 a b) b)))))))

simplify49.0ms (0.3%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010345
113345
Stop Event
saturated
Counts
119 → 78
Calls
Call 1
Inputs
(/.f64 1 a)
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 a)
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(/.f64 1 a)
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 b) (/.f64 1 a))
1
(+.f64 1 (/.f64 a b))
(+.f64 1 (/.f64 a b))
(+.f64 1 (/.f64 a b))
(/.f64 a b)
(+.f64 1 (/.f64 a b))
(+.f64 1 (/.f64 a b))
(+.f64 1 (/.f64 a b))
(/.f64 a b)
(+.f64 1 (/.f64 a b))
(+.f64 1 (/.f64 a b))
(+.f64 1 (/.f64 a b))
(/.f64 a b)
(+.f64 1 (/.f64 a b))
(+.f64 1 (/.f64 a b))
(+.f64 1 (/.f64 a b))
1
(+.f64 1 (/.f64 a b))
(+.f64 1 (/.f64 a b))
(+.f64 1 (/.f64 a b))
1
(+.f64 1 (/.f64 a b))
(+.f64 1 (/.f64 a b))
(+.f64 1 (/.f64 a b))
Outputs
(/.f64 1 a)
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 b)
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 a)
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(/.f64 1 a)
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(+.f64 (/.f64 1 a) (/.f64 1 b))
1
(+.f64 1 (/.f64 a b))
(+.f64 1 (/.f64 a b))
(+.f64 1 (/.f64 a b))
(/.f64 a b)
(+.f64 1 (/.f64 a b))
(+.f64 1 (/.f64 a b))
(+.f64 1 (/.f64 a b))
(/.f64 a b)
(+.f64 1 (/.f64 a b))
(+.f64 1 (/.f64 a b))
(+.f64 1 (/.f64 a b))
(/.f64 a b)
(+.f64 1 (/.f64 a b))
(+.f64 1 (/.f64 a b))
(+.f64 1 (/.f64 a b))
1
(+.f64 1 (/.f64 a b))
(+.f64 1 (/.f64 a b))
(+.f64 1 (/.f64 a b))
1
(+.f64 1 (/.f64 a b))
(+.f64 1 (/.f64 a b))
(+.f64 1 (/.f64 a b))

localize8.0ms (0%)

Compiler

Compiled 8 to 6 computations (25% saved)

localize136.0ms (0.8%)

Local error

Found 1 expressions with local error:

NewErrorProgram
3.3b
(-.f64 (+.f64 1 (/.f64 1 b)) 1)
Compiler

Compiled 20 to 16 computations (20% saved)

series2.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
1.0ms
b
@-inf
(-.f64 (+.f64 1 (/.f64 1 b)) 1)
1.0ms
b
@0
(-.f64 (+.f64 1 (/.f64 1 b)) 1)
1.0ms
b
@inf
(-.f64 (+.f64 1 (/.f64 1 b)) 1)

rewrite73.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
665×pow1_binary64
626×add-log-exp_binary64
626×log1p-expm1-u_binary64
626×expm1-log1p-u_binary64
615×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0610
11394
220084
Stop Event
node limit
Counts
1 → 46
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (/.f64 1 b)) 1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (/.f64 1 b) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (+.f64 (/.f64 1 b) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 b) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (/.f64 1 b)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 1 (/.f64 1 b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 1 b) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1 b)) (cbrt.f64 (pow.f64 b -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 b -2)) (cbrt.f64 (/.f64 1 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 b -1/2) (pow.f64 b -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (+.f64 1 (/.f64 1 b)) 3) -1) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (/.f64 1 b)) 2) (+.f64 (/.f64 1 b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (/.f64 1 b) 2) (/.f64 1 b)) (/.f64 1 (+.f64 (/.f64 1 b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 b) 2) -1) (pow.f64 (cbrt.f64 b) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 b) -1) (pow.f64 (sqrt.f64 b) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (hypot.f64 1 (pow.f64 b -1/2)) 1) (-.f64 (hypot.f64 1 (pow.f64 b -1/2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 b)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (neg.f64 (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 1 (/.f64 1 b)) 2) (+.f64 (/.f64 1 b) 2)) (+.f64 (pow.f64 (+.f64 1 (/.f64 1 b)) 3) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (/.f64 1 b) 2) (*.f64 (+.f64 (/.f64 1 b) 2) (/.f64 1 b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 b -1/2) (sqrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 1 (/.f64 1 b)) 3) -1) (+.f64 (pow.f64 (+.f64 1 (/.f64 1 b)) 2) (+.f64 (/.f64 1 b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 1 (/.f64 1 b)) 3) -1) (+.f64 (pow.f64 (+.f64 1 (/.f64 1 b)) 2) (-.f64 1 (*.f64 (+.f64 1 (/.f64 1 b)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (/.f64 1 b) 2) (/.f64 1 b)) (+.f64 (/.f64 1 b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (/.f64 1 b) 2) (/.f64 1 b)) (-.f64 (+.f64 1 (/.f64 1 b)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 1 (/.f64 1 b)) 3) -1)) (neg.f64 (+.f64 (pow.f64 (+.f64 1 (/.f64 1 b)) 2) (+.f64 (/.f64 1 b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 (/.f64 1 b) 2) (/.f64 1 b))) (neg.f64 (+.f64 (/.f64 1 b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (+.f64 (/.f64 1 b) -1) 3)) (+.f64 1 (-.f64 (*.f64 (+.f64 (/.f64 1 b) -1) (+.f64 (/.f64 1 b) -1)) (+.f64 (/.f64 1 b) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (*.f64 (+.f64 (/.f64 1 b) -1) (+.f64 (/.f64 1 b) -1))) (-.f64 1 (+.f64 (/.f64 1 b) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 b -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 1 b)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 b -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 b -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 b -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1 b)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 b -3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1 b)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1 b)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 1 (/.f64 1 b)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (/.f64 1 b))) 2) (cbrt.f64 (+.f64 1 (/.f64 1 b))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 1 (pow.f64 b -1/2)) (hypot.f64 1 (pow.f64 b -1/2)) -1)))))

simplify45.0ms (0.3%)

Algorithm
egg-herbie
Rules
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0448
1648
Stop Event
saturated
Counts
58 → 46
Calls
Call 1
Inputs
(/.f64 1 b)
(/.f64 1 b)
(/.f64 1 b)
(/.f64 1 b)
(/.f64 1 b)
(/.f64 1 b)
(/.f64 1 b)
(/.f64 1 b)
(/.f64 1 b)
(/.f64 1 b)
(/.f64 1 b)
(/.f64 1 b)
Outputs
(/.f64 1 b)
(/.f64 1 b)
(/.f64 1 b)
(/.f64 1 b)
(/.f64 1 b)
(/.f64 1 b)
(/.f64 1 b)
(/.f64 1 b)
(/.f64 1 b)
(/.f64 1 b)
(/.f64 1 b)
(/.f64 1 b)

localize96.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 eps (*.f64 b -1/12))
0.2b
(/.f64 1 (*.f64 eps b))
0.3b
(*.f64 b -1/12)
15.9b
(*.f64 eps (-.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (*.f64 -1 (*.f64 eps (*.f64 b -1/12)))) 1/2))
Compiler

Compiled 77 to 49 computations (36.4% saved)

series13.0ms (0.1%)

Counts
3 → 60
Calls

15 calls:

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

rewrite276.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
723×log-prod_binary64
578×fma-def_binary64
352×fma-neg_binary64
257×expm1-udef_binary64
257×log1p-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01535
132433
2436331
Stop Event
node limit
Counts
3 → 67
Calls
Call 1
Inputs
(*.f64 eps (-.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (*.f64 -1 (*.f64 eps (*.f64 b -1/12)))) 1/2))
(*.f64 b -1/12)
(*.f64 eps (*.f64 b -1/12))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 eps (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 eps (*.f64 b -1/12) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1 (*.f64 eps b)) eps) (*.f64 (fma.f64 eps (*.f64 b -1/12) -1/2) eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 eps (*.f64 b -1/12) (/.f64 1 (*.f64 eps b))) eps) (*.f64 -1/2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 eps (/.f64 1 (*.f64 eps b))) (*.f64 eps (fma.f64 eps (*.f64 b -1/12) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 eps (fma.f64 eps (*.f64 b -1/12) (/.f64 1 (*.f64 eps b)))) (*.f64 eps -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 eps) (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 eps (*.f64 b -1/12) -1/2)))) (cbrt.f64 (pow.f64 (exp.f64 eps) (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 eps (*.f64 b -1/12) -1/2)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 eps) (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 eps (*.f64 b -1/12) -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 eps) (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 eps (*.f64 b -1/12) -1/2))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 eps) (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 eps (*.f64 b -1/12) -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 eps (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 eps (*.f64 b -1/12) -1/2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 eps (*.f64 b -1/12) (/.f64 1 (*.f64 eps b))) 3) -1/8) eps) (+.f64 (pow.f64 (fma.f64 eps (*.f64 b -1/12) (/.f64 1 (*.f64 eps b))) 2) (fma.f64 (fma.f64 eps (*.f64 b -1/12) (/.f64 1 (*.f64 eps b))) 1/2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 eps (*.f64 b -1/12) (/.f64 1 (*.f64 eps b))) 2) -1/4) eps) (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 b (*.f64 eps -1/12) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (+.f64 (pow.f64 (fma.f64 eps (*.f64 b -1/12) (/.f64 1 (*.f64 eps b))) 3) -1/8)) (+.f64 (pow.f64 (fma.f64 eps (*.f64 b -1/12) (/.f64 1 (*.f64 eps b))) 2) (fma.f64 (fma.f64 eps (*.f64 b -1/12) (/.f64 1 (*.f64 eps b))) 1/2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (+.f64 (pow.f64 (fma.f64 eps (*.f64 b -1/12) (/.f64 1 (*.f64 eps b))) 2) -1/4)) (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 b (*.f64 eps -1/12) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 eps (*.f64 b -1/12) -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 eps (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 eps (*.f64 b -1/12) -1/2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 eps (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 eps (*.f64 b -1/12) -1/2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 eps (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 eps (*.f64 b -1/12) -1/2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 eps (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 eps (*.f64 b -1/12) -1/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 eps) (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 eps (*.f64 b -1/12) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 eps (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 eps (*.f64 b -1/12) -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 eps (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 eps (*.f64 b -1/12) -1/2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 eps 3) (pow.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 eps (*.f64 b -1/12) -1/2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 eps (*.f64 b -1/12) -1/2)) 3) (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 eps (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 eps (*.f64 b -1/12) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 eps (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 eps (*.f64 b -1/12) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 eps (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 eps (*.f64 b -1/12) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 eps (+.f64 (/.f64 1 (*.f64 eps b)) (fma.f64 eps (*.f64 b -1/12) -1/2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps (/.f64 1 (*.f64 eps b)) (*.f64 eps (fma.f64 eps (*.f64 b -1/12) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps (fma.f64 eps (*.f64 b -1/12) (/.f64 1 (*.f64 eps b))) (*.f64 eps -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (*.f64 eps b)) eps (*.f64 (fma.f64 eps (*.f64 b -1/12) -1/2) eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 eps (*.f64 b -1/12) (/.f64 1 (*.f64 eps b))) eps (*.f64 -1/2 eps))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 b -1/12))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/12) b)) (cbrt.f64 (pow.f64 (exp.f64 -1/12) b)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/12) b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/12) b))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/12) b))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 b -1/12))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 b -1/12) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 b -1/12) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 b -1/12)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 b -1/12)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 b -1/12) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 -1/12) b))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 b -1/12))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 b -1/12) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 b -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 b -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 b -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 b -1/12)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 eps (*.f64 b -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/12) b) eps)) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/12) b) eps)))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/12) b) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/12) b) eps))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/12) b) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 eps (*.f64 b -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 eps (*.f64 b -1/12)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (*.f64 b -1/12)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 eps (*.f64 b -1/12))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 eps (*.f64 b -1/12))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 eps (*.f64 b -1/12)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 eps (*.f64 b -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (*.f64 eps b) 2) 1/144))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 -1/12) b) eps))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 eps (*.f64 b -1/12)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 eps (*.f64 b -1/12))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 eps (*.f64 b -1/12)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 eps 3) (pow.f64 (*.f64 b -1/12) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 b -1/12) 3) (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 eps (*.f64 b -1/12))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 eps (*.f64 b -1/12))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 eps (*.f64 b -1/12))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 eps (*.f64 b -1/12))) 1))))))

simplify235.0ms (1.3%)

Algorithm
egg-herbie
Rules
1080×sqr-pow_binary64
639×fabs-mul_binary64
612×pow-sqr_binary64
610×cube-prod_binary64
535×fma-def_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
020576
144552
277552
3146548
4379504
51193504
61841504
72513504
82626504
92759504
102931504
113174504
123489504
133861504
144319504
154906504
165618504
176476504
186902504
197216504
207522504
217600504
227634504
Stop Event
node limit
Counts
127 → 80
Calls
Call 1
Inputs
(/.f64 1 b)
(+.f64 (*.f64 -1/2 eps) (/.f64 1 b))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(*.f64 1/12 (*.f64 (pow.f64 eps 2) b))
(+.f64 (*.f64 -1/2 eps) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b)))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(*.f64 1/12 (*.f64 (pow.f64 eps 2) b))
(+.f64 (*.f64 -1/2 eps) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b)))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(/.f64 1 b)
(+.f64 (*.f64 -1/2 eps) (/.f64 1 b))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(*.f64 1/12 (*.f64 (pow.f64 eps 2) b))
(+.f64 (*.f64 -1/2 eps) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b)))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(*.f64 1/12 (*.f64 (pow.f64 eps 2) b))
(+.f64 (*.f64 -1/2 eps) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b)))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(*.f64 -1/12 b)
(*.f64 -1/12 b)
(*.f64 -1/12 b)
(*.f64 -1/12 b)
(*.f64 -1/12 b)
(*.f64 -1/12 b)
(*.f64 -1/12 b)
(*.f64 -1/12 b)
(*.f64 -1/12 b)
(*.f64 -1/12 b)
(*.f64 -1/12 b)
(*.f64 -1/12 b)
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 eps b))
Outputs
(/.f64 1 b)
(+.f64 (*.f64 -1/2 eps) (/.f64 1 b))
(fma.f64 -1/2 eps (/.f64 1 b))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(+.f64 (fma.f64 -1/2 eps (/.f64 1 b)) (*.f64 1/12 (*.f64 b (*.f64 eps eps))))
(fma.f64 -1/2 eps (fma.f64 1/12 (*.f64 b (*.f64 eps eps)) (/.f64 1 b)))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (fma.f64 -1/2 eps (/.f64 1 b)))
(fma.f64 eps (fma.f64 b (*.f64 eps 1/12) -1/2) (/.f64 1 b))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(+.f64 (fma.f64 -1/2 eps (/.f64 1 b)) (*.f64 1/12 (*.f64 b (*.f64 eps eps))))
(fma.f64 -1/2 eps (fma.f64 1/12 (*.f64 b (*.f64 eps eps)) (/.f64 1 b)))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (fma.f64 -1/2 eps (/.f64 1 b)))
(fma.f64 eps (fma.f64 b (*.f64 eps 1/12) -1/2) (/.f64 1 b))
(*.f64 1/12 (*.f64 (pow.f64 eps 2) b))
(*.f64 1/12 (*.f64 b (*.f64 eps eps)))
(*.f64 b (*.f64 1/12 (*.f64 eps eps)))
(*.f64 b (*.f64 eps (*.f64 eps 1/12)))
(*.f64 (*.f64 b eps) (*.f64 eps 1/12))
(+.f64 (*.f64 -1/2 eps) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b)))
(fma.f64 -1/2 eps (*.f64 1/12 (*.f64 b (*.f64 eps eps))))
(fma.f64 1/12 (*.f64 b (*.f64 eps eps)) (*.f64 -1/2 eps))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (*.f64 -1/2 eps))
(*.f64 eps (+.f64 -1/2 (*.f64 b (*.f64 eps 1/12))))
(*.f64 eps (fma.f64 b (*.f64 eps 1/12) -1/2))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(+.f64 (fma.f64 -1/2 eps (/.f64 1 b)) (*.f64 1/12 (*.f64 b (*.f64 eps eps))))
(fma.f64 -1/2 eps (fma.f64 1/12 (*.f64 b (*.f64 eps eps)) (/.f64 1 b)))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (fma.f64 -1/2 eps (/.f64 1 b)))
(fma.f64 eps (fma.f64 b (*.f64 eps 1/12) -1/2) (/.f64 1 b))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(+.f64 (fma.f64 -1/2 eps (/.f64 1 b)) (*.f64 1/12 (*.f64 b (*.f64 eps eps))))
(fma.f64 -1/2 eps (fma.f64 1/12 (*.f64 b (*.f64 eps eps)) (/.f64 1 b)))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (fma.f64 -1/2 eps (/.f64 1 b)))
(fma.f64 eps (fma.f64 b (*.f64 eps 1/12) -1/2) (/.f64 1 b))
(*.f64 1/12 (*.f64 (pow.f64 eps 2) b))
(*.f64 1/12 (*.f64 b (*.f64 eps eps)))
(*.f64 b (*.f64 1/12 (*.f64 eps eps)))
(*.f64 b (*.f64 eps (*.f64 eps 1/12)))
(*.f64 (*.f64 b eps) (*.f64 eps 1/12))
(+.f64 (*.f64 -1/2 eps) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b)))
(fma.f64 -1/2 eps (*.f64 1/12 (*.f64 b (*.f64 eps eps))))
(fma.f64 1/12 (*.f64 b (*.f64 eps eps)) (*.f64 -1/2 eps))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (*.f64 -1/2 eps))
(*.f64 eps (+.f64 -1/2 (*.f64 b (*.f64 eps 1/12))))
(*.f64 eps (fma.f64 b (*.f64 eps 1/12) -1/2))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(+.f64 (fma.f64 -1/2 eps (/.f64 1 b)) (*.f64 1/12 (*.f64 b (*.f64 eps eps))))
(fma.f64 -1/2 eps (fma.f64 1/12 (*.f64 b (*.f64 eps eps)) (/.f64 1 b)))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (fma.f64 -1/2 eps (/.f64 1 b)))
(fma.f64 eps (fma.f64 b (*.f64 eps 1/12) -1/2) (/.f64 1 b))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(+.f64 (fma.f64 -1/2 eps (/.f64 1 b)) (*.f64 1/12 (*.f64 b (*.f64 eps eps))))
(fma.f64 -1/2 eps (fma.f64 1/12 (*.f64 b (*.f64 eps eps)) (/.f64 1 b)))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (fma.f64 -1/2 eps (/.f64 1 b)))
(fma.f64 eps (fma.f64 b (*.f64 eps 1/12) -1/2) (/.f64 1 b))
(/.f64 1 b)
(+.f64 (*.f64 -1/2 eps) (/.f64 1 b))
(fma.f64 -1/2 eps (/.f64 1 b))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(+.f64 (fma.f64 -1/2 eps (/.f64 1 b)) (*.f64 1/12 (*.f64 b (*.f64 eps eps))))
(fma.f64 -1/2 eps (fma.f64 1/12 (*.f64 b (*.f64 eps eps)) (/.f64 1 b)))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (fma.f64 -1/2 eps (/.f64 1 b)))
(fma.f64 eps (fma.f64 b (*.f64 eps 1/12) -1/2) (/.f64 1 b))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(+.f64 (fma.f64 -1/2 eps (/.f64 1 b)) (*.f64 1/12 (*.f64 b (*.f64 eps eps))))
(fma.f64 -1/2 eps (fma.f64 1/12 (*.f64 b (*.f64 eps eps)) (/.f64 1 b)))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (fma.f64 -1/2 eps (/.f64 1 b)))
(fma.f64 eps (fma.f64 b (*.f64 eps 1/12) -1/2) (/.f64 1 b))
(*.f64 1/12 (*.f64 (pow.f64 eps 2) b))
(*.f64 1/12 (*.f64 b (*.f64 eps eps)))
(*.f64 b (*.f64 1/12 (*.f64 eps eps)))
(*.f64 b (*.f64 eps (*.f64 eps 1/12)))
(*.f64 (*.f64 b eps) (*.f64 eps 1/12))
(+.f64 (*.f64 -1/2 eps) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b)))
(fma.f64 -1/2 eps (*.f64 1/12 (*.f64 b (*.f64 eps eps))))
(fma.f64 1/12 (*.f64 b (*.f64 eps eps)) (*.f64 -1/2 eps))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (*.f64 -1/2 eps))
(*.f64 eps (+.f64 -1/2 (*.f64 b (*.f64 eps 1/12))))
(*.f64 eps (fma.f64 b (*.f64 eps 1/12) -1/2))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(+.f64 (fma.f64 -1/2 eps (/.f64 1 b)) (*.f64 1/12 (*.f64 b (*.f64 eps eps))))
(fma.f64 -1/2 eps (fma.f64 1/12 (*.f64 b (*.f64 eps eps)) (/.f64 1 b)))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (fma.f64 -1/2 eps (/.f64 1 b)))
(fma.f64 eps (fma.f64 b (*.f64 eps 1/12) -1/2) (/.f64 1 b))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(+.f64 (fma.f64 -1/2 eps (/.f64 1 b)) (*.f64 1/12 (*.f64 b (*.f64 eps eps))))
(fma.f64 -1/2 eps (fma.f64 1/12 (*.f64 b (*.f64 eps eps)) (/.f64 1 b)))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (fma.f64 -1/2 eps (/.f64 1 b)))
(fma.f64 eps (fma.f64 b (*.f64 eps 1/12) -1/2) (/.f64 1 b))
(*.f64 1/12 (*.f64 (pow.f64 eps 2) b))
(*.f64 1/12 (*.f64 b (*.f64 eps eps)))
(*.f64 b (*.f64 1/12 (*.f64 eps eps)))
(*.f64 b (*.f64 eps (*.f64 eps 1/12)))
(*.f64 (*.f64 b eps) (*.f64 eps 1/12))
(+.f64 (*.f64 -1/2 eps) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b)))
(fma.f64 -1/2 eps (*.f64 1/12 (*.f64 b (*.f64 eps eps))))
(fma.f64 1/12 (*.f64 b (*.f64 eps eps)) (*.f64 -1/2 eps))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (*.f64 -1/2 eps))
(*.f64 eps (+.f64 -1/2 (*.f64 b (*.f64 eps 1/12))))
(*.f64 eps (fma.f64 b (*.f64 eps 1/12) -1/2))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(+.f64 (fma.f64 -1/2 eps (/.f64 1 b)) (*.f64 1/12 (*.f64 b (*.f64 eps eps))))
(fma.f64 -1/2 eps (fma.f64 1/12 (*.f64 b (*.f64 eps eps)) (/.f64 1 b)))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (fma.f64 -1/2 eps (/.f64 1 b)))
(fma.f64 eps (fma.f64 b (*.f64 eps 1/12) -1/2) (/.f64 1 b))
(+.f64 (*.f64 -1/2 eps) (+.f64 (/.f64 1 b) (*.f64 1/12 (*.f64 (pow.f64 eps 2) b))))
(+.f64 (fma.f64 -1/2 eps (/.f64 1 b)) (*.f64 1/12 (*.f64 b (*.f64 eps eps))))
(fma.f64 -1/2 eps (fma.f64 1/12 (*.f64 b (*.f64 eps eps)) (/.f64 1 b)))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (fma.f64 -1/2 eps (/.f64 1 b)))
(fma.f64 eps (fma.f64 b (*.f64 eps 1/12) -1/2) (/.f64 1 b))
(*.f64 -1/12 b)
(*.f64 b -1/12)
(*.f64 -1/12 b)
(*.f64 b -1/12)
(*.f64 -1/12 b)
(*.f64 b -1/12)
(*.f64 -1/12 b)
(*.f64 b -1/12)
(*.f64 -1/12 b)
(*.f64 b -1/12)
(*.f64 -1/12 b)
(*.f64 b -1/12)
(*.f64 -1/12 b)
(*.f64 b -1/12)
(*.f64 -1/12 b)
(*.f64 b -1/12)
(*.f64 -1/12 b)
(*.f64 b -1/12)
(*.f64 -1/12 b)
(*.f64 b -1/12)
(*.f64 -1/12 b)
(*.f64 b -1/12)
(*.f64 -1/12 b)
(*.f64 b -1/12)
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 b eps))
(*.f64 b (*.f64 eps -1/12))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 b eps))
(*.f64 b (*.f64 eps -1/12))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 b eps))
(*.f64 b (*.f64 eps -1/12))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 b eps))
(*.f64 b (*.f64 eps -1/12))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 b eps))
(*.f64 b (*.f64 eps -1/12))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 b eps))
(*.f64 b (*.f64 eps -1/12))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 b eps))
(*.f64 b (*.f64 eps -1/12))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 b eps))
(*.f64 b (*.f64 eps -1/12))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 b eps))
(*.f64 b (*.f64 eps -1/12))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 b eps))
(*.f64 b (*.f64 eps -1/12))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 b eps))
(*.f64 b (*.f64 eps -1/12))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 b eps))
(*.f64 b (*.f64 eps -1/12))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 b eps))
(*.f64 b (*.f64 eps -1/12))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 b eps))
(*.f64 b (*.f64 eps -1/12))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 b eps))
(*.f64 b (*.f64 eps -1/12))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 b eps))
(*.f64 b (*.f64 eps -1/12))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 b eps))
(*.f64 b (*.f64 eps -1/12))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 b eps))
(*.f64 b (*.f64 eps -1/12))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 b eps))
(*.f64 b (*.f64 eps -1/12))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 b eps))
(*.f64 b (*.f64 eps -1/12))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 b eps))
(*.f64 b (*.f64 eps -1/12))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 b eps))
(*.f64 b (*.f64 eps -1/12))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 b eps))
(*.f64 b (*.f64 eps -1/12))
(*.f64 -1/12 (*.f64 eps b))
(*.f64 -1/12 (*.f64 b eps))
(*.f64 b (*.f64 eps -1/12))

localize7.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(expm1.f64 (*.f64 eps b))
15.8b
(/.f64 eps (expm1.f64 (*.f64 eps b)))
Compiler

Compiled 18 to 6 computations (66.7% saved)

series143.0ms (0.8%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
139.0ms
b
@-inf
(/.f64 eps (expm1.f64 (*.f64 eps b)))
1.0ms
eps
@0
(expm1.f64 (*.f64 eps b))
0.0ms
eps
@0
(/.f64 eps (expm1.f64 (*.f64 eps b)))
0.0ms
eps
@inf
(expm1.f64 (*.f64 eps b))
0.0ms
b
@0
(/.f64 eps (expm1.f64 (*.f64 eps b)))

rewrite63.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
639×pow1_binary64
589×add-log-exp_binary64
589×log1p-expm1-u_binary64
589×expm1-log1p-u_binary64
575×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify84.0ms (0.5%)

Algorithm
egg-herbie
Rules
755×distribute-rgt-in_binary64
597×associate-*l*_binary64
573×fma-def_binary64
509×associate-*r*_binary64
472×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
072536
1239532
2932518
34977518
Stop Event
node limit
Counts
96 → 68
Calls
Call 1
Inputs
(/.f64 1 b)
(+.f64 (*.f64 -1/2 eps) (/.f64 1 b))
(+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 1/24 (pow.f64 b 2)) (+.f64 (*.f64 -1/2 (*.f64 b (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (*.f64 -1/12 (pow.f64 b 2)))))) (+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b))))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 1 b)
(+.f64 (*.f64 -1/2 eps) (/.f64 1 b))
(+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))) b)) (/.f64 1 b)))
(+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))) b)) (+.f64 (/.f64 1 b) (*.f64 -1 (*.f64 (pow.f64 b 2) (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 -1/12 (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 eps (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))))))))))))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(*.f64 eps b)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (*.f64 eps b))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (+.f64 (*.f64 eps b) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (pow.f64 b 4))) (+.f64 (*.f64 eps b) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3))))))
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(*.f64 eps b)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (*.f64 eps b))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (+.f64 (*.f64 eps b) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (pow.f64 b 4))) (+.f64 (*.f64 eps b) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3))))))
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(-.f64 (exp.f64 (*.f64 eps b)) 1)
Outputs
(/.f64 1 b)
(+.f64 (*.f64 -1/2 eps) (/.f64 1 b))
(fma.f64 -1/2 eps (/.f64 1 b))
(+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b)))
(fma.f64 -1/2 eps (fma.f64 -1 (*.f64 (*.f64 eps eps) (*.f64 b -1/12)) (/.f64 1 b)))
(fma.f64 -1/2 eps (-.f64 (/.f64 1 b) (*.f64 b (*.f64 eps (*.f64 eps -1/12)))))
(fma.f64 b (*.f64 (*.f64 eps eps) 1/12) (fma.f64 -1/2 eps (/.f64 1 b)))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (fma.f64 -1/2 eps (/.f64 1 b)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 1/24 (pow.f64 b 2)) (+.f64 (*.f64 -1/2 (*.f64 b (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (*.f64 -1/12 (pow.f64 b 2)))))) (+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b)))) (/.f64 1 b))))
(fma.f64 -1/2 eps (fma.f64 -1 (*.f64 (*.f64 eps eps) (*.f64 b -1/12)) (/.f64 1 b)))
(fma.f64 -1/2 eps (-.f64 (/.f64 1 b) (*.f64 b (*.f64 eps (*.f64 eps -1/12)))))
(fma.f64 b (*.f64 (*.f64 eps eps) 1/12) (fma.f64 -1/2 eps (/.f64 1 b)))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (fma.f64 -1/2 eps (/.f64 1 b)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 b eps)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 b eps)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 b eps)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 b eps)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 b eps)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 b eps)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 b eps)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 b eps)))
(/.f64 1 b)
(+.f64 (*.f64 -1/2 eps) (/.f64 1 b))
(fma.f64 -1/2 eps (/.f64 1 b))
(+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))) b)) (/.f64 1 b)))
(fma.f64 -1/2 eps (fma.f64 -1 (*.f64 (*.f64 eps eps) (*.f64 b -1/12)) (/.f64 1 b)))
(fma.f64 -1/2 eps (-.f64 (/.f64 1 b) (*.f64 b (*.f64 eps (*.f64 eps -1/12)))))
(fma.f64 b (*.f64 (*.f64 eps eps) 1/12) (fma.f64 -1/2 eps (/.f64 1 b)))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (fma.f64 -1/2 eps (/.f64 1 b)))
(+.f64 (*.f64 -1/2 eps) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))) b)) (+.f64 (/.f64 1 b) (*.f64 -1 (*.f64 (pow.f64 b 2) (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 -1/12 (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 eps (+.f64 (*.f64 1/6 (pow.f64 eps 2)) (*.f64 -1/4 (pow.f64 eps 2))))))))))))
(fma.f64 -1/2 eps (fma.f64 -1 (*.f64 (*.f64 eps eps) (*.f64 b -1/12)) (/.f64 1 b)))
(fma.f64 -1/2 eps (-.f64 (/.f64 1 b) (*.f64 b (*.f64 eps (*.f64 eps -1/12)))))
(fma.f64 b (*.f64 (*.f64 eps eps) 1/12) (fma.f64 -1/2 eps (/.f64 1 b)))
(fma.f64 b (*.f64 eps (*.f64 eps 1/12)) (fma.f64 -1/2 eps (/.f64 1 b)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 b eps)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 b eps)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 b eps)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 b eps)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 b eps)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 b eps)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 b eps)))
(/.f64 eps (-.f64 (exp.f64 (*.f64 eps b)) 1))
(/.f64 eps (expm1.f64 (*.f64 b eps)))
(*.f64 eps b)
(*.f64 b eps)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (*.f64 eps b))
(fma.f64 1/2 (*.f64 (*.f64 eps eps) (*.f64 b b)) (*.f64 b eps))
(fma.f64 b eps (*.f64 (*.f64 b b) (*.f64 (*.f64 1/2 eps) eps)))
(*.f64 b (+.f64 eps (*.f64 (*.f64 eps eps) (*.f64 1/2 b))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (+.f64 (*.f64 eps b) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3)))))
(fma.f64 1/2 (*.f64 (*.f64 eps eps) (*.f64 b b)) (fma.f64 eps b (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3)))))
(fma.f64 1/2 (*.f64 eps (*.f64 eps (*.f64 b b))) (fma.f64 b eps (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3)))))
(fma.f64 b eps (*.f64 (*.f64 b b) (+.f64 (*.f64 eps (*.f64 eps 1/2)) (*.f64 b (*.f64 1/6 (pow.f64 eps 3))))))
(fma.f64 (pow.f64 b 3) (*.f64 1/6 (pow.f64 eps 3)) (*.f64 b (+.f64 eps (*.f64 (*.f64 eps eps) (*.f64 1/2 b)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (pow.f64 b 4))) (+.f64 (*.f64 eps b) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3))))))
(fma.f64 1/2 (*.f64 (*.f64 eps eps) (*.f64 b b)) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (pow.f64 b 4)) (fma.f64 eps b (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3))))))
(fma.f64 1/2 (*.f64 eps (*.f64 eps (*.f64 b b))) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (pow.f64 b 4)) (fma.f64 b eps (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3))))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (pow.f64 b 4)) (fma.f64 b eps (*.f64 (*.f64 b b) (+.f64 (*.f64 eps (*.f64 eps 1/2)) (*.f64 b (*.f64 1/6 (pow.f64 eps 3)))))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (pow.f64 b 4)) (fma.f64 (pow.f64 b 3) (*.f64 1/6 (pow.f64 eps 3)) (*.f64 b (+.f64 eps (*.f64 (*.f64 eps eps) (*.f64 1/2 b))))))
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(expm1.f64 (*.f64 b eps))
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(expm1.f64 (*.f64 b eps))
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(expm1.f64 (*.f64 b eps))
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(expm1.f64 (*.f64 b eps))
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(expm1.f64 (*.f64 b eps))
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(expm1.f64 (*.f64 b eps))
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(expm1.f64 (*.f64 b eps))
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(expm1.f64 (*.f64 b eps))
(*.f64 eps b)
(*.f64 b eps)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (*.f64 eps b))
(fma.f64 1/2 (*.f64 (*.f64 eps eps) (*.f64 b b)) (*.f64 b eps))
(fma.f64 b eps (*.f64 (*.f64 b b) (*.f64 (*.f64 1/2 eps) eps)))
(*.f64 b (+.f64 eps (*.f64 (*.f64 eps eps) (*.f64 1/2 b))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (+.f64 (*.f64 eps b) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3)))))
(fma.f64 1/2 (*.f64 (*.f64 eps eps) (*.f64 b b)) (fma.f64 eps b (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3)))))
(fma.f64 1/2 (*.f64 eps (*.f64 eps (*.f64 b b))) (fma.f64 b eps (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3)))))
(fma.f64 b eps (*.f64 (*.f64 b b) (+.f64 (*.f64 eps (*.f64 eps 1/2)) (*.f64 b (*.f64 1/6 (pow.f64 eps 3))))))
(fma.f64 (pow.f64 b 3) (*.f64 1/6 (pow.f64 eps 3)) (*.f64 b (+.f64 eps (*.f64 (*.f64 eps eps) (*.f64 1/2 b)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (pow.f64 b 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (pow.f64 b 4))) (+.f64 (*.f64 eps b) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3))))))
(fma.f64 1/2 (*.f64 (*.f64 eps eps) (*.f64 b b)) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (pow.f64 b 4)) (fma.f64 eps b (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3))))))
(fma.f64 1/2 (*.f64 eps (*.f64 eps (*.f64 b b))) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (pow.f64 b 4)) (fma.f64 b eps (*.f64 1/6 (*.f64 (pow.f64 eps 3) (pow.f64 b 3))))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (pow.f64 b 4)) (fma.f64 b eps (*.f64 (*.f64 b b) (+.f64 (*.f64 eps (*.f64 eps 1/2)) (*.f64 b (*.f64 1/6 (pow.f64 eps 3)))))))
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (pow.f64 b 4)) (fma.f64 (pow.f64 b 3) (*.f64 1/6 (pow.f64 eps 3)) (*.f64 b (+.f64 eps (*.f64 (*.f64 eps eps) (*.f64 1/2 b))))))
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(expm1.f64 (*.f64 b eps))
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(expm1.f64 (*.f64 b eps))
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(expm1.f64 (*.f64 b eps))
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(expm1.f64 (*.f64 b eps))
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(expm1.f64 (*.f64 b eps))
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(expm1.f64 (*.f64 b eps))
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(expm1.f64 (*.f64 b eps))
(-.f64 (exp.f64 (*.f64 eps b)) 1)
(expm1.f64 (*.f64 b eps))

eval115.0ms (0.6%)

Compiler

Compiled 4414 to 2532 computations (42.6% saved)

prune219.0ms (1.2%)

Pruning

14 alts after pruning (5 fresh and 9 done)

PrunedKeptTotal
New2962298
Fresh134
Picked011
Done088
Total29714311
Error
0b
Counts
311 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
36.6b
(+.f64 (*.f64 -1/2 eps) (/.f64 1 b))
18.7b
(+.f64 (/.f64 1 a) (+.f64 (/.f64 eps (*.f64 eps b)) (*.f64 eps -1/2)))
62.1b
(*.f64 -1/2 eps)
37.9b
(/.f64 (/.f64 b a) b)
49.5b
(*.f64 eps (-.f64 (+.f64 (*.f64 (/.f64 1 eps) (/.f64 1 b)) (*.f64 -1 (*.f64 eps (*.f64 b -1/12)))) 1/2))
9.1b
(/.f64 (/.f64 (+.f64 a b) b) a)
49.4b
(*.f64 eps (/.f64 (expm1.f64 (*.f64 b eps)) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
36.8b
(/.f64 1 b)
48.3b
(/.f64 eps (expm1.f64 (*.f64 eps b)))
49.6b
(*.f64 eps (-.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (*.f64 -1 (*.f64 eps (*.f64 b -1/12)))) 1/2))
43.6b
(/.f64 (/.f64 a b) a)
29.3b
(/.f64 1 a)
39.5b
(-.f64 (+.f64 1 (/.f64 1 b)) 1)
2.3b
(+.f64 (/.f64 1 b) (/.f64 1 a))
Compiler

Compiled 160 to 117 computations (26.9% saved)

regimes119.0ms (0.7%)

Counts
33 → 3
Calls
Call 1
Inputs
(*.f64 -1/2 eps)
(/.f64 1 b)
(/.f64 1 b)
(/.f64 1 a)
(/.f64 (/.f64 a b) a)
(/.f64 (/.f64 b a) b)
(/.f64 (/.f64 (+.f64 a b) b) a)
(-.f64 (+.f64 1 (/.f64 1 b)) 1)
(+.f64 (*.f64 -1/2 eps) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(/.f64 (+.f64 (/.f64 b a) 1) b)
(*.f64 eps (/.f64 1 (*.f64 eps b)))
(/.f64 (/.f64 (+.f64 a b) a) b)
(/.f64 (+.f64 a b) (*.f64 a b))
(-.f64 (+.f64 1 (/.f64 (+.f64 a b) (*.f64 a b))) 1)
(*.f64 eps (/.f64 (/.f64 (+.f64 a b) (*.f64 a eps)) b))
(+.f64 (/.f64 1 a) (+.f64 (/.f64 eps (*.f64 eps b)) (*.f64 eps -1/2)))
(*.f64 eps (-.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (*.f64 -1 (*.f64 eps (*.f64 b -1/12)))) 1/2))
(*.f64 eps (-.f64 (+.f64 (*.f64 (/.f64 1 eps) (/.f64 1 b)) (*.f64 -1 (*.f64 eps (*.f64 b -1/12)))) 1/2))
(*.f64 eps (-.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (*.f64 -1 (*.f64 eps (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b))))) 1/2))
(*.f64 eps (-.f64 (+.f64 (*.f64 (/.f64 1 eps) (/.f64 1 b)) (*.f64 -1 (*.f64 eps (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b))))) 1/2))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(+.f64 (/.f64 1 b) (*.f64 eps (fma.f64 eps (*.f64 b 1/12) -1/2)))
(*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 a (*.f64 b (*.f64 eps eps)))))
(+.f64 (/.f64 1 a) (+.f64 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps))))) (*.f64 eps -1/2)))
(+.f64 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 a eps))))) (+.f64 (/.f64 1 b) (*.f64 eps -1/2)))
(*.f64 eps (/.f64 (*.f64 (+.f64 a b) eps) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
(*.f64 eps (/.f64 (expm1.f64 (*.f64 b eps)) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
(*.f64 eps (/.f64 (expm1.f64 (*.f64 a eps)) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
(/.f64 eps (/.f64 (expm1.f64 (*.f64 eps b)) (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a)))))
(*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) 1) (-.f64 (exp.f64 (*.f64 b eps)) 1)))
(*.f64 eps (pow.f64 (cbrt.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))) 3))
Outputs
(+.f64 (/.f64 1 b) (/.f64 1 a))
(/.f64 eps (/.f64 (expm1.f64 (*.f64 eps b)) (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a)))))
(+.f64 (/.f64 1 b) (/.f64 1 a))
Calls

4 calls:

58.0ms
b
21.0ms
a
18.0ms
eps
11.0ms
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) 1) (-.f64 (exp.f64 (*.f64 b eps)) 1)))
Results
ErrorSegmentsBranch
2.3b1a
2.3b1b
2.3b1eps
0.0b3(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) 1) (-.f64 (exp.f64 (*.f64 b eps)) 1)))
Compiler

Compiled 433 to 217 computations (49.9% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.470879162425812e-113
+inf
0.0ms
-inf
-4.39095797484601e-41
Compiler

Compiled 33 to 24 computations (27.3% saved)

regimes192.0ms (1.1%)

Counts
29 → 1
Calls
Call 1
Inputs
(*.f64 -1/2 eps)
(/.f64 1 b)
(/.f64 1 b)
(/.f64 1 a)
(/.f64 (/.f64 a b) a)
(/.f64 (/.f64 b a) b)
(/.f64 (/.f64 (+.f64 a b) b) a)
(-.f64 (+.f64 1 (/.f64 1 b)) 1)
(+.f64 (*.f64 -1/2 eps) (/.f64 1 b))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(/.f64 (+.f64 (/.f64 b a) 1) b)
(*.f64 eps (/.f64 1 (*.f64 eps b)))
(/.f64 (/.f64 (+.f64 a b) a) b)
(/.f64 (+.f64 a b) (*.f64 a b))
(-.f64 (+.f64 1 (/.f64 (+.f64 a b) (*.f64 a b))) 1)
(*.f64 eps (/.f64 (/.f64 (+.f64 a b) (*.f64 a eps)) b))
(+.f64 (/.f64 1 a) (+.f64 (/.f64 eps (*.f64 eps b)) (*.f64 eps -1/2)))
(*.f64 eps (-.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (*.f64 -1 (*.f64 eps (*.f64 b -1/12)))) 1/2))
(*.f64 eps (-.f64 (+.f64 (*.f64 (/.f64 1 eps) (/.f64 1 b)) (*.f64 -1 (*.f64 eps (*.f64 b -1/12)))) 1/2))
(*.f64 eps (-.f64 (+.f64 (/.f64 1 (*.f64 eps b)) (*.f64 -1 (*.f64 eps (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b))))) 1/2))
(*.f64 eps (-.f64 (+.f64 (*.f64 (/.f64 1 eps) (/.f64 1 b)) (*.f64 -1 (*.f64 eps (+.f64 (*.f64 1/6 b) (*.f64 -1/4 b))))) 1/2))
(/.f64 eps (expm1.f64 (*.f64 eps b)))
(+.f64 (/.f64 1 b) (*.f64 eps (fma.f64 eps (*.f64 b 1/12) -1/2)))
(*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 a (*.f64 b (*.f64 eps eps)))))
(+.f64 (/.f64 1 a) (+.f64 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 b eps))))) (*.f64 eps -1/2)))
(+.f64 (/.f64 eps (-.f64 1 (exp.f64 (neg.f64 (*.f64 a eps))))) (+.f64 (/.f64 1 b) (*.f64 eps -1/2)))
(*.f64 eps (/.f64 (*.f64 (+.f64 a b) eps) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
(*.f64 eps (/.f64 (expm1.f64 (*.f64 b eps)) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
(*.f64 eps (/.f64 (expm1.f64 (*.f64 a eps)) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))))
Outputs
(+.f64 (/.f64 1 b) (/.f64 1 a))
Calls

3 calls:

20.0ms
b
18.0ms
eps
17.0ms
a
Results
ErrorSegmentsBranch
2.3b1a
2.3b1b
2.3b1eps
Compiler

Compiled 325 to 177 computations (45.5% saved)

regimes40.0ms (0.2%)

Counts
9 → 2
Calls
Call 1
Inputs
(*.f64 -1/2 eps)
(/.f64 1 b)
(/.f64 1 b)
(/.f64 1 a)
(/.f64 (/.f64 a b) a)
(/.f64 (/.f64 b a) b)
(/.f64 (/.f64 (+.f64 a b) b) a)
(-.f64 (+.f64 1 (/.f64 1 b)) 1)
(+.f64 (*.f64 -1/2 eps) (/.f64 1 b))
Outputs
(+.f64 (*.f64 -1/2 eps) (/.f64 1 b))
(/.f64 (/.f64 (+.f64 a b) b) a)
Calls

3 calls:

16.0ms
a
12.0ms
b
6.0ms
eps
Results
ErrorSegmentsBranch
4.0b2a
5.5b2b
9.1b1eps
Compiler

Compiled 58 to 38 computations (34.5% saved)

bsearch136.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
136.0ms
-8.27479614015424e+90
-1.1717886904070626e+89
Compiler

Compiled 33 to 24 computations (27.3% saved)

regimes70.0ms (0.4%)

Counts
8 → 2
Calls
Call 1
Inputs
(*.f64 -1/2 eps)
(/.f64 1 b)
(/.f64 1 b)
(/.f64 1 a)
(/.f64 (/.f64 a b) a)
(/.f64 (/.f64 b a) b)
(/.f64 (/.f64 (+.f64 a b) b) a)
(-.f64 (+.f64 1 (/.f64 1 b)) 1)
Outputs
(/.f64 1 b)
(/.f64 (/.f64 (+.f64 a b) b) a)
Calls

3 calls:

38.0ms
a
24.0ms
b
6.0ms
eps
Results
ErrorSegmentsBranch
4.1b2a
5.7b2b
9.1b1eps
Compiler

Compiled 51 to 33 computations (35.3% saved)

bsearch244.0ms (1.3%)

Algorithm
binary-search
Steps
TimeLeftRight
243.0ms
-8.27479614015424e+90
-1.1717886904070626e+89
Compiler

Compiled 33 to 24 computations (27.3% saved)

regimes282.0ms (1.6%)

Counts
6 → 4
Calls
Call 1
Inputs
(*.f64 -1/2 eps)
(/.f64 1 b)
(/.f64 1 b)
(/.f64 1 a)
(/.f64 (/.f64 a b) a)
(/.f64 (/.f64 b a) b)
Outputs
(/.f64 1 b)
(/.f64 (/.f64 b a) b)
(/.f64 1 b)
(/.f64 1 a)
Calls

3 calls:

134.0ms
a
95.0ms
b
50.0ms
eps
Results
ErrorSegmentsBranch
14.2b4a
9.8b4b
22.9b4eps
Compiler

Compiled 37 to 24 computations (35.1% saved)

bsearch1.2s (6.8%)

Algorithm
binary-search
Steps
TimeLeftRight
187.0ms
5.673814909484524e-68
1.8175118162278707e-66
345.0ms
3.4942261080524633e-140
4.230664530638945e-130
695.0ms
9.240126775011527e-177
1.649277999003286e-175
Compiler

Compiled 33 to 24 computations (27.3% saved)

regimes57.0ms (0.3%)

Counts
5 → 4
Calls
Call 1
Inputs
(*.f64 -1/2 eps)
(/.f64 1 b)
(/.f64 1 b)
(/.f64 1 a)
(/.f64 (/.f64 a b) a)
Outputs
(/.f64 1 b)
(/.f64 1 a)
(/.f64 1 b)
(/.f64 1 a)
Calls

3 calls:

21.0ms
a
17.0ms
eps
17.0ms
b
Results
ErrorSegmentsBranch
14.2b4a
9.8b4b
22.9b4eps
Compiler

Compiled 32 to 22 computations (31.3% saved)

bsearch675.0ms (3.7%)

Algorithm
binary-search
Steps
TimeLeftRight
187.0ms
5.673814909484524e-68
1.8175118162278707e-66
274.0ms
3.4942261080524633e-140
4.230664530638945e-130
214.0ms
9.240126775011527e-177
1.649277999003286e-175
Compiler

Compiled 33 to 24 computations (27.3% saved)

regimes15.0ms (0.1%)

Accuracy

Total -25.7b remaining (-70%)

Threshold costs -25.7b (-70%)

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

3 calls:

6.0ms
b
4.0ms
a
4.0ms
eps
Results
ErrorSegmentsBranch
36.8b1a
36.8b1b
36.8b1eps
Compiler

Compiled 24 to 18 computations (25% saved)

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059267
175267
278267
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 (/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) 1) (-.f64 (exp.f64 (*.f64 b eps)) 1))) -inf.0) (+.f64 (/.f64 1 b) (/.f64 1 a)) (if (<=.f64 (/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) 1) (-.f64 (exp.f64 (*.f64 b eps)) 1))) 6931674235302037/346583711765101857447301773017885462929554634421977071896309947576827663475703202879996800763017447262173901370175446478621769728) (/.f64 eps (/.f64 (expm1.f64 (*.f64 eps b)) (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))))) (+.f64 (/.f64 1 b) (/.f64 1 a))))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(if (<=.f64 a -8274796140154240826810113409129736664870012371914136743449572360270506044153087607298850816) (+.f64 (*.f64 -1/2 eps) (/.f64 1 b)) (/.f64 (/.f64 (+.f64 a b) b) a))
(if (<=.f64 a -8274796140154240826810113409129736664870012371914136743449572360270506044153087607298850816) (/.f64 1 b) (/.f64 (/.f64 (+.f64 a b) b) a))
(if (<=.f64 b 1317422803446593/142576269300693600582536612678134103902913390851517497830599766184352348975271168328309775353667856243082572174174825228459022022542982437445395666241319193382874833573758279690089818507706368) (/.f64 1 b) (if (<=.f64 b 1873996500822331/53631231719770388398296099992823384509917463282369573510894245774887056120294187907207497192667613710760127432745944203415015531247786279785734596024336384) (/.f64 (/.f64 b a) b) (if (<=.f64 b 1722241207015957/30354201441027016733116592294117482916287606860189680019559568902170379456331382784) (/.f64 1 b) (/.f64 1 a))))
(if (<=.f64 b 1317422803446593/142576269300693600582536612678134103902913390851517497830599766184352348975271168328309775353667856243082572174174825228459022022542982437445395666241319193382874833573758279690089818507706368) (/.f64 1 b) (if (<=.f64 b 1873996500822331/53631231719770388398296099992823384509917463282369573510894245774887056120294187907207497192667613710760127432745944203415015531247786279785734596024336384) (/.f64 1 a) (if (<=.f64 b 1722241207015957/30354201441027016733116592294117482916287606860189680019559568902170379456331382784) (/.f64 1 b) (/.f64 1 a))))
(/.f64 1 b)
(*.f64 -1/2 eps)
Outputs
(if (<=.f64 (/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) 1) (-.f64 (exp.f64 (*.f64 b eps)) 1))) -inf.0) (+.f64 (/.f64 1 b) (/.f64 1 a)) (if (<=.f64 (/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) 1) (-.f64 (exp.f64 (*.f64 b eps)) 1))) 6931674235302037/346583711765101857447301773017885462929554634421977071896309947576827663475703202879996800763017447262173901370175446478621769728) (/.f64 eps (/.f64 (expm1.f64 (*.f64 eps b)) (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))))) (+.f64 (/.f64 1 b) (/.f64 1 a))))
(if (<=.f64 (/.f64 (*.f64 eps (+.f64 (exp.f64 (*.f64 eps (+.f64 a b))) -1)) (*.f64 (+.f64 (exp.f64 (*.f64 eps a)) -1) (+.f64 (exp.f64 (*.f64 eps b)) -1))) -inf.0) (+.f64 (/.f64 1 b) (/.f64 1 a)) (if (<=.f64 (/.f64 (*.f64 eps (+.f64 (exp.f64 (*.f64 eps (+.f64 a b))) -1)) (*.f64 (+.f64 (exp.f64 (*.f64 eps a)) -1) (+.f64 (exp.f64 (*.f64 eps b)) -1))) 6931674235302037/346583711765101857447301773017885462929554634421977071896309947576827663475703202879996800763017447262173901370175446478621769728) (/.f64 eps (/.f64 (expm1.f64 (*.f64 eps b)) (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))))) (+.f64 (/.f64 1 b) (/.f64 1 a))))
(+.f64 (/.f64 1 b) (/.f64 1 a))
(if (<=.f64 a -8274796140154240826810113409129736664870012371914136743449572360270506044153087607298850816) (+.f64 (*.f64 -1/2 eps) (/.f64 1 b)) (/.f64 (/.f64 (+.f64 a b) b) a))
(if (<=.f64 a -8274796140154240826810113409129736664870012371914136743449572360270506044153087607298850816) (+.f64 (/.f64 1 b) (*.f64 eps -1/2)) (/.f64 (/.f64 (+.f64 a b) b) a))
(if (<=.f64 a -8274796140154240826810113409129736664870012371914136743449572360270506044153087607298850816) (/.f64 1 b) (/.f64 (/.f64 (+.f64 a b) b) a))
(if (<=.f64 b 1317422803446593/142576269300693600582536612678134103902913390851517497830599766184352348975271168328309775353667856243082572174174825228459022022542982437445395666241319193382874833573758279690089818507706368) (/.f64 1 b) (if (<=.f64 b 1873996500822331/53631231719770388398296099992823384509917463282369573510894245774887056120294187907207497192667613710760127432745944203415015531247786279785734596024336384) (/.f64 (/.f64 b a) b) (if (<=.f64 b 1722241207015957/30354201441027016733116592294117482916287606860189680019559568902170379456331382784) (/.f64 1 b) (/.f64 1 a))))
(if (<=.f64 b 1317422803446593/142576269300693600582536612678134103902913390851517497830599766184352348975271168328309775353667856243082572174174825228459022022542982437445395666241319193382874833573758279690089818507706368) (/.f64 1 b) (if (<=.f64 b 1873996500822331/53631231719770388398296099992823384509917463282369573510894245774887056120294187907207497192667613710760127432745944203415015531247786279785734596024336384) (/.f64 1 a) (if (<=.f64 b 1722241207015957/30354201441027016733116592294117482916287606860189680019559568902170379456331382784) (/.f64 1 b) (/.f64 1 a))))
(/.f64 1 b)
(*.f64 -1/2 eps)
(*.f64 eps -1/2)
Compiler

Compiled 205 to 133 computations (35.1% saved)

soundness203.0ms (1.1%)

Algorithm
egg-herbie
Rules
986×times-frac_binary64
986×times-frac_binary64
881×times-frac_binary64
580×associate-/l*_binary64
580×associate-/l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01828
14728
210828
326928
498928
03305943
111295861
243415743
01828
14728
210828
326928
498928
Stop Event
node limit
node limit
node limit
Compiler

Compiled 404 to 268 computations (33.7% saved)

end93.0ms (0.5%)

Remove

(sort a b)

Compiler

Compiled 362 to 208 computations (42.5% saved)

Profiling

Loading profile data...