Details

Time bar (total: 6.0s)

analyze100.0ms (1.6%)

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

Results
1.4s8256×body128valid
Compiler

Compiled 54 to 42 computations (22.2% saved)

preprocess117.0ms (1.9%)

Algorithm
egg-herbie
Rules
870×fma-neg_binary32
458×fma-def_binary32
424×distribute-rgt-in_binary32
319×unsub-neg_binary32
236×distribute-lft-in_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01528
13822
27122
312422
416822
522922
630022
741122
868822
996122
10109822
11129522
12150922
13175922
14182622
15185622
16193522
17236722
18364022
19391422
20406622
21409622
22411622
23411622
24452522
25474222
26478222
27480622
28482222
29482222
022
Stop Event
saturated
node limit
Compiler

Compiled 12 to 10 computations (16.7% saved)

simplify17.0ms (0.3%)

Algorithm
egg-herbie
Rules
175×fma-neg_binary32
152×fma-def_binary32
46×cancel-sign-sub-inv_binary32
46×sub-neg_binary32
30×distribute-rgt-in_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01014
12411
24111
37011
49711
512711
616711
724111
835911
943511
1051111
1160311
1274111
1385311
1486611
Stop Event
saturated
Counts
1 → 2

prune5.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.2b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.2b
(*.f32 (log1p.f32 (*.f32 u -4)) (neg.f32 s))
Compiler

Compiled 37 to 29 computations (21.6% saved)

localize17.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

series236.0ms (3.9%)

Counts
2 → 36
Calls

9 calls:

93.0ms
(*.f32 (log1p.f32 (*.f32 u -4)) (neg.f32 s))
s
0
69.0ms
(*.f32 (log1p.f32 (*.f32 u -4)) (neg.f32 s))
s
inf
66.0ms
(*.f32 (log1p.f32 (*.f32 u -4)) (neg.f32 s))
s
-inf
2.0ms
(*.f32 (log1p.f32 (*.f32 u -4)) (neg.f32 s))
u
0
1.0ms
(*.f32 (log1p.f32 (*.f32 u -4)) (neg.f32 s))
u
inf

rewrite39.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
641×pow1_binary32
592×add-log-exp_binary32
591×expm1-log1p-u_binary32
590×log1p-expm1-u_binary32
80×add-sqr-sqrt_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0817
116215
2193815
0817
Stop Event
saturated
node limit
Counts
2 → 31

simplify37.0ms (0.6%)

Algorithm
egg-herbie
Rules
836×fma-neg_binary32
526×fma-def_binary32
364×sub-neg_binary32
212×associate-+l+_binary32
186×unsub-neg_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0106726
1336675
21065632
33590624
Stop Event
node limit
Counts
67 → 80

prune53.0ms (0.9%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New73780
Fresh000
Picked101
Done000
Total74781
Error
0.1b
Counts
81 → 7
Alt Table
StatusErrorProgram
0.2b
(*.f32 (cbrt.f32 (pow.f32 (log1p.f32 (*.f32 u -4)) 3)) (neg.f32 s))
11.4b
(*.f32 (log.f32 (+.f32 (*.f32 u -4) 1)) (neg.f32 s))
0.7b
(*.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3) (neg.f32 s))
2.4b
(*.f32 (fma.f32 u (-.f32 -4 (*.f32 u 8)) (fma.f32 (pow.f32 u 4) -64 (*.f32 (pow.f32 u 3) -64/3))) (neg.f32 s))
2.4b
(*.f32 (neg.f32 (+.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))))) (neg.f32 s))
2.3b
(+.f32 (*.f32 s (fma.f32 4 u (*.f32 64 (pow.f32 u 4)))) (*.f32 s (*.f32 (*.f32 u u) (+.f32 8 (*.f32 u 64/3)))))
2.4b
(+.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)))))
Compiler

Compiled 1423 to 1019 computations (28.4% saved)

localize25.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

series238.0ms (3.9%)

Counts
3 → 48
Calls

12 calls:

87.0ms
(*.f32 (cbrt.f32 (pow.f32 (log1p.f32 (*.f32 u -4)) 3)) (neg.f32 s))
s
0
67.0ms
(*.f32 (cbrt.f32 (pow.f32 (log1p.f32 (*.f32 u -4)) 3)) (neg.f32 s))
s
inf
65.0ms
(*.f32 (cbrt.f32 (pow.f32 (log1p.f32 (*.f32 u -4)) 3)) (neg.f32 s))
s
-inf
6.0ms
(pow.f32 (log1p.f32 (*.f32 u -4)) 3)
u
-inf
5.0ms
(pow.f32 (log1p.f32 (*.f32 u -4)) 3)
u
inf

rewrite42.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
758×expm1-log1p-u_binary32
757×log1p-expm1-u_binary32
101×add-sqr-sqrt_binary32
96×add-log-exp_binary32
95×add-exp-log_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01126
123124
2244224
01136
Stop Event
saturated
node limit
Counts
3 → 59

simplify53.0ms (0.9%)

Algorithm
egg-herbie
Rules
441×fma-def_binary32
434×times-frac_binary32
339×associate-+r+_binary32
272×sub-neg_binary32
252×+-commutative_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02871975
19991880
238301866
Stop Event
node limit
Counts
107 → 130

prune135.0ms (2.2%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1662168
Fresh156
Picked011
Done000
Total1678175
Error
0.1b
Counts
175 → 8
Alt Table
StatusErrorProgram
2.4b
(*.f32 (fma.f32 -64 (pow.f32 u 4) (fma.f32 (pow.f32 u 3) -64/3 (fma.f32 u -4 (*.f32 (*.f32 u u) -8)))) (neg.f32 s))
0.2b
(*.f32 (cbrt.f32 (pow.f32 (log1p.f32 (*.f32 u -4)) 3)) (neg.f32 s))
11.4b
(*.f32 (log.f32 (+.f32 (*.f32 u -4) 1)) (neg.f32 s))
0.7b
(*.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3) (neg.f32 s))
1.5b
(*.f32 (*.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) (pow.f32 (pow.f32 (log1p.f32 (*.f32 u -4)) 2) 1/3)) (neg.f32 s))
2.4b
(*.f32 (fma.f32 u (-.f32 -4 (*.f32 u 8)) (fma.f32 (pow.f32 u 4) -64 (*.f32 (pow.f32 u 3) -64/3))) (neg.f32 s))
2.3b
(+.f32 (*.f32 s (fma.f32 4 u (*.f32 64 (pow.f32 u 4)))) (*.f32 s (*.f32 (*.f32 u u) (+.f32 8 (*.f32 u 64/3)))))
2.4b
(+.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)))))
Compiler

Compiled 4333 to 3246 computations (25.1% saved)

localize26.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

series256.0ms (4.2%)

Counts
3 → 40
Calls

12 calls:

86.0ms
(*.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3) (neg.f32 s))
s
0
67.0ms
(*.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3) (neg.f32 s))
s
-inf
66.0ms
(*.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3) (neg.f32 s))
s
inf
7.0ms
(pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3)
u
-inf
7.0ms
(pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3)
u
inf

rewrite42.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
760×expm1-log1p-u_binary32
759×log1p-expm1-u_binary32
101×add-sqr-sqrt_binary32
96×add-log-exp_binary32
95×add-exp-log_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01125
123123
2244923
01135
Stop Event
saturated
node limit
Counts
3 → 59

simplify43.0ms (0.7%)

Algorithm
egg-herbie
Rules
310×times-frac_binary32
242×cancel-sign-sub-inv_binary32
217×associate-*l/_binary32
198×fma-def_binary32
194×associate-*r/_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01841869
16011682
220151645
Stop Event
node limit
Counts
99 → 116

prune110.0ms (1.8%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New1522154
Fresh066
Picked011
Done011
Total15210162
Error
0.1b
Counts
162 → 10
Alt Table
StatusErrorProgram
0.9b
(*.f32 (*.f32 (*.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 2) (cbrt.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 2))) (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))))) (neg.f32 s))
0.2b
(*.f32 (cbrt.f32 (pow.f32 (log1p.f32 (*.f32 u -4)) 3)) (neg.f32 s))
3.0b
(fma.f32 8 (*.f32 u (*.f32 u s)) (*.f32 s (+.f32 (*.f32 u 4) (*.f32 64/3 (pow.f32 u 3)))))
2.4b
(*.f32 (fma.f32 u (-.f32 -4 (*.f32 u 8)) (fma.f32 (pow.f32 u 4) -64 (*.f32 (pow.f32 u 3) -64/3))) (neg.f32 s))
2.4b
(*.f32 (fma.f32 -64 (pow.f32 u 4) (fma.f32 (pow.f32 u 3) -64/3 (fma.f32 u -4 (*.f32 (*.f32 u u) -8)))) (neg.f32 s))
11.4b
(*.f32 (log.f32 (+.f32 (*.f32 u -4) 1)) (neg.f32 s))
0.7b
(*.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3) (neg.f32 s))
1.5b
(*.f32 (*.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) (pow.f32 (pow.f32 (log1p.f32 (*.f32 u -4)) 2) 1/3)) (neg.f32 s))
2.3b
(+.f32 (*.f32 s (fma.f32 4 u (*.f32 64 (pow.f32 u 4)))) (*.f32 s (*.f32 (*.f32 u u) (+.f32 8 (*.f32 u 64/3)))))
2.4b
(+.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)))))
Compiler

Compiled 3891 to 3033 computations (22.1% saved)

localize41.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f32 (*.f32 (*.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 2) (cbrt.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 2))) (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))))) (neg.f32 s))
0.3b
(*.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 2) (cbrt.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 2)))
0.3b
(*.f32 (*.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 2) (cbrt.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 2))) (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4)))))
0.5b
(pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 2)

series1.2s (20.1%)

Counts
4 → 56
Calls

15 calls:

470.0ms
(*.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 2) (cbrt.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 2)))
u
inf
454.0ms
(*.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 2) (cbrt.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 2)))
u
-inf
103.0ms
(*.f32 (*.f32 (*.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 2) (cbrt.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 2))) (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))))) (neg.f32 s))
s
0
85.0ms
(*.f32 (*.f32 (*.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 2) (cbrt.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 2))) (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))))) (neg.f32 s))
s
inf
73.0ms
(*.f32 (*.f32 (*.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 2) (cbrt.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 2))) (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))))) (neg.f32 s))
s
-inf

rewrite56.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
582×log-prod_binary32
203×expm1-udef_binary32
203×log1p-udef_binary32
176×log-pow_binary32
143×prod-diff_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
015118
130242
2348742
015118
Stop Event
saturated
node limit
Counts
4 → 80

simplify248.0ms (4.1%)

Algorithm
egg-herbie
Rules
621×*-commutative_binary32
356×+-commutative_binary32
346×fma-def_binary32
324×associate-+r+_binary32
240×associate-*r*_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0147622602
1497922566
Stop Event
node limit
Counts
136 → 168

prune786.0ms (13%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New2043207
Fresh257
Picked101
Done022
Total20710217
Error
0.1b
Counts
217 → 10
Alt Table
StatusErrorProgram
1.5b
(*.f32 (*.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) (pow.f32 (pow.f32 (log1p.f32 (*.f32 u -4)) 2) 1/3)) (neg.f32 s))
0.8b
(*.f32 (*.f32 (*.f32 (sqrt.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 4)) (cbrt.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 2))) (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))))) (neg.f32 s))
3.0b
(fma.f32 8 (*.f32 u (*.f32 u s)) (*.f32 s (+.f32 (*.f32 u 4) (*.f32 64/3 (pow.f32 u 3)))))
2.4b
(*.f32 (fma.f32 u (-.f32 -4 (*.f32 u 8)) (fma.f32 (pow.f32 u 4) -64 (*.f32 (pow.f32 u 3) -64/3))) (neg.f32 s))
11.4b
(*.f32 (log.f32 (fma.f32 u -4 1)) (neg.f32 s))
2.4b
(*.f32 (fma.f32 -64 (pow.f32 u 4) (fma.f32 (pow.f32 u 3) -64/3 (fma.f32 u -4 (*.f32 (*.f32 u u) -8)))) (neg.f32 s))
0.2b
(*.f32 (cbrt.f32 (pow.f32 (log1p.f32 (*.f32 u -4)) 3)) (neg.f32 s))
0.7b
(*.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3) (neg.f32 s))
2.4b
(fma.f32 8 (*.f32 (*.f32 u u) s) (fma.f32 64/3 (*.f32 (pow.f32 u 3) s) (fma.f32 64 (*.f32 (pow.f32 u 4) s) (*.f32 4 (*.f32 u s)))))
2.3b
(+.f32 (*.f32 s (fma.f32 4 u (*.f32 64 (pow.f32 u 4)))) (*.f32 s (*.f32 (*.f32 u u) (+.f32 8 (*.f32 u 64/3)))))
Compiler

Compiled 29352 to 24665 computations (16% saved)

regimes544.0ms (9%)

Accuracy

Total 0.1b remaining (70.8%)

Threshold costs 0.1b (70.8%)

Counts
81 → 1
Compiler

Compiled 9305 to 7338 computations (21.1% saved)

simplify4.0ms (0.1%)

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
01116
11916
22716
33316
43616
53716
Stop Event
saturated

end144.0ms (2.4%)

Stop Event
fuel
Compiler

Compiled 223 to 173 computations (22.4% saved)

Profiling

Loading profile data...