It compiles just fine on VC++ 6.0, the stated target compiler. Perhaps you misread wikipedia, or just dont understand what monotonic means.

From wiktionary.org -

Adjective

monotonic

- of or using the Greek system of
diacriticswhich discards thebreathingsand employs a single accent to indicate stress.- (mathematics) said of a function that either never decreases or never increases as its
independent variableincreases.

From Wikipedia.org -

In general, a sigmoid function isreal-valued anddifferentiable, having either a non-negativenon-orpositivefirstderivativeand exactly oneinflection point.

So, while I suppose a sigmoid is monotonic ( I may have mispoken earlier), not all monotonic functions are sigmoids. I think that citizens formula may produce bad results for negative values of X lets see -5/sqrt(25+1)? Nope, its a negative number that decreases as the variable decreases. It approaches 1.0 for large values of X. For a< b < c in the positive domain it satsifies f(a) < f(b) < f(c) and sa > sb > sc. It also satisfies the negative domain equivelant. So it qualifies. If he implements it in assembly it will not produce errors, although depending on the compiler, it may produce errors for values of X greater than sqrt(1.7E+308) when compiled as is.