These diagrams illustrate the behaviour of the elementary Floating functions in the complex plane. They are based on those in "Common Lisp The Language Second Addition" by Guy L. Steele Jr. () The code was re-implemented in Haskell (using this).

This page shows the behaviour of Complex D0, where D0 is like Double but doesn't support negative zeros, with the fixed Complex implementation. We now have "open edges" again (there is little option without negative zero support), but still no "wobbles".

Different pages show diagrams with: original Complex.hs, fixed Complex.hs for Double, fixed Complex.hs for Float and fixed Complex.hs for a type like Double, but without support for negative zero.

id


sqrt


exp


log


sin


asin


cos


acos


tan


atan


sinh


asinh


cosh


acosh

I think the solid line from 0 to -pi/2 i in the CL book is an error. p314: "A number with real part zero is in the range if its imaginary part is between zero (inclusive) and pi (inclusive)."


tanh


atanh