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