Since I've encountered ridiculously incorrect results with Calculator.app recently (see e. g. http://jadickinson.co.uk/2008/08/13/log05-and-the-os-x-calculator ), I am looking for alternatives that actually let me calculate (correctly, that is) and maybe even provide more functionality.
When I found SpeedCrunch at first, I was stunned by the range of functions and constants implemented therein. Also, it provides remarkably convenient I/O. There was a temptation to just stick with SC, but luckily, I went on and discovered Magic Number Machine.
A interesting difference in SC's and MNM's feature set is matrix support. Whilst SC doesn't support matrix calculations, MNM allows to deal with matrices in a dedicated drawer. Their elements might even be complex numbers (see below). However, matrix support is hardly integrated in the main workflow. A mature matrix calculator would let you use matrices about anywhere you'd use ordinary numbers, like in exp(A), sin(A^B) and so on, with A and B being matrices. In NMN, there doesn't seem to be much beyond finding determinants and inversion you could do with matrices, so I wouldn't consider NMN a "matrix calculator".
On the other hand, Magic Number Machine's consistent support of the complex domain already makes it an excellent choice for many tasks. Aside from the few functions (like !) that are not supposed to take complex arguments anyway, I couldn't find one that doesn't. Stuff like exp(sqrt(ln(-1))) simply returns the result, whilst SC fails at terms as basic as sqrt(-1) - it can't do complex math at all.
Compared with SC, MNM's choice of functions isn't quite as rich, but it's a good selection. According to the author's help pages, you even may add your own function definitions in case you need more.
A minor flaw I found is, (some_term)! sometimes throws an error even if some_term exactly evaluates to an integer. Example: (2^3)! vs. (2*2*2)!
The overall look & feel of MNM's frontend is clear, well arranged and intuitive. The only two complaints I have so far:
(1) The formula editor needs some getting used to. Matching paranthesises are not highlighted. Setting the cursor at a certain point in the input line is often difficult to impossible, because cursor keys are ignored and so are mouse clicks, unless you manage to hit some rather tight and secret spot. So, you end up deleting everything backwards to that point, insert or change there what you wanted to, then type the rest again.
(2) The existance of keyboard shortcuts for all buttons is a good thing. I wish they were customizable though, as some of their predefined assignements feel somewhat odd to me. E. g., the shortcut key for "to the power of" isn't "^" but "Y".
These two flaws aside, I find the GUI definitely more appealing than the one of SC.
All in all, I'll probably keep both. SC for larger terms or more exotic functions, MNM for everyday calc and complex math.
(2^3)! gives "no number".