Details

Time bar (total: 6.2s)

analyze108.0ms (1.7%)

Algorithm
search
Search
TrueOtherFalseIter
0%1.5%98.5%0
0%1.5%98.5%1
0%1.5%98.5%2
0.8%0.8%98.5%3
0.8%0.8%98.5%4
1.2%0.4%98.5%5
1.2%0.4%98.5%6
1.4%0.2%98.5%7
1.4%0.2%98.5%8
1.4%0.1%98.5%9
1.4%0.1%98.5%10
1.5%0%98.5%11
1.5%0%98.5%12
1.5%0%98.5%13
1.5%0%98.5%14
Compiler

Compiled 27 to 21 computations (22.2% saved)

sample1.9s (31.5%)

Alt Table
StatusErrorProgram
11.9b
(*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u)))))
Results
1.5s8256×body128valid
Compiler

Compiled 90 to 72 computations (20% saved)

localize26.0ms (0.4%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u)))))
0.2b
(/.f32 1 (-.f32 1 (*.f32 4 u)))
13.8b
(log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u))))

series388.0ms (6.3%)

Counts
3 → 48
Calls

3 calls:

383.0ms
(*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u)))))
3.0ms
(log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u))))
2.0ms
(/.f32 1 (-.f32 1 (*.f32 4 u)))

rewrite92.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
469×prod-diff_binary32
461×log-prod_binary32
176×expm1-udef_binary32
175×log1p-udef_binary32
162×pow3_binary32
Counts
3 → 94
Calls

3 calls:

90.0ms
(*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u)))))
90.0ms
(/.f32 1 (-.f32 1 (*.f32 4 u)))
90.0ms
(log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01035
121229
2239027
3479827
4490927
000
100

prune102.0ms (1.6%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1348142
Fresh000
Picked101
Done000
Total1358143
Error
0.0b
Counts
143 → 8
Alt Table
StatusErrorProgram
1.4b
(*.f32 s (+.f32 (log.f32 (/.f32 1 (-.f32 1 (*.f32 64 (pow.f32 u 3))))) (log1p.f32 (fma.f32 4 u (*.f32 16 (*.f32 u u))))))
0.7b
(*.f32 s (pow.f32 (cbrt.f32 (neg.f32 (log1p.f32 (*.f32 u -4)))) 3))
3.0b
(exp.f32 (log.f32 (*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s)))
2.1b
(+.f32 (*.f32 8 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 64/3 (*.f32 s (pow.f32 u 3))) (+.f32 (*.f32 64 (*.f32 s (pow.f32 u 4))) (*.f32 4 (*.f32 s u)))))
0.5b
(pow.f32 (sqrt.f32 (*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s)) 2)
0.8b
(pow.f32 (cbrt.f32 (*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s)) 3)
2.0b
(*.f32 s (+.f32 (*.f32 64 (pow.f32 u 4)) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (+.f32 (*.f32 8 (pow.f32 u 2)) (*.f32 4 u)))))
0.2b
(*.f32 s (neg.f32 (log1p.f32 (*.f32 u -4))))
Compiler

Compiled 2376 to 1898 computations (20.1% saved)

localize18.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(log1p.f32 (*.f32 u -4))
0.2b
(*.f32 s (neg.f32 (log1p.f32 (*.f32 u -4))))

series312.0ms (5%)

Counts
2 → 36
Calls

2 calls:

307.0ms
(*.f32 s (neg.f32 (log1p.f32 (*.f32 u -4))))
5.0ms
(log1p.f32 (*.f32 u -4))

rewrite76.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
591×expm1-log1p-u_binary32
590×log1p-expm1-u_binary32
334×log-prod_binary32
311×fma-def_binary32
143×prod-diff_binary32
Counts
2 → 54
Calls

2 calls:

74.0ms
(log1p.f32 (*.f32 u -4))
74.0ms
(*.f32 s (neg.f32 (log1p.f32 (*.f32 u -4))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0817
116215
2158315
3485315
4506215
000
100

prune52.0ms (0.8%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New90090
Fresh077
Picked011
Done000
Total90898
Error
0.0b
Counts
98 → 8
Alt Table
StatusErrorProgram
1.4b
(*.f32 s (+.f32 (log.f32 (/.f32 1 (-.f32 1 (*.f32 64 (pow.f32 u 3))))) (log1p.f32 (fma.f32 4 u (*.f32 16 (*.f32 u u))))))
0.7b
(*.f32 s (pow.f32 (cbrt.f32 (neg.f32 (log1p.f32 (*.f32 u -4)))) 3))
3.0b
(exp.f32 (log.f32 (*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s)))
2.1b
(+.f32 (*.f32 8 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 64/3 (*.f32 s (pow.f32 u 3))) (+.f32 (*.f32 64 (*.f32 s (pow.f32 u 4))) (*.f32 4 (*.f32 s u)))))
0.5b
(pow.f32 (sqrt.f32 (*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s)) 2)
0.8b
(pow.f32 (cbrt.f32 (*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s)) 3)
2.0b
(*.f32 s (+.f32 (*.f32 64 (pow.f32 u 4)) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (+.f32 (*.f32 8 (pow.f32 u 2)) (*.f32 4 u)))))
0.2b
(*.f32 s (neg.f32 (log1p.f32 (*.f32 u -4))))
Compiler

Compiled 1501 to 1172 computations (21.9% saved)

localize25.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(log1p.f32 (*.f32 u -4))
0.2b
(*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s)
0.4b
(pow.f32 (sqrt.f32 (*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s)) 2)
1.2b
(sqrt.f32 (*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s))

series382.0ms (6.2%)

Counts
4 → 52
Calls

4 calls:

298.0ms
(*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s)
47.0ms
(pow.f32 (sqrt.f32 (*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s)) 2)
33.0ms
(sqrt.f32 (*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s))
4.0ms
(log1p.f32 (*.f32 u -4))

rewrite105.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
732×expm1-log1p-u_binary32
731×log1p-expm1-u_binary32
153×log1p-udef_binary32
143×prod-diff_binary32
111×egg-rr
Counts
4 → 111
Calls

4 calls:

103.0ms
(log1p.f32 (*.f32 u -4))
103.0ms
(*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s)
103.0ms
(pow.f32 (sqrt.f32 (*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s)) 2)
103.0ms
(sqrt.f32 (*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01141
120935
2196635
3497735
4487235
5487935
000
100

prune101.0ms (1.6%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New1612163
Fresh156
Picked011
Done011
Total1629171
Error
0.0b
Counts
171 → 9
Alt Table
StatusErrorProgram
1.4b
(*.f32 s (+.f32 (log.f32 (/.f32 1 (-.f32 1 (*.f32 64 (pow.f32 u 3))))) (log1p.f32 (fma.f32 4 u (*.f32 16 (*.f32 u u))))))
0.8b
(pow.f32 (sqrt.f32 (*.f32 (neg.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3)) s)) 2)
2.0b
(*.f32 s (+.f32 (*.f32 64 (pow.f32 u 4)) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (+.f32 (*.f32 8 (pow.f32 u 2)) (*.f32 4 u)))))
11.0b
(pow.f32 (sqrt.f32 (*.f32 (neg.f32 (log.f32 (fma.f32 u -4 1))) s)) 2)
3.0b
(exp.f32 (log.f32 (*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s)))
2.1b
(+.f32 (*.f32 8 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 64/3 (*.f32 s (pow.f32 u 3))) (+.f32 (*.f32 64 (*.f32 s (pow.f32 u 4))) (*.f32 4 (*.f32 s u)))))
0.5b
(pow.f32 (sqrt.f32 (*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s)) 2)
0.8b
(pow.f32 (cbrt.f32 (*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s)) 3)
0.2b
(*.f32 s (neg.f32 (log1p.f32 (*.f32 u -4))))
Compiler

Compiled 3188 to 2562 computations (19.6% saved)

localize27.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(log1p.f32 (*.f32 u -4))
0.2b
(*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s)
0.7b
(pow.f32 (cbrt.f32 (*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s)) 3)
1.2b
(cbrt.f32 (*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s))

series1.7s (27.5%)

Counts
4 → 84
Calls

4 calls:

740.0ms
(pow.f32 (cbrt.f32 (*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s)) 3)
643.0ms
(cbrt.f32 (*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s))
285.0ms
(*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s)
36.0ms
(log1p.f32 (*.f32 u -4))

rewrite55.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
764×expm1-log1p-u_binary32
763×log1p-expm1-u_binary32
155×log1p-udef_binary32
143×prod-diff_binary32
111×egg-rr
Counts
4 → 111
Calls

4 calls:

53.0ms
(log1p.f32 (*.f32 u -4))
53.0ms
(*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s)
53.0ms
(pow.f32 (cbrt.f32 (*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s)) 3)
53.0ms
(cbrt.f32 (*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01141
121135
2204135
3497935
000
100

prune143.0ms (2.3%)

Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New1950195
Fresh066
Picked011
Done022
Total1959204
Error
0.0b
Counts
204 → 9
Alt Table
StatusErrorProgram
1.4b
(*.f32 s (+.f32 (log.f32 (/.f32 1 (-.f32 1 (*.f32 64 (pow.f32 u 3))))) (log1p.f32 (fma.f32 4 u (*.f32 16 (*.f32 u u))))))
0.8b
(pow.f32 (sqrt.f32 (*.f32 (neg.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3)) s)) 2)
2.0b
(*.f32 s (+.f32 (*.f32 64 (pow.f32 u 4)) (+.f32 (*.f32 64/3 (pow.f32 u 3)) (+.f32 (*.f32 8 (pow.f32 u 2)) (*.f32 4 u)))))
11.0b
(pow.f32 (sqrt.f32 (*.f32 (neg.f32 (log.f32 (fma.f32 u -4 1))) s)) 2)
3.0b
(exp.f32 (log.f32 (*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s)))
2.1b
(+.f32 (*.f32 8 (*.f32 s (pow.f32 u 2))) (+.f32 (*.f32 64/3 (*.f32 s (pow.f32 u 3))) (+.f32 (*.f32 64 (*.f32 s (pow.f32 u 4))) (*.f32 4 (*.f32 s u)))))
0.5b
(pow.f32 (sqrt.f32 (*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s)) 2)
0.8b
(pow.f32 (cbrt.f32 (*.f32 (neg.f32 (log1p.f32 (*.f32 u -4))) s)) 3)
0.2b
(*.f32 s (neg.f32 (log1p.f32 (*.f32 u -4))))
Compiler

Compiled 3887 to 3165 computations (18.6% saved)

regimes388.0ms (6.3%)

Accuracy

Total 0.2b remaining (80.7%)

Threshold costs 0.2b (80.7%)

Counts
52 → 1
Compiler

Compiled 5694 to 4623 computations (18.8% saved)

simplify2.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0811
11611
22311
32911
43211
53311
63311

end139.0ms (2.2%)

Compiler

Compiled 170 to 136 computations (20% saved)

Profiling

Loading profile data...