It might be nice to submit a patch to OpenBLAS to make their dot functions
use pairwise summation; this is almost as accurate as KBN summation but
with negligible performance penalty (for a large base case), so it should
be possible to put together an attractive pull request.
For Base, currently sum_kbn requires an AbstractArray; for use-cases like
this it would be nice to support a variant of the form sum_kbn(function,
iterator), so you could do
sum_kbn(pair -> conj(pair[1])*pair[2], zip(a, b))
in order to compute the kbn dot product of a and b.