diff -ur --unidirectional-new-file jikes.orig/src/double.cpp work/jikes/src/double.cpp
--- jikes.orig/src/double.cpp	Fri Aug 20 07:44:21 1999
+++ work/jikes/src/double.cpp	Wed Sep 15 10:57:34 1999
@@ -270,7 +270,7 @@
     *this = *this / op;
 #else /* IEEE_DIV_0 */
     *this = (op.FloatValue() == 0.0
-                              ? (*this < (float) 0.0
+                              ? (IEEEfloat) (*this < (float) 0.0
                                        ? IEEEdouble::NEGATIVE_INFINITY()
                                        : *this == (float) 0.0
                                                 ? IEEEdouble::NaN()
@@ -297,13 +297,13 @@
 #ifndef IEEE_DIV_0
     quotient = dividend.DoubleValue() / divisor.DoubleValue();
 #else /* IEEE_DIV_0 */
-    quotient = (divisor.DoubleValue() == 0
+    quotient = (divisor.DoubleValue() == 0.0
                                        ? (dividend.DoubleValue() < 0.0
                                                                  ? NEGATIVE_INFINITY()
                                                                  : dividend.DoubleValue() == 0.0
                                                                                            ? NaN()
                                                                                            : POSITIVE_INFINITY())
-                                       : dividend.DoubleValue() / divisor.DoubleValue());
+                                       : IEEEdouble(dividend.DoubleValue() / divisor.DoubleValue()));
 #endif /* IEEE_DIV_0 */
 
     return;
