There are two sets of test values: spot values calculated using functions.wolfram.com, and
a much larger set of tests computed using a simplified version of this
implementation (with all the special case handling removed).