src/QCheck/Random.php
public static function int_add($x, $y)
    {
        if ($y == 0) {
            return $x;
        } else {
            return self::int_add($x ^ $y, ($x & $y) << 1);
        }
    }
public static function int_add($x, $y)
    {
        if ($y == 0) {
            return $x;
        } else {
            return self::int_add($x ^ $y, ($x & $y) << 1);
        }
    }
public static function int_add ( $ x , $ y ) { if ( $ y == 0 ) { return $ x ; } else { return self :: int_add ( $ x ^ $ y , ( $ x & $ y ) << 1 ) ; } }
addition with only shifts and ands
addition with only shifts and ands