anchor.diff:      ?assertEqual("4503599627370496.0",
                    digits(4503599627370496.0)),
       %% small denormalized number
  -    %% 4.94065645841246544177e-324
  +    %% 4.94065645841246544177e-324 =:= 5.0e-324
       <<SmallDenorm/float>> = <<0,0,0,0,0,0,0,1>>,
  -    ?assertEqual("4.9406564584124654e-324",
  +    ?assertEqual("5.0e-324",
                    digits(SmallDenorm)),
       ?assertEqual(SmallDenorm,
                    list_to_float(digits(SmallDenorm))),
  
positive.code: -ifdef(TEST).
  
  int_ceil_test() ->
      1 = int_ceil(0.0001),
      0 = int_ceil(0.0),
      1 = int_ceil(0.99),
      1 = int_ceil(1.0),
      -1 = int_ceil(-1.5),
      -2 = int_ceil(-2.0),
      ok.
  
  int_pow_test() ->
      1 = int_pow(1, 1),
      1 = int_pow(1, 0),
      1 = int_pow(10, 0),
      10 = int_pow(10, 1),
      100 = int_pow(10, 2),
      1000 = int_pow(10, 3),
      ok.
  
  digits_test() ->
  
negative.code: digits(0.0) ->
      "0.0";
  digits(Float) ->
      {Frac1, Exp1} = frexp_int(Float),
      [Place0 | Digits0] = digits1(Float, Exp1, Frac1),
      {Place, Digits} = transform_digits(Place0, Digits0),
      R = insert_decimal(Place, Digits),
      case Float < 0 of
          true ->
              [$- | R];
  