// Test infix operators.
var result =
    longOperand *
                    longOperand /
                    longOperand ~/
                    longOperand %
                    longOperand +
                longOperand *
                    longOperand /
                    longOperand ~/
                    longOperand %
                    longOperand -
                longOperand *
                    longOperand /
                    longOperand ~/
                    longOperand %
                    longOperand <<
            longOperand *
                    longOperand /
                    longOperand ~/
                    longOperand %
                    longOperand +
                longOperand *
                    longOperand /
                    longOperand ~/
                    longOperand %
                    longOperand -
                longOperand *
                    longOperand /
                    longOperand ~/
                    longOperand %
                    longOperand >>
            longOperand *
                    longOperand /
                    longOperand ~/
                    longOperand %
                    longOperand +
                longOperand *
                    longOperand /
                    longOperand ~/
                    longOperand %
                    longOperand -
                longOperand *
                    longOperand /
                    longOperand ~/
                    longOperand %
                    longOperand >>>
            longOperand *
                    longOperand /
                    longOperand ~/
                    longOperand %
                    longOperand +
                longOperand *
                    longOperand /
                    longOperand ~/
                    longOperand %
                    longOperand -
                longOperand *
                    longOperand /
                    longOperand ~/
                    longOperand %
                    longOperand <<
            longOperand *
                    longOperand /
                    longOperand ~/
                    longOperand %
                    longOperand +
                longOperand *
                    longOperand /
                    longOperand ~/
                    longOperand %
                    longOperand -
                longOperand *
                    longOperand /
                    longOperand ~/
                    longOperand %
                    longOperand >>
            longOperand *
                    longOperand /
                    longOperand ~/
                    longOperand %
                    longOperand +
                longOperand *
                    longOperand /
                    longOperand ~/
                    longOperand %
                    longOperand -
                longOperand *
                    longOperand /
                    longOperand ~/
                    longOperand %
                    longOperand &
        longOperand *
                    longOperand /
                    longOperand ~/
                    longOperand %
                    longOperand +
                longOperand *
                    longOperand /
                    longOperand ~/
                    longOperand %
                    longOperand -
                longOperand *
                    longOperand /
                    longOperand ~/
                    longOperand %
                    longOperand <<
            longOperand *
                    longOperand /
                    longOperand ~/
                    longOperand %
                    longOperand +
                longOperand *
                    longOperand /
                    longOperand ~/
                    longOperand %
                    longOperand -
                longOperand *
                    longOperand /
                    longOperand ~/
                    longOperand %
                    longOperand >>
            longOperand *
                    longOperand /
                    longOperand ~/
                    longOperand %
                    longOperand +
                longOperand *
                    longOperand /
                    longOperand ~/
                    longOperand %
                    longOperand -
                longOperand *
                    longOperand /
                    longOperand ~/
                    longOperand %
                    longOperand ^
    longOperand *
                longOperand /
                longOperand ~/
                longOperand %
                longOperand +
            longOperand *
                longOperand /
                longOperand ~/
                longOperand %
                longOperand -
            longOperand *
                longOperand /
                longOperand ~/
                longOperand %
                longOperand <<
        longOperand *
                longOperand /
                longOperand ~/
                longOperand %
                longOperand +
            longOperand *
                longOperand /
                longOperand ~/
                longOperand %
                longOperand -
            longOperand *
                longOperand /
                longOperand ~/
                longOperand %
                longOperand >>
        longOperand *
                longOperand /
                longOperand ~/
                longOperand %
                longOperand +
            longOperand *
                longOperand /
                longOperand ~/
                longOperand %
                longOperand -
            longOperand *
                longOperand /
                longOperand ~/
                longOperand %
                longOperand;
