Details

Time bar (total: 6.3s)

analyze407.0ms (6.4%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
25%74.9%0.1%5
43.7%56.2%0.1%6
53.1%42.1%4.8%7
59.3%35.9%4.8%8
62.4%30.4%7.1%9
64.8%28.1%7.1%10
66%25.8%8.3%11
66.9%24.8%8.3%12
67.4%23.7%8.9%13
67.9%23.3%8.9%14
Compiler

Compiled 12 to 9 computations (25% saved)

sample4.0s (63.5%)

Results
2.6s2685×body8192exit
1.0s7570×body128valid
161.0ms248×body1024valid
106.0ms260×body512valid
44.0ms174×body256valid
11.0ms85×body128invalid
5.0msbody2048valid
Compiler

Compiled 35 to 26 computations (25.7% saved)

simplify37.0ms (0.6%)

Algorithm
egg-herbie
Rules
369×times-frac_binary64
363×associate-*l*_binary64
285×associate-/l/_binary64
280×associate-/l*_binary64
262×associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0911
11911
23011
34711
46611
510011
615411
720511
827311
935211
1041411
1144011
1251911
1374711
14154911
15464211
Stop Event
node limit
Counts
1 → 2

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.5b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.5b
(-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))
Compiler

Compiled 36 to 22 computations (38.9% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))
0.5b
(log1p.f64 (exp.f64 x))

series204.0ms (3.2%)

Counts
2 → 36
Calls

2 calls:

144.0ms
(log1p.f64 (exp.f64 x))
60.0ms
(-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))

rewrite54.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
733×expm1-log1p-u_binary64
732×log1p-expm1-u_binary64
659×prod-diff_binary64
111×egg-rr
76×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0716
114716
2199816
Stop Event
node limit
Counts
2 → 111
Calls

2 calls:

50.0ms
(-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))
50.0ms
(log1p.f64 (exp.f64 x))

simplify39.0ms (0.6%)

Algorithm
egg-herbie
Rules
537×fma-def_binary64
237×distribute-lft-out_binary64
196×sub-neg_binary64
194×*-commutative_binary64
188×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
030356
181350
2201337
3652321
42594321
54861321
Stop Event
node limit
Counts
147 → 130

prune74.0ms (1.2%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1264130
Fresh000
Picked011
Done000
Total1265131
Error
0.2b
Counts
131 → 5
Alt Table
StatusErrorProgram
0.5b
(-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))
17.9b
(/.f64 (-.f64 (pow.f64 (log1p.f64 (exp.f64 x)) 3) (pow.f64 (*.f64 x y) 3)) (+.f64 (pow.f64 (log1p.f64 (exp.f64 x)) 2) (*.f64 (*.f64 x y) (+.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y)))))
12.2b
(/.f64 1 (/.f64 (+.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y)) (-.f64 (pow.f64 (log1p.f64 (exp.f64 x)) 2) (pow.f64 (*.f64 x y) 2))))
2.1b
(*.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) 2))
15.6b
(fma.f64 x (-.f64 1/2 y) (log.f64 2))
Compiler

Compiled 2968 to 926 computations (68.8% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) 2)
0.5b
(log1p.f64 (exp.f64 x))
0.7b
(*.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) 2))
1.1b
(cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y)))

series140.0ms (2.2%)

Counts
3 → 72
Calls

3 calls:

63.0ms
(*.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) 2))
46.0ms
(pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) 2)
30.0ms
(cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y)))

rewrite67.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
659×prod-diff_binary64
244×fma-def_binary64
186×egg-rr
175×expm1-udef_binary64
175×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01140
122940
2262540
Stop Event
node limit
Counts
3 → 186
Calls

3 calls:

63.0ms
(pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) 2)
63.0ms
(*.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) 2))
62.0ms
(cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y)))

simplify61.0ms (1%)

Algorithm
egg-herbie
Rules
414×associate-*r*_binary64
318×fma-def_binary64
285×associate-*l*_binary64
242×times-frac_binary64
210×associate-/r*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03544010
112303922
Stop Event
node limit
Counts
258 → 294

prune301.0ms (4.8%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New4143417
Fresh213
Picked011
Done011
Total4166422
Error
0.2b
Counts
422 → 6
Alt Table
StatusErrorProgram
2.1b
(*.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) 2))
12.2b
(/.f64 1 (/.f64 (fma.f64 x y (log1p.f64 (exp.f64 x))) (-.f64 (pow.f64 (log1p.f64 (exp.f64 x)) 2) (pow.f64 (*.f64 x y) 2))))
16.8b
(*.f64 (pow.f64 (pow.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y)) 1/6) 2) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) 2))
15.6b
(fma.f64 x (-.f64 1/2 y) (log.f64 2))
0.5b
(-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))
17.9b
(/.f64 (-.f64 (pow.f64 (log1p.f64 (exp.f64 x)) 3) (pow.f64 (*.f64 x y) 3)) (fma.f64 (*.f64 x y) (fma.f64 x y (log1p.f64 (exp.f64 x))) (pow.f64 (log1p.f64 (exp.f64 x)) 2)))
Compiler

Compiled 15713 to 7339 computations (53.3% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (*.f64 x y) 2)
0.5b
(log1p.f64 (exp.f64 x))
0.6b
(pow.f64 (log1p.f64 (exp.f64 x)) 2)
11.0b
(/.f64 (fma.f64 x y (log1p.f64 (exp.f64 x))) (-.f64 (pow.f64 (log1p.f64 (exp.f64 x)) 2) (pow.f64 (*.f64 x y) 2)))

series163.0ms (2.6%)

Counts
3 → 60
Calls

3 calls:

133.0ms
(pow.f64 (log1p.f64 (exp.f64 x)) 2)
22.0ms
(/.f64 (fma.f64 x y (log1p.f64 (exp.f64 x))) (-.f64 (pow.f64 (log1p.f64 (exp.f64 x)) 2) (pow.f64 (*.f64 x y) 2)))
8.0ms
(pow.f64 (*.f64 x y) 2)

rewrite55.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
958×prod-diff_binary64
123×add-sqr-sqrt_binary64
123×expm1-log1p-u_binary64
122×log1p-expm1-u_binary64
118×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01243
125743
2333943
Stop Event
node limit
Counts
3 → 77
Calls

3 calls:

53.0ms
(pow.f64 (*.f64 x y) 2)
53.0ms
(pow.f64 (log1p.f64 (exp.f64 x)) 2)
53.0ms
(/.f64 (fma.f64 x y (log1p.f64 (exp.f64 x))) (-.f64 (pow.f64 (log1p.f64 (exp.f64 x)) 2) (pow.f64 (*.f64 x y) 2)))

simplify37.0ms (0.6%)

Algorithm
egg-herbie
Rules
689×fma-def_binary64
656×associate-/l*_binary64
476×associate-/r*_binary64
228×associate-*l*_binary64
172×associate-*l/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01131519
13391481
213711428
Stop Event
node limit
Counts
137 → 110

prune136.0ms (2.2%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New1591160
Fresh123
Picked101
Done022
Total1615166
Error
0.2b
Counts
166 → 5
Alt Table
StatusErrorProgram
16.8b
(*.f64 (pow.f64 (pow.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y)) 1/6) 2) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) 2))
15.6b
(fma.f64 x (-.f64 1/2 y) (log.f64 2))
0.5b
(-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))
2.1b
(*.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) 2))
15.0b
(/.f64 1 (expm1.f64 (log1p.f64 (/.f64 (fma.f64 x y (log1p.f64 (exp.f64 x))) (-.f64 (pow.f64 (log1p.f64 (exp.f64 x)) 2) (pow.f64 (*.f64 x y) 2))))))
Compiler

Compiled 4572 to 2388 computations (47.8% saved)

localize16.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(expm1.f64 (log1p.f64 (/.f64 (fma.f64 x y (log1p.f64 (exp.f64 x))) (-.f64 (pow.f64 (log1p.f64 (exp.f64 x)) 2) (pow.f64 (*.f64 x y) 2)))))
0.5b
(log1p.f64 (exp.f64 x))
0.6b
(pow.f64 (log1p.f64 (exp.f64 x)) 2)
11.0b
(/.f64 (fma.f64 x y (log1p.f64 (exp.f64 x))) (-.f64 (pow.f64 (log1p.f64 (exp.f64 x)) 2) (pow.f64 (*.f64 x y) 2)))

series24.0ms (0.4%)

Counts
1 → 24
Calls

1 calls:

24.0ms
(expm1.f64 (log1p.f64 (/.f64 (fma.f64 x y (log1p.f64 (exp.f64 x))) (-.f64 (pow.f64 (log1p.f64 (exp.f64 x)) 2) (pow.f64 (*.f64 x y) 2)))))

rewrite55.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
315×fma-def_binary64
233×expm1-udef_binary64
233×log1p-udef_binary64
217×log-pow_binary64
180×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01428
127828
2354628
Stop Event
node limit
Counts
1 → 51
Calls

1 calls:

53.0ms
(expm1.f64 (log1p.f64 (/.f64 (fma.f64 x y (log1p.f64 (exp.f64 x))) (-.f64 (pow.f64 (log1p.f64 (exp.f64 x)) 2) (pow.f64 (*.f64 x y) 2)))))

simplify33.0ms (0.5%)

Algorithm
egg-herbie
Rules
621×associate-/l*_binary64
476×associate-/r*_binary64
473×fma-def_binary64
233×associate-*r*_binary64
202×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01001123
13001097
212181053
Stop Event
node limit
Counts
75 → 74

prune162.0ms (2.6%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New2080208
Fresh022
Picked011
Done022
Total2085213
Error
0.2b
Counts
213 → 5
Alt Table
StatusErrorProgram
16.8b
(*.f64 (pow.f64 (pow.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y)) 1/6) 2) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) 2))
15.6b
(fma.f64 x (-.f64 1/2 y) (log.f64 2))
0.5b
(-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))
2.1b
(*.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (exp.f64 x)) (*.f64 x y))) 2))
15.0b
(/.f64 1 (expm1.f64 (log1p.f64 (/.f64 (fma.f64 x y (log1p.f64 (exp.f64 x))) (-.f64 (pow.f64 (log1p.f64 (exp.f64 x)) 2) (pow.f64 (*.f64 x y) 2))))))
Compiler

Compiled 6662 to 3742 computations (43.8% saved)

regimes130.0ms (2.1%)

Accuracy

Total 0.2b remaining (51.4%)

Threshold costs 0.2b (51.4%)

Counts
42 → 1
Compiler

Compiled 2332 to 1554 computations (33.4% 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
0711
11311
22511
33111
43511
53611
Stop Event
saturated

end81.0ms (1.3%)

Compiler

Compiled 105 to 65 computations (38.1% saved)

Profiling

Loading profile data...