public class SimpleExample extends java.lang.Object
{

    public void <init>()
    {
        SimpleExample r0;

        r0 := @this: SimpleExample;

        specialinvoke r0.<java.lang.Object: void <init>()>();

        return;
    }

    public static void main(java.lang.String[])
    {
        java.lang.String[] r0;
        SimpleExample $r2;

        r0 := @parameter0: java.lang.String[];

        $r2 = new SimpleExample;

        specialinvoke $r2.<SimpleExample: void <init>()>();

        virtualinvoke $r2.<SimpleExample: void foo()>();

        return;
    }

    public void foo()
    {
        SimpleExample r0;
        int[] r1, r2, r3;
        int i1, $i2, $i3, $i4, $i5, $i6, $i7, $i8, $i9, $i10, $i11, $i12, i13, i14;
        java.io.PrintStream $r5;

        r0 := @this: SimpleExample;

        r1 = newarray (int)[8];

        r2 = newarray (int)[8];

        i13 = 0;

        i14 = 0;

     label1:
        $i2 = 8 / 2;

        r3 = newarray (int)[$i2];

     label2:
        if i13 >= 8 goto label3;

        $i5 = r1[i13];

        $i3 = i13 + 1;

        $i4 = r1[$i3];

        i1 = virtualinvoke r0.<SimpleExample: int lt(int,int)>($i5, $i4);

        $i6 = r1[i13];

        $i11 = i1 * $i6;

        $i9 = 1 - i1;

        $i7 = i13 + 1;

        $i8 = r1[$i7];

        $i10 = $i9 * $i8;

        $i12 = $i11 + $i10;

        r3[i14] = $i12;

        i13 = i13 + 2;

        i14 = i14 + 1;

        goto label2;

     label3:
        $r5 = <java.lang.System: java.io.PrintStream out>;

        virtualinvoke $r5.<java.io.PrintStream: void println(java.lang.Object)>(r3);

        goto label1;
    }

    public int lt(int, int)
    {
        SimpleExample r0;
        int i0, i1;

        r0 := @this: SimpleExample;

        i0 := @parameter0: int;

        i1 := @parameter1: int;

        if i0 <= i1 goto label1;

        return 1;

     label1:
        return 0;
    }
}
