Details

Time bar (total: 3.2s)

analyze107.0ms (3.4%)

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

Results
1.4s8256×body128valid
Compiler

Compiled 63 to 46 computations (27% saved)

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

localize22.0ms (0.7%)

Local error

Found 1 expressions with local error:

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

series172.0ms (5.4%)

Counts
1 → 24
Calls

1 calls:

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

rewrite29.0ms (0.9%)

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:

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

simplify26.0ms (0.8%)

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

prune29.0ms (0.9%)

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
0.3b
(*.f32 (*.f32 alpha (neg.f32 alpha)) (log1p.f32 (neg.f32 u0)))
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)))))
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 894 to 558 computations (37.6% saved)

localize65.0ms (2%)

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

series53.0ms (1.7%)

Counts
4 → 0
Calls

4 calls:

17.0ms
(*.f32 1/3 (*.f32 (pow.f32 u0 3) (pow.f32 alpha 2)))
13.0ms
(*.f32 (pow.f32 u0 4) (pow.f32 alpha 2))
12.0ms
(*.f32 (pow.f32 u0 3) (pow.f32 alpha 2))
11.0ms
(*.f32 (pow.f32 u0 2) (pow.f32 alpha 2))

rewrite53.0ms (1.7%)

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:

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

simplify6.0ms (0.2%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
71 → 71

prune106.0ms (3.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
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)
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.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)

localize80.0ms (2.5%)

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

series17.0ms (0.5%)

Counts
2 → 48
Calls

2 calls:

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

rewrite43.0ms (1.3%)

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:

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

simplify81.0ms (2.5%)

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

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

localize51.0ms (1.6%)

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

series10.0ms (0.3%)

Counts
1 → 0
Calls

1 calls:

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

rewrite29.0ms (0.9%)

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:

28.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

prune76.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
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.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))))
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)))
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)))))
4.5b
(*.f32 alpha (*.f32 alpha (fma.f32 1/2 (*.f32 u0 u0) u0)))
Compiler

Compiled 2163 to 1528 computations (29.4% saved)

regimes382.0ms (12%)

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)

simplify4.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

end101.0ms (3.2%)

Compiler

Compiled 166 to 125 computations (24.7% saved)

Profiling

Loading profile data...