<commit_before># IFELSE

Provides conditional flow control executing different branches of
code depending on a boolean value

Input stack: `a [b] [c]`

Output stack: maybe `b`, maybe `c`

`IFELSE` will push the result of `[b]` to the stack if `a` is 0, or it
will push `[c]` otherwise.

## Allocation

None

## Errors

InvalidValue error if the value being checked for truth is not a boolean.

## Examples

```
0x01 [0x20] [0x30] IFELSE => 0x20
0x00 [0x20] [0x30] IFELSE => 0x30
```

## Tests

```
0x01 [0x20] [0x30] IFELSE => 0x20<commit_msg>Fix an ordering bug in the documentation, as well as add a new section describing the usage of `IFELSE`.<commit_after># IFELSE

## Usage

```
BOOL [THEN] [ELSE] IFELSE
```

Provides conditional flow control executing different branches of
code depending on a boolean value.

Input stack: `a [b] [c]`

Output stack: maybe `b`, maybe `c`

`IFELSE` will push the result of `[c]` to the stack if `a` is 0, or it
will push `[b]` otherwise.


## Allocation

None

## Errors

InvalidValue error if the value being checked for truth is not a boolean.

## Examples

```
0x01 [0x20] [0x30] IFELSE => 0x20
0x00 [0x20] [0x30] IFELSE => 0x30
```

## Tests

```
0x01 [0x20] [0x30] IFELSE => 0x20
{'fraction_non_alphanumeric': 0.12336601307189543, 'fraction_numerical': 0.06045751633986928, 'mean_word_length': 4.147058823529412, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6846074', 'n_tokens_mistral': 503, 'n_tokens_neox': 456, 'n_words': 182}