# Page 226

**Location:** Chapter 24, solution to Problem 7

## The issue

*Note*: the exponentiating bird is represented in the following with the symbol \varepsilon.

The exponentiating bird is said to be able to evaluate
the expression n^m for *any* two natural numbers n and m.

Still, what is its behaviour when n=m=0? Using the definition of \varepsilon and applying the rules, one finds that

i.e. 0^0=1, against the mathematical fact that the result is undefined.

## Possible workarounds

Dealing separately with the case m=n=0 in the expression simply requires
to stack another zero-tester Z in front of the given formula for \varepsilon.
Still, what should the bird return in that case? An option would perhaps be that
of introducing a special *number bird* standing for "undefined", thus enlarging the set
over which the arithmetic birds operate much in the same way as `nan`

and `inf`

are treated by the arithmetic units within most CPUs.