Suggested by: mpmath