BSD-3-Clause licensed by Edward A. Kmett
Maintained by Edward A. Kmett
This version can be pinned in stack with:compensated-0.6.1@sha256:9718a6019a94798c19d95488ea71f29c9c4422d34dc2efc643f47f8981d9af5b,2462

Module documentation for 0.6.1


Build Status

This package provides a form of compensated arithmetic that lets you perform many operations on chains of doubles at higher precision.

In particular addition, multiplication, etc. on a Compensated Double is done with twice as many bits of significand as on a raw Double.

This construction is designed so that it can be iterated.

This was forked from the analytics repository after repeated requests.

Work still needs to be done to properly support most Floating operations, but everything below that level of the numeric hierarchy should work.

Contact Information

Contributions and bug reports are welcome!

Please feel free to contact me through github or on the #haskell IRC channel on

-Edward Kmett



  • Updated for lens 4.
  • Bug fix in (/=)


  • Marked this package Trustworthy.


  • Added NFData and Serial instances


  • Major version bump due to large semantics change in log-domain.

  • Wider generic-deriving version bounds for GHC HEAD compatibility.


  • Added a Hashable instance.

  • Wider binary version bounds.


  • Fixed a bug in the Setup.lhs postHaddock hook.
  • Reformatted haddocks