@@ -82,7 +82,7 @@ pub fn fma(x: f64, y: f64, z: f64) -> f64 {
8282            d -= 64 ; 
8383            if  d == 0  { 
8484            }  else  if  d < 64  { 
85-                 rlo = rhi << ( 64  - d)  | rlo >> d | ( ( rlo << ( 64  - d) )  != 0 )  as  u64 ; 
85+                 rlo = ( rhi << ( 64  - d) )  | ( rlo >> d)  | ( ( rlo << ( 64  - d) )  != 0 )  as  u64 ; 
8686                rhi = rhi >> d; 
8787            }  else  { 
8888                rlo = 1 ; 
@@ -95,7 +95,7 @@ pub fn fma(x: f64, y: f64, z: f64) -> f64 {
9595        if  d == 0  { 
9696            zlo = nz. m ; 
9797        }  else  if  d < 64  { 
98-             zlo = nz. m  >> d | ( ( nz. m  << ( 64  - d) )  != 0 )  as  u64 ; 
98+             zlo = ( nz. m  >> d)  | ( ( nz. m  << ( 64  - d) )  != 0 )  as  u64 ; 
9999        }  else  { 
100100            zlo = 1 ; 
101101        } 
@@ -127,11 +127,11 @@ pub fn fma(x: f64, y: f64, z: f64) -> f64 {
127127        e += 64 ; 
128128        d = rhi. leading_zeros ( )  as  i32  - 1 ; 
129129        /* note: d > 0 */ 
130-         rhi = rhi << d | rlo >> ( 64  - d)  | ( ( rlo << d)  != 0 )  as  u64 ; 
130+         rhi = ( rhi << d)  | ( rlo >> ( 64  - d) )  | ( ( rlo << d)  != 0 )  as  u64 ; 
131131    }  else  if  rlo != 0  { 
132132        d = rlo. leading_zeros ( )  as  i32  - 1 ; 
133133        if  d < 0  { 
134-             rhi = rlo >> 1  | ( rlo &  1 ) ; 
134+             rhi = ( rlo >> 1 )  | ( rlo &  1 ) ; 
135135        }  else  { 
136136            rhi = rlo << d; 
137137        } 
@@ -165,7 +165,7 @@ pub fn fma(x: f64, y: f64, z: f64) -> f64 {
165165            /* one bit is lost when scaled, add another top bit to 
166166            only round once at conversion if it is inexact */ 
167167            if  ( rhi << 53 )  != 0  { 
168-                 i = ( rhi >> 1  | ( rhi &  1 )  | 1  << 62 )  as  i64 ; 
168+                 i = ( ( rhi >> 1 )  | ( rhi &  1 )  | ( 1  << 62 ) )  as  i64 ; 
169169                if  sign != 0  { 
170170                    i = -i; 
171171                } 
@@ -182,7 +182,7 @@ pub fn fma(x: f64, y: f64, z: f64) -> f64 {
182182        }  else  { 
183183            /* only round once when scaled */ 
184184            d = 10 ; 
185-             i = ( ( rhi >> d | ( ( rhi << ( 64  - d) )  != 0 )  as  u64 )  << d)  as  i64 ; 
185+             i = ( ( ( rhi >> d)  | ( ( rhi << ( 64  - d) )  != 0 )  as  u64 )  << d)  as  i64 ; 
186186            if  sign != 0  { 
187187                i = -i; 
188188            } 
0 commit comments