Avoiding left shifts of negative values
diff --git a/celt/rate.c b/celt/rate.c
index 987dffd..8afacda 100644
--- a/celt/rate.c
+++ b/celt/rate.c
@@ -571,7 +571,7 @@
thresh[j] = IMAX((C)<<BITRES, (3*(m->eBands[j+1]-m->eBands[j])<<LM<<BITRES)>>4);
/* Tilt of the allocation curve */
trim_offset[j] = C*(m->eBands[j+1]-m->eBands[j])*(alloc_trim-5-LM)*(end-j-1)
- <<(LM+BITRES)>>6;
+ *(1<<(LM+BITRES))>>6;
/* Giving less resolution to single-coefficient bands because they get
more benefit from having one coarse value per coefficient*/
if ((m->eBands[j+1]-m->eBands[j])<<LM==1)