using 0 instead of nt2::Zero in single-precision log to avoid weird gcc 4.6 bug