logq (problem 3.4.3)

Time bar (total: 5.5s)

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

sample3.4s (61.7%)

Results
2.2s4140×body1024valid
498.0ms1999×body512valid
452.0ms418×body2048valid
248.0ms1699×body256valid
1.0ms14×body256invalid
Bogosity

preprocess311.0ms (5.7%)

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)

simplify255.0ms (4.7%)

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))
9.0%
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
100.0%
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
9.0%
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
Compiler

Compiled 32 to 24 computations (25% saved)

localize131.0ms (2.4%)

Local Accuracy

Found 4 expressions with local accuracy:

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

Compiled 39 to 22 computations (43.6% saved)

series7.0ms (0.1%)

Counts
4 → 48
Calls

12 calls:

TimeVariablePointExpression
3.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
@0
(log1p.f64 eps)
0.0ms
eps
@-inf
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))

rewrite66.0ms (1.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
238048
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))
(log1p.f64 eps)
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
Outputs
0
1
(+.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))
0

simplify57.0ms (1%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
02112085
15251955
220211949
Stop Event
node limit
Counts
97 → 152
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)))))
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 -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))))))
0
1
(+.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))
0
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/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 (-.f64 (+.f64 (log.f64 -1) (/.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/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 (-.f64 (+.f64 (log.f64 -1) (/.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 (/.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 (/.f64 2 eps) (-.f64 -1 (/.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 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 (/.f64 2 eps) (-.f64 -1 (/.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))))
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 -1/4 (pow.f64 eps 4) (*.f64 (pow.f64 eps 3) 1/3)))
(*.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 (/.f64 1 eps) (neg.f64 (neg.f64 (log.f64 eps)))) (/.f64 1/2 (*.f64 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 (/.f64 1 eps) (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 -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 1 eps) (-.f64 (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 (log.f64 -1) (+.f64 (-.f64 (/.f64 1 eps) (log.f64 (/.f64 -1 eps))) (/.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 (log.f64 -1) (-.f64 (/.f64 1 eps) (log.f64 (/.f64 -1 eps)))) (+.f64 (/.f64 1/3 (pow.f64 eps 3)) (/.f64 -1/2 (*.f64 eps eps))))
(*.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/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 (-.f64 (+.f64 (log.f64 -1) (/.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) (log.f64 -1)) (/.f64 -2/3 (pow.f64 eps 3)))
(-.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) (log.f64 -1)) (/.f64 -2/3 (pow.f64 eps 3))) (/.f64 -2/5 (pow.f64 eps 5)))
0
1
(+.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)
0

eval36.0ms (0.7%)

Compiler

Compiled 2145 to 1348 computations (37.2% saved)

prune21.0ms (0.4%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New1484152
Fresh000
Picked022
Done000
Total1486154
Accurracy
100.0%
Counts
154 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
97.6%
(-.f64 (log1p.f64 (neg.f64 eps)) eps)
99.0%
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
98.5%
(*.f64 -2 eps)
9.0%
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
5.3%
0
100.0%
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
97.6%
(-.f64 (log1p.f64 (neg.f64 eps)) eps)
99.0%
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
98.5%
(*.f64 -2 eps)
9.0%
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
5.3%
0
Compiler

Compiled 76 to 58 computations (23.7% saved)

localize56.0ms (1%)

Local Accuracy

Found 2 expressions with local accuracy:

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

Compiled 42 to 26 computations (38.1% saved)

series5.0ms (0.1%)

Counts
2 → 12
Calls

6 calls:

TimeVariablePointExpression
2.0ms
eps
@-inf
(-.f64 (log1p.f64 (neg.f64 eps)) eps)
1.0ms
eps
@inf
(*.f64 -2/3 (pow.f64 eps 3))
0.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 (log1p.f64 (neg.f64 eps)) eps)

rewrite61.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
1964×pow1
1828×add-exp-log
1826×log1p-expm1-u
1826×expm1-log1p-u
230×add-sqr-sqrt
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01128
123824
2289024
Stop Event
node limit
Counts
2 → 46
Calls
Call 1
Inputs
(*.f64 -2/3 (pow.f64 eps 3))
(-.f64 (log1p.f64 (neg.f64 eps)) eps)
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 (pow.f64 eps 3/2) (sqrt.f64 -2/3)) 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))))
(exp.f64 (*.f64 (log.f64 (*.f64 -2/3 (pow.f64 eps 3))) 1))
(log1p.f64 (expm1.f64 (*.f64 -2/3 (pow.f64 eps 3))))
(+.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 (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 (pow.f64 (+.f64 eps (log1p.f64 eps)) 2) (/.f64 1 (+.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 (+.f64 eps (log1p.f64 eps)) 2) (*.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 (+.f64 eps (log1p.f64 eps)) 2) (*.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 (+.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 (*.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 (+.f64 eps (log1p.f64 eps)) 2) (*.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 (cbrt.f64 (+.f64 eps (log1p.f64 eps))) 3)
(pow.f64 (pow.f64 (+.f64 eps (log1p.f64 eps)) 3) 1/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))))
(exp.f64 (*.f64 (log.f64 (+.f64 eps (log1p.f64 eps))) 1))
(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)

simplify61.0ms (1.1%)

Algorithm
egg-herbie
Rules
1088×fma-def
1036×fma-neg
720×log-prod
552×associate-/l*
496×unswap-sqr
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01531426
13811268
213291148
358211148
Stop Event
node limit
Counts
58 → 97
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 (+.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 (pow.f64 eps 3/2) (sqrt.f64 -2/3)) 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))))
(exp.f64 (*.f64 (log.f64 (*.f64 -2/3 (pow.f64 eps 3))) 1))
(log1p.f64 (expm1.f64 (*.f64 -2/3 (pow.f64 eps 3))))
(+.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 (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 (pow.f64 (+.f64 eps (log1p.f64 eps)) 2) (/.f64 1 (+.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 (+.f64 eps (log1p.f64 eps)) 2) (*.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 (+.f64 eps (log1p.f64 eps)) 2) (*.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 (+.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 (*.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 (+.f64 eps (log1p.f64 eps)) 2) (*.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 (cbrt.f64 (+.f64 eps (log1p.f64 eps))) 3)
(pow.f64 (pow.f64 (+.f64 eps (log1p.f64 eps)) 3) 1/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))))
(exp.f64 (*.f64 (log.f64 (+.f64 eps (log1p.f64 eps))) 1))
(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))
(*.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 -1/2 (*.f64 eps eps) (fma.f64 -1/3 (pow.f64 eps 3) (*.f64 -2 eps)))
(fma.f64 -2 eps (*.f64 (*.f64 eps eps) (+.f64 (*.f64 eps -1/3) -1/2)))
(+.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 eps (*.f64 eps -1/2) (fma.f64 -1/3 (pow.f64 eps 3) (fma.f64 -2 eps (*.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 eps) (-.f64 (log.f64 -1) 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 (/.f64 1/2 eps) eps)))
(+.f64 (-.f64 (log.f64 -1) eps) (+.f64 (log.f64 eps) (-.f64 (/.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 (/.f64 1/2 eps) eps))
(-.f64 (-.f64 (/.f64 -1 eps) (/.f64 1/2 (*.f64 eps eps))) (+.f64 eps (log.f64 (/.f64 -1 eps))))
(-.f64 (+.f64 1 (*.f64 -2/3 (pow.f64 eps 3))) 1)
(+.f64 1 (-.f64 (*.f64 (pow.f64 eps 3) -2/3) 1))
(+.f64 (*.f64 (pow.f64 eps 3) -2/3) 0)
(*.f64 (pow.f64 eps 3) -2/3)
(pow.f64 (*.f64 -2/3 (pow.f64 eps 3)) 1)
(+.f64 1 (-.f64 (*.f64 (pow.f64 eps 3) -2/3) 1))
(+.f64 (*.f64 (pow.f64 eps 3) -2/3) 0)
(*.f64 (pow.f64 eps 3) -2/3)
(pow.f64 (*.f64 eps (cbrt.f64 -2/3)) 3)
(+.f64 1 (-.f64 (*.f64 (pow.f64 eps 3) -2/3) 1))
(+.f64 (*.f64 (pow.f64 eps 3) -2/3) 0)
(*.f64 (pow.f64 eps 3) -2/3)
(pow.f64 (pow.f64 (*.f64 -2/3 (pow.f64 eps 3)) 3) 1/3)
(+.f64 1 (-.f64 (*.f64 (pow.f64 eps 3) -2/3) 1))
(+.f64 (*.f64 (pow.f64 eps 3) -2/3) 0)
(*.f64 (pow.f64 eps 3) -2/3)
(pow.f64 (*.f64 (pow.f64 eps 3/2) (sqrt.f64 -2/3)) 2)
(+.f64 1 (-.f64 (*.f64 (pow.f64 eps 3) -2/3) 1))
(+.f64 (*.f64 (pow.f64 eps 3) -2/3) 0)
(*.f64 (pow.f64 eps 3) -2/3)
(sqrt.f64 (*.f64 (pow.f64 eps 6) 4/9))
(+.f64 1 (-.f64 (*.f64 (pow.f64 eps 3) -2/3) 1))
(+.f64 (*.f64 (pow.f64 eps 3) -2/3) 0)
(*.f64 (pow.f64 eps 3) -2/3)
(log.f64 (pow.f64 (exp.f64 -2/3) (pow.f64 eps 3)))
(+.f64 1 (-.f64 (*.f64 (pow.f64 eps 3) -2/3) 1))
(+.f64 (*.f64 (pow.f64 eps 3) -2/3) 0)
(*.f64 (pow.f64 eps 3) -2/3)
(cbrt.f64 (pow.f64 (*.f64 -2/3 (pow.f64 eps 3)) 3))
(+.f64 1 (-.f64 (*.f64 (pow.f64 eps 3) -2/3) 1))
(+.f64 (*.f64 (pow.f64 eps 3) -2/3) 0)
(*.f64 (pow.f64 eps 3) -2/3)
(expm1.f64 (log1p.f64 (*.f64 -2/3 (pow.f64 eps 3))))
(+.f64 1 (-.f64 (*.f64 (pow.f64 eps 3) -2/3) 1))
(+.f64 (*.f64 (pow.f64 eps 3) -2/3) 0)
(*.f64 (pow.f64 eps 3) -2/3)
(exp.f64 (log.f64 (*.f64 -2/3 (pow.f64 eps 3))))
(+.f64 1 (-.f64 (*.f64 (pow.f64 eps 3) -2/3) 1))
(+.f64 (*.f64 (pow.f64 eps 3) -2/3) 0)
(*.f64 (pow.f64 eps 3) -2/3)
(exp.f64 (*.f64 (log.f64 (*.f64 -2/3 (pow.f64 eps 3))) 1))
(+.f64 1 (-.f64 (*.f64 (pow.f64 eps 3) -2/3) 1))
(+.f64 (*.f64 (pow.f64 eps 3) -2/3) 0)
(*.f64 (pow.f64 eps 3) -2/3)
(log1p.f64 (expm1.f64 (*.f64 -2/3 (pow.f64 eps 3))))
(+.f64 1 (-.f64 (*.f64 (pow.f64 eps 3) -2/3) 1))
(+.f64 (*.f64 (pow.f64 eps 3) -2/3) 0)
(*.f64 (pow.f64 eps 3) -2/3)
(+.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 (+.f64 eps (log1p.f64 eps)) (fma.f64 (neg.f64 (cbrt.f64 eps)) (pow.f64 (cbrt.f64 eps) 2) eps))
(+.f64 eps (+.f64 (log1p.f64 eps) (fma.f64 (neg.f64 (cbrt.f64 eps)) (pow.f64 (cbrt.f64 eps) 2) eps)))
(+.f64 (log1p.f64 eps) (+.f64 eps (fma.f64 (neg.f64 (cbrt.f64 eps)) (pow.f64 (cbrt.f64 eps) 2) eps)))
(+.f64 eps (+.f64 (log1p.f64 eps) (-.f64 eps eps)))
(+.f64 (+.f64 eps (log1p.f64 eps)) (fma.f64 (neg.f64 (sqrt.f64 eps)) (sqrt.f64 eps) eps))
(+.f64 eps (+.f64 (log1p.f64 eps) (fma.f64 (neg.f64 (cbrt.f64 eps)) (pow.f64 (cbrt.f64 eps) 2) eps)))
(+.f64 (log1p.f64 eps) (+.f64 eps (fma.f64 (neg.f64 (cbrt.f64 eps)) (pow.f64 (cbrt.f64 eps) 2) eps)))
(+.f64 eps (+.f64 (log1p.f64 eps) (-.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 (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 (pow.f64 (+.f64 eps (log1p.f64 eps)) 2) (/.f64 1 (+.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 (+.f64 eps (log1p.f64 eps)) 2) (*.f64 eps (log1p.f64 eps)))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 eps (log1p.f64 eps)) 2) (*.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 (log1p.f64 eps) (pow.f64 (+.f64 eps (log1p.f64 eps)) 2)))
(*.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 (+.f64 eps (log1p.f64 eps)) 2) (*.f64 eps (log1p.f64 eps))) (+.f64 (pow.f64 (log1p.f64 eps) 3) (pow.f64 eps 3))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 eps (log1p.f64 eps)) 2) (*.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 (log1p.f64 eps) (pow.f64 (+.f64 eps (log1p.f64 eps)) 2)))
(/.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 (+.f64 eps (log1p.f64 eps)) 2) (*.f64 eps (log1p.f64 eps))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 eps (log1p.f64 eps)) 2) (*.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 (log1p.f64 eps) (pow.f64 (+.f64 eps (log1p.f64 eps)) 2)))
(/.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 (+.f64 eps (log1p.f64 eps)) 2) (*.f64 eps (log1p.f64 eps)))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 eps (log1p.f64 eps)) 2) (*.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 (log1p.f64 eps) (pow.f64 (+.f64 eps (log1p.f64 eps)) 2)))
(/.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 (cbrt.f64 (+.f64 eps (log1p.f64 eps))) 3)
(+.f64 eps (log1p.f64 eps))
(pow.f64 (pow.f64 (+.f64 eps (log1p.f64 eps)) 3) 1/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))
(exp.f64 (*.f64 (log.f64 (+.f64 eps (log1p.f64 eps))) 1))
(+.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))

eval24.0ms (0.4%)

Compiler

Compiled 1171 to 683 computations (41.7% saved)

prune15.0ms (0.3%)

Pruning

8 alts after pruning (3 fresh and 5 done)

PrunedKeptTotal
New95297
Fresh011
Picked033
Done022
Total958103
Accurracy
100.0%
Counts
103 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
97.6%
(-.f64 (log1p.f64 (neg.f64 eps)) eps)
99.0%
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
97.6%
(*.f64 eps (+.f64 -2 (*.f64 eps -1/2)))
98.5%
(*.f64 -2 eps)
18.7%
(neg.f64 eps)
9.0%
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
5.3%
0
100.0%
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
97.6%
(-.f64 (log1p.f64 (neg.f64 eps)) eps)
99.0%
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
97.6%
(*.f64 eps (+.f64 -2 (*.f64 eps -1/2)))
98.5%
(*.f64 -2 eps)
18.7%
(neg.f64 eps)
9.0%
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
5.3%
0
Compiler

Compiled 98 to 74 computations (24.5% saved)

localize35.0ms (0.6%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
100.0%
(*.f64 eps (+.f64 -2 (*.f64 eps -1/2)))
Compiler

Compiled 23 to 16 computations (30.4% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite61.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
1802×pow1
1682×add-exp-log
1682×log1p-expm1-u
1682×expm1-log1p-u
1654×add-log-exp
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0819
117815
2231715
Stop Event
node limit
Counts
1 → 24
Calls
Call 1
Inputs
(*.f64 eps (+.f64 -2 (*.f64 eps -1/2)))
Outputs
(+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 eps -2))
(+.f64 (*.f64 eps -2) (*.f64 eps (*.f64 eps -1/2)))
(+.f64 (*.f64 (*.f64 eps -2) 1) (*.f64 (*.f64 eps (*.f64 eps -1/2)) 1))
(-.f64 (+.f64 1 (*.f64 eps (fma.f64 eps -1/2 -2))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 eps -2) 3) (pow.f64 (*.f64 eps (*.f64 eps -1/2)) 3)) (+.f64 (*.f64 (*.f64 eps -2) (*.f64 eps -2)) (-.f64 (*.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 eps (*.f64 eps -1/2))) (*.f64 (*.f64 eps -2) (*.f64 eps (*.f64 eps -1/2))))))
(/.f64 (-.f64 (*.f64 (*.f64 eps -2) (*.f64 eps -2)) (*.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 eps (*.f64 eps -1/2)))) (-.f64 (*.f64 eps -2) (*.f64 eps (*.f64 eps -1/2))))
(/.f64 (*.f64 eps (+.f64 (*.f64 -1/8 (pow.f64 eps 3)) -8)) (+.f64 4 (-.f64 (*.f64 1/4 (*.f64 eps eps)) eps)))
(/.f64 (*.f64 eps (-.f64 4 (*.f64 1/4 (*.f64 eps eps)))) (+.f64 -2 (*.f64 1/2 eps)))
(/.f64 (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 eps 3)) -8) eps) (+.f64 4 (-.f64 (*.f64 1/4 (*.f64 eps eps)) eps)))
(/.f64 (*.f64 (-.f64 4 (*.f64 1/4 (*.f64 eps eps))) eps) (+.f64 -2 (*.f64 1/2 eps)))
(pow.f64 (*.f64 eps (fma.f64 eps -1/2 -2)) 1)
(pow.f64 (cbrt.f64 (*.f64 eps (fma.f64 eps -1/2 -2))) 3)
(pow.f64 (pow.f64 (*.f64 eps (fma.f64 eps -1/2 -2)) 3) 1/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 eps) (fma.f64 eps -1/2 -2)))
(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 eps (*.f64 eps -1/2)))
(fma.f64 -2 eps (*.f64 eps (*.f64 eps -1/2)))

simplify52.0ms (1%)

Algorithm
egg-herbie
Rules
1068×associate-*r/
818×fma-def
656×fma-neg
654×times-frac
602×cancel-sign-sub-inv
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
089688
1255668
21058648
34627642
Stop Event
node limit
Counts
36 → 38
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 (*.f64 eps -1/2)) (*.f64 eps -2))
(+.f64 (*.f64 eps -2) (*.f64 eps (*.f64 eps -1/2)))
(+.f64 (*.f64 (*.f64 eps -2) 1) (*.f64 (*.f64 eps (*.f64 eps -1/2)) 1))
(-.f64 (+.f64 1 (*.f64 eps (fma.f64 eps -1/2 -2))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 eps -2) 3) (pow.f64 (*.f64 eps (*.f64 eps -1/2)) 3)) (+.f64 (*.f64 (*.f64 eps -2) (*.f64 eps -2)) (-.f64 (*.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 eps (*.f64 eps -1/2))) (*.f64 (*.f64 eps -2) (*.f64 eps (*.f64 eps -1/2))))))
(/.f64 (-.f64 (*.f64 (*.f64 eps -2) (*.f64 eps -2)) (*.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 eps (*.f64 eps -1/2)))) (-.f64 (*.f64 eps -2) (*.f64 eps (*.f64 eps -1/2))))
(/.f64 (*.f64 eps (+.f64 (*.f64 -1/8 (pow.f64 eps 3)) -8)) (+.f64 4 (-.f64 (*.f64 1/4 (*.f64 eps eps)) eps)))
(/.f64 (*.f64 eps (-.f64 4 (*.f64 1/4 (*.f64 eps eps)))) (+.f64 -2 (*.f64 1/2 eps)))
(/.f64 (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 eps 3)) -8) eps) (+.f64 4 (-.f64 (*.f64 1/4 (*.f64 eps eps)) eps)))
(/.f64 (*.f64 (-.f64 4 (*.f64 1/4 (*.f64 eps eps))) eps) (+.f64 -2 (*.f64 1/2 eps)))
(pow.f64 (*.f64 eps (fma.f64 eps -1/2 -2)) 1)
(pow.f64 (cbrt.f64 (*.f64 eps (fma.f64 eps -1/2 -2))) 3)
(pow.f64 (pow.f64 (*.f64 eps (fma.f64 eps -1/2 -2)) 3) 1/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 eps) (fma.f64 eps -1/2 -2)))
(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 eps (*.f64 eps -1/2)))
(fma.f64 -2 eps (*.f64 eps (*.f64 eps -1/2)))
Outputs
(*.f64 -2 eps)
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -2 eps))
(*.f64 eps (fma.f64 eps -1/2 -2))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -2 eps))
(*.f64 eps (fma.f64 eps -1/2 -2))
(+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 -2 eps))
(*.f64 eps (fma.f64 eps -1/2 -2))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 eps (*.f64 eps -1/2))
(+.f64 (*.f64 -2 eps) (*.f64 -1/2 (pow.f64 eps 2)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(+.f64 (*.f64 -2 eps) (*.f64 -1/2 (pow.f64 eps 2)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(+.f64 (*.f64 -2 eps) (*.f64 -1/2 (pow.f64 eps 2)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(*.f64 -1/2 (pow.f64 eps 2))
(*.f64 eps (*.f64 eps -1/2))
(+.f64 (*.f64 -2 eps) (*.f64 -1/2 (pow.f64 eps 2)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(+.f64 (*.f64 -2 eps) (*.f64 -1/2 (pow.f64 eps 2)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(+.f64 (*.f64 -2 eps) (*.f64 -1/2 (pow.f64 eps 2)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 eps -2))
(*.f64 eps (fma.f64 eps -1/2 -2))
(+.f64 (*.f64 eps -2) (*.f64 eps (*.f64 eps -1/2)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(+.f64 (*.f64 (*.f64 eps -2) 1) (*.f64 (*.f64 eps (*.f64 eps -1/2)) 1))
(*.f64 eps (fma.f64 eps -1/2 -2))
(-.f64 (+.f64 1 (*.f64 eps (fma.f64 eps -1/2 -2))) 1)
(*.f64 eps (fma.f64 eps -1/2 -2))
(/.f64 (+.f64 (pow.f64 (*.f64 eps -2) 3) (pow.f64 (*.f64 eps (*.f64 eps -1/2)) 3)) (+.f64 (*.f64 (*.f64 eps -2) (*.f64 eps -2)) (-.f64 (*.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 eps (*.f64 eps -1/2))) (*.f64 (*.f64 eps -2) (*.f64 eps (*.f64 eps -1/2))))))
(/.f64 (+.f64 (*.f64 (pow.f64 eps 3) -8) (pow.f64 (*.f64 eps (*.f64 eps -1/2)) 3)) (+.f64 (*.f64 (*.f64 eps eps) 4) (*.f64 (*.f64 eps (*.f64 eps -1/2)) (-.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 -2 eps)))))
(/.f64 (*.f64 (pow.f64 eps 3) (fma.f64 -1/8 (pow.f64 eps 3) -8)) (fma.f64 eps (*.f64 4 eps) (*.f64 eps (*.f64 (*.f64 eps -1/2) (*.f64 eps (-.f64 (*.f64 eps -1/2) -2))))))
(/.f64 (*.f64 (pow.f64 eps 3) (fma.f64 -1/8 (pow.f64 eps 3) -8)) (-.f64 (*.f64 (*.f64 eps eps) (fma.f64 eps (*.f64 eps 1/4) 4)) (pow.f64 eps 3)))
(/.f64 (fma.f64 -1/8 (pow.f64 eps 6) (*.f64 (pow.f64 eps 3) -8)) (*.f64 eps (*.f64 eps (-.f64 (fma.f64 eps (*.f64 eps 1/4) 4) eps))))
(/.f64 (-.f64 (*.f64 (*.f64 eps -2) (*.f64 eps -2)) (*.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 eps (*.f64 eps -1/2)))) (-.f64 (*.f64 eps -2) (*.f64 eps (*.f64 eps -1/2))))
(*.f64 eps (fma.f64 eps -1/2 -2))
(/.f64 (*.f64 eps (+.f64 (*.f64 -1/8 (pow.f64 eps 3)) -8)) (+.f64 4 (-.f64 (*.f64 1/4 (*.f64 eps eps)) eps)))
(/.f64 eps (/.f64 (+.f64 4 (-.f64 (*.f64 (*.f64 eps eps) 1/4) eps)) (fma.f64 -1/8 (pow.f64 eps 3) -8)))
(*.f64 (/.f64 (fma.f64 -1/8 (pow.f64 eps 3) -8) (+.f64 4 (-.f64 (*.f64 eps (*.f64 eps 1/4)) eps))) eps)
(/.f64 (fma.f64 eps -8 (*.f64 -1/8 (pow.f64 eps 4))) (-.f64 (fma.f64 eps (*.f64 eps 1/4) 4) eps))
(/.f64 (fma.f64 -1/8 (pow.f64 eps 4) (*.f64 eps -8)) (-.f64 (fma.f64 eps (*.f64 eps 1/4) 4) eps))
(/.f64 (*.f64 eps (-.f64 4 (*.f64 1/4 (*.f64 eps eps)))) (+.f64 -2 (*.f64 1/2 eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(/.f64 (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 eps 3)) -8) eps) (+.f64 4 (-.f64 (*.f64 1/4 (*.f64 eps eps)) eps)))
(/.f64 eps (/.f64 (+.f64 4 (-.f64 (*.f64 (*.f64 eps eps) 1/4) eps)) (fma.f64 -1/8 (pow.f64 eps 3) -8)))
(*.f64 (/.f64 (fma.f64 -1/8 (pow.f64 eps 3) -8) (+.f64 4 (-.f64 (*.f64 eps (*.f64 eps 1/4)) eps))) eps)
(/.f64 (fma.f64 eps -8 (*.f64 -1/8 (pow.f64 eps 4))) (-.f64 (fma.f64 eps (*.f64 eps 1/4) 4) eps))
(/.f64 (fma.f64 -1/8 (pow.f64 eps 4) (*.f64 eps -8)) (-.f64 (fma.f64 eps (*.f64 eps 1/4) 4) eps))
(/.f64 (*.f64 (-.f64 4 (*.f64 1/4 (*.f64 eps eps))) eps) (+.f64 -2 (*.f64 1/2 eps)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(pow.f64 (*.f64 eps (fma.f64 eps -1/2 -2)) 1)
(*.f64 eps (fma.f64 eps -1/2 -2))
(pow.f64 (cbrt.f64 (*.f64 eps (fma.f64 eps -1/2 -2))) 3)
(*.f64 eps (fma.f64 eps -1/2 -2))
(pow.f64 (pow.f64 (*.f64 eps (fma.f64 eps -1/2 -2)) 3) 1/3)
(*.f64 eps (fma.f64 eps -1/2 -2))
(pow.f64 (sqrt.f64 (*.f64 eps (fma.f64 eps -1/2 -2))) 2)
(*.f64 eps (fma.f64 eps -1/2 -2))
(sqrt.f64 (pow.f64 (*.f64 eps (fma.f64 eps -1/2 -2)) 2))
(*.f64 eps (fma.f64 eps -1/2 -2))
(log.f64 (pow.f64 (exp.f64 eps) (fma.f64 eps -1/2 -2)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(cbrt.f64 (pow.f64 (*.f64 eps (fma.f64 eps -1/2 -2)) 3))
(*.f64 eps (fma.f64 eps -1/2 -2))
(cbrt.f64 (*.f64 (pow.f64 eps 3) (pow.f64 (fma.f64 eps -1/2 -2) 3)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 eps -1/2 -2) 3) (pow.f64 eps 3)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(expm1.f64 (log1p.f64 (*.f64 eps (fma.f64 eps -1/2 -2))))
(*.f64 eps (fma.f64 eps -1/2 -2))
(exp.f64 (log.f64 (*.f64 eps (fma.f64 eps -1/2 -2))))
(*.f64 eps (fma.f64 eps -1/2 -2))
(log1p.f64 (expm1.f64 (*.f64 eps (fma.f64 eps -1/2 -2))))
(*.f64 eps (fma.f64 eps -1/2 -2))
(fma.f64 eps -2 (*.f64 eps (*.f64 eps -1/2)))
(*.f64 eps (fma.f64 eps -1/2 -2))
(fma.f64 -2 eps (*.f64 eps (*.f64 eps -1/2)))
(*.f64 eps (fma.f64 eps -1/2 -2))

eval10.0ms (0.2%)

Compiler

Compiled 525 to 377 computations (28.2% saved)

prune9.0ms (0.2%)

Pruning

8 alts after pruning (1 fresh and 7 done)

PrunedKeptTotal
New38038
Fresh011
Picked022
Done055
Total38846
Accurracy
100.0%
Counts
46 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
97.6%
(-.f64 (log1p.f64 (neg.f64 eps)) eps)
99.0%
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
97.6%
(*.f64 eps (+.f64 -2 (*.f64 eps -1/2)))
98.5%
(*.f64 -2 eps)
18.7%
(neg.f64 eps)
9.0%
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
5.3%
0
100.0%
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
97.6%
(-.f64 (log1p.f64 (neg.f64 eps)) eps)
99.0%
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
97.6%
(*.f64 eps (+.f64 -2 (*.f64 eps -1/2)))
98.5%
(*.f64 -2 eps)
18.7%
(neg.f64 eps)
9.0%
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
5.3%
0
Compiler

Compiled 98 to 74 computations (24.5% saved)

localize0.0ms (0%)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune6.0ms (0.1%)

Pruning

8 alts after pruning (1 fresh and 7 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done077
Total088
Accurracy
100.0%
Counts
8 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
97.6%
(-.f64 (log1p.f64 (neg.f64 eps)) eps)
99.0%
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
97.6%
(*.f64 eps (+.f64 -2 (*.f64 eps -1/2)))
98.5%
(*.f64 -2 eps)
18.7%
(neg.f64 eps)
9.0%
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
5.3%
0
Compiler

Compiled 91 to 64 computations (29.7% saved)

regimes11.0ms (0.2%)

Counts
8 → 1
Calls
Call 1
Inputs
0
(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
(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 61 to 41 computations (32.8% saved)

regimes21.0ms (0.4%)

Counts
7 → 1
Calls
Call 1
Inputs
0
(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:

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

Compiled 55 to 39 computations (29.1% saved)

regimes10.0ms (0.2%)

Counts
6 → 1
Calls
Call 1
Inputs
0
(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
AccuracySegmentsBranch
98.5%1eps
98.5%1(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
98.5%1(/.f64 (-.f64 1 eps) (+.f64 1 eps))
Compiler

Compiled 46 to 32 computations (30.4% saved)

regimes3.0ms (0.1%)

Counts
2 → 1
Calls
Call 1
Inputs
0
(neg.f64 eps)
Outputs
(neg.f64 eps)
Calls

1 calls:

3.0ms
eps
Results
AccuracySegmentsBranch
18.7%1eps
Compiler

Compiled 6 to 4 computations (33.3% saved)

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

2.0ms
eps
Results
AccuracySegmentsBranch
5.3%1eps
Compiler

Compiled 4 to 3 computations (25% saved)

simplify8.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01657
12457
22957
33257
43357
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)
(neg.f64 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)
(neg.f64 eps)
0
Compiler

Compiled 26 to 20 computations (23.1% saved)

soundness693.0ms (12.7%)

Rules
3044×fma-def
1534×prod-diff
1338×distribute-lft-in
1088×fma-def
1036×fma-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
01362
127954
238048
01531426
13811268
213291148
358211148
Stop Event
node limit
node limit
node limit
Compiler

Compiled 187 to 140 computations (25.1% saved)

end0.0ms (0%)

preprocess55.0ms (1%)

Compiler

Compiled 94 to 70 computations (25.5% saved)

Profiling

Loading profile data...