Details

Time bar (total: 3.2s)

analyze105.0ms (3.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%0.2%99.8%0
0%0.2%99.8%1
0%0.2%99.8%2
0.1%0.1%99.8%3
0.1%0.1%99.8%4
0.1%0%99.8%5
0.1%0%99.8%6
0.1%0%99.8%7
0.1%0%99.8%8
0.2%0%99.8%9
0.2%0%99.8%10
0.2%0%99.8%11
0.2%0%99.8%12
0.2%0%99.8%13
0.2%0%99.8%14
Compiler

Compiled 26 to 19 computations (26.9% saved)

sample1.5s (47.9%)

Results
1.5s8256×body128valid
Compiler

Compiled 63 to 46 computations (27% saved)

simplify25.0ms (0.8%)

Algorithm
egg-herbie
Rules
544×fma-def_binary32
230×fma-neg_binary32
87×cancel-sign-sub-inv_binary32
81×distribute-rgt-in_binary32
69×distribute-lft-in_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0914
12213
24513
38913
412313
516413
621513
731513
859413
991013
10117413
11134113
12151113
13166513
14169213
15169313
Stop Event
saturated
Counts
1 → 2

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.3b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.3b
(*.f32 (*.f32 alpha (neg.f32 alpha)) (log1p.f32 (neg.f32 u0)))
Compiler

Compiled 39 to 26 computations (33.3% saved)

localize27.0ms (0.8%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.3b
(*.f32 (*.f32 alpha (neg.f32 alpha)) (log1p.f32 (neg.f32 u0)))

series199.0ms (6.1%)

Counts
1 → 24
Calls

1 calls:

199.0ms
(*.f32 (*.f32 alpha (neg.f32 alpha)) (log1p.f32 (neg.f32 u0)))

rewrite36.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
522×expm1-log1p-u_binary32
521×log1p-expm1-u_binary32
318×log-prod_binary32
108×expm1-udef_binary32
108×log1p-udef_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0813
11639
221179
Stop Event
node limit
Counts
1 → 21
Calls

1 calls:

35.0ms
(*.f32 (*.f32 alpha (neg.f32 alpha)) (log1p.f32 (neg.f32 u0)))

simplify29.0ms (0.9%)

Algorithm
egg-herbie
Rules
352×times-frac_binary32
297×fma-def_binary32
250×associate-/l*_binary32
219×distribute-rgt-out_binary32
205×unswap-sqr_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
059530
1172498
2533448
32050434
Stop Event
node limit
Counts
45 → 47

prune32.0ms (1%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New42547
Fresh000
Picked011
Done000
Total42648
Error
0.1b
Counts
48 → 6
Alt Table
StatusErrorProgram
9.4b
(pow.f32 (*.f32 alpha (sqrt.f32 (log1p.f32 u0))) 2)
9.4b
(pow.f32 (cbrt.f32 (*.f32 alpha (*.f32 alpha (log1p.f32 u0)))) 3)
2.5b
(+.f32 (*.f32 1/3 (*.f32 (pow.f32 u0 3) (pow.f32 alpha 2))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u0 2) (pow.f32 alpha 2))) (+.f32 (*.f32 1/4 (*.f32 (pow.f32 u0 4) (pow.f32 alpha 2))) (*.f32 u0 (pow.f32 alpha 2)))))
3.2b
(+.f32 (*.f32 1/3 (*.f32 (pow.f32 u0 3) (pow.f32 alpha 2))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u0 2) (pow.f32 alpha 2))) (*.f32 u0 (pow.f32 alpha 2))))
4.5b
(*.f32 alpha (*.f32 alpha (fma.f32 1/2 (*.f32 u0 u0) u0)))
0.3b
(*.f32 (*.f32 alpha (neg.f32 alpha)) (log1p.f32 (neg.f32 u0)))
Compiler

Compiled 894 to 558 computations (37.6% saved)

localize69.0ms (2.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f32 (pow.f32 u0 2) (pow.f32 alpha 2))
0.3b
(*.f32 (pow.f32 u0 4) (pow.f32 alpha 2))
0.4b
(*.f32 1/3 (*.f32 (pow.f32 u0 3) (pow.f32 alpha 2)))
0.4b
(*.f32 (pow.f32 u0 3) (pow.f32 alpha 2))

series64.0ms (2%)

Counts
4 → 0
Calls

4 calls:

20.0ms
(*.f32 (pow.f32 u0 3) (pow.f32 alpha 2))
18.0ms
(*.f32 1/3 (*.f32 (pow.f32 u0 3) (pow.f32 alpha 2)))
15.0ms
(*.f32 (pow.f32 u0 4) (pow.f32 alpha 2))
10.0ms
(*.f32 (pow.f32 u0 2) (pow.f32 alpha 2))

rewrite50.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
636×log-prod_binary32
227×expm1-udef_binary32
227×log1p-udef_binary32
208×log-pow_binary32
136×log1p-expm1-u_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01540
131840
2338640
Stop Event
node limit
Counts
4 → 71
Calls

4 calls:

48.0ms
(*.f32 (pow.f32 u0 2) (pow.f32 alpha 2))
48.0ms
(*.f32 (pow.f32 u0 4) (pow.f32 alpha 2))
48.0ms
(*.f32 1/3 (*.f32 (pow.f32 u0 3) (pow.f32 alpha 2)))
48.0ms
(*.f32 (pow.f32 u0 3) (pow.f32 alpha 2))

simplify7.0ms (0.2%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
71 → 71

prune99.0ms (3%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New70171
Fresh044
Picked101
Done011
Total71677
Error
0.1b
Counts
77 → 6
Alt Table
StatusErrorProgram
0.3b
(*.f32 (*.f32 alpha (neg.f32 alpha)) (log1p.f32 (neg.f32 u0)))
3.1b
(+.f32 (*.f32 1/3 (*.f32 (pow.f32 u0 3) (pow.f32 alpha 2))) (+.f32 (*.f32 1/2 (cbrt.f32 (pow.f32 (pow.f32 (*.f32 u0 alpha) 2) 3))) (+.f32 (*.f32 1/4 (*.f32 (pow.f32 u0 4) (pow.f32 alpha 2))) (*.f32 u0 (pow.f32 alpha 2)))))
9.4b
(pow.f32 (*.f32 alpha (sqrt.f32 (log1p.f32 u0))) 2)
9.4b
(pow.f32 (cbrt.f32 (*.f32 alpha (*.f32 alpha (log1p.f32 u0)))) 3)
3.2b
(+.f32 (*.f32 1/3 (*.f32 (pow.f32 u0 3) (pow.f32 alpha 2))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u0 2) (pow.f32 alpha 2))) (*.f32 u0 (pow.f32 alpha 2))))
4.5b
(*.f32 alpha (*.f32 alpha (fma.f32 1/2 (*.f32 u0 u0) u0)))
Compiler

Compiled 2975 to 2198 computations (26.1% saved)

localize76.0ms (2.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f32 1/3 (*.f32 (pow.f32 u0 3) (pow.f32 alpha 2)))
0.4b
(*.f32 (pow.f32 u0 3) (pow.f32 alpha 2))
0.5b
(pow.f32 (*.f32 u0 alpha) 2)
13.1b
(cbrt.f32 (pow.f32 (pow.f32 (*.f32 u0 alpha) 2) 3))

series18.0ms (0.6%)

Counts
2 → 48
Calls

2 calls:

11.0ms
(cbrt.f32 (pow.f32 (pow.f32 (*.f32 u0 alpha) 2) 3))
7.0ms
(pow.f32 (*.f32 u0 alpha) 2)

rewrite44.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
636×log1p-expm1-u_binary32
636×expm1-log1p-u_binary32
330×log-prod_binary32
126×expm1-udef_binary32
126×log1p-udef_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0914
118614
2186914
Stop Event
node limit
Counts
2 → 65
Calls

2 calls:

43.0ms
(pow.f32 (*.f32 u0 alpha) 2)
43.0ms
(cbrt.f32 (pow.f32 (pow.f32 (*.f32 u0 alpha) 2) 3))

simplify79.0ms (2.4%)

Algorithm
egg-herbie
Rules
719×associate-*l*_binary32
564×sqr-pow_binary32
505×associate-*r*_binary32
482×*-commutative_binary32
263×cube-prod_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07480
116480
237480
3103480
4432480
52343480
62435480
72636480
82834480
93072480
103391480
114063480
124557480
Stop Event
node limit
Counts
113 → 37

prune98.0ms (3%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New71071
Fresh044
Picked011
Done011
Total71677
Error
0.1b
Counts
77 → 6
Alt Table
StatusErrorProgram
0.3b
(*.f32 (*.f32 alpha (neg.f32 alpha)) (log1p.f32 (neg.f32 u0)))
3.1b
(+.f32 (*.f32 1/3 (*.f32 (pow.f32 u0 3) (pow.f32 alpha 2))) (+.f32 (*.f32 1/2 (cbrt.f32 (pow.f32 (pow.f32 (*.f32 u0 alpha) 2) 3))) (+.f32 (*.f32 1/4 (*.f32 (pow.f32 u0 4) (pow.f32 alpha 2))) (*.f32 u0 (pow.f32 alpha 2)))))
9.4b
(pow.f32 (*.f32 alpha (sqrt.f32 (log1p.f32 u0))) 2)
9.4b
(pow.f32 (cbrt.f32 (*.f32 alpha (*.f32 alpha (log1p.f32 u0)))) 3)
3.2b
(+.f32 (*.f32 1/3 (*.f32 (pow.f32 u0 3) (pow.f32 alpha 2))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u0 2) (pow.f32 alpha 2))) (*.f32 u0 (pow.f32 alpha 2))))
4.5b
(*.f32 alpha (*.f32 alpha (fma.f32 1/2 (*.f32 u0 u0) u0)))
Compiler

Compiled 2939 to 2096 computations (28.7% saved)

localize50.0ms (1.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f32 u0 (pow.f32 alpha 2))
0.3b
(*.f32 (pow.f32 u0 2) (pow.f32 alpha 2))
0.4b
(*.f32 1/3 (*.f32 (pow.f32 u0 3) (pow.f32 alpha 2)))
0.4b
(*.f32 (pow.f32 u0 3) (pow.f32 alpha 2))

series8.0ms (0.2%)

Counts
1 → 0
Calls

1 calls:

8.0ms
(*.f32 u0 (pow.f32 alpha 2))

rewrite34.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
461×log1p-expm1-u_binary32
461×expm1-log1p-u_binary32
320×unpow-prod-down_binary32
254×log-prod_binary32
142×pow2_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11217
213367
Stop Event
node limit
Counts
1 → 17
Calls

1 calls:

33.0ms
(*.f32 u0 (pow.f32 alpha 2))

simplify6.0ms (0.2%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
17 → 17

prune77.0ms (2.4%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New68270
Fresh213
Picked011
Done022
Total70676
Error
0.1b
Counts
76 → 6
Alt Table
StatusErrorProgram
0.3b
(*.f32 (*.f32 alpha (neg.f32 alpha)) (log1p.f32 (neg.f32 u0)))
3.1b
(+.f32 (*.f32 1/3 (*.f32 (pow.f32 u0 3) (pow.f32 alpha 2))) (+.f32 (*.f32 1/2 (cbrt.f32 (pow.f32 (pow.f32 (*.f32 u0 alpha) 2) 3))) (+.f32 (*.f32 1/4 (*.f32 (pow.f32 u0 4) (pow.f32 alpha 2))) (*.f32 u0 (pow.f32 alpha 2)))))
3.4b
(+.f32 (*.f32 1/3 (*.f32 (pow.f32 u0 3) (pow.f32 alpha 2))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u0 2) (pow.f32 alpha 2))) (sqrt.f32 (pow.f32 (*.f32 alpha (sqrt.f32 u0)) 4))))
3.6b
(+.f32 (*.f32 1/3 (*.f32 (pow.f32 u0 3) (pow.f32 alpha 2))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u0 2) (pow.f32 alpha 2))) (pow.f32 (cbrt.f32 (*.f32 u0 (*.f32 alpha alpha))) 3)))
3.2b
(+.f32 (*.f32 1/3 (*.f32 (pow.f32 u0 3) (pow.f32 alpha 2))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 u0 2) (pow.f32 alpha 2))) (*.f32 u0 (pow.f32 alpha 2))))
4.5b
(*.f32 alpha (*.f32 alpha (fma.f32 1/2 (*.f32 u0 u0) u0)))
Compiler

Compiled 2163 to 1528 computations (29.4% saved)

regimes348.0ms (10.7%)

Accuracy

Total 0.2b remaining (68.2%)

Threshold costs 0.2b (68.2%)

Counts
47 → 1
Compiler

Compiled 7658 to 5798 computations (24.3% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary32
neg-sub0_binary32
neg-mul-1_binary32
+-commutative_binary32
sub-neg_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0813
11813
22813
33913
44413
54713
64813
Stop Event
saturated

end104.0ms (3.2%)

Compiler

Compiled 166 to 125 computations (24.7% saved)

Profiling

Loading profile data...