'BEGIN'
    'INTEGER'
        I;
    'REAL'
        X;
    'PROCEDURE' ASS(X, I);
        'REAL'
            X;
        'INTEGER'
            I;
        'IF' I < 0 'THEN'
            X := I + 3
        'ELSE'
            I := 2.0 * X;
    ASS(X, - 1);
    I := 2;
    ASS(X, I);
    ASS(I, I);
    ASS(I, X);
    OUTREAL(99, I);
    OUTREAL(99, X)
'END'