This fixes the problem of 3b2d170d and bdc545ff for good. In the previous version I had a conjg in there, but that turned out to be nonsense. To see why, see the comment in 3b2d170d (spoiler alert: it has to do with a peculiarity of IEEE 754)
The easiest way to treat complex arguments is to just normalise them away..
In bdc545ff we have introduced a conjg the Bernoulli polynomial. It is not clear why. Courtesy to Roman Zwicky and Ben Pullin for pointing this out.