**Tell us what’s happening:**

When I am using expression like : `if (a && b) >0`

then the program does not execute 1 condition ie. (2,-2). Can any one explain what is the difference between : `if ((a>0) && (b>0))`

or using : `if (a && b) >0`

?

**Your code so far**

```
// Setup
function abTest(a, b) {
// Only change code below this line
if ((a>0) && (b>0)) {
// Only change code above this line
return Math.round(Math.pow(Math.sqrt(a) + Math.sqrt(b), 2));
}
else if ((a<0) && (b<0)) {
return undefined
}
}
// Change values below to test your code
var test =abTest(2,-2);
console.log(test);
```

**Your browser information:**

User Agent is: `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36`

.

**Link to the challenge:**

https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/return-early-pattern-for-functions