class DSDTest {
    public static void main(String[] args) {
        Double finish = 2.0;
        if (args.length > 0) {
            try {
                finish = Double.parseDouble(args[0]);
            } catch (NumberFormatException e) {
                System.err.println("Parse " + args[0] + " failed.");
                System.exit(-1);
            }
        }
        Double d = finish/2;
        Double f = d;
        for (int i = 0; i < 54; i++) {
            String s = d.toString();
            assert Double.parseDouble(s) == d;
            System.out.println(
                String.format("%s == %a",s, d)
            );
            if (d == finish) break;
            f /= 2; d += f;
        }
    }
}
