
'BEGIN'

    'COMMENT' library 1;

    'ARRAY' 
        a0[1 : 10], 
        a1[1 : 10], 
        a2[1 : 10], 
        a3[1 : 10], 
        a4[1 : 10], 
        a5[1 : 10], 
        a6[1 : 10], 
        a7[1 : 10], 
        a8[1 : 10], 
        a9[1 : 10], 
        a10[1 : 10], 
        a11[1 : 10], 
        a12[1 : 10], 
        a13[1 : 10], 
        a14[1 : 10], 
        a15[1 : 10], 
        a16[1 : 10], 
        a17[1 : 10], 
        a18[1 : 10], 
        a19[1 : 10], 
        a20[1 : 10], 
        a21[1 : 10], 
        a22[1 : 10], 
        a23[1 : 10], 
        a24[1 : 10], 
        a25[1 : 10], 
        a26[1 : 10], 
        a27[1 : 10], 
        a28[1 : 10], 
        a29[1 : 10], 
        a30[1 : 10], 
        a31[1 : 10], 
        a32[1 : 10], 
        a33[1 : 10], 
        a34[1 : 10], 
        a35[1 : 10], 
        a36[1 : 10], 
        a37[1 : 10], 
        a38[1 : 10], 
        a39[1 : 10], 
        a40[1 : 10], 
        a41[1 : 10], 
        a42[1 : 10], 
        a43[1 : 10], 
        a44[1 : 10], 
        a45[1 : 10], 
        a46[1 : 10], 
        a47[1 : 10], 
        a48[1 : 10], 
        a49[1 : 10], 
        a50[1 : 10], 
        a51[1 : 10], 
        a52[1 : 10], 
        a53[1 : 10], 
        a54[1 : 10], 
        a55[1 : 10], 
        a56[1 : 10], 
        a57[1 : 10], 
        a58[1 : 10], 
        a59[1 : 10]; 
    a0[1] := 1.0; 
    a1[1] := 1.0; 
    a2[1] := 1.0; 
    a3[1] := 1.0; 
    a4[1] := 1.0; 
    a5[1] := 1.0; 
    a6[1] := 1.0; 
    a7[1] := 1.0; 
    a8[1] := 1.0; 
    a9[1] := 1.0; 
    a10[1] := 1.0; 
    a11[1] := 1.0; 
    a12[1] := 1.0; 
    a13[1] := 1.0; 
    a14[1] := 1.0; 
    a15[1] := 1.0; 
    a16[1] := 1.0; 
    a17[1] := 1.0; 
    a18[1] := 1.0; 
    a19[1] := 1.0; 
    a20[1] := 1.0; 
    a21[1] := 1.0; 
    a22[1] := 1.0; 
    a23[1] := 1.0; 
    a24[1] := 1.0; 
    a25[1] := 1.0; 
    a26[1] := 1.0; 
    a27[1] := 1.0; 
    a28[1] := 1.0; 
    a29[1] := 1.0; 
    a30[1] := 1.0; 
    a31[1] := 1.0; 
    a32[1] := 1.0; 
    a33[1] := 1.0; 
    a34[1] := 1.0; 
    a35[1] := 1.0; 
    a36[1] := 1.0; 
    a37[1] := 1.0; 
    a38[1] := 1.0; 
    a39[1] := 1.0; 
    a40[1] := 1.0; 
    a41[1] := 1.0; 
    a42[1] := 1.0; 
    a43[1] := 1.0; 
    a44[1] := 1.0; 
    a45[1] := 1.0; 
    a46[1] := 1.0; 
    a47[1] := 1.0; 
    a48[1] := 1.0; 
    a49[1] := 1.0; 
    a50[1] := 1.0; 
    a51[1] := 1.0; 
    a52[1] := 1.0; 
    a53[1] := 1.0; 
    a54[1] := 1.0; 
    a55[1] := 1.0; 
    a56[1] := 1.0; 
    a57[1] := 1.0; 
    a58[1] := 1.0; 
    a59[1] := 1.0; 
    outreal(1, a0[1] + a1[1] + a2[1] + a3[1] + a4[1] + a5[1] + a6[1]
        + a7[1] + a8[1] + a9[1] + a10[1] + a11[1] + a12[1] +
        a13[1] + a14[1] + a15[1] + a16[1] + a17[1] + a18[1] +
        a19[1] + a20[1] + a21[1] + a22[1] + a23[1] + a24[1] +
        a25[1] + a26[1] + a27[1] + a28[1] + a29[1] + a30[1] +
        a31[1] + a32[1] + a33[1] + a34[1] + a35[1] + a36[1] +
        a37[1] + a38[1] + a39[1] + a40[1] + a41[1] + a42[1] +
        a43[1] + a44[1] + a45[1] + a46[1] + a47[1] + a48[1] +
        a49[1] + a50[1] + a51[1] + a52[1] + a53[1] + a54[1] +
        a55[1] + a56[1] + a57[1] + a58[1] + a59[1]); 
'END' 


!ALGOL

'BEGIN'

    'COMMENT' library 1;

    'INTEGER' 'PROCEDURE' iabs(i); 
        'VALUE' 
            i; 
        'INTEGER' 
            i; 
        iabs := 
            'IF' i < 0 'THEN' 
                - i
            'ELSE'
                i; 

    'INTEGER' 
        i, 
        j, 
        k; 
    i := j := k := 1; 
    'BEGIN'
        'ARRAY' 
            a[('IF' iabs(j * k 'DIV' i) > 3 * i - k 'THEN' - 60 'ELSE' 1) :
                ('IF' iabs(j * k 'DIV' i) > 3 * i - k 'THEN' - 60 'ELSE' 1)
                * 3.0 - 1.6 + 10.2], 
            a2[('IF' iabs(j * k 'DIV' i) > 3 * i - k 'THEN' - 60 'ELSE' 1)
                * 3.0 - 1.6 - 4 : ('IF' iabs(j * k 'DIV' i) > 3 * i - k
                'THEN' - 60 'ELSE' 1), ('IF' iabs(j * k 'DIV' i) > 3 * i - k
                'THEN' - 60 'ELSE' 1) * 3.0 - 1.6 - 4 : ('IF' iabs(j * k
                'DIV' i) > 3 * i - k 'THEN' - 60 'ELSE' 1)]; 
        'BOOLEAN' 
            b; 
        'SWITCH' s := 
            l1, 
            'IF' ('IF' iabs(j * k 'DIV' i) > 3 * i - k 'THEN' - 60 'ELSE' 1)
                > 6 'THEN' l1 'ELSE' l2, 
            l2; 
        a[('IF' iabs(j * k 'DIV' i) > 3 * i - k 'THEN' - 60 'ELSE' 1)] :=
            a2[('IF' iabs(j * k 'DIV' i) > 3 * i - k 'THEN' - 60 'ELSE' 1),
            ('IF' iabs(j * k 'DIV' i) > 3 * i - k 'THEN' - 60 'ELSE' 1)]
            := ('IF' iabs(j * k 'DIV' i) > 3 * i - k 'THEN' - 60 'ELSE' 1)
            * 3.0 - 1.6; 
        b := ('IF' iabs(j * k 'DIV' i) > 3 * i - k 'THEN' - 60 'ELSE' 1) >
            6; 
      l1 :; 
        'GOTO' 
            'IF' ('IF' iabs(j * k 'DIV' i) > 3 * i - k 'THEN' - 60 'ELSE' 1)
                > 6 'THEN' 
                l1
            'ELSE'
                l2; 
      l2 :; 
        'FOR' i := 1 'STEP' ('IF' iabs(j * k 'DIV' i) > 3 * i - k 'THEN' -
                60 'ELSE' 1) 'UNTIL' ('IF' iabs(j * k 'DIV' i) > 3 * i - k
                'THEN' - 60 'ELSE' 1) 'DO'
            a[i] := ('IF' iabs(j * k 'DIV' i) > 3 * i - k 'THEN' - 60
                'ELSE' 1) * 3.0 - 1.6; 
        'FOR' i := ('IF' iabs(j * k 'DIV' i) > 3 * i - k 'THEN' - 60 'ELSE'
                1), 
            ('IF' iabs(j * k 'DIV' i) > 3 * i - k 'THEN' - 60 'ELSE' 1) +
                1, 
            ('IF' iabs(j * k 'DIV' i) > 3 * i - k 'THEN' - 60 'ELSE' 1) + 10
                'DO'
            a[i] := ('IF' iabs(j * k 'DIV' i) > 3 * i - k 'THEN' - 60
                'ELSE' 1); 
        'IF' ('IF' iabs(j * k 'DIV' i) > 3 * i - k 'THEN' - 60 'ELSE' 1) > 6
            'THEN' 
            'GOTO' s[('IF' iabs(j * k 'DIV' i) > 3 * i - k 'THEN' - 60
                'ELSE' 1) * 3.0 - 1.6]
        'ELSE'
            'FOR' i := ('IF' iabs(j * k 'DIV' i) > 3 * i - k 'THEN' - 60
                    'ELSE' 1) 'STEP' 10 'UNTIL' ('IF' iabs(j * k 'DIV' i) > 3
                    * i - k 'THEN' - 60 'ELSE' 1) - 1 'DO'
                'FOR' j := ('IF' iabs(j * k 'DIV' i) > 3 * i - k 'THEN' -
                        60 'ELSE' 1) 'WHILE' ('IF' iabs(j * k 'DIV' i) > 3
                        * i - k 'THEN' - 60 'ELSE' 1) > 6 'DO'
                   ; 
        i := iabs(('IF' iabs(j * k 'DIV' i) > 3 * i - k 'THEN' - 60 'ELSE'
            1)); 
        j := iabs(('IF' iabs(j * k 'DIV' i) > 3 * i - k 'THEN' - 60 'ELSE'
            1) * 3.0 - 1.6); 
        outreal(1, i + j + ('IF' iabs(j * k 'DIV' i) > 3 * i - k 'THEN' -
            60 'ELSE' 1) * 3.0 - 1.6 + ('IF' iabs(j * k 'DIV' i) > 3 * i -
            k 'THEN' - 60 'ELSE' 1) + a[1] + a2[1, 1]); 
    'END' 
'END' 


!ALGOL

'BEGIN'

    'COMMENT' library5;

    'INTEGER' 
        i, 
        j; 
    'FOR' i := - 2, 
         - 1, 
        1, 
        2 'DO'
        'FOR' j := - 2 'STEP' 1 'UNTIL' 2 'DO'
            'IF' j 'DIV' i \= sign(j / i) * entier(abs(j / i))
                'THEN' 
                'BEGIN'
                outreal(1, j); 
                outreal(1, i); 
                outreal(1, j 'DIV' i)
                'END'; 
'END' 



!ALGOL

'BEGIN'

    'COMMENT' library5;

    'INTEGER' 'PROCEDURE' tsign(x); 
        'VALUE' 
            x; 
        'REAL' 
            x; 
        tsign := 
            'IF' x > 0 'THEN' 
                1
            'ELSE' 'IF' x < 0 'THEN' 
                 - 1
            'ELSE'
                0; 

    'INTEGER' 'PROCEDURE' tentier(x); 
        'VALUE' 
            x; 
        'REAL' 
            x; 
        tentier := x - .5; 

    'REAL' 'PROCEDURE' tabs(x); 
        'VALUE' 
            x; 
        'REAL' 
            x; 
        tabs := 
            'IF' x < 0 'THEN' 
                 - x
            'ELSE'
                x; 

    'REAL' 
        x; 
    'FOR' x := - 100, 
         - 100.1, 
         - 99.4, 
         - .4, 
         - .1, 
        0, 
        .1, 
        .4, 
        .6, 
        300 'DO'
        'IF' tsign(x) \= sign(x) 'OR' tentier(x) \= entier(x) 'OR'
            tabs(x) \= abs(x) 'THEN' 
            outreal(1, x)
'END' 


!ALGOL

'BEGIN'

    'COMMENT' library9;


    'INTEGER' 'ARRAY' 
        eq[1 : 9]; 
    'INTEGER' 
        i; 
    'REAL' 
        x, 
        y; 
    'PROCEDURE' print eq; 
        'FOR' i := 1 'STEP' 1 'UNTIL' 9 'DO'
            outreal(1, eq[i]); 

    'PROCEDURE' test(a, b, c); 
        'VALUE' 
            a, 
            b, 
            c; 
        'REAL' 
            a, 
            b, 
            c; 
        'BEGIN'
        'PROCEDURE' inc(a, b, i); 
            'VALUE' 
                a, 
                b, 
                i; 
            'REAL' 
                a, 
                b; 
            'INTEGER' 
                i; 
            'IF' a < b 'THEN' 
                eq[i] := eq[i] + 1
            'ELSE' 'IF' a = b 'THEN' 
                eq[i + 1] := eq[i + 1] + 1
            'ELSE'
                eq[i + 2] := eq[i + 2] + 1; 

        inc(a, b, 1); 
        inc(b, c, 4); 
        inc(c, a, 7)
        'END'; 

     
    'FOR' i := 1 'STEP' 1 'UNTIL' 9 'DO'
        eq[i] := 0; 
    i := 1; 
    'FOR' x :=  
    0.01,    0.02,    0.03,    0.04,    0.05,
    0.06,    0.07,    0.08,    0.09,    0.10,
    0.11,    0.12,    0.13,    0.14,    0.15,
    0.16,    0.17,    0.18,    0.19,    0.20,
    0.21,    0.22,    0.23,    0.24,    0.25,
    0.26,    0.27,    0.28,    0.29,    0.30,
    0.31,    0.32,    0.33,    0.34,    0.35,
    0.36,    0.37,    0.38,    0.39,    0.40,
    0.41,    0.42,    0.43,    0.44,    0.45,
    0.46,    0.47,    0.48,    0.49,    0.50,
    0.51,    0.52,    0.53,    0.54,    0.55,
    0.56,    0.57,    0.58,    0.59,    0.60,
    0.61,    0.62,    0.63,    0.64,    0.65,
    0.66,    0.67,    0.68,    0.69,    0.70,
    0.71,    0.72,    0.73,    0.74,    0.75,
    0.76,    0.77,    0.78,    0.79,    0.80,
    0.81,    0.82,    0.83,    0.84,    0.85,
    0.86,    0.87,    0.88,    0.89,    0.90,
    0.91,    0.92,    0.93,    0.94,    0.95,
    0.96,    0.97,    0.98,    0.99,    1.00
         'DO'
        'BEGIN'
        inreal(1, y); 
        test(x, y, i / 100); 
        i := i + 1
        'END'; 
    printeq; 
    i := 1; 
    'FOR' x :=  
  100.01,  100.02,  100.03,  100.04,  100.05,
  100.06,  100.07,  100.08,  100.09,  100.10,
  100.11,  100.12,  100.13,  100.14,  100.15,
  100.16,  100.17,  100.18,  100.19,  100.20,
  100.21,  100.22,  100.23,  100.24,  100.25,
  100.26,  100.27,  100.28,  100.29,  100.30,
  100.31,  100.32,  100.33,  100.34,  100.35,
  100.36,  100.37,  100.38,  100.39,  100.40,
  100.41,  100.42,  100.43,  100.44,  100.45,
  100.46,  100.47,  100.48,  100.49,  100.50,
  100.51,  100.52,  100.53,  100.54,  100.55,
  100.56,  100.57,  100.58,  100.59,  100.60,
  100.61,  100.62,  100.63,  100.64,  100.65,
  100.66,  100.67,  100.68,  100.69,  100.70,
  100.71,  100.72,  100.73,  100.74,  100.75,
  100.76,  100.77,  100.78,  100.79,  100.80,
  100.81,  100.82,  100.83,  100.84,  100.85,
  100.86,  100.87,  100.88,  100.89,  100.90,
  100.91,  100.92,  100.93,  100.94,  100.95,
  100.96,  100.97,  100.98,  100.99,  101.00
         'DO'
        'BEGIN'
        inreal(1, y); 
        test(x, y, 100 + i / 100); 
        i := i + 1
        'END'; 
    printeq; 
    i := 1; 
    'FOR' x :=  
10000.01,10000.02,10000.03,10000.04,10000.05,
10000.06,10000.07,10000.08,10000.09,10000.10,
10000.11,10000.12,10000.13,10000.14,10000.15,
10000.16,10000.17,10000.18,10000.19,10000.20,
10000.21,10000.22,10000.23,10000.24,10000.25,
10000.26,10000.27,10000.28,10000.29,10000.30,
10000.31,10000.32,10000.33,10000.34,10000.35,
10000.36,10000.37,10000.38,10000.39,10000.40,
10000.41,10000.42,10000.43,10000.44,10000.45,
10000.46,10000.47,10000.48,10000.49,10000.50,
10000.51,10000.52,10000.53,10000.54,10000.55,
10000.56,10000.57,10000.58,10000.59,10000.60,
10000.61,10000.62,10000.63,10000.64,10000.65,
10000.66,10000.67,10000.68,10000.69,10000.70,
10000.71,10000.72,10000.73,10000.74,10000.75,
10000.76,10000.77,10000.78,10000.79,10000.80,
10000.81,10000.82,10000.83,10000.84,10000.85,
10000.86,10000.87,10000.88,10000.89,10000.90,
10000.91,10000.92,10000.93,10000.94,10000.95,
10000.96,10000.97,10000.98,10000.99,10001.00
         'DO'
        'BEGIN'
        inreal(1, y); 
        test(x, y, 10000 + i / 100); 
        i := i + 1
        'END'; 
    printeq; 
i := 2;
    'FOR' x :=
 0.33333333333333333333,
 0.12500000000000000000,
 0.06666666666666666667,
 0.04166666666666666667,
 0.02857142857142857143,
 0.02083333333333333333,
 0.01587301587301587302,
 0.01250000000000000000,
 0.01010101010101010101,
 0.00833333333333333333,
 0.00699300699300699301,
 0.00595238095238095238,
 0.00512820512820512821,
 0.00446428571428571429,
 0.00392156862745098039,
 0.00347222222222222222,
 0.00309597523219814241,
 0.00277777777777777778,
 0.00250626566416040100,
 0.00227272727272727273,
 0.00207039337474120083,
 0.00189393939393939394,
 0.00173913043478260870,
 0.00160256410256410256,
 0.00148148148148148148,
 0.00137362637362637363,
 0.00127713920817369093,
 0.00119047619047619048,
 0.00111234705228031146,
 0.00104166666666666667,
 0.00097751710654936461,
 0.00091911764705882353,
 0.00086580086580086580,
 0.00081699346405228758,
 0.00077220077220077220,
 0.00073099415204678363,
 0.00069300069300069300,
 0.00065789473684210526,
 0.00062539086929330832,
 0.00059523809523809524,
 0.00056721497447532615,
 0.00054112554112554113,
 0.00051679586563307494,
 0.00049407114624505929,
 0.00047281323877068558,
 0.00045289855072463768,
 0.00043421623968736431,
 0.00041666666666666667,
 0.00040016006402561024,
 0.00038461538461538462,
 0.00036995930447650758,
 0.00035612535612535613,
 0.00034305317324185249,
 0.00033068783068783069,
 0.00031897926634768740,
 0.00030788177339901478,
 0.00029735355337496283,
 0.00028735632183908046,
 0.00027785495971103084,
 0.00026881720430107527,
 0.00026021337496747333,
 0.00025201612903225806,
 0.00024420024420024420,
 0.00023674242424242424,
 0.00022962112514351320,
 0.00022281639928698752,
 0.00021630975556997621,
 0.00021008403361344538,
 0.00020412329046744234,
 0.00019841269841269841,
 0.00019293845263360988,
 0.00018768768768768769,
 0.00018264840182648402,
 0.00017780938833570413,
 0.00017316017316017316,
 0.00016869095816464238,
 0.00016439256945586060,
 0.00016025641025641026,
 0.00015627441787779341,
 0.00015243902439024390,
 0.00014874312063067083,
 0.00014518002322880372,
 0.00014174344436569809,
 0.00013842746400885936,
 0.00013522650439486139,
 0.00013213530655391121,
 0.00012914890869172155,
 0.00012626262626262626,
 0.00012347203358439313,
 0.00012077294685990338,
 0.00011816140848398913,
 0.00011563367252543941,
 0.00011318619128466327,
 0.00011081560283687943,
 0.00010851871947911015,
 0.00010629251700680272,
 0.00010413412475268145,
 0.00010204081632653061,
 0.00010001000100010001
    'DO'
        'BEGIN'
        inreal(1, y);
        test(x, y, 1 / ( i * i - 1 ) );
        i := i + 1
        'END';
    printeq;
     
'END'
----


    0.01,    0.02,    0.03,    0.04,    0.05,
    0.06,    0.07,    0.08,    0.09,    0.10,
    0.11,    0.12,    0.13,    0.14,    0.15,
    0.16,    0.17,    0.18,    0.19,    0.20,
    0.21,    0.22,    0.23,    0.24,    0.25,
    0.26,    0.27,    0.28,    0.29,    0.30,
    0.31,    0.32,    0.33,    0.34,    0.35,
    0.36,    0.37,    0.38,    0.39,    0.40,
    0.41,    0.42,    0.43,    0.44,    0.45,
    0.46,    0.47,    0.48,    0.49,    0.50,
    0.51,    0.52,    0.53,    0.54,    0.55,
    0.56,    0.57,    0.58,    0.59,    0.60,
    0.61,    0.62,    0.63,    0.64,    0.65,
    0.66,    0.67,    0.68,    0.69,    0.70,
    0.71,    0.72,    0.73,    0.74,    0.75,
    0.76,    0.77,    0.78,    0.79,    0.80,
    0.81,    0.82,    0.83,    0.84,    0.85,
    0.86,    0.87,    0.88,    0.89,    0.90,
    0.91,    0.92,    0.93,    0.94,    0.95,
    0.96,    0.97,    0.98,    0.99,    1.00,
  100.01,  100.02,  100.03,  100.04,  100.05,
  100.06,  100.07,  100.08,  100.09,  100.10,
  100.11,  100.12,  100.13,  100.14,  100.15,
  100.16,  100.17,  100.18,  100.19,  100.20,
  100.21,  100.22,  100.23,  100.24,  100.25,
  100.26,  100.27,  100.28,  100.29,  100.30,
  100.31,  100.32,  100.33,  100.34,  100.35,
  100.36,  100.37,  100.38,  100.39,  100.40,
  100.41,  100.42,  100.43,  100.44,  100.45,
  100.46,  100.47,  100.48,  100.49,  100.50,
  100.51,  100.52,  100.53,  100.54,  100.55,
  100.56,  100.57,  100.58,  100.59,  100.60,
  100.61,  100.62,  100.63,  100.64,  100.65,
  100.66,  100.67,  100.68,  100.69,  100.70,
  100.71,  100.72,  100.73,  100.74,  100.75,
  100.76,  100.77,  100.78,  100.79,  100.80,
  100.81,  100.82,  100.83,  100.84,  100.85,
  100.86,  100.87,  100.88,  100.89,  100.90,
  100.91,  100.92,  100.93,  100.94,  100.95,
  100.96,  100.97,  100.98,  100.99,  101.00,
10000.01,10000.02,10000.03,10000.04,10000.05,
10000.06,10000.07,10000.08,10000.09,10000.10,
10000.11,10000.12,10000.13,10000.14,10000.15,
10000.16,10000.17,10000.18,10000.19,10000.20,
10000.21,10000.22,10000.23,10000.24,10000.25,
10000.26,10000.27,10000.28,10000.29,10000.30,
10000.31,10000.32,10000.33,10000.34,10000.35,
10000.36,10000.37,10000.38,10000.39,10000.40,
10000.41,10000.42,10000.43,10000.44,10000.45,
10000.46,10000.47,10000.48,10000.49,10000.50,
10000.51,10000.52,10000.53,10000.54,10000.55,
10000.56,10000.57,10000.58,10000.59,10000.60,
10000.61,10000.62,10000.63,10000.64,10000.65,
10000.66,10000.67,10000.68,10000.69,10000.70,
10000.71,10000.72,10000.73,10000.74,10000.75,
10000.76,10000.77,10000.78,10000.79,10000.80,
10000.81,10000.82,10000.83,10000.84,10000.85,
10000.86,10000.87,10000.88,10000.89,10000.90,
10000.91,10000.92,10000.93,10000.94,10000.95,
10000.96,10000.97,10000.98,10000.99,10001.00,


 0.33333333333333333333,
 0.12500000000000000000,
 0.06666666666666666667,
 0.04166666666666666667,
 0.02857142857142857143,
 0.02083333333333333333,
 0.01587301587301587302,
 0.01250000000000000000,
 0.01010101010101010101,
 0.00833333333333333333,
 0.00699300699300699301,
 0.00595238095238095238,
 0.00512820512820512821,
 0.00446428571428571429,
 0.00392156862745098039,
 0.00347222222222222222,
 0.00309597523219814241,
 0.00277777777777777778,
 0.00250626566416040100,
 0.00227272727272727273,
 0.00207039337474120083,
 0.00189393939393939394,
 0.00173913043478260870,
 0.00160256410256410256,
 0.00148148148148148148,
 0.00137362637362637363,
 0.00127713920817369093,
 0.00119047619047619048,
 0.00111234705228031146,
 0.00104166666666666667,
 0.00097751710654936461,
 0.00091911764705882353,
 0.00086580086580086580,
 0.00081699346405228758,
 0.00077220077220077220,
 0.00073099415204678363,
 0.00069300069300069300,
 0.00065789473684210526,
 0.00062539086929330832,
 0.00059523809523809524,
 0.00056721497447532615,
 0.00054112554112554113,
 0.00051679586563307494,
 0.00049407114624505929,
 0.00047281323877068558,
 0.00045289855072463768,
 0.00043421623968736431,
 0.00041666666666666667,
 0.00040016006402561024,
 0.00038461538461538462,
 0.00036995930447650758,
 0.00035612535612535613,
 0.00034305317324185249,
 0.00033068783068783069,
 0.00031897926634768740,
 0.00030788177339901478,
 0.00029735355337496283,
 0.00028735632183908046,
 0.00027785495971103084,
 0.00026881720430107527,
 0.00026021337496747333,
 0.00025201612903225806,
 0.00024420024420024420,
 0.00023674242424242424,
 0.00022962112514351320,
 0.00022281639928698752,
 0.00021630975556997621,
 0.00021008403361344538,
 0.00020412329046744234,
 0.00019841269841269841,
 0.00019293845263360988,
 0.00018768768768768769,
 0.00018264840182648402,
 0.00017780938833570413,
 0.00017316017316017316,
 0.00016869095816464238,
 0.00016439256945586060,
 0.00016025641025641026,
 0.00015627441787779341,
 0.00015243902439024390,
 0.00014874312063067083,
 0.00014518002322880372,
 0.00014174344436569809,
 0.00013842746400885936,
 0.00013522650439486139,
 0.00013213530655391121,
 0.00012914890869172155,
 0.00012626262626262626,
 0.00012347203358439313,
 0.00012077294685990338,
 0.00011816140848398913,
 0.00011563367252543941,
 0.00011318619128466327,
 0.00011081560283687943,
 0.00010851871947911015,
 0.00010629251700680272,
 0.00010413412475268145,
 0.00010204081632653061,
 0.00010001000100010001,
++++


!ALGOL

'BEGIN'

    'COMMENT' library5;

    'INTEGER' 
        i, 
        j, 
        case; 
    'REAL' 
        x, 
        y; 
    'PROCEDURE' requal(a, b); 
        'VALUE' 
            a, 
            b; 
        'REAL' 
            a, 
            b; 
        'IF' a \= b 'THEN' 
            'BEGIN'
            outreal(1, a); 
            outreal(1, b); 
            outreal(1, case)
            'END' 
        'ELSE'
            case := case + 1; 

    case := 1; 
    x := 2.0; 
    y := 3.0; 
    i := 2; 
    j := 3; 
    requal(x^i, 4.0); 
    'IF' i^j \= 8 'THEN' 
        'BEGIN'
        outreal(1, i^j); 
        outreal(1, 8); 
        'END'; 
    requal(x^0, 1.0); 
    'IF' i^0 \= 1 'THEN'
        'BEGIN'
        outreal(1, i^0);
        outreal(1, 1)
        'END';
    requal(x^( - i), 1.0 / (2.0 * 2.0)); 
    requal(i^( - i), 1.0 / (2.0 * 2.0)); 
    requal(x^y, exp(y * ln(x))); 
    requal(j^y, exp(y * ln(j))); 
    requal(0.0^x, 0.0); 
    requal(0^x, 0.0); 

    'COMMENT'   should fail;

    requal(( - x)^y, - 1)
'END' 



!ALGOL

'BEGIN'

    'COMMENT' library 1;

    'INTEGER' 
        i; 
    'REAL' 
        x; 
    i := 0; 
    x := 0.0; 
    outreal(1, x^i)
'END' 


!ALGOL

'BEGIN'

    'COMMENT' library 1;

    'INTEGER' 
        i; 
    i := 0; 
    outreal(1, i^i)
'END' 


!ALGOL

'BEGIN'

    'COMMENT' library 1;

    'REAL' 
        x; 
    x := - 1.0; 
    outreal(1, 0.0^x)
'END' 




!ALGOL

'BEGIN'

    'COMMENT' library 1;

    'REAL' 
        x; 
    x := - 1.0; 
    outreal(1, 0^x)
'END' 


!KDF9
