logq (problem 3.4.3)

Time bar (total: 9.1s)

analyze4.0ms (0%)

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%75%0%0%25%0%3
40%25%37.5%0%0%37.5%0%4
66.7%37.5%18.7%0%0%43.7%0%5
82.4%43.7%9.4%0%0%46.9%0%6
90.9%46.9%4.7%0%0%48.4%0%7
95.4%48.4%2.3%0%0%49.2%0%8
97.7%49.2%1.2%0%0%49.6%0%9
98.8%49.6%0.6%0%0%49.8%0%10
99.4%49.8%0.3%0%0%49.9%0%11
99.7%49.9%0.1%0%0%49.9%0%12
Compiler

Compiled 10 to 8 computations (20% saved)

sample6.3s (69.2%)

Results
3.6s4171×body1024valid
1.3s2046×body512valid
921.0ms423×body2048valid
465.0ms1616×body256valid
2.0ms12×body256invalid
Bogosity

preprocess452.0ms (4.9%)

Algorithm
egg-herbie
Rules
8722×fma-def
1220×unsub-neg
1030×fma-neg
668×associate-+r+
656×distribute-rgt-in
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01473
13757
27057
314857
437757
598457
6186157
7253257
8352357
9476657
10532257
11548357
12565857
13610757
14700457
15707257
16710457
17712457
18721657
19735757
20747757
21747757
Stop Event
node limit
Calls
Call 1
Inputs
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
(log.f64 (/.f64 (-.f64 1 (neg.f64 eps)) (+.f64 1 (neg.f64 eps))))
Outputs
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(log.f64 (/.f64 (-.f64 1 (neg.f64 eps)) (+.f64 1 (neg.f64 eps))))
(log.f64 (/.f64 (-.f64 1 (neg.f64 eps)) (-.f64 1 eps)))
(-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))
Compiler

Compiled 9 to 7 computations (22.2% saved)

eval0.0ms (0%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

prune2.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
8.2%
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
100.0%
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
8.2%
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
Compiler

Compiled 32 to 24 computations (25% saved)

localize250.0ms (2.7%)

Localize:

Found 4 expressions with local error:

NewAccuracyProgram
100.0%
(log1p.f64 eps)
100.0%
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
100.0%
(/.f64 (-.f64 1 eps) (+.f64 1 eps))
8.2%
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
Compiler

Compiled 39 to 22 computations (43.6% saved)

series12.0ms (0.1%)

Counts
4 → 48
Calls

12 calls:

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

rewrite293.0ms (3.2%)

Algorithm
batch-egg-rewrite
Rules
1534×prod-diff
920×log-prod
676×fma-def
448×pow-prod-up
412×pow-exp
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01362
127954
238058
Stop Event
node limit
Counts
4 → 49
Calls
Call 1
Inputs
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
(/.f64 (-.f64 1 eps) (+.f64 1 eps))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(log1p.f64 eps)
Outputs
0
1
0
(+.f64 (log1p.f64 eps) 0)
(+.f64 0 (log1p.f64 eps))
(+.f64 (log1p.f64 (pow.f64 eps 3)) (log.f64 (/.f64 1 (+.f64 1 (fma.f64 eps eps eps)))))
(+.f64 (log1p.f64 (*.f64 eps eps)) (neg.f64 (log1p.f64 eps)))
(+.f64 (*.f64 2 (*.f64 1/3 (log1p.f64 eps))) (*.f64 1/3 (log1p.f64 eps)))
(+.f64 (*.f64 1/2 (log1p.f64 eps)) (*.f64 1/2 (log1p.f64 eps)))
(+.f64 (*.f64 1/3 (log1p.f64 eps)) (*.f64 2 (*.f64 1/3 (log1p.f64 eps))))
(+.f64 (log.f64 (/.f64 (+.f64 1 (*.f64 eps eps)) (+.f64 1 (pow.f64 eps 3)))) (log1p.f64 (fma.f64 eps eps eps)))
(+.f64 (log.f64 (/.f64 (+.f64 1 (*.f64 eps eps)) (+.f64 1 (*.f64 eps eps)))) (log1p.f64 eps))
(-.f64 0 (log.f64 (/.f64 (+.f64 1 eps) (+.f64 1 (*.f64 eps eps)))))
(-.f64 0 (log.f64 (/.f64 (+.f64 1 (fma.f64 eps eps eps)) (+.f64 1 (pow.f64 eps 3)))))
(-.f64 (log1p.f64 (pow.f64 eps 3)) (log1p.f64 (fma.f64 eps eps eps)))
(-.f64 (log1p.f64 (pow.f64 eps 3)) (log.f64 (fma.f64 eps eps (+.f64 1 eps))))
(-.f64 (log1p.f64 (*.f64 eps eps)) (log1p.f64 eps))
(-.f64 (exp.f64 (log1p.f64 (log1p.f64 eps))) 1)
(-.f64 (log.f64 (neg.f64 (+.f64 1 (*.f64 eps eps)))) (log.f64 (+.f64 eps -1)))
(-.f64 (log.f64 (neg.f64 (+.f64 1 (pow.f64 eps 3)))) (log.f64 (neg.f64 (+.f64 1 (fma.f64 eps eps eps)))))
(-.f64 (log.f64 (fma.f64 eps eps -1)) (log.f64 (+.f64 eps -1)))
(-.f64 (log.f64 (/.f64 (+.f64 1 (*.f64 eps eps)) 1)) (log1p.f64 eps))
(-.f64 (log.f64 (/.f64 (+.f64 1 (*.f64 eps eps)) (pow.f64 (cbrt.f64 (+.f64 1 eps)) 2))) (*.f64 1/3 (log1p.f64 eps)))
(-.f64 (log.f64 (/.f64 (+.f64 1 (*.f64 eps eps)) (hypot.f64 1 (sqrt.f64 eps)))) (*.f64 1/2 (log1p.f64 eps)))
(*.f64 1 (log1p.f64 eps))
(*.f64 (log1p.f64 eps) 1)
(*.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 3 (*.f64 1/3 (log1p.f64 eps)))
(*.f64 2 (*.f64 1/2 (log1p.f64 eps)))
(*.f64 1/3 (*.f64 3 (log1p.f64 eps)))
(pow.f64 (log1p.f64 eps) 1)
(pow.f64 (cbrt.f64 (log1p.f64 eps)) 3)
(pow.f64 (pow.f64 (log1p.f64 eps) 3) 1/3)
(pow.f64 (sqrt.f64 (log1p.f64 eps)) 2)
(neg.f64 (log.f64 (/.f64 (+.f64 1 eps) (+.f64 1 (*.f64 eps eps)))))
(neg.f64 (log.f64 (/.f64 (+.f64 1 (fma.f64 eps eps eps)) (+.f64 1 (pow.f64 eps 3)))))
(sqrt.f64 (pow.f64 (log1p.f64 eps) 2))
(log.f64 (+.f64 1 eps))
(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 (log.f64 (log1p.f64 eps)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (log1p.f64 eps)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (log1p.f64 eps))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (log1p.f64 eps))) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (log1p.f64 eps)) 3) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (log1p.f64 eps))) 2))

simplify205.0ms (2.2%)

Algorithm
egg-herbie
Rules
900×associate-+l+
872×associate-+r+
780×cancel-sign-sub-inv
518×*-commutative
498×distribute-lft-out
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02112085
15251955
220201949
Stop Event
node limit
Counts
97 → 154
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 -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))))))
(*.f64 -1 (log.f64 -1))
(-.f64 (*.f64 -1 (log.f64 -1)) (*.f64 2 (/.f64 1 eps)))
(-.f64 (*.f64 -1 (log.f64 -1)) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (*.f64 -1 (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))))))
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))))
0
1
0
(+.f64 (log1p.f64 eps) 0)
(+.f64 0 (log1p.f64 eps))
(+.f64 (log1p.f64 (pow.f64 eps 3)) (log.f64 (/.f64 1 (+.f64 1 (fma.f64 eps eps eps)))))
(+.f64 (log1p.f64 (*.f64 eps eps)) (neg.f64 (log1p.f64 eps)))
(+.f64 (*.f64 2 (*.f64 1/3 (log1p.f64 eps))) (*.f64 1/3 (log1p.f64 eps)))
(+.f64 (*.f64 1/2 (log1p.f64 eps)) (*.f64 1/2 (log1p.f64 eps)))
(+.f64 (*.f64 1/3 (log1p.f64 eps)) (*.f64 2 (*.f64 1/3 (log1p.f64 eps))))
(+.f64 (log.f64 (/.f64 (+.f64 1 (*.f64 eps eps)) (+.f64 1 (pow.f64 eps 3)))) (log1p.f64 (fma.f64 eps eps eps)))
(+.f64 (log.f64 (/.f64 (+.f64 1 (*.f64 eps eps)) (+.f64 1 (*.f64 eps eps)))) (log1p.f64 eps))
(-.f64 0 (log.f64 (/.f64 (+.f64 1 eps) (+.f64 1 (*.f64 eps eps)))))
(-.f64 0 (log.f64 (/.f64 (+.f64 1 (fma.f64 eps eps eps)) (+.f64 1 (pow.f64 eps 3)))))
(-.f64 (log1p.f64 (pow.f64 eps 3)) (log1p.f64 (fma.f64 eps eps eps)))
(-.f64 (log1p.f64 (pow.f64 eps 3)) (log.f64 (fma.f64 eps eps (+.f64 1 eps))))
(-.f64 (log1p.f64 (*.f64 eps eps)) (log1p.f64 eps))
(-.f64 (exp.f64 (log1p.f64 (log1p.f64 eps))) 1)
(-.f64 (log.f64 (neg.f64 (+.f64 1 (*.f64 eps eps)))) (log.f64 (+.f64 eps -1)))
(-.f64 (log.f64 (neg.f64 (+.f64 1 (pow.f64 eps 3)))) (log.f64 (neg.f64 (+.f64 1 (fma.f64 eps eps eps)))))
(-.f64 (log.f64 (fma.f64 eps eps -1)) (log.f64 (+.f64 eps -1)))
(-.f64 (log.f64 (/.f64 (+.f64 1 (*.f64 eps eps)) 1)) (log1p.f64 eps))
(-.f64 (log.f64 (/.f64 (+.f64 1 (*.f64 eps eps)) (pow.f64 (cbrt.f64 (+.f64 1 eps)) 2))) (*.f64 1/3 (log1p.f64 eps)))
(-.f64 (log.f64 (/.f64 (+.f64 1 (*.f64 eps eps)) (hypot.f64 1 (sqrt.f64 eps)))) (*.f64 1/2 (log1p.f64 eps)))
(*.f64 1 (log1p.f64 eps))
(*.f64 (log1p.f64 eps) 1)
(*.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 3 (*.f64 1/3 (log1p.f64 eps)))
(*.f64 2 (*.f64 1/2 (log1p.f64 eps)))
(*.f64 1/3 (*.f64 3 (log1p.f64 eps)))
(pow.f64 (log1p.f64 eps) 1)
(pow.f64 (cbrt.f64 (log1p.f64 eps)) 3)
(pow.f64 (pow.f64 (log1p.f64 eps) 3) 1/3)
(pow.f64 (sqrt.f64 (log1p.f64 eps)) 2)
(neg.f64 (log.f64 (/.f64 (+.f64 1 eps) (+.f64 1 (*.f64 eps eps)))))
(neg.f64 (log.f64 (/.f64 (+.f64 1 (fma.f64 eps eps eps)) (+.f64 1 (pow.f64 eps 3)))))
(sqrt.f64 (pow.f64 (log1p.f64 eps) 2))
(log.f64 (+.f64 1 eps))
(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 (log.f64 (log1p.f64 eps)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (log1p.f64 eps)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (log1p.f64 eps))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (log1p.f64 eps))) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (log1p.f64 eps)) 3) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (log1p.f64 eps))) 2))
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))))
(+.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)))))
(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 eps)) (/.f64 2/3 (pow.f64 eps 3)))
(+.f64 (log.f64 -1) (-.f64 (/.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 (log.f64 -1) (+.f64 (/.f64 2 eps) (+.f64 (/.f64 2/3 (pow.f64 eps 3)) (/.f64 2/5 (pow.f64 eps 5)))))
(+.f64 (log.f64 -1) (-.f64 (-.f64 (/.f64 -2 eps) (/.f64 2/3 (pow.f64 eps 3))) (/.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 eps)) (/.f64 2/3 (pow.f64 eps 3)))
(+.f64 (log.f64 -1) (-.f64 (/.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 (log.f64 -1) (+.f64 (/.f64 2 eps) (+.f64 (/.f64 2/3 (pow.f64 eps 3)) (/.f64 2/5 (pow.f64 eps 5)))))
(+.f64 (log.f64 -1) (-.f64 (-.f64 (/.f64 -2 eps) (/.f64 2/3 (pow.f64 eps 3))) (/.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)))
-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 -1 (+.f64 (/.f64 2 eps) (/.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 -1 (/.f64 2 eps)) (+.f64 (/.f64 -2 (*.f64 eps eps)) (/.f64 2 (pow.f64 eps 3))))
-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 -1 (+.f64 (/.f64 2 eps) (/.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 -1 (/.f64 2 eps)) (+.f64 (/.f64 -2 (*.f64 eps eps)) (/.f64 2 (pow.f64 eps 3))))
(*.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))))
(+.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)))))
(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 eps)) (/.f64 2/3 (pow.f64 eps 3)))
(+.f64 (log.f64 -1) (-.f64 (/.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 (log.f64 -1) (+.f64 (/.f64 2 eps) (+.f64 (/.f64 2/3 (pow.f64 eps 3)) (/.f64 2/5 (pow.f64 eps 5)))))
(+.f64 (log.f64 -1) (-.f64 (-.f64 (/.f64 -2 eps) (/.f64 2/3 (pow.f64 eps 3))) (/.f64 2/5 (pow.f64 eps 5))))
(*.f64 -1 (log.f64 -1))
(neg.f64 (log.f64 -1))
(-.f64 (*.f64 -1 (log.f64 -1)) (*.f64 2 (/.f64 1 eps)))
(-.f64 (neg.f64 (log.f64 -1)) (/.f64 2 eps))
(fma.f64 -1 (log.f64 -1) (/.f64 -2 eps))
(-.f64 (/.f64 -2 eps) (log.f64 -1))
(-.f64 (*.f64 -1 (log.f64 -1)) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (neg.f64 (log.f64 -1)) (+.f64 (/.f64 2 eps) (/.f64 2/3 (pow.f64 eps 3))))
(-.f64 (fma.f64 -1 (log.f64 -1) (/.f64 -2 eps)) (/.f64 2/3 (pow.f64 eps 3)))
(-.f64 (-.f64 (/.f64 -2 eps) (/.f64 2/3 (pow.f64 eps 3))) (log.f64 -1))
(-.f64 (*.f64 -1 (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 (neg.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 (fma.f64 -1 (log.f64 -1) (/.f64 -2 eps)) (/.f64 2/3 (pow.f64 eps 3))) (/.f64 2/5 (pow.f64 eps 5)))
(+.f64 (-.f64 (-.f64 (/.f64 -2 eps) (/.f64 2/3 (pow.f64 eps 3))) (log.f64 -1)) (/.f64 -2/5 (pow.f64 eps 5)))
eps
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) eps)
(fma.f64 -1/2 (*.f64 eps eps) eps)
(fma.f64 (*.f64 eps 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 (pow.f64 eps 3) 1/3))
(fma.f64 (*.f64 eps eps) -1/2 (fma.f64 (pow.f64 eps 3) 1/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))))
(+.f64 (fma.f64 (*.f64 eps eps) -1/2 eps) (fma.f64 (pow.f64 eps 3) 1/3 (*.f64 -1/4 (pow.f64 eps 4))))
(*.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 (log.f64 eps) (-.f64 (/.f64 1 eps) (/.f64 (/.f64 1/2 eps) eps)))
(+.f64 (/.f64 1 eps) (-.f64 (log.f64 eps) (/.f64 1/2 (*.f64 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 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 (/.f64 1/3 (pow.f64 eps 3)) (-.f64 (log.f64 eps) (/.f64 1/2 (*.f64 eps eps)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 eps))) (log.f64 -1))
(fma.f64 -1 (log.f64 (/.f64 -1 eps)) (log.f64 -1))
(-.f64 (log.f64 -1) (log.f64 (/.f64 -1 eps)))
(+.f64 (/.f64 1 eps) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 eps)))))
(+.f64 (/.f64 1 eps) (fma.f64 -1 (log.f64 (/.f64 -1 eps)) (log.f64 -1)))
(-.f64 (+.f64 (log.f64 -1) (/.f64 1 eps)) (log.f64 (/.f64 -1 eps)))
(+.f64 (log.f64 -1) (-.f64 (/.f64 1 eps) (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) (fma.f64 -1 (log.f64 (/.f64 -1 eps)) (log.f64 -1))) (/.f64 1/2 (*.f64 eps eps)))
(+.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 eps))) (+.f64 (/.f64 1 eps) (/.f64 -1/2 (*.f64 eps eps))))
(+.f64 (-.f64 (/.f64 1 eps) (log.f64 (/.f64 -1 eps))) (-.f64 (log.f64 -1) (/.f64 1/2 (*.f64 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 (/.f64 1 eps) (+.f64 (log.f64 -1) (fma.f64 -1 (log.f64 (/.f64 -1 eps)) (/.f64 1/3 (pow.f64 eps 3))))) (/.f64 1/2 (*.f64 eps eps)))
(+.f64 (/.f64 1 eps) (+.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 eps))) (-.f64 (/.f64 1/3 (pow.f64 eps 3)) (/.f64 (/.f64 1/2 eps) eps))))
(+.f64 (/.f64 1/3 (pow.f64 eps 3)) (+.f64 (-.f64 (/.f64 1 eps) (log.f64 (/.f64 -1 eps))) (-.f64 (log.f64 -1) (/.f64 1/2 (*.f64 eps eps)))))
0
1
0
(+.f64 (log1p.f64 eps) 0)
(log1p.f64 eps)
(+.f64 0 (log1p.f64 eps))
(log1p.f64 eps)
(+.f64 (log1p.f64 (pow.f64 eps 3)) (log.f64 (/.f64 1 (+.f64 1 (fma.f64 eps eps eps)))))
(+.f64 (log1p.f64 (pow.f64 eps 3)) (neg.f64 (log.f64 (+.f64 1 (fma.f64 eps eps eps)))))
(-.f64 (log1p.f64 (pow.f64 eps 3)) (log1p.f64 (fma.f64 eps eps eps)))
(+.f64 (log1p.f64 (*.f64 eps eps)) (neg.f64 (log1p.f64 eps)))
(-.f64 (log1p.f64 (*.f64 eps eps)) (log1p.f64 eps))
(+.f64 (*.f64 2 (*.f64 1/3 (log1p.f64 eps))) (*.f64 1/3 (log1p.f64 eps)))
(log1p.f64 eps)
(+.f64 (*.f64 1/2 (log1p.f64 eps)) (*.f64 1/2 (log1p.f64 eps)))
(log1p.f64 eps)
(+.f64 (*.f64 1/3 (log1p.f64 eps)) (*.f64 2 (*.f64 1/3 (log1p.f64 eps))))
(log1p.f64 eps)
(+.f64 (log.f64 (/.f64 (+.f64 1 (*.f64 eps eps)) (+.f64 1 (pow.f64 eps 3)))) (log1p.f64 (fma.f64 eps eps eps)))
(+.f64 (log.f64 (/.f64 (+.f64 1 (*.f64 eps eps)) (+.f64 (pow.f64 eps 3) 1))) (log1p.f64 (fma.f64 eps eps eps)))
(+.f64 (-.f64 (log1p.f64 (*.f64 eps eps)) (log1p.f64 (pow.f64 eps 3))) (log1p.f64 (fma.f64 eps eps eps)))
(+.f64 (log.f64 (/.f64 (+.f64 1 (*.f64 eps eps)) (+.f64 1 (*.f64 eps eps)))) (log1p.f64 eps))
(log1p.f64 eps)
(-.f64 0 (log.f64 (/.f64 (+.f64 1 eps) (+.f64 1 (*.f64 eps eps)))))
(-.f64 (log1p.f64 (*.f64 eps eps)) (log1p.f64 eps))
(-.f64 0 (log.f64 (/.f64 (+.f64 1 (fma.f64 eps eps eps)) (+.f64 1 (pow.f64 eps 3)))))
(+.f64 (log1p.f64 (pow.f64 eps 3)) (neg.f64 (log.f64 (+.f64 1 (fma.f64 eps eps eps)))))
(-.f64 (log1p.f64 (pow.f64 eps 3)) (log1p.f64 (fma.f64 eps eps eps)))
(-.f64 (log1p.f64 (pow.f64 eps 3)) (log1p.f64 (fma.f64 eps eps eps)))
(+.f64 (log1p.f64 (pow.f64 eps 3)) (neg.f64 (log.f64 (+.f64 1 (fma.f64 eps eps eps)))))
(-.f64 (log1p.f64 (pow.f64 eps 3)) (log.f64 (fma.f64 eps eps (+.f64 1 eps))))
(+.f64 (log1p.f64 (pow.f64 eps 3)) (neg.f64 (log.f64 (+.f64 1 (fma.f64 eps eps eps)))))
(-.f64 (log1p.f64 (pow.f64 eps 3)) (log1p.f64 (fma.f64 eps eps eps)))
(-.f64 (log1p.f64 (*.f64 eps eps)) (log1p.f64 eps))
(-.f64 (exp.f64 (log1p.f64 (log1p.f64 eps))) 1)
(log1p.f64 eps)
(-.f64 (log.f64 (neg.f64 (+.f64 1 (*.f64 eps eps)))) (log.f64 (+.f64 eps -1)))
(-.f64 (log.f64 (+.f64 -1 (neg.f64 (*.f64 eps eps)))) (log.f64 (+.f64 eps -1)))
(-.f64 (log.f64 (-.f64 -1 (*.f64 eps eps))) (log.f64 (+.f64 eps -1)))
(-.f64 (log.f64 (neg.f64 (+.f64 1 (pow.f64 eps 3)))) (log.f64 (neg.f64 (+.f64 1 (fma.f64 eps eps eps)))))
(-.f64 (log.f64 (+.f64 -1 (neg.f64 (pow.f64 eps 3)))) (log.f64 (neg.f64 (+.f64 1 (fma.f64 eps eps eps)))))
(-.f64 (log.f64 (-.f64 -1 (pow.f64 eps 3))) (log.f64 (-.f64 -1 (fma.f64 eps eps eps))))
(-.f64 (log.f64 (fma.f64 eps eps -1)) (log.f64 (+.f64 eps -1)))
(-.f64 (log.f64 (/.f64 (+.f64 1 (*.f64 eps eps)) 1)) (log1p.f64 eps))
(-.f64 (log1p.f64 (*.f64 eps eps)) (log1p.f64 eps))
(-.f64 (log.f64 (/.f64 (+.f64 1 (*.f64 eps eps)) (pow.f64 (cbrt.f64 (+.f64 1 eps)) 2))) (*.f64 1/3 (log1p.f64 eps)))
(-.f64 (log.f64 (/.f64 (+.f64 1 (*.f64 eps eps)) (pow.f64 (cbrt.f64 (+.f64 eps 1)) 2))) (*.f64 1/3 (log1p.f64 eps)))
(+.f64 (log.f64 (/.f64 (fma.f64 eps eps 1) (pow.f64 (cbrt.f64 (+.f64 eps 1)) 2))) (*.f64 (log1p.f64 eps) -1/3))
(-.f64 (log.f64 (/.f64 (+.f64 1 (*.f64 eps eps)) (hypot.f64 1 (sqrt.f64 eps)))) (*.f64 1/2 (log1p.f64 eps)))
(+.f64 (log.f64 (/.f64 (+.f64 1 (*.f64 eps eps)) (hypot.f64 1 (sqrt.f64 eps)))) (*.f64 -1/2 (log1p.f64 eps)))
(+.f64 (log.f64 (/.f64 (fma.f64 eps eps 1) (hypot.f64 1 (sqrt.f64 eps)))) (*.f64 -1/2 (log1p.f64 eps)))
(*.f64 1 (log1p.f64 eps))
(log1p.f64 eps)
(*.f64 (log1p.f64 eps) 1)
(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 3 (*.f64 1/3 (log1p.f64 eps)))
(log1p.f64 eps)
(*.f64 2 (*.f64 1/2 (log1p.f64 eps)))
(log1p.f64 eps)
(*.f64 1/3 (*.f64 3 (log1p.f64 eps)))
(log1p.f64 eps)
(pow.f64 (log1p.f64 eps) 1)
(log1p.f64 eps)
(pow.f64 (cbrt.f64 (log1p.f64 eps)) 3)
(log1p.f64 eps)
(pow.f64 (pow.f64 (log1p.f64 eps) 3) 1/3)
(log1p.f64 eps)
(pow.f64 (sqrt.f64 (log1p.f64 eps)) 2)
(log1p.f64 eps)
(neg.f64 (log.f64 (/.f64 (+.f64 1 eps) (+.f64 1 (*.f64 eps eps)))))
(-.f64 (log1p.f64 (*.f64 eps eps)) (log1p.f64 eps))
(neg.f64 (log.f64 (/.f64 (+.f64 1 (fma.f64 eps eps eps)) (+.f64 1 (pow.f64 eps 3)))))
(+.f64 (log1p.f64 (pow.f64 eps 3)) (neg.f64 (log.f64 (+.f64 1 (fma.f64 eps eps eps)))))
(-.f64 (log1p.f64 (pow.f64 eps 3)) (log1p.f64 (fma.f64 eps eps eps)))
(sqrt.f64 (pow.f64 (log1p.f64 eps) 2))
(log1p.f64 eps)
(log.f64 (+.f64 1 eps))
(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 (log.f64 (log1p.f64 eps)) 1))
(log1p.f64 eps)
(exp.f64 (*.f64 (*.f64 (log.f64 (log1p.f64 eps)) 1) 1))
(log1p.f64 eps)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (log1p.f64 eps))) 3))
(log1p.f64 eps)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (log1p.f64 eps))) 1/3))
(log1p.f64 eps)
(exp.f64 (*.f64 (*.f64 (log.f64 (log1p.f64 eps)) 3) 1/3))
(log1p.f64 eps)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (log1p.f64 eps))) 2))
(log1p.f64 eps)

eval43.0ms (0.5%)

Compiler

Compiled 2173 to 1366 computations (37.1% saved)

prune22.0ms (0.2%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New1513154
Fresh000
Picked022
Done000
Total1515156
Accuracy
100.0%
Counts
156 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
99.3%
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
98.9%
(*.f64 -2 eps)
8.2%
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
5.3%
0
100.0%
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
99.3%
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
98.9%
(*.f64 -2 eps)
8.2%
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
5.3%
0
Compiler

Compiled 64 to 50 computations (21.9% saved)

localize103.0ms (1.1%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
99.7%
(*.f64 -2/3 (pow.f64 eps 3))
Compiler

Compiled 31 to 23 computations (25.8% saved)

series5.0ms (0.1%)

Counts
1 → 0
Calls

3 calls:

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

rewrite108.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
1204×pow1
1126×add-exp-log
1126×log1p-expm1-u
1126×expm1-log1p-u
1102×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
114913
2157213
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 -2/3 (pow.f64 eps 3))
Outputs
(-.f64 (+.f64 1 (*.f64 -2/3 (pow.f64 eps 3))) 1)
(pow.f64 (*.f64 -2/3 (pow.f64 eps 3)) 1)
(pow.f64 (*.f64 eps (cbrt.f64 -2/3)) 3)
(pow.f64 (pow.f64 (*.f64 -2/3 (pow.f64 eps 3)) 3) 1/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))))

simplify119.0ms (1.3%)

Algorithm
egg-herbie
Rules
2268×log-prod
918×exp-sum
820×distribute-rgt-in
818×distribute-lft-in
650×associate-*r*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
039275
198209
2313143
31886143
46007143
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 (*.f64 eps (cbrt.f64 -2/3)) 3)
(pow.f64 (pow.f64 (*.f64 -2/3 (pow.f64 eps 3)) 3) 1/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 1 (-.f64 (*.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 1 (-.f64 (*.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 1 (-.f64 (*.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 1 (-.f64 (*.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 1 (-.f64 (*.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 1 (-.f64 (*.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 1 (-.f64 (*.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 1 (-.f64 (*.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 1 (-.f64 (*.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 1 (-.f64 (*.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 1 (-.f64 (*.f64 -2/3 (pow.f64 eps 3)) 1))
(+.f64 (*.f64 -2/3 (pow.f64 eps 3)) 0)
(*.f64 -2/3 (pow.f64 eps 3))

eval4.0ms (0%)

Compiler

Compiled 159 to 131 computations (17.6% saved)

prune5.0ms (0.1%)

Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New14014
Fresh011
Picked022
Done022
Total14519
Accuracy
100.0%
Counts
19 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
99.3%
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
98.9%
(*.f64 -2 eps)
8.2%
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
5.3%
0
100.0%
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
99.3%
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
98.9%
(*.f64 -2 eps)
8.2%
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
5.3%
0
Compiler

Compiled 64 to 50 computations (21.9% saved)

localize0.0ms (0%)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune4.0ms (0%)

Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done044
Total055
Accuracy
100.0%
Counts
5 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
99.3%
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
98.9%
(*.f64 -2 eps)
8.2%
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
5.3%
0
100.0%
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
99.3%
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
98.9%
(*.f64 -2 eps)
8.2%
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
5.3%
0
Compiler

Compiled 64 to 50 computations (21.9% saved)

localize0.0ms (0%)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune8.0ms (0.1%)

Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done044
Total055
Accuracy
100.0%
Counts
5 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
99.3%
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
98.9%
(*.f64 -2 eps)
8.2%
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
5.3%
0
Compiler

Compiled 60 to 46 computations (23.3% saved)

regimes10.0ms (0.1%)

Counts
5 → 1
Calls
Call 1
Inputs
0
(*.f64 -2 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:

4.0ms
eps
2.0ms
(/.f64 (-.f64 1 eps) (+.f64 1 eps))
2.0ms
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
Results
AccuracySegmentsBranch
100.0%1eps
100.0%1(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
100.0%1(/.f64 (-.f64 1 eps) (+.f64 1 eps))
Compiler

Compiled 47 to 35 computations (25.5% saved)

regimes12.0ms (0.1%)

Counts
4 → 1
Calls
Call 1
Inputs
0
(*.f64 -2 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:

4.0ms
eps
2.0ms
(/.f64 (-.f64 1 eps) (+.f64 1 eps))
2.0ms
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
Results
AccuracySegmentsBranch
99.3%1eps
99.3%1(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
99.3%1(/.f64 (-.f64 1 eps) (+.f64 1 eps))
Compiler

Compiled 41 to 31 computations (24.4% saved)

regimes11.0ms (0.1%)

Counts
3 → 1
Calls
Call 1
Inputs
0
(*.f64 -2 eps)
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
Outputs
(*.f64 -2 eps)
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
AccuracySegmentsBranch
98.9%1eps
98.9%1(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
98.9%1(/.f64 (-.f64 1 eps) (+.f64 1 eps))
Compiler

Compiled 32 to 24 computations (25% saved)

regimes3.0ms (0%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
0
Outputs
0
Calls

1 calls:

3.0ms
eps
Results
AccuracySegmentsBranch
5.3%1eps
Compiler

Compiled 4 to 3 computations (25% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative
*-commutative
sub-neg
neg-mul-1
neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01652
12452
22952
33252
43352
Stop Event
fuel
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)
0
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)
0
Compiler

Compiled 23 to 18 computations (21.7% saved)

soundness956.0ms (10.5%)

Rules
8722×fma-def
1534×prod-diff
1220×unsub-neg
1030×fma-neg
920×log-prod
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01473
13757
27057
314857
437757
598457
6186157
7253257
8352357
9476657
10532257
11548357
12565857
13610757
14700457
15707257
16710457
17712457
18721657
19735757
20747757
21747757
01362
127954
238058
Stop Event
node limit
node limit
Compiler

Compiled 181 to 136 computations (24.9% saved)

end0.0ms (0%)

preprocess180.0ms (2%)

Compiler

Compiled 90 to 70 computations (22.2% saved)

Profiling

Loading profile data...