```
bif(i1, i2, i3)
```

Return the bitwise "if" of its integer arguments.

The inputs are treated as if represented in two's complement, even if they are not
represented that way internally. For each bit set in `i1`

, the corresponding bit of the result is taken from `i2`

, and
for each bit not set in `i1`

, the corresponding bit of the result is taken from `i3`

.

```
number_to_string(bif(0b101010, 0b111000, 0b001100), 2)
// 101100
```