logq (problem 3.4.3)

Time bar (total: 9.3s)

analyze1.2s (12.7%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%199.9%-99.9%0%0%0%1
0%0%399.8%-299.8%0%0%0%2
0%0%799.6%-699.6%0%0%0%3
0%0%1599.2%-1499.2%0%0%0%4
0%0%3198.4%-3098.4%0%0%0%5
0%0%6396.9%-6296.9%0%0%0%6
0%0%12793.8%-12693.8%0%0%0%7
0%0%25587.5%-25487.5%0%0%0%8
0%0%51175%-51075%0%0%0%9
0%0%102350%-102250%0%0%0%10
0%0%204700%-204600%0%0%0%11
0%0%409400%-409300%0%0%0%12
Compiler

Compiled 10 to 8 computations (20% saved)

sample5.8s (61.8%)

Results
1.9s2782×body4096valid
1.5s2798×body2048valid
1.3s8281×body256invalid
694.0ms1329×body1024valid
163.0ms657×body512valid
109.0ms690×body256valid
Bogosity

preprocess462.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
01450
13738
27038
314838
437738
598438
6186138
7253238
8352338
9476638
10532238
11548338
12565838
13610738
14700438
15707238
16710438
17712438
18721638
19735738
20747738
21747738
Stop Event
node limit
Calls
Call 1
Inputs
(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 (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 10 to 8 computations (20% saved)

simplify285.0ms (3.1%)

Algorithm
egg-herbie
Rules
3044×fma-def
1338×distribute-lft-in
944×fma-neg
932×sub-neg
644×distribute-rgt-in
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0923
12019
23019
34419
47419
510619
616319
729619
860219
9105319
10146219
11203719
12286519
13406619
14490019
15499619
16502819
17502819
18653319
19716519
20724319
21725119
22725919
23725919
24745919
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)

prune2.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Accurracy
100.0%
Counts
3 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
8.4%
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
100.0%
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
8.4%
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
Compiler

Compiled 32 to 24 computations (25% saved)

localize338.0ms (3.6%)

Local Accuracy

Found 4 expressions with local accuracy:

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

Compiled 39 to 22 computations (43.6% saved)

series4.0ms (0%)

Counts
4 → 48
Calls

12 calls:

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

rewrite80.0ms (0.9%)

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
01366
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 (neg.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))

simplify78.0ms (0.8%)

Algorithm
egg-herbie
Rules
828×associate-+r+
812×cancel-sign-sub-inv
808×associate-+l+
548×associate--r+
516×distribute-lft-out
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02102107
15241977
220311963
Stop Event
node limit
Counts
97 → 157
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))))))
(*.f64 -1 eps)
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -1 eps))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1 eps) (*.f64 -1/3 (pow.f64 eps 3))))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1 eps) (+.f64 (*.f64 -1/4 (pow.f64 eps 4)) (*.f64 -1/3 (pow.f64 eps 3)))))
(+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))) (/.f64 1 eps))
(-.f64 (+.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 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))) (+.f64 (/.f64 1 eps) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 eps 2))) (*.f64 1/3 (/.f64 1 (pow.f64 eps 3))))))
(*.f64 -1 (log.f64 (/.f64 -1 eps)))
(-.f64 (*.f64 -1 (log.f64 (/.f64 -1 eps))) (/.f64 1 eps))
(-.f64 (*.f64 -1 (log.f64 (/.f64 -1 eps))) (+.f64 (/.f64 1 eps) (*.f64 1/2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (*.f64 -1 (log.f64 (/.f64 -1 eps))) (+.f64 (/.f64 1 eps) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 eps 2))) (*.f64 1/3 (/.f64 1 (pow.f64 eps 3))))))
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 (-.f64 (+.f64 (log.f64 -1) (/.f64 -2 eps)) (/.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 (-.f64 (+.f64 (log.f64 -1) (/.f64 -2 eps)) (/.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 -1 (/.f64 2 eps)) (/.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 (+.f64 -1 (/.f64 2 eps)) (/.f64 2 (*.f64 eps eps))) (/.f64 2 (pow.f64 eps 3)))
(+.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 -1 (/.f64 2 eps)) (/.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 (+.f64 -1 (/.f64 2 eps)) (/.f64 2 (*.f64 eps eps))) (/.f64 2 (pow.f64 eps 3)))
(+.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 (-.f64 (+.f64 (log.f64 -1) (/.f64 -2 eps)) (/.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)))
(*.f64 -1 eps)
(neg.f64 eps)
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -1 eps))
(fma.f64 -1/2 (*.f64 eps eps) (neg.f64 eps))
(-.f64 (*.f64 eps (*.f64 eps -1/2)) eps)
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1 eps) (*.f64 -1/3 (pow.f64 eps 3))))
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1 eps (*.f64 (pow.f64 eps 3) -1/3)))
(fma.f64 (*.f64 eps eps) -1/2 (-.f64 (*.f64 (pow.f64 eps 3) -1/3) eps))
(-.f64 (*.f64 (*.f64 eps eps) (+.f64 -1/2 (*.f64 eps -1/3))) eps)
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1 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 -1 eps (fma.f64 -1/4 (pow.f64 eps 4) (*.f64 (pow.f64 eps 3) -1/3))))
(fma.f64 (*.f64 eps eps) -1/2 (-.f64 (fma.f64 (pow.f64 eps 3) -1/3 (*.f64 -1/4 (pow.f64 eps 4))) eps))
(+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))
(+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 eps))))
(+.f64 (log.f64 -1) (log.f64 eps))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))) (/.f64 1 eps))
(+.f64 (log.f64 -1) (-.f64 (neg.f64 (neg.f64 (log.f64 eps))) (/.f64 1 eps)))
(+.f64 (log.f64 -1) (-.f64 (log.f64 eps) (/.f64 1 eps)))
(+.f64 (log.f64 -1) (+.f64 (log.f64 eps) (/.f64 -1 eps)))
(-.f64 (+.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 (log.f64 -1) (-.f64 (neg.f64 (neg.f64 (log.f64 eps))) (+.f64 (/.f64 1 eps) (/.f64 1/2 (*.f64 eps eps)))))
(-.f64 (+.f64 (log.f64 -1) (-.f64 (log.f64 eps) (/.f64 1 eps))) (/.f64 (/.f64 1/2 eps) eps))
(+.f64 (log.f64 -1) (+.f64 (-.f64 (log.f64 eps) (/.f64 1/2 (*.f64 eps eps))) (/.f64 -1 eps)))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))) (+.f64 (/.f64 1 eps) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 eps 2))) (*.f64 1/3 (/.f64 1 (pow.f64 eps 3))))))
(+.f64 (log.f64 -1) (-.f64 (neg.f64 (neg.f64 (log.f64 eps))) (+.f64 (/.f64 1 eps) (+.f64 (/.f64 1/2 (*.f64 eps eps)) (/.f64 1/3 (pow.f64 eps 3))))))
(+.f64 (log.f64 -1) (-.f64 (log.f64 eps) (+.f64 (/.f64 (/.f64 1/2 eps) eps) (+.f64 (/.f64 1 eps) (/.f64 1/3 (pow.f64 eps 3))))))
(+.f64 (+.f64 (log.f64 -1) (log.f64 eps)) (+.f64 (+.f64 (/.f64 -1 eps) (/.f64 -1/2 (*.f64 eps eps))) (/.f64 -1/3 (pow.f64 eps 3))))
(*.f64 -1 (log.f64 (/.f64 -1 eps)))
(neg.f64 (log.f64 (/.f64 -1 eps)))
(-.f64 (*.f64 -1 (log.f64 (/.f64 -1 eps))) (/.f64 1 eps))
(-.f64 (neg.f64 (log.f64 (/.f64 -1 eps))) (/.f64 1 eps))
(fma.f64 -1 (log.f64 (/.f64 -1 eps)) (/.f64 -1 eps))
(-.f64 (/.f64 -1 eps) (log.f64 (/.f64 -1 eps)))
(-.f64 (*.f64 -1 (log.f64 (/.f64 -1 eps))) (+.f64 (/.f64 1 eps) (*.f64 1/2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (neg.f64 (log.f64 (/.f64 -1 eps))) (+.f64 (/.f64 1 eps) (/.f64 1/2 (*.f64 eps eps))))
(-.f64 (fma.f64 -1 (log.f64 (/.f64 -1 eps)) (/.f64 -1 eps)) (/.f64 (/.f64 1/2 eps) eps))
(+.f64 (-.f64 (/.f64 -1 eps) (log.f64 (/.f64 -1 eps))) (/.f64 -1/2 (*.f64 eps eps)))
(-.f64 (*.f64 -1 (log.f64 (/.f64 -1 eps))) (+.f64 (/.f64 1 eps) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 eps 2))) (*.f64 1/3 (/.f64 1 (pow.f64 eps 3))))))
(-.f64 (neg.f64 (log.f64 (/.f64 -1 eps))) (+.f64 (/.f64 1 eps) (+.f64 (/.f64 1/2 (*.f64 eps eps)) (/.f64 1/3 (pow.f64 eps 3)))))
(-.f64 (fma.f64 -1 (log.f64 (/.f64 -1 eps)) (/.f64 -1 eps)) (+.f64 (/.f64 (/.f64 1/2 eps) eps) (/.f64 1/3 (pow.f64 eps 3))))
(+.f64 (-.f64 (/.f64 -1 eps) (log.f64 (/.f64 -1 eps))) (+.f64 (/.f64 -1/2 (*.f64 eps eps)) (/.f64 -1/3 (pow.f64 eps 3))))
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 (neg.f64 (fma.f64 eps eps 1))) (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 (neg.f64 (+.f64 (pow.f64 eps 3) 1))) (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 -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 (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)

eval41.0ms (0.4%)

Compiler

Compiled 2127 to 1398 computations (34.3% saved)

prune33.0ms (0.4%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New1543157
Fresh000
Picked022
Done000
Total1545159
Accurracy
100.0%
Counts
159 → 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.8%
(*.f64 -2 eps)
8.4%
(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.8%
(*.f64 -2 eps)
8.4%
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
5.3%
0
Compiler

Compiled 64 to 50 computations (21.9% saved)

localize151.0ms (1.6%)

Local Accuracy

Found 1 expressions with local accuracy:

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

Compiled 31 to 23 computations (25.8% saved)

series2.0ms (0%)

Counts
1 → 0
Calls

3 calls:

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

rewrite54.0ms (0.6%)

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

simplify90.0ms (1%)

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
Accurracy
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.8%
(*.f64 -2 eps)
8.4%
(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.8%
(*.f64 -2 eps)
8.4%
(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
Accurracy
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.8%
(*.f64 -2 eps)
8.4%
(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.8%
(*.f64 -2 eps)
8.4%
(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)

prune5.0ms (0.1%)

Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done044
Total055
Accurracy
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.8%
(*.f64 -2 eps)
8.4%
(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
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
2.0ms
(/.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)

regimes11.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
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
4.0ms
eps
2.0ms
(/.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)

regimes9.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:

3.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.8%1eps
98.8%1(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
98.8%1(/.f64 (-.f64 1 eps) (+.f64 1 eps))
Compiler

Compiled 32 to 24 computations (25% saved)

regimes8.0ms (0.1%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

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

1 calls:

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

soundness652.0ms (7%)

Rules
3044×fma-def
1534×prod-diff
1338×distribute-lft-in
944×fma-neg
932×sub-neg
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0923
12019
23019
34419
47419
510619
616319
729619
860219
9105319
10146219
11203719
12286519
13406619
14490019
15499619
16502819
17502819
18653319
19716519
20724319
21725119
22725919
23725919
24745919
01366
127954
238058
Stop Event
node limit
node limit
Compiler

Compiled 181 to 136 computations (24.9% saved)

end0.0ms (0%)

preprocess50.0ms (0.5%)

Compiler

Compiled 90 to 70 computations (22.2% saved)

Profiling

Loading profile data...