Details

Time bar (total: 6.2s)

analyze5.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
0%50%50%3
25%25%50%4
37.5%12.5%50%5
43.7%6.2%50%6
46.9%3.1%50%7
48.4%1.6%50%8
49.2%0.8%50%9
49.6%0.4%50%10
49.8%0.2%50%11
49.9%0.1%50%12
49.9%0%50%13
49.9%0%50%14
Compiler

Compiled 14 to 12 computations (14.3% saved)

sample4.5s (72.6%)

Alt Table
StatusErrorProgram
58.7b
(*.f64 (/.f64 1 2) (log.f64 (/.f64 (+.f64 1 x) (-.f64 1 x))))
Results
2.4s4116×body1024valid
805.0ms2084×body512valid
481.0ms408×body2048valid
253.0ms1063×body256valid
77.0ms585×body128valid
Compiler

Compiled 67 to 57 computations (14.9% saved)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (+.f64 1 x) (-.f64 1 x))
4.7b
(log.f64 (/.f64 (+.f64 1 x) (-.f64 1 x)))

series6.0ms (0.1%)

Counts
2 → 24
Calls

2 calls:

3.0ms
(log.f64 (/.f64 (+.f64 1 x) (-.f64 1 x)))
3.0ms
(/.f64 (+.f64 1 x) (-.f64 1 x))

rewrite52.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
786×log1p-expm1-u_binary64
786×expm1-log1p-u_binary64
187×prod-diff_binary64
74×add-sqr-sqrt_binary64
73×egg-rr
Counts
2 → 73
Calls

2 calls:

50.0ms
(/.f64 (+.f64 1 x) (-.f64 1 x))
50.0ms
(log.f64 (/.f64 (+.f64 1 x) (-.f64 1 x)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0722
115020
2197420
3521120
000
100

prune52.0ms (0.8%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New94397
Fresh000
Picked101
Done000
Total95398
Error
0b
Counts
98 → 3
Alt Table
StatusErrorProgram
1.6b
(*.f64 (/.f64 1 2) (*.f64 (cbrt.f64 (-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x)))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x)))) 2)))
0.0b
(*.f64 (/.f64 1 2) (-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x))))
40.1b
(*.f64 (/.f64 1 2) (/.f64 (-.f64 (pow.f64 (log1p.f64 x) 3) (pow.f64 (log1p.f64 (neg.f64 x)) 3)) (+.f64 (*.f64 (log1p.f64 x) (log1p.f64 x)) (+.f64 (*.f64 (log1p.f64 (neg.f64 x)) (log1p.f64 (neg.f64 x))) (*.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x)))))))
Compiler

Compiled 1958 to 1289 computations (34.2% saved)

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x)))

series3.0ms (0.1%)

Counts
1 → 12
Calls

1 calls:

3.0ms
(-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x)))

rewrite85.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
874×log1p-udef_binary64
484×expm1-log1p-u_binary64
482×log1p-expm1-u_binary64
391×prod-diff_binary64
300×unpow-prod-down_binary64
Counts
1 → 94
Calls

1 calls:

82.0ms
(-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0610
11308
212248
349908
464678
000
100

prune42.0ms (0.7%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1060106
Fresh022
Picked011
Done000
Total1063109
Error
0b
Counts
109 → 3
Alt Table
StatusErrorProgram
1.6b
(*.f64 (/.f64 1 2) (*.f64 (cbrt.f64 (-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x)))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x)))) 2)))
0.0b
(*.f64 (/.f64 1 2) (-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x))))
40.1b
(*.f64 (/.f64 1 2) (/.f64 (-.f64 (pow.f64 (log1p.f64 x) 3) (pow.f64 (log1p.f64 (neg.f64 x)) 3)) (+.f64 (*.f64 (log1p.f64 x) (log1p.f64 x)) (+.f64 (*.f64 (log1p.f64 (neg.f64 x)) (log1p.f64 (neg.f64 x))) (*.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x)))))))
Compiler

Compiled 2143 to 1112 computations (48.1% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x)))
0.3b
(*.f64 (cbrt.f64 (-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x)))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x)))) 2))
0.5b
(pow.f64 (cbrt.f64 (-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x)))) 2)
0.7b
(cbrt.f64 (-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x))))

series39.0ms (0.6%)

Counts
4 → 48
Calls

4 calls:

19.0ms
(pow.f64 (cbrt.f64 (-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x)))) 2)
12.0ms
(cbrt.f64 (-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x))))
4.0ms
(*.f64 (cbrt.f64 (-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x)))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x)))) 2))
3.0ms
(-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x)))

rewrite123.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
672×expm1-log1p-u_binary64
670×log1p-expm1-u_binary64
391×prod-diff_binary64
300×fma-udef_binary64
233×egg-rr
Counts
4 → 233
Calls

4 calls:

117.0ms
(-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x)))
117.0ms
(*.f64 (cbrt.f64 (-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x)))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x)))) 2))
117.0ms
(pow.f64 (cbrt.f64 (-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x)))) 2)
117.0ms
(cbrt.f64 (-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01047
119337
2173237
3494537
4473837
5492637
000
100

prune208.0ms (3.4%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New4300430
Fresh011
Picked011
Done011
Total4303433
Error
0b
Counts
433 → 3
Alt Table
StatusErrorProgram
1.6b
(*.f64 (/.f64 1 2) (*.f64 (cbrt.f64 (-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x)))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x)))) 2)))
0.0b
(*.f64 (/.f64 1 2) (-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x))))
40.1b
(*.f64 (/.f64 1 2) (/.f64 (-.f64 (pow.f64 (log1p.f64 x) 3) (pow.f64 (log1p.f64 (neg.f64 x)) 3)) (+.f64 (*.f64 (log1p.f64 x) (log1p.f64 x)) (+.f64 (*.f64 (log1p.f64 (neg.f64 x)) (log1p.f64 (neg.f64 x))) (*.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x)))))))
Compiler

Compiled 13109 to 6155 computations (53% saved)

localize16.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (log1p.f64 x) (log1p.f64 x))
0.0b
(pow.f64 (log1p.f64 (neg.f64 x)) 3)
4.7b
(+.f64 (*.f64 (log1p.f64 (neg.f64 x)) (log1p.f64 (neg.f64 x))) (*.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x))))
39.6b
(/.f64 (-.f64 (pow.f64 (log1p.f64 x) 3) (pow.f64 (log1p.f64 (neg.f64 x)) 3)) (+.f64 (*.f64 (log1p.f64 x) (log1p.f64 x)) (+.f64 (*.f64 (log1p.f64 (neg.f64 x)) (log1p.f64 (neg.f64 x))) (*.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x))))))

series538.0ms (8.7%)

Counts
4 → 48
Calls

4 calls:

492.0ms
(/.f64 (-.f64 (pow.f64 (log1p.f64 x) 3) (pow.f64 (log1p.f64 (neg.f64 x)) 3)) (+.f64 (*.f64 (log1p.f64 x) (log1p.f64 x)) (+.f64 (*.f64 (log1p.f64 (neg.f64 x)) (log1p.f64 (neg.f64 x))) (*.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x))))))
26.0ms
(*.f64 (log1p.f64 x) (log1p.f64 x))
11.0ms
(pow.f64 (log1p.f64 (neg.f64 x)) 3)
9.0ms
(+.f64 (*.f64 (log1p.f64 (neg.f64 x)) (log1p.f64 (neg.f64 x))) (*.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x))))

rewrite100.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
592×fma-def_binary64
291×fma-neg_binary64
216×expm1-udef_binary64
216×log1p-udef_binary64
212×egg-rr
Counts
4 → 212
Calls

4 calls:

94.0ms
(*.f64 (log1p.f64 x) (log1p.f64 x))
94.0ms
(pow.f64 (log1p.f64 (neg.f64 x)) 3)
94.0ms
(+.f64 (*.f64 (log1p.f64 (neg.f64 x)) (log1p.f64 (neg.f64 x))) (*.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x))))
93.0ms
(/.f64 (-.f64 (pow.f64 (log1p.f64 x) 3) (pow.f64 (log1p.f64 (neg.f64 x)) 3)) (+.f64 (*.f64 (log1p.f64 x) (log1p.f64 x)) (+.f64 (*.f64 (log1p.f64 (neg.f64 x)) (log1p.f64 (neg.f64 x))) (*.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x))))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01574
135031
2343431
3487231
000
100

prune295.0ms (4.8%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New2600260
Fresh000
Picked011
Done022
Total2603263
Error
0b
Counts
263 → 3
Alt Table
StatusErrorProgram
1.6b
(*.f64 (/.f64 1 2) (*.f64 (cbrt.f64 (-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x)))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x)))) 2)))
0.0b
(*.f64 (/.f64 1 2) (-.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x))))
40.1b
(*.f64 (/.f64 1 2) (/.f64 (-.f64 (pow.f64 (log1p.f64 x) 3) (pow.f64 (log1p.f64 (neg.f64 x)) 3)) (+.f64 (*.f64 (log1p.f64 x) (log1p.f64 x)) (+.f64 (*.f64 (log1p.f64 (neg.f64 x)) (log1p.f64 (neg.f64 x))) (*.f64 (log1p.f64 x) (log1p.f64 (neg.f64 x)))))))
Compiler

Compiled 15912 to 10342 computations (35% saved)

regimes39.0ms (0.6%)

Accuracy

Total 0.0b remaining (55%)

Threshold costs 0.0b (55%)

Counts
9 → 1
Compiler

Compiled 780 to 550 computations (29.5% saved)

simplify2.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01113
11913
22413
32713
42813
52613

end67.0ms (1.1%)

Compiler

Compiled 87 to 55 computations (36.8% saved)

Profiling

Loading profile data...