úέB non-portable experimentalEdward Kmett <ekmett@gmail.com>NoneLog-domain Float and Double values. This provides log1p and expm11 for working more accurately with small numbers.  Computes  log(1 + x) =This is far enough from 0 that the Taylor series is defined. )The Taylor series for exp(x) is given by   exp(x) = 1 + x + x^2/2! + ... When xB is small, the leading 1 consumes all of the available precision. This computes:   exp(x) - 1 = x + x^2/2! + .. Twhich can afford you a great deal of additional precision if you move things around 0 algebraically to provide the 1 by other means. Negative infinity JEfficiently and accurately compute the sum of a set of log-domain numbers While folding with (+)+ accomplishes the same end, it requires an  additional n-2 logarithms to sum n terms. In addition, < here we introduce fewer opportunities for round-off error. <While for small quantities the naive sum accumulates error, 2let xs = replicate 40000 (Log 1e-4) :: [Log Float]Prelude.sum xs40001.3'This sum gives a more accurate result, Numeric.Log.sum xs40004.01NB:- This does require two passes over the data. /  !"#$%&'()*+,-.(   !"#$%&'()*+,-./        !"#$%&'()*+,-.log-domain-0.2 Numeric.LogLogrunLogPreciselog1pexpm1sumnegInfAccNoneAcc1c_log1pfc_expm1fc_expm1c_log1plogMap$fPreciseComplex$fPreciseFloat$fPreciseDouble $fFloatingLog $fMonoidLog $fRealLog$fFractionalLog$fNumLog $fEnumLog $fMonadLog $fBindLog $fApplyLog$fComonadApplyLog$fApplicativeLog $fComonadLog $fExtendLog$fDistributiveLog$fTraversable1Log$fTraversableLog$fFoldable1Log $fFoldableLog $fNFDataLog $fStorableLog $fHashableLog $fFunctorLog $fBinaryLog $fReadLog $fShowLog $fSafeCopyLog