Details

Time bar (total: 5.6s)

analyze101.0ms (1.8%)

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

Results
1.5s8256×body128valid
Compiler

Compiled 54 to 42 computations (22.2% saved)

preprocess116.0ms (2.1%)

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)

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

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

series244.0ms (4.4%)

Counts
2 → 36
Calls

9 calls:

98.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
68.0ms
(*.f32 (log1p.f32 (*.f32 u -4)) (neg.f32 s))
s
-inf
4.0ms
(*.f32 (log1p.f32 (*.f32 u -4)) (neg.f32 s))
u
-inf
1.0ms
(*.f32 (log1p.f32 (*.f32 u -4)) (neg.f32 s))
u
inf

rewrite38.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
591×expm1-log1p-u_binary32
590×log1p-expm1-u_binary32
334×log-prod_binary32
143×prod-diff_binary32
125×expm1-udef_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0817
116215
2194915
Stop Event
node limit
Counts
2 → 42

simplify37.0ms (0.7%)

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
78 → 91

prune60.0ms (1.1%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New83891
Fresh000
Picked101
Done000
Total84892
Error
0.1b
Counts
92 → 8
Alt Table
StatusErrorProgram
12.1b
(*.f32 (-.f32 (log1p.f32 (pow.f32 (*.f32 u -4) 3)) (log.f32 (+.f32 1 (-.f32 (*.f32 (*.f32 u u) 16) (*.f32 u -4))))) (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 (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))
0.2b
(*.f32 (cbrt.f32 (pow.f32 (log1p.f32 (*.f32 u -4)) 3)) (neg.f32 s))
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)))))
11.4b
(*.f32 (log.f32 (fma.f32 u -4 1)) (neg.f32 s))
0.7b
(*.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3) (neg.f32 s))
Compiler

Compiled 1640 to 1182 computations (27.9% 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)

series298.0ms (5.3%)

Counts
3 → 48
Calls

12 calls:

106.0ms
(*.f32 (cbrt.f32 (pow.f32 (log1p.f32 (*.f32 u -4)) 3)) (neg.f32 s))
s
0
82.0ms
(*.f32 (cbrt.f32 (pow.f32 (log1p.f32 (*.f32 u -4)) 3)) (neg.f32 s))
s
-inf
76.0ms
(*.f32 (cbrt.f32 (pow.f32 (log1p.f32 (*.f32 u -4)) 3)) (neg.f32 s))
s
inf
18.0ms
(*.f32 (cbrt.f32 (pow.f32 (log1p.f32 (*.f32 u -4)) 3)) (neg.f32 s))
u
0
5.0ms
(pow.f32 (log1p.f32 (*.f32 u -4)) 3)
u
-inf

rewrite50.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
758×expm1-log1p-u_binary32
757×log1p-expm1-u_binary32
143×prod-diff_binary32
99×add-sqr-sqrt_binary32
93×add-cbrt-cube_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01126
122324
2244924
Stop Event
node limit
Counts
3 → 59

simplify57.0ms (1%)

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

prune147.0ms (2.6%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1722174
Fresh167
Picked011
Done000
Total1739182
Error
0.1b
Counts
182 → 9
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))
12.1b
(*.f32 (-.f32 (log1p.f32 (pow.f32 (*.f32 u -4) 3)) (log.f32 (+.f32 1 (-.f32 (*.f32 (*.f32 u u) 16) (*.f32 u -4))))) (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 (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))
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.2b
(*.f32 (cbrt.f32 (pow.f32 (log1p.f32 (*.f32 u -4)) 3)) (neg.f32 s))
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)))))
11.4b
(*.f32 (log.f32 (fma.f32 u -4 1)) (neg.f32 s))
0.7b
(*.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3) (neg.f32 s))
Compiler

Compiled 4494 to 3369 computations (25% saved)

localize26.0ms (0.5%)

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)

series275.0ms (4.9%)

Counts
3 → 40
Calls

12 calls:

96.0ms
(*.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3) (neg.f32 s))
s
0
70.0ms
(*.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3) (neg.f32 s))
s
inf
69.0ms
(*.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3) (neg.f32 s))
s
-inf
10.0ms
(pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3)
u
-inf
8.0ms
(pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3)
u
inf

rewrite44.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
760×expm1-log1p-u_binary32
759×log1p-expm1-u_binary32
143×prod-diff_binary32
99×add-sqr-sqrt_binary32
93×add-cbrt-cube_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01125
122423
2246123
Stop Event
node limit
Counts
3 → 59

simplify48.0ms (0.9%)

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

prune125.0ms (2.2%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New1573160
Fresh077
Picked011
Done011
Total15712169
Error
0.0b
Counts
169 → 12
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))
1.0b
(*.f32 (*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4)))) 2) (*.f32 (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4)))) (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 2))) (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))
12.1b
(*.f32 (-.f32 (log1p.f32 (pow.f32 (*.f32 u -4) 3)) (log.f32 (+.f32 1 (-.f32 (*.f32 (*.f32 u u) 16) (*.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)))))
1.2b
(*.f32 (*.f32 (pow.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4)))) 2) 3) (cbrt.f32 (log1p.f32 (*.f32 u -4)))) (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 (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))
0.2b
(*.f32 (cbrt.f32 (pow.f32 (log1p.f32 (*.f32 u -4)) 3)) (neg.f32 s))
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)))))
11.4b
(*.f32 (log.f32 (fma.f32 u -4 1)) (neg.f32 s))
0.7b
(*.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 3) (neg.f32 s))
Compiler

Compiled 4094 to 3192 computations (22% saved)

localize47.0ms (0.8%)

Local error

Found 4 expressions with local error:

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

series705.0ms (12.6%)

Counts
4 → 44
Calls

12 calls:

336.0ms
(*.f32 (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4)))) (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 2))
u
-inf
325.0ms
(*.f32 (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4)))) (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 2))
u
inf
8.0ms
(pow.f32 (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4)))) 2)
u
-inf
8.0ms
(pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 2)
u
-inf
7.0ms
(pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 2)
u
inf

rewrite50.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
787×expm1-log1p-u_binary32
786×log1p-expm1-u_binary32
143×prod-diff_binary32
99×add-sqr-sqrt_binary32
98×add-cbrt-cube_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01268
123851
2249951
Stop Event
node limit
Counts
4 → 68

simplify235.0ms (4.2%)

Algorithm
egg-herbie
Rules
551×*-commutative_binary32
313×+-commutative_binary32
303×fma-def_binary32
284×associate-+r+_binary32
218×associate-*r*_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0133820805
1451120031
Stop Event
node limit
Counts
112 → 155

prune608.0ms (10.9%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New1532155
Fresh459
Picked101
Done022
Total1589167
Error
0.0b
Counts
167 → 9
Alt Table
StatusErrorProgram
0.6b
(*.f32 (*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4)))) 2) (cbrt.f32 (*.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) (pow.f32 (log1p.f32 (*.f32 u -4)) 2)))) (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 (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))
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.0b
(*.f32 (*.f32 (log.f32 (exp.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4)))) 2))) (*.f32 (cbrt.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4)))) (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 u -4))) 2))) (neg.f32 s))
0.2b
(*.f32 (cbrt.f32 (pow.f32 (log1p.f32 (*.f32 u -4)) 3)) (neg.f32 s))
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)))))
0.7b
(*.f32 (pow.f32 (cbrt.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)))))
Compiler

Compiled 25512 to 21750 computations (14.7% saved)

regimes517.0ms (9.3%)

Accuracy

Total 0.1b remaining (71.8%)

Threshold costs 0.1b (71.8%)

Counts
74 → 1
Compiler

Compiled 9025 to 7212 computations (20.1% 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
01116
11916
22716
33316
43616
53716
Stop Event
saturated

end150.0ms (2.7%)

Stop Event
fuel
Compiler

Compiled 221 to 176 computations (20.4% saved)

Profiling

Loading profile data...