class DoublePrint {

  static final double[] dcases = {
    0.0,
    Double.longBitsToDouble(0x8000000000000000L),
    Double.NaN,
    Double.POSITIVE_INFINITY,
    Double.NEGATIVE_INFINITY,
    Double.MIN_VALUE,
    Double.MAX_VALUE,
    123.75,
    -0.9e7,
    1e-3,
    1.05e9,
  };

  static final float[] fcases = {
    0.0f,
    Float.intBitsToFloat(0x80000000),
    Float.NaN,
    Float.POSITIVE_INFINITY,
    Float.NEGATIVE_INFINITY,
    Float.MIN_VALUE,
    Float.MAX_VALUE,
    123.75f,
    1e7f,
    -1e-3f,
  };

  public static void main(String[] args) {
    System.out.println("Double values:");
    System.out.println("  NaN -> " +
      Long.toString(
      Double.doubleToLongBits(
      Double.longBitsToDouble(0x7ff000abacab0000L)), 16));
    for (int k = 0; k < dcases.length; k++) {
      System.out.println("  " + dcases[k]);
    }
    System.out.println("Float values:");
    System.out.println("  NaN -> " +
      Integer.toString(
      Float.floatToIntBits(
      Float.intBitsToFloat(0x7f80cb01)), 16));
    for (int k = 0; k < fcases.length; k++) {
      System.out.println("  " + fcases[k]);
    }
  }
}

/* Expected output:
Double values:
  NaN -> 7ff8000000000000
  0.0
  -0.0
  NaN
  Infinity
  -Infinity
  4.9406564584124654E-324
  1.7976931348623157E+308
  123.75
  -9000000.0
  0.001
  1.05E+9
Float values:
  NaN -> 7fc00000
  0.0
  -0.0
  NaN
  Infinity
  -Infinity
  1.4012985E-45
  3.4028235E+38
  123.75
  1.0E+7
  -0.001
*/


@@ -653,24 +653,27 @@
  Long.to
+Hex
 String(%0A
       Do
@@ -660,24 +660,24 @@
 oHexString(%0A
-
       Double
@@ -746,20 +746,16 @@
 b0000L))
-, 16
 ));%0A    
@@ -846,16 +846,106 @@
 ;%0A    %7D%0A
+    System.out.println(%22  0.0/0.0 = %22 + (dmeth() / dmeth()));%0A%0A    System.out.println();%0A%0A
     Syst
@@ -1030,16 +1030,19 @@
 teger.to
+Hex
 String(%0A
@@ -1112,12 +1112,8 @@
 01))
-, 16
 ));%0A
@@ -1208,16 +1208,186 @@
 ;%0A    %7D%0A
+    System.out.println(%22  0.0/0.0 = %22 + (dmeth() / dmeth()));%0A  %7D%0A%0A  public static double dmeth() %7B%0A    return 0.0;%0A  %7D%0A%0A  public static float fmeth() %7B%0A    return 0.0f;%0A
   %7D%0A%7D%0A%0A/
@@ -1580,16 +1580,33 @@
 1.05E+9%0A
+  0.0/0.0 = NaN%0A%0A
 Float va
@@ -1721,16 +1721,16 @@
  1.0E+7%0A
-
   -0.001
@@ -1730,12 +1730,28 @@
  -0.001%0A
+  0.0/0.0 = NaN%0A
 */%0A%0A

Add a test for the actual computation of 0.0/0.0 which should equal NaN. Note: this test currently fails due to a bug in kaffe.