An assignment - find the maximum of two numbers **without `if`** and with the **highest efficiency**. (My instructor says that `if` ruins efficiency and makes the program slower.)

So I did this:

```
long num1=555527778658567767676735; // Random Number
long num2=34277745575656835; // Another Random Number
long big; // The Biggest Number

// I KNOW THIS IS NOT SOLVING THE PROBLEM
big = (num1 - num2) - (num1 > num2) * (num1 - num2); // The Code That Is Faster - 2.791 seconds for 10B Times

big = num1 - (num2 > num1) * (num1 - num2); // The Slower Line Of Code - 3.069 second for 10B Times

```

My question is why this - `big = (num1 - num2) - (num1 > num2) * (num1 - num2);` is faster than this - `big = num1 - (num2 > num1) * (num1 - num2);`

When in the second line I don't do this subtracting `(num1 - num2)` and instead I do this `num1` only; isn't it supposed to be faster without another "thing" to calculate?