Details

Time bar (total: 5.0s)

analyze3.0ms (0.1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
0%0%100%0%0%0%0%2
0%0%50%0%25%25%0%3
50%25%25%0%25%25%0%4
75%37.5%12.5%0%25%25%0%5
87.5%43.7%6.2%0%25%25%0%6
93.8%46.9%3.1%0%25%25%0%7
96.9%48.4%1.6%0%25%25%0%8
98.4%49.2%0.8%0%25%25%0%9
99.2%49.6%0.4%0%25%25%0%10
99.6%49.8%0.2%0%25%25%0%11
99.8%49.9%0.1%0%25%25%0%12
Compiler

Compiled 10 to 8 computations (20% saved)

sample3.5s (69.6%)

Results
2.2s4250×body1024valid
680.0ms2004×body512valid
285.0ms397×body2048valid
231.0ms1605×body256valid
0.0msbody256invalid
Bogosity

preprocess185.0ms (3.7%)

Algorithm
egg-herbie
Rules
1088×fma-neg_binary64
890×fma-def_binary64
719×distribute-rgt-in_binary64
491×distribute-lft-in_binary64
331×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0712
11810
22810
34110
47110
510310
615910
729210
860410
9103710
10144410
11200210
12274010
13383510
14467010
15476810
16480010
17480010
18639310
19674810
20682610
21683410
22684210
23684210
24704210
011
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
Outputs
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
Compiler

Compiled 10 to 8 computations (20% saved)

simplify177.0ms (3.6%)

Algorithm
egg-herbie
Rules
1088×fma-neg_binary64
890×fma-def_binary64
719×distribute-rgt-in_binary64
491×distribute-lft-in_binary64
331×sub-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0712
11810
22810
34110
47110
510310
615910
729210
860410
9103710
10144410
11200210
12274010
13383510
14467010
15476810
16480010
17480010
18639310
19674810
20682610
21683410
22684210
23684210
24704210
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
Outputs
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))

eval1.0ms (0%)

Compiler

Compiled 15 to 11 computations (26.7% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
58.8b
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
Compiler

Compiled 16 to 12 computations (25% saved)

localize10.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 1 eps) (+.f64 1 eps))
7.2b
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
Compiler

Compiled 24 to 17 computations (29.2% saved)

series6.0ms (0.1%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
3.0ms
eps
@0
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
1.0ms
eps
@inf
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
1.0ms
eps
@-inf
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
0.0ms
eps
@inf
(/.f64 (-.f64 1 eps) (+.f64 1 eps))
0.0ms
eps
@0
(/.f64 (-.f64 1 eps) (+.f64 1 eps))

rewrite50.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
884×pow1_binary64
826×log1p-expm1-u_binary64
826×expm1-log1p-u_binary64
825×add-log-exp_binary64
810×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify63.0ms (1.3%)

Algorithm
egg-herbie
Rules
611×fma-def_binary64
457×fma-neg_binary64
380×distribute-rgt-in_binary64
363×distribute-lft-in_binary64
341×unswap-sqr_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02061187
15471131
218351126
378681126
Stop Event
node limit
Counts
88 → 137
Calls
Call 1
Inputs
(*.f64 -2 eps)
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/3 (pow.f64 eps 3))))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (+.f64 (*.f64 -2/7 (pow.f64 eps 7)) (*.f64 -2/3 (pow.f64 eps 3)))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2/5 (/.f64 1 (pow.f64 eps 5))))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2/5 (/.f64 1 (pow.f64 eps 5))))))
1
(+.f64 (*.f64 -2 eps) 1)
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) 1))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) (+.f64 1 (*.f64 -2 (pow.f64 eps 3)))))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(+.f64 0 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))
(+.f64 (log1p.f64 (neg.f64 eps)) (neg.f64 (log1p.f64 eps)))
(+.f64 (log.f64 (sqrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))) (log.f64 (sqrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 2)) (log.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))))
(-.f64 0 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(-.f64 (+.f64 1 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 1)
(-.f64 (log.f64 (neg.f64 (-.f64 1 eps))) (log.f64 (+.f64 (neg.f64 eps) -1)))
(*.f64 1 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))
(*.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 1)
(*.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 2))
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 2) (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))
(*.f64 (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))
(/.f64 (-.f64 (pow.f64 (log1p.f64 (neg.f64 eps)) 3) (pow.f64 (log1p.f64 eps) 3)) (+.f64 (*.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 (neg.f64 eps))) (+.f64 (*.f64 (log1p.f64 eps) (log1p.f64 eps)) (*.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))
(/.f64 (-.f64 (*.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 (neg.f64 eps))) (*.f64 (log1p.f64 eps) (log1p.f64 eps))) (+.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))
(pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 1)
(pow.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 3) 1/3)
(pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 3)
(pow.f64 (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 2)
(neg.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))
(sqrt.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 2))
(cbrt.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 3))
(expm1.f64 (log1p.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))
(exp.f64 (log.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))
(log1p.f64 (expm1.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))
(+.f64 1 (expm1.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))
(+.f64 (/.f64 1 (+.f64 1 eps)) (neg.f64 (/.f64 eps (+.f64 1 eps))))
(-.f64 (/.f64 1 (+.f64 1 eps)) (/.f64 eps (+.f64 1 eps)))
(-.f64 (+.f64 1 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 1)
(*.f64 1 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
(*.f64 (-.f64 1 eps) (/.f64 1 (+.f64 1 eps)))
(*.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 1)
(*.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) (pow.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 2) (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))
(*.f64 (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2) (*.f64 (cbrt.f64 (-.f64 1 eps)) (/.f64 1 (+.f64 1 eps))))
(*.f64 (sqrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) (sqrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))
(*.f64 (sqrt.f64 (-.f64 1 eps)) (*.f64 (sqrt.f64 (-.f64 1 eps)) (/.f64 1 (+.f64 1 eps))))
(*.f64 (neg.f64 (-.f64 1 eps)) (/.f64 1 (+.f64 (neg.f64 eps) -1)))
(*.f64 (/.f64 1 (+.f64 1 eps)) (-.f64 1 eps))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2) 1) (/.f64 (cbrt.f64 (-.f64 1 eps)) (+.f64 1 eps)))
(*.f64 (/.f64 (sqrt.f64 (-.f64 1 eps)) 1) (/.f64 (sqrt.f64 (-.f64 1 eps)) (+.f64 1 eps)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (+.f64 1 eps)) 2)) (/.f64 (-.f64 1 eps) (cbrt.f64 (+.f64 1 eps))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2) (pow.f64 (cbrt.f64 (+.f64 1 eps)) 2)) (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))
(*.f64 (/.f64 (sqrt.f64 (-.f64 1 eps)) (pow.f64 (cbrt.f64 (+.f64 1 eps)) 2)) (/.f64 (sqrt.f64 (-.f64 1 eps)) (cbrt.f64 (+.f64 1 eps))))
(*.f64 (/.f64 1 (sqrt.f64 (+.f64 1 eps))) (/.f64 (-.f64 1 eps) (sqrt.f64 (+.f64 1 eps))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2) (sqrt.f64 (+.f64 1 eps))) (/.f64 (cbrt.f64 (-.f64 1 eps)) (sqrt.f64 (+.f64 1 eps))))
(*.f64 (/.f64 (-.f64 1 eps) (-.f64 1 (*.f64 eps eps))) (-.f64 1 eps))
(*.f64 (/.f64 (-.f64 1 eps) (+.f64 1 (pow.f64 eps 3))) (+.f64 1 (-.f64 (*.f64 eps eps) eps)))
(pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 1)
(pow.f64 (E.f64) (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))
(pow.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 3)
(pow.f64 (sqrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 2)
(pow.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps)) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 2)) (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))
(pow.f64 (exp.f64 (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))) (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))
(neg.f64 (/.f64 (-.f64 1 eps) (+.f64 (neg.f64 eps) -1)))
(sqrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 2))
(log.f64 (exp.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))
(cbrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 3))
(cbrt.f64 (/.f64 (pow.f64 (-.f64 1 eps) 3) (pow.f64 (+.f64 1 eps) 3)))
(expm1.f64 (log1p.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))
(exp.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))
(log1p.f64 (expm1.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))
Outputs
(*.f64 -2 eps)
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2 eps (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/3 (pow.f64 eps 3))))
(fma.f64 -2 eps (fma.f64 -2/5 (pow.f64 eps 5) (*.f64 -2/3 (pow.f64 eps 3))))
(fma.f64 -2 eps (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5))))
(fma.f64 -2/3 (pow.f64 eps 3) (fma.f64 -2/5 (pow.f64 eps 5) (*.f64 -2 eps)))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (+.f64 (*.f64 -2/7 (pow.f64 eps 7)) (*.f64 -2/3 (pow.f64 eps 3)))))
(fma.f64 -2 eps (fma.f64 -2/5 (pow.f64 eps 5) (fma.f64 -2/7 (pow.f64 eps 7) (*.f64 -2/3 (pow.f64 eps 3)))))
(fma.f64 -2 eps (fma.f64 -2/5 (pow.f64 eps 5) (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/7 (pow.f64 eps 7)))))
(fma.f64 -2 eps (fma.f64 -2/3 (pow.f64 eps 3) (fma.f64 -2/5 (pow.f64 eps 5) (*.f64 -2/7 (pow.f64 eps 7)))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(-.f64 (log.f64 -1) (/.f64 2 eps))
(+.f64 (log.f64 -1) (/.f64 -2 eps))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (log.f64 -1) (+.f64 (/.f64 2 eps) (/.f64 2/3 (pow.f64 eps 3))))
(+.f64 (-.f64 (log.f64 -1) (/.f64 2/3 (pow.f64 eps 3))) (/.f64 -2 eps))
(+.f64 (+.f64 (log.f64 -1) (/.f64 -2 eps)) (/.f64 -2/3 (pow.f64 eps 3)))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2/5 (/.f64 1 (pow.f64 eps 5))))))
(-.f64 (log.f64 -1) (+.f64 (/.f64 2/3 (pow.f64 eps 3)) (+.f64 (/.f64 2 eps) (/.f64 2/5 (pow.f64 eps 5)))))
(-.f64 (-.f64 (log.f64 -1) (/.f64 2/3 (pow.f64 eps 3))) (+.f64 (/.f64 2 eps) (/.f64 2/5 (pow.f64 eps 5))))
(+.f64 (log.f64 -1) (+.f64 (/.f64 -2/3 (pow.f64 eps 3)) (+.f64 (/.f64 -2 eps) (/.f64 -2/5 (pow.f64 eps 5)))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(-.f64 (log.f64 -1) (/.f64 2 eps))
(+.f64 (log.f64 -1) (/.f64 -2 eps))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (log.f64 -1) (+.f64 (/.f64 2 eps) (/.f64 2/3 (pow.f64 eps 3))))
(+.f64 (-.f64 (log.f64 -1) (/.f64 2/3 (pow.f64 eps 3))) (/.f64 -2 eps))
(+.f64 (+.f64 (log.f64 -1) (/.f64 -2 eps)) (/.f64 -2/3 (pow.f64 eps 3)))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2/5 (/.f64 1 (pow.f64 eps 5))))))
(-.f64 (log.f64 -1) (+.f64 (/.f64 2/3 (pow.f64 eps 3)) (+.f64 (/.f64 2 eps) (/.f64 2/5 (pow.f64 eps 5)))))
(-.f64 (-.f64 (log.f64 -1) (/.f64 2/3 (pow.f64 eps 3))) (+.f64 (/.f64 2 eps) (/.f64 2/5 (pow.f64 eps 5))))
(+.f64 (log.f64 -1) (+.f64 (/.f64 -2/3 (pow.f64 eps 3)) (+.f64 (/.f64 -2 eps) (/.f64 -2/5 (pow.f64 eps 5)))))
1
(+.f64 (*.f64 -2 eps) 1)
(fma.f64 -2 eps 1)
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) 1))
(fma.f64 -2 eps (fma.f64 2 (*.f64 eps eps) 1))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) (+.f64 1 (*.f64 -2 (pow.f64 eps 3)))))
(fma.f64 -2 eps (+.f64 (fma.f64 2 (*.f64 eps eps) 1) (*.f64 -2 (pow.f64 eps 3))))
(fma.f64 -2 eps (fma.f64 2 (*.f64 eps eps) (fma.f64 -2 (pow.f64 eps 3) 1)))
(fma.f64 -2 eps (fma.f64 -2 (pow.f64 eps 3) (fma.f64 2 (*.f64 eps eps) 1)))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(+.f64 (/.f64 2 eps) -1)
(+.f64 -1 (/.f64 2 eps))
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (/.f64 2 eps) (+.f64 1 (/.f64 2 (*.f64 eps eps))))
(+.f64 (/.f64 2 eps) (-.f64 -1 (/.f64 2 (*.f64 eps eps))))
(-.f64 (/.f64 2 eps) (-.f64 1 (/.f64 -2 (*.f64 eps eps))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (+.f64 (/.f64 2 eps) (/.f64 2 (pow.f64 eps 3))) (+.f64 1 (/.f64 2 (*.f64 eps eps))))
(+.f64 (/.f64 2 eps) (-.f64 (/.f64 2 (pow.f64 eps 3)) (+.f64 1 (/.f64 2 (*.f64 eps eps)))))
(+.f64 (/.f64 2 eps) (+.f64 (/.f64 2 (pow.f64 eps 3)) (+.f64 -1 (/.f64 -2 (*.f64 eps eps)))))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(+.f64 (/.f64 2 eps) -1)
(+.f64 -1 (/.f64 2 eps))
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (/.f64 2 eps) (+.f64 1 (/.f64 2 (*.f64 eps eps))))
(+.f64 (/.f64 2 eps) (-.f64 -1 (/.f64 2 (*.f64 eps eps))))
(-.f64 (/.f64 2 eps) (-.f64 1 (/.f64 -2 (*.f64 eps eps))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (+.f64 (/.f64 2 eps) (/.f64 2 (pow.f64 eps 3))) (+.f64 1 (/.f64 2 (*.f64 eps eps))))
(+.f64 (/.f64 2 eps) (-.f64 (/.f64 2 (pow.f64 eps 3)) (+.f64 1 (/.f64 2 (*.f64 eps eps)))))
(+.f64 (/.f64 2 eps) (+.f64 (/.f64 2 (pow.f64 eps 3)) (+.f64 -1 (/.f64 -2 (*.f64 eps eps)))))
(+.f64 0 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(+.f64 (log1p.f64 (neg.f64 eps)) (neg.f64 (log1p.f64 eps)))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(+.f64 (log.f64 (sqrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))) (log.f64 (sqrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))))
(*.f64 2 (log.f64 (sqrt.f64 (/.f64 (-.f64 1 eps) (+.f64 eps 1)))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 2)) (log.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 eps 1))) 2)) (log.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 eps 1)))))
(*.f64 3 (log.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 eps 1)))))
(-.f64 0 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(-.f64 (+.f64 1 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 1)
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(-.f64 (log.f64 (neg.f64 (-.f64 1 eps))) (log.f64 (+.f64 (neg.f64 eps) -1)))
(-.f64 (log.f64 (neg.f64 (-.f64 1 eps))) (log.f64 (+.f64 -1 (neg.f64 eps))))
(-.f64 (log.f64 (+.f64 -1 eps)) (log.f64 (-.f64 -1 eps)))
(-.f64 (log.f64 (+.f64 eps -1)) (log.f64 (-.f64 -1 eps)))
(*.f64 1 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(*.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 1)
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(*.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 2))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 2) (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(*.f64 (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(/.f64 (-.f64 (pow.f64 (log1p.f64 (neg.f64 eps)) 3) (pow.f64 (log1p.f64 eps) 3)) (+.f64 (*.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 (neg.f64 eps))) (+.f64 (*.f64 (log1p.f64 eps) (log1p.f64 eps)) (*.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))
(/.f64 (-.f64 (pow.f64 (log1p.f64 (neg.f64 eps)) 3) (pow.f64 (log1p.f64 eps) 3)) (fma.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 (neg.f64 eps)) (*.f64 (log1p.f64 eps) (+.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))
(/.f64 (-.f64 (pow.f64 (log1p.f64 (neg.f64 eps)) 3) (pow.f64 (log1p.f64 eps) 3)) (fma.f64 (log1p.f64 eps) (log1p.f64 eps) (*.f64 (log1p.f64 (neg.f64 eps)) (+.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))
(/.f64 (-.f64 (*.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 (neg.f64 eps))) (*.f64 (log1p.f64 eps) (log1p.f64 eps))) (+.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))
(/.f64 (*.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) (+.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) (+.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))
(*.f64 (/.f64 (+.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) (+.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))
(pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 1)
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(pow.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 3) 1/3)
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 3)
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(pow.f64 (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 2)
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(neg.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(sqrt.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 2))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(cbrt.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 3))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(expm1.f64 (log1p.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(exp.f64 (log.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(log1p.f64 (expm1.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(+.f64 1 (expm1.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))
(+.f64 (/.f64 1 (+.f64 1 eps)) (neg.f64 (/.f64 eps (+.f64 1 eps))))
(/.f64 (-.f64 1 eps) (+.f64 eps 1))
(-.f64 (/.f64 1 (+.f64 1 eps)) (/.f64 eps (+.f64 1 eps)))
(/.f64 (-.f64 1 eps) (+.f64 eps 1))
(-.f64 (+.f64 1 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 1)
(/.f64 (-.f64 1 eps) (+.f64 eps 1))
(*.f64 1 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
(/.f64 (-.f64 1 eps) (+.f64 eps 1))
(*.f64 (-.f64 1 eps) (/.f64 1 (+.f64 1 eps)))
(/.f64 (-.f64 1 eps) (+.f64 eps 1))
(*.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 1)
(/.f64 (-.f64 1 eps) (+.f64 eps 1))
(*.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) (pow.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 2))
(/.f64 (-.f64 1 eps) (+.f64 eps 1))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 2) (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))
(/.f64 (-.f64 1 eps) (+.f64 eps 1))
(*.f64 (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2) (*.f64 (cbrt.f64 (-.f64 1 eps)) (/.f64 1 (+.f64 1 eps))))
(/.f64 (-.f64 1 eps) (+.f64 eps 1))
(*.f64 (sqrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) (sqrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))
(/.f64 (-.f64 1 eps) (+.f64 eps 1))
(*.f64 (sqrt.f64 (-.f64 1 eps)) (*.f64 (sqrt.f64 (-.f64 1 eps)) (/.f64 1 (+.f64 1 eps))))
(/.f64 (-.f64 1 eps) (+.f64 eps 1))
(*.f64 (neg.f64 (-.f64 1 eps)) (/.f64 1 (+.f64 (neg.f64 eps) -1)))
(*.f64 (neg.f64 (-.f64 1 eps)) (/.f64 1 (+.f64 -1 (neg.f64 eps))))
(/.f64 (+.f64 -1 eps) (-.f64 -1 eps))
(/.f64 (+.f64 eps -1) (-.f64 -1 eps))
(*.f64 (/.f64 1 (+.f64 1 eps)) (-.f64 1 eps))
(/.f64 (-.f64 1 eps) (+.f64 eps 1))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2) 1) (/.f64 (cbrt.f64 (-.f64 1 eps)) (+.f64 1 eps)))
(/.f64 (-.f64 1 eps) (+.f64 eps 1))
(*.f64 (/.f64 (sqrt.f64 (-.f64 1 eps)) 1) (/.f64 (sqrt.f64 (-.f64 1 eps)) (+.f64 1 eps)))
(/.f64 (-.f64 1 eps) (+.f64 eps 1))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (+.f64 1 eps)) 2)) (/.f64 (-.f64 1 eps) (cbrt.f64 (+.f64 1 eps))))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (+.f64 eps 1)) 2)) (/.f64 (-.f64 1 eps) (cbrt.f64 (+.f64 eps 1))))
(/.f64 (/.f64 (-.f64 1 eps) (cbrt.f64 (+.f64 eps 1))) (pow.f64 (cbrt.f64 (+.f64 eps 1)) 2))
(/.f64 (-.f64 1 eps) (*.f64 (pow.f64 (cbrt.f64 (+.f64 eps 1)) 2) (cbrt.f64 (+.f64 eps 1))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2) (pow.f64 (cbrt.f64 (+.f64 1 eps)) 2)) (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))
(*.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 eps 1))) (/.f64 (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2) (pow.f64 (cbrt.f64 (+.f64 eps 1)) 2)))
(/.f64 (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2) (/.f64 (pow.f64 (cbrt.f64 (+.f64 eps 1)) 2) (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 eps 1)))))
(*.f64 (/.f64 (sqrt.f64 (-.f64 1 eps)) (pow.f64 (cbrt.f64 (+.f64 1 eps)) 2)) (/.f64 (sqrt.f64 (-.f64 1 eps)) (cbrt.f64 (+.f64 1 eps))))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (+.f64 eps 1)) 2)) (/.f64 (-.f64 1 eps) (cbrt.f64 (+.f64 eps 1))))
(/.f64 (/.f64 (-.f64 1 eps) (cbrt.f64 (+.f64 eps 1))) (pow.f64 (cbrt.f64 (+.f64 eps 1)) 2))
(/.f64 (-.f64 1 eps) (*.f64 (pow.f64 (cbrt.f64 (+.f64 eps 1)) 2) (cbrt.f64 (+.f64 eps 1))))
(*.f64 (/.f64 1 (sqrt.f64 (+.f64 1 eps))) (/.f64 (-.f64 1 eps) (sqrt.f64 (+.f64 1 eps))))
(*.f64 (/.f64 1 (sqrt.f64 (+.f64 eps 1))) (/.f64 (-.f64 1 eps) (sqrt.f64 (+.f64 eps 1))))
(/.f64 (/.f64 (-.f64 1 eps) (sqrt.f64 (+.f64 eps 1))) (sqrt.f64 (+.f64 eps 1)))
(/.f64 (-.f64 1 eps) (*.f64 (sqrt.f64 (+.f64 eps 1)) (sqrt.f64 (+.f64 eps 1))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2) (sqrt.f64 (+.f64 1 eps))) (/.f64 (cbrt.f64 (-.f64 1 eps)) (sqrt.f64 (+.f64 1 eps))))
(*.f64 (/.f64 1 (sqrt.f64 (+.f64 eps 1))) (/.f64 (-.f64 1 eps) (sqrt.f64 (+.f64 eps 1))))
(/.f64 (/.f64 (-.f64 1 eps) (sqrt.f64 (+.f64 eps 1))) (sqrt.f64 (+.f64 eps 1)))
(/.f64 (-.f64 1 eps) (*.f64 (sqrt.f64 (+.f64 eps 1)) (sqrt.f64 (+.f64 eps 1))))
(*.f64 (/.f64 (-.f64 1 eps) (-.f64 1 (*.f64 eps eps))) (-.f64 1 eps))
(*.f64 (-.f64 1 eps) (/.f64 (-.f64 1 eps) (-.f64 1 (*.f64 eps eps))))
(/.f64 (*.f64 (-.f64 1 eps) (-.f64 1 eps)) (-.f64 1 (*.f64 eps eps)))
(/.f64 (pow.f64 (cbrt.f64 (-.f64 1 eps)) 6) (fma.f64 eps (neg.f64 eps) 1))
(*.f64 (/.f64 (-.f64 1 eps) (+.f64 1 (pow.f64 eps 3))) (+.f64 1 (-.f64 (*.f64 eps eps) eps)))
(*.f64 (/.f64 (-.f64 1 eps) (+.f64 (pow.f64 eps 3) 1)) (+.f64 1 (-.f64 (*.f64 eps eps) eps)))
(*.f64 (/.f64 (-.f64 1 eps) (+.f64 (pow.f64 eps 3) 1)) (+.f64 (*.f64 eps eps) (-.f64 1 eps)))
(/.f64 (-.f64 (fma.f64 eps eps 1) eps) (/.f64 (+.f64 (pow.f64 eps 3) 1) (-.f64 1 eps)))
(pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 1)
(/.f64 (-.f64 1 eps) (+.f64 eps 1))
(pow.f64 (E.f64) (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))
(exp.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))
(pow.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 3) 1/3)
(/.f64 (-.f64 1 eps) (+.f64 eps 1))
(pow.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 3)
(/.f64 (-.f64 1 eps) (+.f64 eps 1))
(pow.f64 (sqrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 2)
(/.f64 (-.f64 1 eps) (+.f64 eps 1))
(pow.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps)) -1)
(/.f64 (-.f64 1 eps) (+.f64 eps 1))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 2)) (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))
(pow.f64 (E.f64) (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))
(exp.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))
(pow.f64 (exp.f64 (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))) (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))
(pow.f64 (E.f64) (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))
(exp.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))
(neg.f64 (/.f64 (-.f64 1 eps) (+.f64 (neg.f64 eps) -1)))
(*.f64 (neg.f64 (-.f64 1 eps)) (/.f64 1 (+.f64 -1 (neg.f64 eps))))
(/.f64 (+.f64 -1 eps) (-.f64 -1 eps))
(/.f64 (+.f64 eps -1) (-.f64 -1 eps))
(sqrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 2))
(/.f64 (-.f64 1 eps) (+.f64 eps 1))
(log.f64 (exp.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))
(/.f64 (-.f64 1 eps) (+.f64 eps 1))
(cbrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 3))
(/.f64 (-.f64 1 eps) (+.f64 eps 1))
(cbrt.f64 (/.f64 (pow.f64 (-.f64 1 eps) 3) (pow.f64 (+.f64 1 eps) 3)))
(/.f64 (-.f64 1 eps) (+.f64 eps 1))
(expm1.f64 (log1p.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))
(/.f64 (-.f64 1 eps) (+.f64 eps 1))
(exp.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))
(pow.f64 (E.f64) (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))
(log1p.f64 (expm1.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))
(/.f64 (-.f64 1 eps) (+.f64 eps 1))

localize9.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(log1p.f64 eps)
Compiler

Compiled 15 to 5 computations (66.7% saved)

series2.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite69.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
383×expm1-udef_binary64
383×log1p-udef_binary64
255×associate-*r*_binary64
250×pow1_binary64
241×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
033
1573
26413
369263
Stop Event
node limit
Counts
1 → 48
Calls
Call 1
Inputs
(log1p.f64 eps)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (log1p.f64 eps) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log1p.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 eps 1)) 2)) (log.f64 (cbrt.f64 (+.f64 eps 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (+.f64 eps 1))) (log.f64 (sqrt.f64 (+.f64 eps 1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log1p.f64 (pow.f64 eps 3)) (log1p.f64 (-.f64 (*.f64 eps eps) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (log1p.f64 eps) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (-.f64 1 (*.f64 eps eps))) (log.f64 (-.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log1p.f64 eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log1p.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log1p.f64 eps)) (pow.f64 (cbrt.f64 (log1p.f64 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 2) (cbrt.f64 (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log1p.f64 eps)) (sqrt.f64 (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 eps))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 eps))) (pow.f64 (cbrt.f64 (log1p.f64 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log1p.f64 eps) 1/6) (*.f64 (pow.f64 (log1p.f64 eps) 1/6) (pow.f64 (cbrt.f64 (log1p.f64 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 4)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 eps))) 2) (cbrt.f64 (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log1p.f64 eps) 1/4) (sqrt.f64 (pow.f64 (log1p.f64 eps) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log1p.f64 eps) 1/4) (*.f64 (pow.f64 (log1p.f64 eps) 1/4) (sqrt.f64 (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (log1p.f64 eps)) (pow.f64 (log1p.f64 eps) 1/4)) (pow.f64 (log1p.f64 eps) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (log1p.f64 eps) 5/2)) (pow.f64 (log1p.f64 eps) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 4) 2)) (cbrt.f64 (cbrt.f64 (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 5)) (pow.f64 (log1p.f64 eps) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (log1p.f64 eps) 3/2)) (pow.f64 (log1p.f64 eps) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (log1p.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 4) 2) 1/3) (cbrt.f64 (cbrt.f64 (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (log1p.f64 eps) 5/2) 1/3) (pow.f64 (log1p.f64 eps) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (log1p.f64 eps)) (cbrt.f64 (log1p.f64 eps))) (pow.f64 (log1p.f64 eps) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (log1p.f64 eps)) (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 4))) (pow.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 eps))) 2)) (cbrt.f64 (cbrt.f64 (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 2) (pow.f64 (log1p.f64 eps) 1/6)) (pow.f64 (log1p.f64 eps) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 (log1p.f64 eps) 1) 3) 1) (+.f64 (*.f64 (+.f64 (log1p.f64 eps) 1) (+.f64 (log1p.f64 eps) 1)) (+.f64 1 (+.f64 (log1p.f64 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 (log1p.f64 eps) 1) (+.f64 (log1p.f64 eps) 1)) 1) (+.f64 (+.f64 (log1p.f64 eps) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log1p.f64 eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log1p.f64 eps) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log1p.f64 eps) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log1p.f64 eps)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log1p.f64 eps)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (log1p.f64 eps)))) (sqrt.f64 (log.f64 (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (log1p.f64 eps))) 2)) (cbrt.f64 (log.f64 (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log1p.f64 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (log1p.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 eps 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log1p.f64 eps) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (log1p.f64 eps))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (log1p.f64 eps))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (log1p.f64 eps))) 2))))))

simplify45.0ms (0.9%)

Algorithm
egg-herbie
Rules
624×fma-def_binary64
321×fma-neg_binary64
315×times-frac_binary64
255×log-prod_binary64
239×unswap-sqr_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0170602
1415552
21202543
34801527
Stop Event
node limit
Counts
60 → 99
Calls
Call 1
Inputs
eps
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) eps)
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 eps (*.f64 1/3 (pow.f64 eps 3))))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 eps (+.f64 (*.f64 1/3 (pow.f64 eps 3)) (*.f64 -1/4 (pow.f64 eps 4)))))
(*.f64 -1 (log.f64 (/.f64 1 eps)))
(+.f64 (/.f64 1 eps) (*.f64 -1 (log.f64 (/.f64 1 eps))))
(-.f64 (+.f64 (/.f64 1 eps) (*.f64 -1 (log.f64 (/.f64 1 eps)))) (*.f64 1/2 (/.f64 1 (pow.f64 eps 2))))
(-.f64 (+.f64 (/.f64 1 eps) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 eps))) (*.f64 1/3 (/.f64 1 (pow.f64 eps 3))))) (*.f64 1/2 (/.f64 1 (pow.f64 eps 2))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 eps))) (log.f64 -1))
(+.f64 (/.f64 1 eps) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 eps)))))
(-.f64 (+.f64 (/.f64 1 eps) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 eps))))) (*.f64 1/2 (/.f64 1 (pow.f64 eps 2))))
(-.f64 (+.f64 (/.f64 1 eps) (+.f64 (log.f64 -1) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 eps))) (*.f64 1/3 (/.f64 1 (pow.f64 eps 3)))))) (*.f64 1/2 (/.f64 1 (pow.f64 eps 2))))
(+.f64 (+.f64 (log1p.f64 eps) 1) -1)
(+.f64 0 (log1p.f64 eps))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 eps 1)) 2)) (log.f64 (cbrt.f64 (+.f64 eps 1))))
(+.f64 (log.f64 (sqrt.f64 (+.f64 eps 1))) (log.f64 (sqrt.f64 (+.f64 eps 1))))
(-.f64 (log1p.f64 (pow.f64 eps 3)) (log1p.f64 (-.f64 (*.f64 eps eps) eps)))
(-.f64 (+.f64 (log1p.f64 eps) 1) 1)
(-.f64 (log.f64 (-.f64 1 (*.f64 eps eps))) (log.f64 (-.f64 1 eps)))
(*.f64 (log1p.f64 eps) 1)
(*.f64 1 (log1p.f64 eps))
(*.f64 (cbrt.f64 (log1p.f64 eps)) (pow.f64 (cbrt.f64 (log1p.f64 eps)) 2))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 2) (cbrt.f64 (log1p.f64 eps)))
(*.f64 (sqrt.f64 (log1p.f64 eps)) (sqrt.f64 (log1p.f64 eps)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 eps))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 eps))) (pow.f64 (cbrt.f64 (log1p.f64 eps)) 2)))
(*.f64 (pow.f64 (log1p.f64 eps) 1/6) (*.f64 (pow.f64 (log1p.f64 eps) 1/6) (pow.f64 (cbrt.f64 (log1p.f64 eps)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 4)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 eps))) 2) (cbrt.f64 (log1p.f64 eps))))
(*.f64 (pow.f64 (log1p.f64 eps) 1/4) (sqrt.f64 (pow.f64 (log1p.f64 eps) 3/2)))
(*.f64 (pow.f64 (log1p.f64 eps) 1/4) (*.f64 (pow.f64 (log1p.f64 eps) 1/4) (sqrt.f64 (log1p.f64 eps))))
(*.f64 (*.f64 (sqrt.f64 (log1p.f64 eps)) (pow.f64 (log1p.f64 eps) 1/4)) (pow.f64 (log1p.f64 eps) 1/4))
(*.f64 (cbrt.f64 (pow.f64 (log1p.f64 eps) 5/2)) (pow.f64 (log1p.f64 eps) 1/6))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 4) 2)) (cbrt.f64 (cbrt.f64 (log1p.f64 eps))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 5)) (pow.f64 (log1p.f64 eps) 1/6))
(*.f64 (sqrt.f64 (pow.f64 (log1p.f64 eps) 3/2)) (pow.f64 (log1p.f64 eps) 1/4))
(*.f64 (pow.f64 1 1/3) (log1p.f64 eps))
(*.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 4) 2) 1/3) (cbrt.f64 (cbrt.f64 (log1p.f64 eps))))
(*.f64 (pow.f64 (pow.f64 (log1p.f64 eps) 5/2) 1/3) (pow.f64 (log1p.f64 eps) 1/6))
(*.f64 (*.f64 (sqrt.f64 (log1p.f64 eps)) (cbrt.f64 (log1p.f64 eps))) (pow.f64 (log1p.f64 eps) 1/6))
(*.f64 (*.f64 (cbrt.f64 (log1p.f64 eps)) (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 4))) (pow.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 eps))) 2))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 eps))) 2)) (cbrt.f64 (cbrt.f64 (log1p.f64 eps))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 2) (pow.f64 (log1p.f64 eps) 1/6)) (pow.f64 (log1p.f64 eps) 1/6))
(/.f64 (-.f64 (pow.f64 (+.f64 (log1p.f64 eps) 1) 3) 1) (+.f64 (*.f64 (+.f64 (log1p.f64 eps) 1) (+.f64 (log1p.f64 eps) 1)) (+.f64 1 (+.f64 (log1p.f64 eps) 1))))
(/.f64 (-.f64 (*.f64 (+.f64 (log1p.f64 eps) 1) (+.f64 (log1p.f64 eps) 1)) 1) (+.f64 (+.f64 (log1p.f64 eps) 1) 1))
(pow.f64 (log1p.f64 eps) 1)
(pow.f64 (pow.f64 (log1p.f64 eps) 2) 1/2)
(pow.f64 (pow.f64 (log1p.f64 eps) 3) 1/3)
(pow.f64 (cbrt.f64 (log1p.f64 eps)) 3)
(pow.f64 (sqrt.f64 (log1p.f64 eps)) 2)
(pow.f64 (E.f64) (log.f64 (log1p.f64 eps)))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (log1p.f64 eps)))) (sqrt.f64 (log.f64 (log1p.f64 eps))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (log1p.f64 eps))) 2)) (cbrt.f64 (log.f64 (log1p.f64 eps))))
(sqrt.f64 (pow.f64 (log1p.f64 eps) 2))
(fabs.f64 (log1p.f64 eps))
(log.f64 (+.f64 eps 1))
(cbrt.f64 (pow.f64 (log1p.f64 eps) 3))
(expm1.f64 (log1p.f64 (log1p.f64 eps)))
(exp.f64 (log.f64 (log1p.f64 eps)))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (log1p.f64 eps))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (log1p.f64 eps))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (log1p.f64 eps))) 2))
Outputs
eps
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) eps)
(fma.f64 -1/2 (*.f64 eps eps) eps)
(fma.f64 eps (*.f64 eps -1/2) eps)
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 eps (*.f64 1/3 (pow.f64 eps 3))))
(+.f64 (fma.f64 -1/2 (*.f64 eps eps) eps) (*.f64 1/3 (pow.f64 eps 3)))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/3 (pow.f64 eps 3) eps))
(fma.f64 eps (*.f64 eps -1/2) (fma.f64 1/3 (pow.f64 eps 3) eps))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 eps (+.f64 (*.f64 1/3 (pow.f64 eps 3)) (*.f64 -1/4 (pow.f64 eps 4)))))
(+.f64 (fma.f64 -1/2 (*.f64 eps eps) eps) (fma.f64 1/3 (pow.f64 eps 3) (*.f64 -1/4 (pow.f64 eps 4))))
(fma.f64 -1/2 (*.f64 eps eps) (+.f64 eps (fma.f64 -1/4 (pow.f64 eps 4) (*.f64 1/3 (pow.f64 eps 3)))))
(fma.f64 eps (*.f64 eps -1/2) (fma.f64 1/3 (pow.f64 eps 3) (fma.f64 -1/4 (pow.f64 eps 4) eps)))
(*.f64 -1 (log.f64 (/.f64 1 eps)))
(neg.f64 (neg.f64 (log.f64 eps)))
(log.f64 eps)
(+.f64 (/.f64 1 eps) (*.f64 -1 (log.f64 (/.f64 1 eps))))
(+.f64 (/.f64 1 eps) (neg.f64 (neg.f64 (log.f64 eps))))
(+.f64 (/.f64 1 eps) (log.f64 eps))
(-.f64 (+.f64 (/.f64 1 eps) (*.f64 -1 (log.f64 (/.f64 1 eps)))) (*.f64 1/2 (/.f64 1 (pow.f64 eps 2))))
(+.f64 (/.f64 1 eps) (-.f64 (neg.f64 (neg.f64 (log.f64 eps))) (/.f64 1/2 (*.f64 eps eps))))
(-.f64 (+.f64 (/.f64 1 eps) (log.f64 eps)) (/.f64 (/.f64 1/2 eps) eps))
(+.f64 (/.f64 1 eps) (-.f64 (log.f64 eps) (/.f64 (/.f64 1/2 eps) eps)))
(+.f64 (log.f64 eps) (+.f64 (/.f64 1 eps) (/.f64 (/.f64 -1/2 eps) eps)))
(-.f64 (+.f64 (/.f64 1 eps) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 eps))) (*.f64 1/3 (/.f64 1 (pow.f64 eps 3))))) (*.f64 1/2 (/.f64 1 (pow.f64 eps 2))))
(+.f64 (/.f64 1 eps) (-.f64 (fma.f64 -1 (neg.f64 (log.f64 eps)) (/.f64 1/3 (pow.f64 eps 3))) (/.f64 1/2 (*.f64 eps eps))))
(+.f64 (+.f64 (/.f64 1 eps) (log.f64 eps)) (-.f64 (/.f64 1/3 (pow.f64 eps 3)) (/.f64 (/.f64 1/2 eps) eps)))
(+.f64 (/.f64 1 eps) (+.f64 (log.f64 eps) (-.f64 (/.f64 1/3 (pow.f64 eps 3)) (/.f64 (/.f64 1/2 eps) eps))))
(+.f64 (/.f64 1 eps) (+.f64 (log.f64 eps) (+.f64 (/.f64 1/3 (pow.f64 eps 3)) (/.f64 (/.f64 -1/2 eps) eps))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 eps))) (log.f64 -1))
(neg.f64 (neg.f64 (log.f64 eps)))
(log.f64 eps)
(+.f64 (/.f64 1 eps) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 eps)))))
(+.f64 (/.f64 1 eps) (neg.f64 (neg.f64 (log.f64 eps))))
(+.f64 (/.f64 1 eps) (log.f64 eps))
(-.f64 (+.f64 (/.f64 1 eps) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 eps))))) (*.f64 1/2 (/.f64 1 (pow.f64 eps 2))))
(+.f64 (/.f64 1 eps) (-.f64 (neg.f64 (neg.f64 (log.f64 eps))) (/.f64 1/2 (*.f64 eps eps))))
(-.f64 (+.f64 (/.f64 1 eps) (log.f64 eps)) (/.f64 (/.f64 1/2 eps) eps))
(+.f64 (/.f64 1 eps) (-.f64 (log.f64 eps) (/.f64 (/.f64 1/2 eps) eps)))
(+.f64 (log.f64 eps) (+.f64 (/.f64 1 eps) (/.f64 (/.f64 -1/2 eps) eps)))
(-.f64 (+.f64 (/.f64 1 eps) (+.f64 (log.f64 -1) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 eps))) (*.f64 1/3 (/.f64 1 (pow.f64 eps 3)))))) (*.f64 1/2 (/.f64 1 (pow.f64 eps 2))))
(+.f64 (/.f64 1 eps) (-.f64 (fma.f64 -1 (neg.f64 (log.f64 eps)) (/.f64 1/3 (pow.f64 eps 3))) (/.f64 1/2 (*.f64 eps eps))))
(+.f64 (+.f64 (/.f64 1 eps) (log.f64 eps)) (-.f64 (/.f64 1/3 (pow.f64 eps 3)) (/.f64 (/.f64 1/2 eps) eps)))
(+.f64 (/.f64 1 eps) (+.f64 (log.f64 eps) (-.f64 (/.f64 1/3 (pow.f64 eps 3)) (/.f64 (/.f64 1/2 eps) eps))))
(+.f64 (/.f64 1 eps) (+.f64 (log.f64 eps) (+.f64 (/.f64 1/3 (pow.f64 eps 3)) (/.f64 (/.f64 -1/2 eps) eps))))
(+.f64 (+.f64 (log1p.f64 eps) 1) -1)
(log1p.f64 eps)
(+.f64 0 (log1p.f64 eps))
(log1p.f64 eps)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 eps 1)) 2)) (log.f64 (cbrt.f64 (+.f64 eps 1))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (+.f64 eps 1)))) (log.f64 (cbrt.f64 (+.f64 eps 1))))
(*.f64 3 (log.f64 (cbrt.f64 (+.f64 eps 1))))
(+.f64 (log.f64 (sqrt.f64 (+.f64 eps 1))) (log.f64 (sqrt.f64 (+.f64 eps 1))))
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 eps 1))))
(*.f64 2 (log.f64 (hypot.f64 1 (sqrt.f64 eps))))
(-.f64 (log1p.f64 (pow.f64 eps 3)) (log1p.f64 (-.f64 (*.f64 eps eps) eps)))
(-.f64 (+.f64 (log1p.f64 eps) 1) 1)
(log1p.f64 eps)
(-.f64 (log.f64 (-.f64 1 (*.f64 eps eps))) (log.f64 (-.f64 1 eps)))
(-.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps)))
(*.f64 (log1p.f64 eps) 1)
(log1p.f64 eps)
(*.f64 1 (log1p.f64 eps))
(log1p.f64 eps)
(*.f64 (cbrt.f64 (log1p.f64 eps)) (pow.f64 (cbrt.f64 (log1p.f64 eps)) 2))
(log1p.f64 eps)
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 2) (cbrt.f64 (log1p.f64 eps)))
(log1p.f64 eps)
(*.f64 (sqrt.f64 (log1p.f64 eps)) (sqrt.f64 (log1p.f64 eps)))
(log1p.f64 eps)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 eps))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 eps))) (pow.f64 (cbrt.f64 (log1p.f64 eps)) 2)))
(log1p.f64 eps)
(*.f64 (pow.f64 (log1p.f64 eps) 1/6) (*.f64 (pow.f64 (log1p.f64 eps) 1/6) (pow.f64 (cbrt.f64 (log1p.f64 eps)) 2)))
(log1p.f64 eps)
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 4)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 eps))) 2) (cbrt.f64 (log1p.f64 eps))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 4)) (*.f64 (cbrt.f64 (log1p.f64 eps)) (pow.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 eps))) 2)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 eps))) 2) (*.f64 (cbrt.f64 (log1p.f64 eps)) (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 4))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 eps))) 5))
(*.f64 (pow.f64 (log1p.f64 eps) 1/4) (sqrt.f64 (pow.f64 (log1p.f64 eps) 3/2)))
(log1p.f64 eps)
(*.f64 (pow.f64 (log1p.f64 eps) 1/4) (*.f64 (pow.f64 (log1p.f64 eps) 1/4) (sqrt.f64 (log1p.f64 eps))))
(log1p.f64 eps)
(*.f64 (*.f64 (sqrt.f64 (log1p.f64 eps)) (pow.f64 (log1p.f64 eps) 1/4)) (pow.f64 (log1p.f64 eps) 1/4))
(log1p.f64 eps)
(*.f64 (cbrt.f64 (pow.f64 (log1p.f64 eps) 5/2)) (pow.f64 (log1p.f64 eps) 1/6))
(*.f64 (pow.f64 (log1p.f64 eps) 1/6) (cbrt.f64 (pow.f64 (log1p.f64 eps) 5/2)))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 4) 2)) (cbrt.f64 (cbrt.f64 (log1p.f64 eps))))
(*.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 eps))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 4) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 eps))) (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 8)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 5)) (pow.f64 (log1p.f64 eps) 1/6))
(*.f64 (pow.f64 (log1p.f64 eps) 1/6) (sqrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 5)))
(*.f64 (pow.f64 (log1p.f64 eps) 1/6) (pow.f64 (cbrt.f64 (log1p.f64 eps)) 5/2))
(*.f64 (sqrt.f64 (log1p.f64 eps)) (pow.f64 (pow.f64 (log1p.f64 eps) 1/6) 3))
(*.f64 (sqrt.f64 (pow.f64 (log1p.f64 eps) 3/2)) (pow.f64 (log1p.f64 eps) 1/4))
(log1p.f64 eps)
(*.f64 (pow.f64 1 1/3) (log1p.f64 eps))
(log1p.f64 eps)
(*.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 4) 2) 1/3) (cbrt.f64 (cbrt.f64 (log1p.f64 eps))))
(*.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 eps))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 4) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 eps))) (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 8)))
(*.f64 (pow.f64 (pow.f64 (log1p.f64 eps) 5/2) 1/3) (pow.f64 (log1p.f64 eps) 1/6))
(*.f64 (pow.f64 (log1p.f64 eps) 1/6) (cbrt.f64 (pow.f64 (log1p.f64 eps) 5/2)))
(*.f64 (*.f64 (sqrt.f64 (log1p.f64 eps)) (cbrt.f64 (log1p.f64 eps))) (pow.f64 (log1p.f64 eps) 1/6))
(*.f64 (pow.f64 (log1p.f64 eps) 1/6) (sqrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 5)))
(*.f64 (pow.f64 (log1p.f64 eps) 1/6) (pow.f64 (cbrt.f64 (log1p.f64 eps)) 5/2))
(*.f64 (sqrt.f64 (log1p.f64 eps)) (pow.f64 (pow.f64 (log1p.f64 eps) 1/6) 3))
(*.f64 (*.f64 (cbrt.f64 (log1p.f64 eps)) (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 4))) (pow.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 eps))) 2))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 4)) (*.f64 (cbrt.f64 (log1p.f64 eps)) (pow.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 eps))) 2)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 eps))) 2) (*.f64 (cbrt.f64 (log1p.f64 eps)) (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 4))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 eps))) 5))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 eps))) 2)) (cbrt.f64 (cbrt.f64 (log1p.f64 eps))))
(log1p.f64 eps)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 2) (pow.f64 (log1p.f64 eps) 1/6)) (pow.f64 (log1p.f64 eps) 1/6))
(log1p.f64 eps)
(/.f64 (-.f64 (pow.f64 (+.f64 (log1p.f64 eps) 1) 3) 1) (+.f64 (*.f64 (+.f64 (log1p.f64 eps) 1) (+.f64 (log1p.f64 eps) 1)) (+.f64 1 (+.f64 (log1p.f64 eps) 1))))
(/.f64 (+.f64 (pow.f64 (+.f64 1 (log1p.f64 eps)) 3) -1) (fma.f64 (+.f64 1 (log1p.f64 eps)) (+.f64 1 (log1p.f64 eps)) (+.f64 (log1p.f64 eps) 2)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (log1p.f64 eps)) 3)) (fma.f64 (+.f64 1 (log1p.f64 eps)) (+.f64 1 (log1p.f64 eps)) (+.f64 2 (log1p.f64 eps))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (log1p.f64 eps)) 3)) (+.f64 1 (*.f64 (+.f64 1 (log1p.f64 eps)) (+.f64 2 (log1p.f64 eps)))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (log1p.f64 eps)) 3)) (fma.f64 (+.f64 1 (log1p.f64 eps)) (+.f64 2 (log1p.f64 eps)) 1))
(/.f64 (-.f64 (*.f64 (+.f64 (log1p.f64 eps) 1) (+.f64 (log1p.f64 eps) 1)) 1) (+.f64 (+.f64 (log1p.f64 eps) 1) 1))
(log1p.f64 eps)
(pow.f64 (log1p.f64 eps) 1)
(log1p.f64 eps)
(pow.f64 (pow.f64 (log1p.f64 eps) 2) 1/2)
(log1p.f64 eps)
(pow.f64 (pow.f64 (log1p.f64 eps) 3) 1/3)
(log1p.f64 eps)
(pow.f64 (cbrt.f64 (log1p.f64 eps)) 3)
(log1p.f64 eps)
(pow.f64 (sqrt.f64 (log1p.f64 eps)) 2)
(log1p.f64 eps)
(pow.f64 (E.f64) (log.f64 (log1p.f64 eps)))
(log1p.f64 eps)
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (log1p.f64 eps)))) (sqrt.f64 (log.f64 (log1p.f64 eps))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (log1p.f64 eps))) 2)) (cbrt.f64 (log.f64 (log1p.f64 eps))))
(sqrt.f64 (pow.f64 (log1p.f64 eps) 2))
(log1p.f64 eps)
(fabs.f64 (log1p.f64 eps))
(log1p.f64 eps)
(log.f64 (+.f64 eps 1))
(log1p.f64 eps)
(cbrt.f64 (pow.f64 (log1p.f64 eps) 3))
(log1p.f64 eps)
(expm1.f64 (log1p.f64 (log1p.f64 eps)))
(log1p.f64 eps)
(exp.f64 (log.f64 (log1p.f64 eps)))
(log1p.f64 eps)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (log1p.f64 eps))) 1/3))
(log1p.f64 eps)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (log1p.f64 eps))) 3))
(log1p.f64 eps)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (log1p.f64 eps))) 2))
(log1p.f64 eps)

eval65.0ms (1.3%)

Compiler

Compiled 3334 to 1986 computations (40.4% saved)

prune32.0ms (0.6%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New2333236
Fresh000
Picked101
Done011
Total2344238
Error
0b
Counts
238 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
1.2b
(-.f64 (log1p.f64 (neg.f64 eps)) eps)
0.2b
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
0.5b
(*.f64 -2 eps)
58.8b
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
Compiler

Compiled 29 to 22 computations (24.1% saved)

localize3.0ms (0.1%)

Compiler

Compiled 6 to 4 computations (33.3% saved)

localize10.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(*.f64 -2/3 (pow.f64 eps 3))
Compiler

Compiled 25 to 19 computations (24% saved)

series2.0ms (0%)

Counts
1 → 0
Calls

3 calls:

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

rewrite36.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
505×pow1_binary64
498×add-sqr-sqrt_binary64
476×add-log-exp_binary64
476×log1p-expm1-u_binary64
476×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify39.0ms (0.8%)

Algorithm
egg-herbie
Rules
1127×log-prod_binary64
461×exp-sum_binary64
411×distribute-rgt-in_binary64
404×distribute-lft-in_binary64
324×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
037143
196110
231077
3186177
4597277
Stop Event
node limit
Counts
11 → 14
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (*.f64 -2/3 (pow.f64 eps 3))) 1)
(pow.f64 (*.f64 -2/3 (pow.f64 eps 3)) 1)
(pow.f64 (pow.f64 (*.f64 -2/3 (pow.f64 eps 3)) 3) 1/3)
(pow.f64 (*.f64 eps (cbrt.f64 -2/3)) 3)
(pow.f64 (*.f64 (sqrt.f64 -2/3) (pow.f64 eps 3/2)) 2)
(sqrt.f64 (*.f64 (pow.f64 eps 6) 4/9))
(log.f64 (pow.f64 (exp.f64 -2/3) (pow.f64 eps 3)))
(cbrt.f64 (pow.f64 (*.f64 -2/3 (pow.f64 eps 3)) 3))
(expm1.f64 (log1p.f64 (*.f64 -2/3 (pow.f64 eps 3))))
(exp.f64 (log.f64 (*.f64 -2/3 (pow.f64 eps 3))))
(log1p.f64 (expm1.f64 (*.f64 -2/3 (pow.f64 eps 3))))
Outputs
(-.f64 (+.f64 1 (*.f64 -2/3 (pow.f64 eps 3))) 1)
(+.f64 (+.f64 1 (*.f64 -2/3 (pow.f64 eps 3))) -1)
(+.f64 (*.f64 -2/3 (pow.f64 eps 3)) 0)
(*.f64 -2/3 (pow.f64 eps 3))
(pow.f64 (*.f64 -2/3 (pow.f64 eps 3)) 1)
(+.f64 (+.f64 1 (*.f64 -2/3 (pow.f64 eps 3))) -1)
(+.f64 (*.f64 -2/3 (pow.f64 eps 3)) 0)
(*.f64 -2/3 (pow.f64 eps 3))
(pow.f64 (pow.f64 (*.f64 -2/3 (pow.f64 eps 3)) 3) 1/3)
(+.f64 (+.f64 1 (*.f64 -2/3 (pow.f64 eps 3))) -1)
(+.f64 (*.f64 -2/3 (pow.f64 eps 3)) 0)
(*.f64 -2/3 (pow.f64 eps 3))
(pow.f64 (*.f64 eps (cbrt.f64 -2/3)) 3)
(+.f64 (+.f64 1 (*.f64 -2/3 (pow.f64 eps 3))) -1)
(+.f64 (*.f64 -2/3 (pow.f64 eps 3)) 0)
(*.f64 -2/3 (pow.f64 eps 3))
(pow.f64 (*.f64 (sqrt.f64 -2/3) (pow.f64 eps 3/2)) 2)
(+.f64 (+.f64 1 (*.f64 -2/3 (pow.f64 eps 3))) -1)
(+.f64 (*.f64 -2/3 (pow.f64 eps 3)) 0)
(*.f64 -2/3 (pow.f64 eps 3))
(sqrt.f64 (*.f64 (pow.f64 eps 6) 4/9))
(+.f64 (+.f64 1 (*.f64 -2/3 (pow.f64 eps 3))) -1)
(+.f64 (*.f64 -2/3 (pow.f64 eps 3)) 0)
(*.f64 -2/3 (pow.f64 eps 3))
(log.f64 (pow.f64 (exp.f64 -2/3) (pow.f64 eps 3)))
(+.f64 (+.f64 1 (*.f64 -2/3 (pow.f64 eps 3))) -1)
(+.f64 (*.f64 -2/3 (pow.f64 eps 3)) 0)
(*.f64 -2/3 (pow.f64 eps 3))
(cbrt.f64 (pow.f64 (*.f64 -2/3 (pow.f64 eps 3)) 3))
(+.f64 (+.f64 1 (*.f64 -2/3 (pow.f64 eps 3))) -1)
(+.f64 (*.f64 -2/3 (pow.f64 eps 3)) 0)
(*.f64 -2/3 (pow.f64 eps 3))
(expm1.f64 (log1p.f64 (*.f64 -2/3 (pow.f64 eps 3))))
(+.f64 (+.f64 1 (*.f64 -2/3 (pow.f64 eps 3))) -1)
(+.f64 (*.f64 -2/3 (pow.f64 eps 3)) 0)
(*.f64 -2/3 (pow.f64 eps 3))
(exp.f64 (log.f64 (*.f64 -2/3 (pow.f64 eps 3))))
(+.f64 (+.f64 1 (*.f64 -2/3 (pow.f64 eps 3))) -1)
(+.f64 (*.f64 -2/3 (pow.f64 eps 3)) 0)
(*.f64 -2/3 (pow.f64 eps 3))
(log1p.f64 (expm1.f64 (*.f64 -2/3 (pow.f64 eps 3))))
(+.f64 (+.f64 1 (*.f64 -2/3 (pow.f64 eps 3))) -1)
(+.f64 (*.f64 -2/3 (pow.f64 eps 3)) 0)
(*.f64 -2/3 (pow.f64 eps 3))

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (log1p.f64 (neg.f64 eps)) eps)
Compiler

Compiled 12 to 4 computations (66.7% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
eps
@0
(-.f64 (log1p.f64 (neg.f64 eps)) eps)
0.0ms
eps
@inf
(-.f64 (log1p.f64 (neg.f64 eps)) eps)
0.0ms
eps
@-inf
(-.f64 (log1p.f64 (neg.f64 eps)) eps)

rewrite37.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
491×pow1_binary64
476×add-sqr-sqrt_binary64
459×add-log-exp_binary64
458×expm1-log1p-u_binary64
457×log1p-expm1-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify45.0ms (0.9%)

Algorithm
egg-herbie
Rules
794×fma-neg_binary64
505×associate-*l*_binary64
472×associate-*r*_binary64
459×fma-def_binary64
286×log-prod_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0117580
1306537
21091513
36716513
Stop Event
node limit
Counts
45 → 81
Calls
Call 1
Inputs
(*.f64 -2 eps)
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -2 eps))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -2 eps) (*.f64 -1/3 (pow.f64 eps 3))))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -1/4 (pow.f64 eps 4)) (*.f64 -1/3 (pow.f64 eps 3)))))
(*.f64 -1 eps)
(+.f64 (*.f64 -1 eps) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))
(-.f64 (+.f64 (*.f64 -1 eps) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))) (/.f64 1 eps))
(-.f64 (+.f64 (*.f64 -1 eps) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))) (+.f64 (/.f64 1 eps) (*.f64 1/2 (/.f64 1 (pow.f64 eps 2)))))
(*.f64 -1 eps)
(+.f64 (*.f64 -1 eps) (*.f64 -1 (log.f64 (/.f64 -1 eps))))
(-.f64 (+.f64 (*.f64 -1 eps) (*.f64 -1 (log.f64 (/.f64 -1 eps)))) (/.f64 1 eps))
(-.f64 (+.f64 (*.f64 -1 eps) (*.f64 -1 (log.f64 (/.f64 -1 eps)))) (+.f64 (/.f64 1 eps) (*.f64 1/2 (/.f64 1 (pow.f64 eps 2)))))
(+.f64 eps (log1p.f64 eps))
(+.f64 (log1p.f64 eps) eps)
(+.f64 (+.f64 eps (log1p.f64 eps)) (fma.f64 eps 1 eps))
(+.f64 (+.f64 eps (log1p.f64 eps)) (fma.f64 (neg.f64 (cbrt.f64 eps)) (pow.f64 (cbrt.f64 eps) 2) eps))
(+.f64 (+.f64 eps (log1p.f64 eps)) (fma.f64 (neg.f64 (sqrt.f64 eps)) (sqrt.f64 eps) eps))
(*.f64 (+.f64 eps (log1p.f64 eps)) 1)
(*.f64 1 (+.f64 eps (log1p.f64 eps)))
(*.f64 (pow.f64 (+.f64 eps (log1p.f64 eps)) 2) (/.f64 1 (+.f64 eps (log1p.f64 eps))))
(*.f64 (cbrt.f64 (+.f64 eps (log1p.f64 eps))) (pow.f64 (cbrt.f64 (+.f64 eps (log1p.f64 eps))) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 eps (log1p.f64 eps))) 2) (cbrt.f64 (+.f64 eps (log1p.f64 eps))))
(*.f64 (sqrt.f64 (+.f64 eps (log1p.f64 eps))) (sqrt.f64 (+.f64 eps (log1p.f64 eps))))
(*.f64 (+.f64 (pow.f64 (log1p.f64 eps) 3) (pow.f64 eps 3)) (/.f64 1 (+.f64 (pow.f64 (log1p.f64 eps) 2) (*.f64 eps (+.f64 eps (log1p.f64 eps))))))
(*.f64 (+.f64 (sqrt.f64 (log1p.f64 eps)) (sqrt.f64 eps)) (-.f64 (sqrt.f64 (log1p.f64 eps)) (sqrt.f64 eps)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (log1p.f64 eps) 2) (*.f64 eps (+.f64 eps (log1p.f64 eps)))) (+.f64 (pow.f64 (log1p.f64 eps) 3) (pow.f64 eps 3))))
(/.f64 1 (/.f64 (+.f64 eps (log1p.f64 eps)) (pow.f64 (+.f64 eps (log1p.f64 eps)) 2)))
(/.f64 (pow.f64 (+.f64 eps (log1p.f64 eps)) 2) (+.f64 eps (log1p.f64 eps)))
(/.f64 (+.f64 (pow.f64 (log1p.f64 eps) 3) (pow.f64 eps 3)) (+.f64 (pow.f64 (log1p.f64 eps) 2) (*.f64 eps (+.f64 eps (log1p.f64 eps)))))
(/.f64 (+.f64 (pow.f64 (log1p.f64 eps) 3) (pow.f64 eps 3)) (+.f64 (pow.f64 (log1p.f64 eps) 2) (-.f64 (*.f64 eps eps) (*.f64 eps (log1p.f64 eps)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (log1p.f64 eps) 3) (pow.f64 eps 3))) (neg.f64 (+.f64 (pow.f64 (log1p.f64 eps) 2) (*.f64 eps (+.f64 eps (log1p.f64 eps))))))
(/.f64 (neg.f64 (pow.f64 (+.f64 eps (log1p.f64 eps)) 2)) (neg.f64 (+.f64 eps (log1p.f64 eps))))
(pow.f64 (+.f64 eps (log1p.f64 eps)) 1)
(pow.f64 (pow.f64 (+.f64 eps (log1p.f64 eps)) 3) 1/3)
(pow.f64 (cbrt.f64 (+.f64 eps (log1p.f64 eps))) 3)
(pow.f64 (sqrt.f64 (+.f64 eps (log1p.f64 eps))) 2)
(sqrt.f64 (pow.f64 (+.f64 eps (log1p.f64 eps)) 2))
(log.f64 (exp.f64 (+.f64 eps (log1p.f64 eps))))
(cbrt.f64 (pow.f64 (+.f64 eps (log1p.f64 eps)) 3))
(expm1.f64 (log1p.f64 (+.f64 eps (log1p.f64 eps))))
(exp.f64 (log.f64 (+.f64 eps (log1p.f64 eps))))
(log1p.f64 (expm1.f64 (+.f64 eps (log1p.f64 eps))))
(fma.f64 1 (log1p.f64 eps) eps)
(fma.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 2) (cbrt.f64 (log1p.f64 eps)) eps)
(fma.f64 (sqrt.f64 (log1p.f64 eps)) (sqrt.f64 (log1p.f64 eps)) eps)
Outputs
(*.f64 -2 eps)
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -2 eps))
(fma.f64 -1/2 (*.f64 eps eps) (*.f64 -2 eps))
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (+.f64 -2 (*.f64 eps -1/2)))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -2 eps) (*.f64 -1/3 (pow.f64 eps 3))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -2 eps (*.f64 -1/3 (pow.f64 eps 3))))
(fma.f64 -2 eps (*.f64 (*.f64 eps eps) (+.f64 -1/2 (*.f64 eps -1/3))))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -1/4 (pow.f64 eps 4)) (*.f64 -1/3 (pow.f64 eps 3)))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -2 eps (fma.f64 -1/4 (pow.f64 eps 4) (*.f64 -1/3 (pow.f64 eps 3)))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -2 eps (fma.f64 -1/3 (pow.f64 eps 3) (*.f64 -1/4 (pow.f64 eps 4)))))
(fma.f64 -2 eps (fma.f64 eps (*.f64 eps -1/2) (fma.f64 -1/3 (pow.f64 eps 3) (*.f64 -1/4 (pow.f64 eps 4)))))
(*.f64 -1 eps)
(neg.f64 eps)
(+.f64 (*.f64 -1 eps) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))
(fma.f64 -1 eps (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 eps)))))
(-.f64 (+.f64 (log.f64 -1) (log.f64 eps)) eps)
(+.f64 (log.f64 -1) (-.f64 (log.f64 eps) eps))
(-.f64 (+.f64 (*.f64 -1 eps) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))) (/.f64 1 eps))
(-.f64 (fma.f64 -1 eps (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 eps))))) (/.f64 1 eps))
(+.f64 (-.f64 (+.f64 (log.f64 -1) (log.f64 eps)) eps) (/.f64 -1 eps))
(+.f64 (log.f64 -1) (-.f64 (-.f64 (log.f64 eps) eps) (/.f64 1 eps)))
(-.f64 (+.f64 (*.f64 -1 eps) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))) (+.f64 (/.f64 1 eps) (*.f64 1/2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (fma.f64 -1 eps (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 eps))))) (+.f64 (/.f64 1 eps) (/.f64 1/2 (*.f64 eps eps))))
(+.f64 (-.f64 (+.f64 (log.f64 -1) (log.f64 eps)) eps) (-.f64 (/.f64 -1 eps) (/.f64 1/2 (*.f64 eps eps))))
(+.f64 (+.f64 (log.f64 -1) (-.f64 (-.f64 (log.f64 eps) eps) (/.f64 1 eps))) (/.f64 -1/2 (*.f64 eps eps)))
(*.f64 -1 eps)
(neg.f64 eps)
(+.f64 (*.f64 -1 eps) (*.f64 -1 (log.f64 (/.f64 -1 eps))))
(*.f64 -1 (+.f64 eps (log.f64 (/.f64 -1 eps))))
(-.f64 (neg.f64 eps) (log.f64 (/.f64 -1 eps)))
(-.f64 (+.f64 (*.f64 -1 eps) (*.f64 -1 (log.f64 (/.f64 -1 eps)))) (/.f64 1 eps))
(-.f64 (*.f64 -1 (+.f64 eps (log.f64 (/.f64 -1 eps)))) (/.f64 1 eps))
(fma.f64 -1 (+.f64 eps (log.f64 (/.f64 -1 eps))) (/.f64 -1 eps))
(-.f64 (/.f64 -1 eps) (+.f64 eps (log.f64 (/.f64 -1 eps))))
(-.f64 (+.f64 (*.f64 -1 eps) (*.f64 -1 (log.f64 (/.f64 -1 eps)))) (+.f64 (/.f64 1 eps) (*.f64 1/2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (*.f64 -1 (+.f64 eps (log.f64 (/.f64 -1 eps)))) (+.f64 (/.f64 1 eps) (/.f64 1/2 (*.f64 eps eps))))
(-.f64 (fma.f64 -1 (+.f64 eps (log.f64 (/.f64 -1 eps))) (/.f64 -1 eps)) (/.f64 1/2 (*.f64 eps eps)))
(+.f64 (-.f64 (/.f64 -1 eps) (+.f64 eps (log.f64 (/.f64 -1 eps)))) (/.f64 -1/2 (*.f64 eps eps)))
(+.f64 eps (log1p.f64 eps))
(+.f64 (log1p.f64 eps) eps)
(+.f64 eps (log1p.f64 eps))
(+.f64 (+.f64 eps (log1p.f64 eps)) (fma.f64 eps 1 eps))
(+.f64 eps (+.f64 (log1p.f64 eps) (fma.f64 eps 1 eps)))
(+.f64 (log1p.f64 eps) (+.f64 eps (+.f64 eps eps)))
(+.f64 eps (+.f64 eps (+.f64 eps (log1p.f64 eps))))
(+.f64 (+.f64 eps (log1p.f64 eps)) (fma.f64 (neg.f64 (cbrt.f64 eps)) (pow.f64 (cbrt.f64 eps) 2) eps))
(+.f64 eps (+.f64 eps (-.f64 (log1p.f64 eps) eps)))
(+.f64 (+.f64 eps (log1p.f64 eps)) (fma.f64 (neg.f64 (sqrt.f64 eps)) (sqrt.f64 eps) eps))
(+.f64 (+.f64 eps (log1p.f64 eps)) (fma.f64 (neg.f64 (cbrt.f64 eps)) (pow.f64 (cbrt.f64 eps) 2) eps))
(+.f64 eps (+.f64 eps (-.f64 (log1p.f64 eps) eps)))
(*.f64 (+.f64 eps (log1p.f64 eps)) 1)
(+.f64 eps (log1p.f64 eps))
(*.f64 1 (+.f64 eps (log1p.f64 eps)))
(+.f64 eps (log1p.f64 eps))
(*.f64 (pow.f64 (+.f64 eps (log1p.f64 eps)) 2) (/.f64 1 (+.f64 eps (log1p.f64 eps))))
(+.f64 eps (log1p.f64 eps))
(*.f64 (cbrt.f64 (+.f64 eps (log1p.f64 eps))) (pow.f64 (cbrt.f64 (+.f64 eps (log1p.f64 eps))) 2))
(+.f64 eps (log1p.f64 eps))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 eps (log1p.f64 eps))) 2) (cbrt.f64 (+.f64 eps (log1p.f64 eps))))
(+.f64 eps (log1p.f64 eps))
(*.f64 (sqrt.f64 (+.f64 eps (log1p.f64 eps))) (sqrt.f64 (+.f64 eps (log1p.f64 eps))))
(+.f64 eps (log1p.f64 eps))
(*.f64 (+.f64 (pow.f64 (log1p.f64 eps) 3) (pow.f64 eps 3)) (/.f64 1 (+.f64 (pow.f64 (log1p.f64 eps) 2) (*.f64 eps (+.f64 eps (log1p.f64 eps))))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (log1p.f64 eps) 2) (*.f64 eps (+.f64 eps (log1p.f64 eps)))) (+.f64 (pow.f64 eps 3) (pow.f64 (log1p.f64 eps) 3))))
(/.f64 (+.f64 (pow.f64 eps 3) (pow.f64 (log1p.f64 eps) 3)) (fma.f64 eps (+.f64 eps (log1p.f64 eps)) (pow.f64 (log1p.f64 eps) 2)))
(/.f64 (+.f64 (pow.f64 eps 3) (pow.f64 (log1p.f64 eps) 3)) (fma.f64 eps eps (*.f64 (log1p.f64 eps) (+.f64 eps (log1p.f64 eps)))))
(*.f64 (+.f64 (sqrt.f64 (log1p.f64 eps)) (sqrt.f64 eps)) (-.f64 (sqrt.f64 (log1p.f64 eps)) (sqrt.f64 eps)))
(*.f64 (+.f64 (sqrt.f64 eps) (sqrt.f64 (log1p.f64 eps))) (-.f64 (sqrt.f64 (log1p.f64 eps)) (sqrt.f64 eps)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (log1p.f64 eps) 2) (*.f64 eps (+.f64 eps (log1p.f64 eps)))) (+.f64 (pow.f64 (log1p.f64 eps) 3) (pow.f64 eps 3))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (log1p.f64 eps) 2) (*.f64 eps (+.f64 eps (log1p.f64 eps)))) (+.f64 (pow.f64 eps 3) (pow.f64 (log1p.f64 eps) 3))))
(/.f64 (+.f64 (pow.f64 eps 3) (pow.f64 (log1p.f64 eps) 3)) (fma.f64 eps (+.f64 eps (log1p.f64 eps)) (pow.f64 (log1p.f64 eps) 2)))
(/.f64 (+.f64 (pow.f64 eps 3) (pow.f64 (log1p.f64 eps) 3)) (fma.f64 eps eps (*.f64 (log1p.f64 eps) (+.f64 eps (log1p.f64 eps)))))
(/.f64 1 (/.f64 (+.f64 eps (log1p.f64 eps)) (pow.f64 (+.f64 eps (log1p.f64 eps)) 2)))
(+.f64 eps (log1p.f64 eps))
(/.f64 (pow.f64 (+.f64 eps (log1p.f64 eps)) 2) (+.f64 eps (log1p.f64 eps)))
(+.f64 eps (log1p.f64 eps))
(/.f64 (+.f64 (pow.f64 (log1p.f64 eps) 3) (pow.f64 eps 3)) (+.f64 (pow.f64 (log1p.f64 eps) 2) (*.f64 eps (+.f64 eps (log1p.f64 eps)))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (log1p.f64 eps) 2) (*.f64 eps (+.f64 eps (log1p.f64 eps)))) (+.f64 (pow.f64 eps 3) (pow.f64 (log1p.f64 eps) 3))))
(/.f64 (+.f64 (pow.f64 eps 3) (pow.f64 (log1p.f64 eps) 3)) (fma.f64 eps (+.f64 eps (log1p.f64 eps)) (pow.f64 (log1p.f64 eps) 2)))
(/.f64 (+.f64 (pow.f64 eps 3) (pow.f64 (log1p.f64 eps) 3)) (fma.f64 eps eps (*.f64 (log1p.f64 eps) (+.f64 eps (log1p.f64 eps)))))
(/.f64 (+.f64 (pow.f64 (log1p.f64 eps) 3) (pow.f64 eps 3)) (+.f64 (pow.f64 (log1p.f64 eps) 2) (-.f64 (*.f64 eps eps) (*.f64 eps (log1p.f64 eps)))))
(/.f64 (+.f64 (pow.f64 eps 3) (pow.f64 (log1p.f64 eps) 3)) (+.f64 (pow.f64 (log1p.f64 eps) 2) (*.f64 eps (-.f64 eps (log1p.f64 eps)))))
(/.f64 (+.f64 (pow.f64 eps 3) (pow.f64 (log1p.f64 eps) 3)) (fma.f64 eps (-.f64 eps (log1p.f64 eps)) (pow.f64 (log1p.f64 eps) 2)))
(/.f64 (+.f64 (pow.f64 eps 3) (pow.f64 (log1p.f64 eps) 3)) (fma.f64 eps eps (*.f64 (log1p.f64 eps) (-.f64 (log1p.f64 eps) eps))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (log1p.f64 eps) 3) (pow.f64 eps 3))) (neg.f64 (+.f64 (pow.f64 (log1p.f64 eps) 2) (*.f64 eps (+.f64 eps (log1p.f64 eps))))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (log1p.f64 eps) 2) (*.f64 eps (+.f64 eps (log1p.f64 eps)))) (+.f64 (pow.f64 eps 3) (pow.f64 (log1p.f64 eps) 3))))
(/.f64 (+.f64 (pow.f64 eps 3) (pow.f64 (log1p.f64 eps) 3)) (fma.f64 eps (+.f64 eps (log1p.f64 eps)) (pow.f64 (log1p.f64 eps) 2)))
(/.f64 (+.f64 (pow.f64 eps 3) (pow.f64 (log1p.f64 eps) 3)) (fma.f64 eps eps (*.f64 (log1p.f64 eps) (+.f64 eps (log1p.f64 eps)))))
(/.f64 (neg.f64 (pow.f64 (+.f64 eps (log1p.f64 eps)) 2)) (neg.f64 (+.f64 eps (log1p.f64 eps))))
(+.f64 eps (log1p.f64 eps))
(pow.f64 (+.f64 eps (log1p.f64 eps)) 1)
(+.f64 eps (log1p.f64 eps))
(pow.f64 (pow.f64 (+.f64 eps (log1p.f64 eps)) 3) 1/3)
(+.f64 eps (log1p.f64 eps))
(pow.f64 (cbrt.f64 (+.f64 eps (log1p.f64 eps))) 3)
(+.f64 eps (log1p.f64 eps))
(pow.f64 (sqrt.f64 (+.f64 eps (log1p.f64 eps))) 2)
(+.f64 eps (log1p.f64 eps))
(sqrt.f64 (pow.f64 (+.f64 eps (log1p.f64 eps)) 2))
(+.f64 eps (log1p.f64 eps))
(log.f64 (exp.f64 (+.f64 eps (log1p.f64 eps))))
(+.f64 eps (log1p.f64 eps))
(cbrt.f64 (pow.f64 (+.f64 eps (log1p.f64 eps)) 3))
(+.f64 eps (log1p.f64 eps))
(expm1.f64 (log1p.f64 (+.f64 eps (log1p.f64 eps))))
(+.f64 eps (log1p.f64 eps))
(exp.f64 (log.f64 (+.f64 eps (log1p.f64 eps))))
(+.f64 eps (log1p.f64 eps))
(log1p.f64 (expm1.f64 (+.f64 eps (log1p.f64 eps))))
(+.f64 eps (log1p.f64 eps))
(fma.f64 1 (log1p.f64 eps) eps)
(+.f64 eps (log1p.f64 eps))
(fma.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 2) (cbrt.f64 (log1p.f64 eps)) eps)
(+.f64 eps (log1p.f64 eps))
(fma.f64 (sqrt.f64 (log1p.f64 eps)) (sqrt.f64 (log1p.f64 eps)) eps)
(+.f64 eps (log1p.f64 eps))

eval22.0ms (0.4%)

Compiler

Compiled 1144 to 661 computations (42.2% saved)

prune13.0ms (0.3%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New93295
Fresh000
Picked101
Done033
Total94599
Error
0b
Counts
99 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
0.2b
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
1.2b
(*.f64 eps (+.f64 -2 (*.f64 eps -1/2)))
0.5b
(*.f64 -2 eps)
52.0b
(neg.f64 eps)
58.8b
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
Compiler

Compiled 34 to 26 computations (23.5% saved)

localize3.0ms (0.1%)

Compiler

Compiled 4 to 2 computations (50% saved)

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 19 to 14 computations (26.3% saved)

series2.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite43.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
803×pow1_binary64
753×add-log-exp_binary64
753×log1p-expm1-u_binary64
753×expm1-log1p-u_binary64
740×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0710
11588
220748
Stop Event
node limit
Counts
1 → 24
Calls
Call 1
Inputs
(*.f64 eps (+.f64 -2 (*.f64 eps -1/2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 eps -2) (*.f64 -1/2 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 eps -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 eps -2) 1) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 eps (fma.f64 eps -1/2 -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 eps -2) 3) (pow.f64 (*.f64 -1/2 (*.f64 eps eps)) 3)) (+.f64 (*.f64 (*.f64 eps -2) (*.f64 eps -2)) (-.f64 (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 (*.f64 eps -2) (*.f64 -1/2 (*.f64 eps eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 eps -2) (*.f64 eps -2)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 -1/2 (*.f64 eps eps)))) (-.f64 (*.f64 eps -2) (*.f64 -1/2 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -8 (*.f64 (pow.f64 eps 3) -1/8)) eps) (+.f64 4 (-.f64 (*.f64 (*.f64 eps eps) 1/4) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 4 (*.f64 (*.f64 eps eps) 1/4)) eps) (+.f64 -2 (*.f64 1/2 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (+.f64 -8 (*.f64 (pow.f64 eps 3) -1/8))) (+.f64 4 (-.f64 (*.f64 (*.f64 eps eps) 1/4) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (-.f64 4 (*.f64 (*.f64 eps eps) 1/4))) (+.f64 -2 (*.f64 1/2 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (fma.f64 eps -1/2 -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 eps (fma.f64 eps -1/2 -2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 eps (fma.f64 eps -1/2 -2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 eps (fma.f64 eps -1/2 -2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 eps (fma.f64 eps -1/2 -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (fma.f64 eps -1/2 -2)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 eps (fma.f64 eps -1/2 -2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 eps 3) (pow.f64 (fma.f64 eps -1/2 -2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 eps -1/2 -2) 3) (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 eps (fma.f64 eps -1/2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 eps (fma.f64 eps -1/2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 eps (fma.f64 eps -1/2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps -2 (*.f64 -1/2 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))))))

simplify36.0ms (0.7%)

Algorithm
egg-herbie
Rules
670×distribute-rgt-in_binary64
598×distribute-lft-in_binary64
327×fma-neg_binary64
251×fma-def_binary64
232×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
085456
1247349
2917339
33272339
Stop Event
node limit
Counts
36 → 39
Calls
Call 1
Inputs
(*.f64 -2 eps)
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -2 eps))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -2 eps))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -2 eps))
(*.f64 -1/2 (pow.f64 eps 2))
(+.f64 (*.f64 -2 eps) (*.f64 -1/2 (pow.f64 eps 2)))
(+.f64 (*.f64 -2 eps) (*.f64 -1/2 (pow.f64 eps 2)))
(+.f64 (*.f64 -2 eps) (*.f64 -1/2 (pow.f64 eps 2)))
(*.f64 -1/2 (pow.f64 eps 2))
(+.f64 (*.f64 -2 eps) (*.f64 -1/2 (pow.f64 eps 2)))
(+.f64 (*.f64 -2 eps) (*.f64 -1/2 (pow.f64 eps 2)))
(+.f64 (*.f64 -2 eps) (*.f64 -1/2 (pow.f64 eps 2)))
(+.f64 (*.f64 eps -2) (*.f64 -1/2 (*.f64 eps eps)))
(+.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 eps -2))
(+.f64 (*.f64 (*.f64 eps -2) 1) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) 1))
(-.f64 (+.f64 1 (*.f64 eps (fma.f64 eps -1/2 -2))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 eps -2) 3) (pow.f64 (*.f64 -1/2 (*.f64 eps eps)) 3)) (+.f64 (*.f64 (*.f64 eps -2) (*.f64 eps -2)) (-.f64 (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 (*.f64 eps -2) (*.f64 -1/2 (*.f64 eps eps))))))
(/.f64 (-.f64 (*.f64 (*.f64 eps -2) (*.f64 eps -2)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 -1/2 (*.f64 eps eps)))) (-.f64 (*.f64 eps -2) (*.f64 -1/2 (*.f64 eps eps))))
(/.f64 (*.f64 (+.f64 -8 (*.f64 (pow.f64 eps 3) -1/8)) eps) (+.f64 4 (-.f64 (*.f64 (*.f64 eps eps) 1/4) eps)))
(/.f64 (*.f64 (-.f64 4 (*.f64 (*.f64 eps eps) 1/4)) eps) (+.f64 -2 (*.f64 1/2 eps)))
(/.f64 (*.f64 eps (+.f64 -8 (*.f64 (pow.f64 eps 3) -1/8))) (+.f64 4 (-.f64 (*.f64 (*.f64 eps eps) 1/4) eps)))
(/.f64 (*.f64 eps (-.f64 4 (*.f64 (*.f64 eps eps) 1/4))) (+.f64 -2 (*.f64 1/2 eps)))
(pow.f64 (*.f64 eps (fma.f64 eps -1/2 -2)) 1)
(pow.f64 (pow.f64 (*.f64 eps (fma.f64 eps -1/2 -2)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 eps (fma.f64 eps -1/2 -2))) 3)
(pow.f64 (sqrt.f64 (*.f64 eps (fma.f64 eps -1/2 -2))) 2)
(sqrt.f64 (pow.f64 (*.f64 eps (fma.f64 eps -1/2 -2)) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 eps -1/2 -2)) eps))
(cbrt.f64 (pow.f64 (*.f64 eps (fma.f64 eps -1/2 -2)) 3))
(cbrt.f64 (*.f64 (pow.f64 eps 3) (pow.f64 (fma.f64 eps -1/2 -2) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 eps -1/2 -2) 3) (pow.f64 eps 3)))
(expm1.f64 (log1p.f64 (*.f64 eps (fma.f64 eps -1/2 -2))))
(exp.f64 (log.f64 (*.f64 eps (fma.f64 eps -1/2 -2))))
(log1p.f64 (expm1.f64 (*.f64 eps (fma.f64 eps -1/2 -2))))
(fma.f64 eps -2 (*.f64 -1/2 (*.f64 eps eps)))
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
Outputs
(*.f64 -2 eps)
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -2 eps))
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -2 eps))
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -2 eps))
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(*.f64 eps (*.f64 eps -1/2))
(+.f64 (*.f64 -2 eps) (*.f64 -1/2 (pow.f64 eps 2)))
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(+.f64 (*.f64 -2 eps) (*.f64 -1/2 (pow.f64 eps 2)))
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(+.f64 (*.f64 -2 eps) (*.f64 -1/2 (pow.f64 eps 2)))
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 -1/2 (*.f64 eps eps))
(*.f64 eps (*.f64 eps -1/2))
(+.f64 (*.f64 -2 eps) (*.f64 -1/2 (pow.f64 eps 2)))
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(+.f64 (*.f64 -2 eps) (*.f64 -1/2 (pow.f64 eps 2)))
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(+.f64 (*.f64 -2 eps) (*.f64 -1/2 (pow.f64 eps 2)))
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(+.f64 (*.f64 eps -2) (*.f64 -1/2 (*.f64 eps eps)))
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(+.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 eps -2))
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(+.f64 (*.f64 (*.f64 eps -2) 1) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) 1))
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(-.f64 (+.f64 1 (*.f64 eps (fma.f64 eps -1/2 -2))) 1)
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(/.f64 (+.f64 (pow.f64 (*.f64 eps -2) 3) (pow.f64 (*.f64 -1/2 (*.f64 eps eps)) 3)) (+.f64 (*.f64 (*.f64 eps -2) (*.f64 eps -2)) (-.f64 (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 (*.f64 eps -2) (*.f64 -1/2 (*.f64 eps eps))))))
(/.f64 (+.f64 (*.f64 (pow.f64 eps 3) -8) (*.f64 -1/8 (pow.f64 (*.f64 eps eps) 3))) (+.f64 (*.f64 (*.f64 eps eps) 4) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (-.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 -2 eps)))))
(/.f64 (fma.f64 -1/8 (pow.f64 (*.f64 eps eps) 3) (*.f64 -8 (pow.f64 eps 3))) (-.f64 (fma.f64 eps (*.f64 4 eps) (*.f64 1/4 (pow.f64 eps 4))) (pow.f64 eps 3)))
(/.f64 (*.f64 (pow.f64 eps 3) (fma.f64 (pow.f64 eps 3) -1/8 -8)) (*.f64 (*.f64 eps eps) (-.f64 (fma.f64 (*.f64 eps eps) 1/4 4) eps)))
(/.f64 (*.f64 (pow.f64 eps 3) (fma.f64 (pow.f64 eps 3) -1/8 -8)) (*.f64 (*.f64 eps eps) (+.f64 4 (*.f64 eps (fma.f64 eps 1/4 -1)))))
(/.f64 (-.f64 (*.f64 (*.f64 eps -2) (*.f64 eps -2)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 -1/2 (*.f64 eps eps)))) (-.f64 (*.f64 eps -2) (*.f64 -1/2 (*.f64 eps eps))))
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(/.f64 (*.f64 (+.f64 -8 (*.f64 (pow.f64 eps 3) -1/8)) eps) (+.f64 4 (-.f64 (*.f64 (*.f64 eps eps) 1/4) eps)))
(/.f64 eps (/.f64 (-.f64 (+.f64 4 (*.f64 (*.f64 eps eps) 1/4)) eps) (+.f64 -8 (*.f64 (pow.f64 eps 3) -1/8))))
(/.f64 (fma.f64 (pow.f64 eps 3) -1/8 -8) (/.f64 (+.f64 4 (fma.f64 eps (*.f64 eps 1/4) (neg.f64 eps))) eps))
(*.f64 eps (/.f64 (fma.f64 (pow.f64 eps 3) -1/8 -8) (-.f64 (fma.f64 (*.f64 eps eps) 1/4 4) eps)))
(*.f64 eps (/.f64 (fma.f64 (pow.f64 eps 3) -1/8 -8) (+.f64 4 (*.f64 eps (fma.f64 eps 1/4 -1)))))
(/.f64 (*.f64 (-.f64 4 (*.f64 (*.f64 eps eps) 1/4)) eps) (+.f64 -2 (*.f64 1/2 eps)))
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(/.f64 (*.f64 eps (+.f64 -8 (*.f64 (pow.f64 eps 3) -1/8))) (+.f64 4 (-.f64 (*.f64 (*.f64 eps eps) 1/4) eps)))
(/.f64 eps (/.f64 (-.f64 (+.f64 4 (*.f64 (*.f64 eps eps) 1/4)) eps) (+.f64 -8 (*.f64 (pow.f64 eps 3) -1/8))))
(/.f64 (fma.f64 (pow.f64 eps 3) -1/8 -8) (/.f64 (+.f64 4 (fma.f64 eps (*.f64 eps 1/4) (neg.f64 eps))) eps))
(*.f64 eps (/.f64 (fma.f64 (pow.f64 eps 3) -1/8 -8) (-.f64 (fma.f64 (*.f64 eps eps) 1/4 4) eps)))
(*.f64 eps (/.f64 (fma.f64 (pow.f64 eps 3) -1/8 -8) (+.f64 4 (*.f64 eps (fma.f64 eps 1/4 -1)))))
(/.f64 (*.f64 eps (-.f64 4 (*.f64 (*.f64 eps eps) 1/4))) (+.f64 -2 (*.f64 1/2 eps)))
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(pow.f64 (*.f64 eps (fma.f64 eps -1/2 -2)) 1)
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(pow.f64 (pow.f64 (*.f64 eps (fma.f64 eps -1/2 -2)) 3) 1/3)
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(pow.f64 (cbrt.f64 (*.f64 eps (fma.f64 eps -1/2 -2))) 3)
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(pow.f64 (sqrt.f64 (*.f64 eps (fma.f64 eps -1/2 -2))) 2)
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(sqrt.f64 (pow.f64 (*.f64 eps (fma.f64 eps -1/2 -2)) 2))
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 eps -1/2 -2)) eps))
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(cbrt.f64 (pow.f64 (*.f64 eps (fma.f64 eps -1/2 -2)) 3))
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(cbrt.f64 (*.f64 (pow.f64 eps 3) (pow.f64 (fma.f64 eps -1/2 -2) 3)))
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 eps -1/2 -2) 3) (pow.f64 eps 3)))
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(expm1.f64 (log1p.f64 (*.f64 eps (fma.f64 eps -1/2 -2))))
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(exp.f64 (log.f64 (*.f64 eps (fma.f64 eps -1/2 -2))))
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(log1p.f64 (expm1.f64 (*.f64 eps (fma.f64 eps -1/2 -2))))
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(fma.f64 eps -2 (*.f64 -1/2 (*.f64 eps eps)))
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(fma.f64 -2 eps (*.f64 -1/2 (*.f64 eps eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))

eval11.0ms (0.2%)

Compiler

Compiled 527 to 360 computations (31.7% saved)

prune6.0ms (0.1%)

Pruning

5 alts after pruning (0 fresh and 5 done)

PrunedKeptTotal
New39039
Fresh000
Picked011
Done044
Total39544
Error
0b
Counts
44 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
0.2b
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
1.2b
(*.f64 eps (+.f64 -2 (*.f64 eps -1/2)))
0.5b
(*.f64 -2 eps)
52.0b
(neg.f64 eps)
58.8b
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
Compiler

Compiled 34 to 26 computations (23.5% saved)

regimes12.0ms (0.2%)

Counts
7 → 1
Calls
Call 1
Inputs
(neg.f64 eps)
(*.f64 -2 eps)
(*.f64 eps (+.f64 -2 (*.f64 eps -1/2)))
(-.f64 (log1p.f64 (neg.f64 eps)) eps)
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
Outputs
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
Calls

3 calls:

5.0ms
eps
2.0ms
(/.f64 (-.f64 1 eps) (+.f64 1 eps))
2.0ms
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
Results
ErrorSegmentsBranch
0.0b1eps
0.0b1(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
0.0b1(/.f64 (-.f64 1 eps) (+.f64 1 eps))
Compiler

Compiled 60 to 40 computations (33.3% saved)

regimes11.0ms (0.2%)

Counts
6 → 1
Calls
Call 1
Inputs
(neg.f64 eps)
(*.f64 -2 eps)
(*.f64 eps (+.f64 -2 (*.f64 eps -1/2)))
(-.f64 (log1p.f64 (neg.f64 eps)) eps)
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
Outputs
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
Calls

3 calls:

5.0ms
eps
2.0ms
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
2.0ms
(/.f64 (-.f64 1 eps) (+.f64 1 eps))
Results
ErrorSegmentsBranch
0.2b1eps
0.2b1(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
0.2b1(/.f64 (-.f64 1 eps) (+.f64 1 eps))
Compiler

Compiled 54 to 38 computations (29.6% saved)

regimes9.0ms (0.2%)

Accuracy

Total -59.7b remaining (-12844.4%)

Threshold costs -59.7b (-12844.4%)

Counts
5 → 1
Calls
Call 1
Inputs
(neg.f64 eps)
(*.f64 -2 eps)
(*.f64 eps (+.f64 -2 (*.f64 eps -1/2)))
(-.f64 (log1p.f64 (neg.f64 eps)) eps)
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
Outputs
(*.f64 -2 eps)
Calls

3 calls:

4.0ms
eps
2.0ms
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
2.0ms
(/.f64 (-.f64 1 eps) (+.f64 1 eps))
Results
ErrorSegmentsBranch
0.5b1eps
0.5b1(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
0.5b1(/.f64 (-.f64 1 eps) (+.f64 1 eps))
Compiler

Compiled 45 to 31 computations (31.1% saved)

simplify6.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01330
12230
22730
33030
43130
Stop Event
done
saturated
Calls
Call 1
Inputs
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(*.f64 -2 eps)
(neg.f64 eps)
Outputs
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(+.f64 (*.f64 eps -2) (*.f64 -2/3 (pow.f64 eps 3)))
(*.f64 -2 eps)
(*.f64 eps -2)
(neg.f64 eps)
Compiler

Compiled 24 to 18 computations (25% saved)

soundness405.0ms (8.2%)

Algorithm
egg-herbie
Rules
1088×fma-neg_binary64
890×fma-def_binary64
719×distribute-rgt-in_binary64
491×distribute-lft-in_binary64
331×sub-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0712
11810
22810
34110
47110
510310
615910
729210
860410
9103710
10144410
11200210
12274010
13383510
14467010
15476810
16480010
17480010
18639310
19674810
20682610
21683410
22684210
23684210
24704210
Stop Event
node limit
Compiler

Compiled 43 to 33 computations (23.3% saved)

end26.0ms (0.5%)

Compiler

Compiled 21 to 14 computations (33.3% saved)

Profiling

Loading profile data...