Details

Time bar (total: 3.8s)

analyze108.0ms (2.9%)

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.7s (45.7%)

Alt Table
StatusErrorProgram
15.4b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 1 u0)))
Results
1.5s8256×body128valid
Compiler

Compiled 85 to 62 computations (27.1% saved)

localize25.0ms (0.7%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.3b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 1 u0)))
15.5b
(log.f32 (-.f32 1 u0))

series227.0ms (6%)

Counts
2 → 36
Calls

2 calls:

224.0ms
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 1 u0)))
3.0ms
(log.f32 (-.f32 1 u0))

rewrite44.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
716×log1p-expm1-u_binary32
716×expm1-log1p-u_binary32
138×expm1-udef_binary32
138×log1p-udef_binary32
132×prod-diff_binary32
Counts
2 → 37
Calls

2 calls:

43.0ms
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 1 u0)))
43.0ms
(log.f32 (-.f32 1 u0))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0920
118316
2185016
3497916
000
100

prune64.0ms (1.7%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New65873
Fresh000
Picked101
Done000
Total66874
Error
0.1b
Counts
74 → 8
Alt Table
StatusErrorProgram
0.8b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (pow.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) 3))
0.9b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (*.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) (pow.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) 2)))
1.1b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log.f32 (-.f32 1 (pow.f32 u0 3))) (log1p.f32 (fma.f32 u0 u0 u0))))
16.2b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (+.f32 (log.f32 (sqrt.f32 (-.f32 1 u0))) (log.f32 (sqrt.f32 (-.f32 1 u0)))))
0.3b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log1p.f32 (neg.f32 u0)))
1.7b
(+.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)))))
7.0b
(*.f32 u0 (pow.f32 alpha 2))
1.7b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (neg.f32 (+.f32 u0 (+.f32 (*.f32 1/3 (pow.f32 u0 3)) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 1/2 (pow.f32 u0 2)))))))
Compiler

Compiled 1331 to 830 computations (37.6% saved)

localize22.0ms (0.6%)

Local error

Found 2 expressions with local error:

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

series213.0ms (5.6%)

Counts
2 → 36
Calls

2 calls:

210.0ms
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log1p.f32 (neg.f32 u0)))
3.0ms
(log1p.f32 (neg.f32 u0))

rewrite50.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
522×expm1-log1p-u_binary32
521×log1p-expm1-u_binary32
450×unpow-prod-down_binary32
318×log-prod_binary32
153×pow2_binary32
Counts
2 → 48
Calls

2 calls:

49.0ms
(log1p.f32 (neg.f32 u0))
49.0ms
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log1p.f32 (neg.f32 u0)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0818
116312
2140212
3526512
000
100

prune43.0ms (1.1%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New82284
Fresh167
Picked011
Done000
Total83992
Error
0.1b
Counts
92 → 9
Alt Table
StatusErrorProgram
0.8b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (pow.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) 3))
0.9b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (*.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) (pow.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) 2)))
1.1b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log.f32 (-.f32 1 (pow.f32 u0 3))) (log1p.f32 (fma.f32 u0 u0 u0))))
16.2b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (+.f32 (log.f32 (sqrt.f32 (-.f32 1 u0))) (log.f32 (sqrt.f32 (-.f32 1 u0)))))
0.3b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log1p.f32 (neg.f32 u0)))
1.7b
(+.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)))))
1.7b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (neg.f32 (+.f32 u0 (+.f32 (*.f32 1/3 (pow.f32 u0 3)) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 1/2 (pow.f32 u0 2)))))))
7.7b
(pow.f32 (*.f32 alpha (sqrt.f32 (log1p.f32 u0))) 2)
7.8b
(pow.f32 (cbrt.f32 (*.f32 (*.f32 alpha alpha) (log1p.f32 u0))) 3)
Compiler

Compiled 1489 to 917 computations (38.4% saved)

localize30.0ms (0.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(log1p.f32 (neg.f32 u0))
0.1b
(cbrt.f32 (log1p.f32 (neg.f32 u0)))
0.3b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (pow.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) 3))
0.7b
(pow.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) 3)

series286.0ms (7.5%)

Counts
4 → 60
Calls

4 calls:

227.0ms
(*.f32 (*.f32 (neg.f32 alpha) alpha) (pow.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) 3))
40.0ms
(pow.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) 3)
17.0ms
(cbrt.f32 (log1p.f32 (neg.f32 u0)))
3.0ms
(log1p.f32 (neg.f32 u0))

rewrite105.0ms (2.8%)

Algorithm
batch-egg-rewrite
Rules
693×expm1-log1p-u_binary32
692×log1p-expm1-u_binary32
148×fma-def_binary32
138×expm1-udef_binary32
138×log1p-udef_binary32
Counts
4 → 84
Calls

4 calls:

103.0ms
(log1p.f32 (neg.f32 u0))
103.0ms
(cbrt.f32 (log1p.f32 (neg.f32 u0)))
103.0ms
(*.f32 (*.f32 (neg.f32 alpha) alpha) (pow.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) 3))
103.0ms
(pow.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) 3)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01130
121120
2185220
3491220
4498920
5491820
000
100

prune96.0ms (2.5%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New1431144
Fresh077
Picked011
Done011
Total14310153
Error
0.1b
Counts
153 → 10
Alt Table
StatusErrorProgram
0.8b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (pow.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) 3))
0.9b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (*.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) (pow.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) 2)))
1.1b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log.f32 (-.f32 1 (pow.f32 u0 3))) (log1p.f32 (fma.f32 u0 u0 u0))))
10.2b
(cbrt.f32 (*.f32 (pow.f32 (log1p.f32 u0) 3) (pow.f32 (*.f32 alpha alpha) 3)))
16.2b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (+.f32 (log.f32 (sqrt.f32 (-.f32 1 u0))) (log.f32 (sqrt.f32 (-.f32 1 u0)))))
0.3b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log1p.f32 (neg.f32 u0)))
1.7b
(+.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)))))
1.7b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (neg.f32 (+.f32 u0 (+.f32 (*.f32 1/3 (pow.f32 u0 3)) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 1/2 (pow.f32 u0 2)))))))
7.7b
(pow.f32 (*.f32 alpha (sqrt.f32 (log1p.f32 u0))) 2)
7.8b
(pow.f32 (cbrt.f32 (*.f32 (*.f32 alpha alpha) (log1p.f32 u0))) 3)
Compiler

Compiled 3524 to 2380 computations (32.5% saved)

localize39.0ms (1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(cbrt.f32 (log1p.f32 (neg.f32 u0)))
0.3b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (*.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) (pow.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) 2)))
0.3b
(*.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) (pow.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) 2))
0.5b
(pow.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) 2)

series257.0ms (6.8%)

Counts
4 → 60
Calls

4 calls:

215.0ms
(*.f32 (*.f32 (neg.f32 alpha) alpha) (*.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) (pow.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) 2)))
23.0ms
(pow.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) 2)
15.0ms
(cbrt.f32 (log1p.f32 (neg.f32 u0)))
3.0ms
(*.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) (pow.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) 2))

rewrite60.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
733×expm1-log1p-u_binary32
732×log1p-expm1-u_binary32
148×expm1-udef_binary32
148×log1p-udef_binary32
110×associate-*r*_binary32
Counts
4 → 69
Calls

4 calls:

58.0ms
(cbrt.f32 (log1p.f32 (neg.f32 u0)))
58.0ms
(*.f32 (*.f32 (neg.f32 alpha) alpha) (*.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) (pow.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) 2)))
58.0ms
(*.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) (pow.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) 2))
58.0ms
(pow.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) 2)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01235
122823
2196523
3492423
000
100

prune99.0ms (2.6%)

Pruning

11 alts after pruning (8 fresh and 3 done)

PrunedKeptTotal
New1631164
Fresh077
Picked011
Done022
Total16311174
Error
0.1b
Counts
174 → 11
Alt Table
StatusErrorProgram
7.6b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (*.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) (pow.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (log1p.f32 u0))) 3) 2)))
1.7b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (neg.f32 (+.f32 u0 (+.f32 (*.f32 1/3 (pow.f32 u0 3)) (+.f32 (*.f32 1/4 (pow.f32 u0 4)) (*.f32 1/2 (pow.f32 u0 2)))))))
0.8b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (pow.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) 3))
0.9b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (*.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) (pow.f32 (cbrt.f32 (log1p.f32 (neg.f32 u0))) 2)))
1.1b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log.f32 (-.f32 1 (pow.f32 u0 3))) (log1p.f32 (fma.f32 u0 u0 u0))))
10.2b
(cbrt.f32 (*.f32 (pow.f32 (log1p.f32 u0) 3) (pow.f32 (*.f32 alpha alpha) 3)))
16.2b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (+.f32 (log.f32 (sqrt.f32 (-.f32 1 u0))) (log.f32 (sqrt.f32 (-.f32 1 u0)))))
0.3b
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log1p.f32 (neg.f32 u0)))
1.7b
(+.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)))))
7.7b
(pow.f32 (*.f32 alpha (sqrt.f32 (log1p.f32 u0))) 2)
7.8b
(pow.f32 (cbrt.f32 (*.f32 (*.f32 alpha alpha) (log1p.f32 u0))) 3)
Compiler

Compiled 4412 to 2781 computations (37% saved)

regimes153.0ms (4%)

Accuracy

Total 0.2b remaining (66.7%)

Threshold costs 0.2b (66.7%)

Counts
21 → 1
Compiler

Compiled 2268 to 1718 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
33613
44113
54413
64513
74513

end132.0ms (3.5%)

Compiler

Compiled 215 to 160 computations (25.6% saved)

Profiling

Loading profile data...