Fixed some bugs affecting a few processors.  Reboot the official release
date (for the last time) to be 2015 Feb 16.
diff --git a/COPYING.txt b/COPYING.txt
index c226ac6..9a58114 100644
--- a/COPYING.txt
+++ b/COPYING.txt
@@ -2,7 +2,7 @@
 License for Berkeley SoftFloat Release 3
 
 John R. Hauser
-2015 Jan 9
+2015 February 16
 
 The following applies to the whole of SoftFloat Release 3 as well as to each
 source file individually.
diff --git a/README.html b/README.html
index 45fec86..9697cdc 100644
--- a/README.html
+++ b/README.html
@@ -11,7 +11,7 @@
 
 <P>
 John R. Hauser<BR>
-2015 Jan 9<BR>
+2015 February 16<BR>
 </P>
 
 <P>
diff --git a/README.txt b/README.txt
index 364bfbd..857e7c5 100644
--- a/README.txt
+++ b/README.txt
@@ -2,7 +2,7 @@
 Package Overview for Berkeley SoftFloat Release 3
 
 John R. Hauser
-2015 Jan 9
+2015 February 16
 
 Berkeley SoftFloat is a software implementation of binary floating-point
 that conforms to the IEEE Standard for Floating-Point Arithmetic.  SoftFloat
diff --git a/doc/SoftFloat-history.html b/doc/SoftFloat-history.html
index dcc11d3..a0ce556 100644
--- a/doc/SoftFloat-history.html
+++ b/doc/SoftFloat-history.html
@@ -11,11 +11,11 @@
 
 <P>
 John R. Hauser<BR>
-2015 January 31<BR>
+2015 February 16<BR>
 </P>
 
 
-<H3>Release 3 (2015 January)</H3>
+<H3>Release 3 (2015 February)</H3>
 
 <UL>
 
diff --git a/doc/SoftFloat-source.html b/doc/SoftFloat-source.html
index b0a96b0..87e6c1a 100644
--- a/doc/SoftFloat-source.html
+++ b/doc/SoftFloat-source.html
@@ -11,7 +11,7 @@
 
 <P>
 John R. Hauser<BR>
-2015 Jan 9<BR>
+2015 February 16<BR>
 </P>
 
 
diff --git a/doc/SoftFloat.html b/doc/SoftFloat.html
index 8e58a44..747046e 100644
--- a/doc/SoftFloat.html
+++ b/doc/SoftFloat.html
@@ -11,7 +11,7 @@
 
 <P>
 John R. Hauser<BR>
-2015 Jan 9<BR>
+2015 February 16<BR>
 </P>
 
 
diff --git a/source/extF80M_sqrt.c b/source/extF80M_sqrt.c
index b3c0426..bdd849f 100644
--- a/source/extF80M_sqrt.c
+++ b/source/extF80M_sqrt.c
@@ -4,10 +4,10 @@
 This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
 Package, Release 3, by John R. Hauser.
 
-Copyright 2011, 2012, 2013, 2014 The Regents of the University of California
-(Regents).  All Rights Reserved.  Redistribution and use in source and binary
-forms, with or without modification, are permitted provided that the following
-conditions are met:
+Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
+California (Regents).  All Rights Reserved.  Redistribution and use in source
+and binary forms, with or without modification, are permitted provided that
+the following conditions are met:
 
 Redistributions of source code must retain the above copyright notice,
 this list of conditions, and the following two paragraphs of disclaimer.
@@ -135,7 +135,7 @@
     /*------------------------------------------------------------------------
     *------------------------------------------------------------------------*/
     if ( (q & 0xFFFFFF) <= 2 ) {
-        q &= ~0xFFFF;
+        q &= ~(uint32_t) 0xFFFF;
         extSigZ[indexWordLo( 3 )] = q<<7;
         x64 = sig64Z + (q>>27);
         term[indexWord( 4, 3 )] = 0;
diff --git a/source/extF80_sqrt.c b/source/extF80_sqrt.c
index f85e3e7..a73278b 100644
--- a/source/extF80_sqrt.c
+++ b/source/extF80_sqrt.c
@@ -4,10 +4,10 @@
 This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
 Package, Release 3, by John R. Hauser.
 
-Copyright 2011, 2012, 2013, 2014 The Regents of the University of California
-(Regents).  All Rights Reserved.  Redistribution and use in source and binary
-forms, with or without modification, are permitted provided that the following
-conditions are met:
+Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
+California (Regents).  All Rights Reserved.  Redistribution and use in source
+and binary forms, with or without modification, are permitted provided that
+the following conditions are met:
 
 Redistributions of source code must retain the above copyright notice,
 this list of conditions, and the following two paragraphs of disclaimer.
@@ -127,7 +127,7 @@
     /*------------------------------------------------------------------------
     *------------------------------------------------------------------------*/
     if ( (q & 0xFFFFFF) <= 2 ) {
-        q &= ~0xFFFF;
+        q &= ~(uint_fast64_t) 0xFFFF;
         sigZExtra = (uint64_t) (q<<39);
         term = softfloat_mul64ByShifted32To128( x64 + (q>>27), q );
         x64 = (uint_fast64_t) (uint32_t) (q<<5) * (uint32_t) q;
diff --git a/source/s_mulAddF128M.c b/source/s_mulAddF128M.c
index 4fab817..3f74d43 100644
--- a/source/s_mulAddF128M.c
+++ b/source/s_mulAddF128M.c
@@ -4,10 +4,10 @@
 This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
 Package, Release 3, by John R. Hauser.
 
-Copyright 2011, 2012, 2013, 2014 The Regents of the University of California
-(Regents).  All Rights Reserved.  Redistribution and use in source and binary
-forms, with or without modification, are permitted provided that the following
-conditions are met:
+Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
+California (Regents).  All Rights Reserved.  Redistribution and use in source
+and binary forms, with or without modification, are permitted provided that
+the following conditions are met:
 
 Redistributions of source code must retain the above copyright notice,
 this list of conditions, and the following two paragraphs of disclaimer.
@@ -241,7 +241,7 @@
             *----------------------------------------------------------------*/
             shiftCount = expDiff & 31;
             if ( shiftCount ) {
-                softfloat_shortShiftRight160M( sigX, expDiff, sigX );
+                softfloat_shortShiftRight160M( sigX, shiftCount, sigX );
             }
             expDiff >>= 5;
             extSigPtr =
diff --git a/source/s_roundPackMToExtF80M.c b/source/s_roundPackMToExtF80M.c
index b475bcb..f4edeee 100644
--- a/source/s_roundPackMToExtF80M.c
+++ b/source/s_roundPackMToExtF80M.c
@@ -4,10 +4,10 @@
 This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
 Package, Release 3, by John R. Hauser.
 
-Copyright 2011, 2012, 2013, 2014 The Regents of the University of California
-(Regents).  All Rights Reserved.  Redistribution and use in source and binary
-forms, with or without modification, are permitted provided that the following
-conditions are met:
+Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
+California (Regents).  All Rights Reserved.  Redistribution and use in source
+and binary forms, with or without modification, are permitted provided that
+the following conditions are met:
 
 Redistributions of source code must retain the above copyright notice,
 this list of conditions, and the following two paragraphs of disclaimer.
@@ -171,7 +171,7 @@
                     | extSigPtr[indexWord( 3, 1 )];
             if ( doIncrement ) {
                 ++sig;
-                sig &= ~(! (sigExtra & 0x7FFFFFFF) & roundNearEven);
+                sig &= ~(uint64_t) (! (sigExtra & 0x7FFFFFFF) & roundNearEven);
                 exp = ((sig & UINT64_C( 0x8000000000000000 )) != 0);
             }
             goto packReturn;
@@ -211,7 +211,7 @@
             ++exp;
             sig = UINT64_C( 0x8000000000000000 );
         } else {
-            sig &= ~(! (sigExtra & 0x7FFFFFFF) & roundNearEven);
+            sig &= ~(uint64_t) (! (sigExtra & 0x7FFFFFFF) & roundNearEven);
         }
     }
     /*------------------------------------------------------------------------
diff --git a/source/s_roundPackToExtF80.c b/source/s_roundPackToExtF80.c
index 9e54d8e..4644149 100644
--- a/source/s_roundPackToExtF80.c
+++ b/source/s_roundPackToExtF80.c
@@ -4,10 +4,10 @@
 This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
 Package, Release 3, by John R. Hauser.
 
-Copyright 2011, 2012, 2013, 2014 The Regents of the University of California
-(Regents).  All Rights Reserved.  Redistribution and use in source and binary
-forms, with or without modification, are permitted provided that the following
-conditions are met:
+Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
+California (Regents).  All Rights Reserved.  Redistribution and use in source
+and binary forms, with or without modification, are permitted provided that
+the following conditions are met:
 
 Redistributions of source code must retain the above copyright notice,
 this list of conditions, and the following two paragraphs of disclaimer.
@@ -156,8 +156,9 @@
             if ( doIncrement ) {
                 ++sig;
                 sig &=
-                    ~(! (sigExtra & UINT64_C( 0x7FFFFFFFFFFFFFFF ))
-                          & roundNearEven);
+                    ~(uint_fast64_t)
+                         (! (sigExtra & UINT64_C( 0x7FFFFFFFFFFFFFFF ))
+                              & roundNearEven);
                 exp = ((sig & UINT64_C( 0x8000000000000000 )) != 0);
             }
             goto packReturn;
@@ -194,8 +195,9 @@
             sig = UINT64_C( 0x8000000000000000 );
         } else {
             sig &=
-                ~(! (sigExtra & UINT64_C( 0x7FFFFFFFFFFFFFFF ))
-                      & roundNearEven);
+                ~(uint_fast64_t)
+                     (! (sigExtra & UINT64_C( 0x7FFFFFFFFFFFFFFF ))
+                          & roundNearEven);
         }
     } else {
         if ( ! sig ) exp = 0;
diff --git a/source/s_roundPackToF128.c b/source/s_roundPackToF128.c
index f30a51a..3f6395f 100644
--- a/source/s_roundPackToF128.c
+++ b/source/s_roundPackToF128.c
@@ -4,10 +4,10 @@
 This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
 Package, Release 3, by John R. Hauser.
 
-Copyright 2011, 2012, 2013, 2014 The Regents of the University of California
-(Regents).  All Rights Reserved.  Redistribution and use in source and binary
-forms, with or without modification, are permitted provided that the following
-conditions are met:
+Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
+California (Regents).  All Rights Reserved.  Redistribution and use in source
+and binary forms, with or without modification, are permitted provided that
+the following conditions are met:
 
 Redistributions of source code must retain the above copyright notice,
 this list of conditions, and the following two paragraphs of disclaimer.
@@ -130,8 +130,9 @@
         sig64 = sig128.v64;
         sig0 =
             sig128.v0
-                & ~(! (sigExtra & UINT64_C( 0x7FFFFFFFFFFFFFFF ))
-                        & roundNearEven);
+                & ~(uint64_t)
+                       (! (sigExtra & UINT64_C( 0x7FFFFFFFFFFFFFFF ))
+                            & roundNearEven);
     } else {
         if ( ! (sig64 | sig0) ) exp = 0;
     }
diff --git a/source/s_roundPackToF32.c b/source/s_roundPackToF32.c
index fbc3e44..3d5c8a0 100644
--- a/source/s_roundPackToF32.c
+++ b/source/s_roundPackToF32.c
@@ -4,10 +4,10 @@
 This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
 Package, Release 3, by John R. Hauser.
 
-Copyright 2011, 2012, 2013, 2014 The Regents of the University of California
-(Regents).  All Rights Reserved.  Redistribution and use in source and binary
-forms, with or without modification, are permitted provided that the following
-conditions are met:
+Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
+California (Regents).  All Rights Reserved.  Redistribution and use in source
+and binary forms, with or without modification, are permitted provided that
+the following conditions are met:
 
 Redistributions of source code must retain the above copyright notice,
 this list of conditions, and the following two paragraphs of disclaimer.
@@ -80,7 +80,7 @@
     }
     if ( roundBits ) softfloat_exceptionFlags |= softfloat_flag_inexact;
     sig = (sig + roundIncrement)>>7;
-    sig &= ~(! (roundBits ^ 0x40) & roundNearEven);
+    sig &= ~(uint_fast32_t) (! (roundBits ^ 0x40) & roundNearEven);
     uiZ = packToF32UI( sign, sig ? exp : 0, sig );
  uiZ:
     uZ.ui = uiZ;
diff --git a/source/s_roundPackToF64.c b/source/s_roundPackToF64.c
index 9c4a2ba..e92e6ec 100644
--- a/source/s_roundPackToF64.c
+++ b/source/s_roundPackToF64.c
@@ -4,10 +4,10 @@
 This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
 Package, Release 3, by John R. Hauser.
 
-Copyright 2011, 2012, 2013, 2014 The Regents of the University of California
-(Regents).  All Rights Reserved.  Redistribution and use in source and binary
-forms, with or without modification, are permitted provided that the following
-conditions are met:
+Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
+California (Regents).  All Rights Reserved.  Redistribution and use in source
+and binary forms, with or without modification, are permitted provided that
+the following conditions are met:
 
 Redistributions of source code must retain the above copyright notice,
 this list of conditions, and the following two paragraphs of disclaimer.
@@ -83,7 +83,7 @@
     }
     if ( roundBits ) softfloat_exceptionFlags |= softfloat_flag_inexact;
     sig = (sig + roundIncrement)>>10;
-    sig &= ~(! (roundBits ^ 0x200) & roundNearEven);
+    sig &= ~(uint_fast64_t) (! (roundBits ^ 0x200) & roundNearEven);
     uiZ = packToF64UI( sign, sig ? exp : 0, sig );
  uiZ:
     uZ.ui = uiZ;
diff --git a/source/s_roundPackToI32.c b/source/s_roundPackToI32.c
index e07dd00..24bf689 100644
--- a/source/s_roundPackToI32.c
+++ b/source/s_roundPackToI32.c
@@ -4,10 +4,10 @@
 This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
 Package, Release 3, by John R. Hauser.
 
-Copyright 2011, 2012, 2013, 2014 The Regents of the University of California
-(Regents).  All Rights Reserved.  Redistribution and use in source and binary
-forms, with or without modification, are permitted provided that the following
-conditions are met:
+Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
+California (Regents).  All Rights Reserved.  Redistribution and use in source
+and binary forms, with or without modification, are permitted provided that
+the following conditions are met:
 
 Redistributions of source code must retain the above copyright notice,
 this list of conditions, and the following two paragraphs of disclaimer.
@@ -60,7 +60,7 @@
     sig += roundIncrement;
     if ( sig & UINT64_C( 0xFFFFFF8000000000 ) ) goto invalid;
     sig32 = sig>>7;
-    sig32 &= ~(! (roundBits ^ 0x40) & roundNearEven);
+    sig32 &= ~(uint_fast32_t) (! (roundBits ^ 0x40) & roundNearEven);
     uZ.ui = sign ? -sig32 : sig32;
     z = uZ.i;
     if ( z && ((z < 0) ^ sign) ) goto invalid;
diff --git a/source/s_roundPackToI64.c b/source/s_roundPackToI64.c
index dca0778..e0e24af 100644
--- a/source/s_roundPackToI64.c
+++ b/source/s_roundPackToI64.c
@@ -4,10 +4,10 @@
 This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
 Package, Release 3, by John R. Hauser.
 
-Copyright 2011, 2012, 2013, 2014 The Regents of the University of California
-(Regents).  All Rights Reserved.  Redistribution and use in source and binary
-forms, with or without modification, are permitted provided that the following
-conditions are met:
+Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
+California (Regents).  All Rights Reserved.  Redistribution and use in source
+and binary forms, with or without modification, are permitted provided that
+the following conditions are met:
 
 Redistributions of source code must retain the above copyright notice,
 this list of conditions, and the following two paragraphs of disclaimer.
@@ -62,7 +62,9 @@
         ++sig;
         if ( ! sig ) goto invalid;
         sig &=
-            ~(! (sigExtra & UINT64_C( 0x7FFFFFFFFFFFFFFF )) & roundNearEven);
+            ~(uint_fast64_t)
+                 (! (sigExtra & UINT64_C( 0x7FFFFFFFFFFFFFFF ))
+                      & roundNearEven);
     }
     uZ.ui = sign ? -sig : sig;
     z = uZ.i;
diff --git a/source/s_roundPackToUI32.c b/source/s_roundPackToUI32.c
index ca45426..79a34b2 100644
--- a/source/s_roundPackToUI32.c
+++ b/source/s_roundPackToUI32.c
@@ -4,10 +4,10 @@
 This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
 Package, Release 3, by John R. Hauser.
 
-Copyright 2011, 2012, 2013, 2014 The Regents of the University of California
-(Regents).  All Rights Reserved.  Redistribution and use in source and binary
-forms, with or without modification, are permitted provided that the following
-conditions are met:
+Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
+California (Regents).  All Rights Reserved.  Redistribution and use in source
+and binary forms, with or without modification, are permitted provided that
+the following conditions are met:
 
 Redistributions of source code must retain the above copyright notice,
 this list of conditions, and the following two paragraphs of disclaimer.
@@ -58,7 +58,7 @@
     sig += roundIncrement;
     if ( sig & UINT64_C( 0xFFFFFF8000000000 ) ) goto invalid;
     z = sig>>7;
-    z &= ~(! (roundBits ^ 0x40) & roundNearEven);
+    z &= ~(uint_fast32_t) (! (roundBits ^ 0x40) & roundNearEven);
     if ( sign && z ) goto invalid;
     if ( exact && roundBits ) {
         softfloat_exceptionFlags |= softfloat_flag_inexact;
diff --git a/source/s_roundPackToUI64.c b/source/s_roundPackToUI64.c
index 4c1e800..7ef5a78 100644
--- a/source/s_roundPackToUI64.c
+++ b/source/s_roundPackToUI64.c
@@ -4,10 +4,10 @@
 This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
 Package, Release 3, by John R. Hauser.
 
-Copyright 2011, 2012, 2013, 2014 The Regents of the University of California
-(Regents).  All Rights Reserved.  Redistribution and use in source and binary
-forms, with or without modification, are permitted provided that the following
-conditions are met:
+Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
+California (Regents).  All Rights Reserved.  Redistribution and use in source
+and binary forms, with or without modification, are permitted provided that
+the following conditions are met:
 
 Redistributions of source code must retain the above copyright notice,
 this list of conditions, and the following two paragraphs of disclaimer.
@@ -60,7 +60,9 @@
         ++sig;
         if ( ! sig ) goto invalid;
         sig &=
-            ~(! (sigExtra & UINT64_C( 0x7FFFFFFFFFFFFFFF )) & roundNearEven);
+            ~(uint_fast64_t)
+                 (! (sigExtra & UINT64_C( 0x7FFFFFFFFFFFFFFF ))
+                      & roundNearEven);
     }
     if ( sign && sig ) goto invalid;
     if ( exact && sigExtra ) {