for iPhone, iPad, Mac
This is a high-precision advanced scientific RPN-type calculator. It carries over
This page gives a brief overview of the functions in Calc-50.
The latest version on Apple's app store is version 1.8, February 2025.
More details about using copy and paste.
With recent (2025) versions of ios I have seen a rare display bug in iPhones and
Calc-50 uses "RPN" input format, like classic scientific calculators such as the HP-15C.
For example, 2 + 3 is computed by pressing these keys: 2, enter, 3, +
These input values are kept in a 4-number stack. They are named x, y, z, t, where x is the
There are 101 storage registers, numbered 0 to 100, where values can be saved.
The fix key sets the number of digits after the decimal in the display. If x is 123.4567,
A negative number of digits signifies that large values are to be shown with commas.
The sci key sets the number of significant digits to display in scientific notation.
The display can show up to 50 digits. In fix mode, if x is too large or too
small for the
Pressing the help key followed by another key brings up a screen like this one.
Each key on the calculator has an associated help screen with example usage, domain, and
The exit key then returns to the normal calculator screen.
The func key brings up one of 9 different sets of functions. The 20 keys in the lower left
Pressing func by itself scrolls to the next screen, or pressing a digit from 1 to 9 followed
Screen 1 has the basic math functions: trig, exponentials,
logs and powers.
Screen 2 has rounding to integers, max/min, random numbers, some statistical functions,
Screen 3 has factorial, gamma function, log gamma, combinations, permutations, the Euler
Screen 4 has the exponential integral, sin, cos, sinh, cosh, and log integrals, Fresnel C and
Screen 5 has some financial functions that solve for various variables from a home
After entering any 4 of the 5 values n (number of payments),
i (interest rate),
Screen 6 has the keys used to define and edit user functions, and also 7 keys that use those
Depending on f(x), these functions can be slow. When a slow function is running, a
The time key can be used to limit the running time for these functions.
Factoring integers with the factor key is usually fast for integers up to about 30 or 40 digits.
The prog key allows for up to 10 user functions to be defined. Press a digit 0-9 followed
6, prog, clr f, 4, func, ci, 1, func, cos, 6, func, end
In program mode, before the end key is pressed, here is how the function
definition looks:
The underscore _ after cos is the cursor. The 4 arrow keys move the cursor so a function
Pressing the end key puts the calculator back in normal mode. To evaluate function 6 at
1.2, enter, 6, fn
With the calculator in radian mode, this function has a root near x = 0.117. To use the solve
0.1, enter, 6, solve
The result is 0.117116.... Checking this by computing the function at this value (6, fn)
For another example, integrate this function from 1 to 3. To use the integrate key,
1, enter, 3, enter, 6, integrate
This numerical integration takes less than a second. The result is 1.86081....
Screen 7 has more keys that involve user functions: graphics, limits, sums, extrapolation,
The sum key can be used to do more than just simple sums. It can provide general loop
Four kinds of graphs are available: y = f(x) plots, parametric ( x(t), y(t) ) graphs,
Use the plot key to graph f(x) = sin(3x) + cos(2x) from 0 to pi
7, prog, clr f, 1, sto, 3, *, 1, func, sin, 1, rcl, 2, *, cos, +, 6, func, end
7, func, 0, pi, 7, plot
Zooming in re-draws the graph centered at the x-value shown at the bottom, with an
Screen 8 has unit conversion functions. Pressing a conversion key changes the value in the
Screen 9 puts the calculator into complex arithmetic mode. The complex elementary
To enter 1 + 2i, press
1, +i, 2, enter
Fewer digits can be displayed in complex mode for the real and imaginary parts of the
The complex sto and rcl keys use 2 storage registers to hold one complex number.
Why would anyone need 50-digit accuracy?
Most of the time, we don't. Most calculators have 14 to 16 digit accuracy, and exponent
Some of the most common applications for high-precision calculations involve deriving
An example of this is the derivation of the
Guass quadrature rule on the Calc-50 examples
Another feature of that derivation is that it uses binomial coefficients, derivatives, sums,
Sometimes it can be hard to see that a formula is unstable and needs more accuracy, so it
Here is a simple example. Examine the behavior of this function as x approaches zero.
f(x) = ( tan(sin(x)) - sin(tan(x)) ) / x^7
Doing f(0.03) on a standard calculator (TI-89) gives 0.033379, which is correct to only
The same calculation using Calc-50 gives .033367877648658374713095209129 when
Getting closer to zero makes things even worse. The TI-89 gives f(0.001) = -100000.0
The built-in calculator app for the iPhone does not have many mathematical functions,
Calc-50 is starting to notice the instability for f(0.00001), getting "only" 27 digits correct.
Defining f(x) as a user function on screen 6, the nth derivative key allows n = 0, meaning
Here is a second example. This time it is the exponent range that causes problems. Find
comb( 2e6 , 1e6 ) * (0.5)^2e6
where comb is the combination function, also called a binomial coefficient, and the second
The answer is about 0.000564, and this formula is not unstable. The problems for standard
comb( 2e6 , 1e6 ) = 5.5304e+602056 and (0.5)^2e6 = 1.0202e-602060
are far outside the exponent range of a normal calculator.
Summing up, some of the advantages Calc-50 over other calculators are:
David M. Smith
Professor of Mathematics (Emeritus)
Loyola Marymount University
Los Angeles, CA
50 significant digits of precision, and has a large number of available functions,
graphing capability and is programmable.
For some more advanced examples of Calc-50 programming and graphics, see the
Calc-50 examples page.
Calc-50 is a free app. The main new feature in this version is the ability to
export or import numbers or function definitions to or from another program
on the iPhone, iPad, or Mac where Calc-50 is being used.
iPads. It seems to be related to rotating the device 180 degrees and opening
Calc-50 in quick succession. Then the Calc-50 screen is not displayed properly,
with only the number usually seen at the top of the screen visible at the bottom,
and no keys visible. A quick fix is to force quit Calc-50. Open the AppSwitcher
by swiping up from the bottom of the screen and pausing in the middle, then
swipe the Calc-50 app upwards to remove it from the App Switcher, effectively
quitting the app. Then re-start Calc-50.
This means the arguments are entered first, followed by the function.
value displayed at the top of the screen. After 2, enter, 3 in the example above, y = 2 and
x = 3. Then the + operation adds x + y leaving 5 in x.
6, sto stores x in register 6, and 42, rcl recalls the value in register 42 and puts it into x.
Some fancier applications can use "index registers", as in 1, rcl, sto. This stores the
current x into whichever register is given by the value in register 1.
then 2, fix will display it as 123.46. The value of x is not changed, only the display
is different.
-3, fix will show 12345.6789 as 12,345.679 in the display.
If x is 123.4567, then 5, sci will display it as 1.2346e+2.
display, it will be shown in scientific mode.
sometimes a graph. Some general notes about Calc-50 can be found on the help screens for
digits 0, 1, 2, ....
change with each screen.
by func goes directly to that screen.
mod, power mod, gcd, and rational approximation:
gamma constant, Bernoulli numbers, beta, psi, polygamma, pochhammer, error function,
incomplete gamma, incomplete beta. Also conversion between rectangular and polar form,
and absolute value.
S functions, Bessel J and Y functions.
Also time and calendar conversions, day of the week, percents,
hypotenuse, and last x.
or auto loan.
pv (present value), pmt (payment), fv (future value) using the store
keys, pressing the
remaining key computes that value.
functions: derivative, nth derivative, maximum f(x), minimum f(x), integral of f(x) from
a to b, arc length of f(x) from a to b, solve f(x) = 0.
small spinning wheel is displayed above the help key and "running ..." appears in the
calculator output area to show that the function is still working.
Inputs up to 50 digits are allowed, and most of these can be factored, but some are slow.
by prog to enter program mode and define a new function or edit an existing one.
For example, define function 6 to be cos( ci(x) ).
can be edited. The clrf key clears the function being edited, and bksp is a backspace
that deletes the operation immediately to the left of the cursor.
x = 1.2 and compute cos( ci(1.2) ):
key to find it, starting with 0.1 as an initial guess,
gives about -2.5e-57, indicating the root should be accurate to over 50 digits.
Pressing x<->y to exchange the x and y registers shows y was about 1.0e-56, meaning
the integration algorithm stopped with the last two iterations agreeing to about 56 digits.
differential equations, and function selection.
control for making lists and iterating recurrence relations.
For examples of this kind of programming, including some graphics applications, see the
Calc-50 examples page
polar r = f(theta) graphs, and list plots. Up to five graphs can be displayed at once
by using the add plot, ..., keys to add another graph to previously defined graphs.
Other keys can override the default settings for max and min y-values for the display
window, spacing for x and y axis tick marks, graph aspect ratio, horizontal and vertical
grid lines.
Touching the screen in the graph area puts a small symbol on the screen at that location
and displays the (x,y) coordinates of that position at the bottom of the screen. Two buttons
appear next to the exit button, "zoom in" and "zoom out".
x-interval half as big as before. Zooming out does the same, with an x-interval twice
as big as before.
x register from the units at the top of the key to the units at the bottom. Pressing the
inv key followed by a conversion key converts the other direction. The units of the result
are displayed along with its numerical value.
functions and basic arithmetic operations are provided.
number, but each part still has over 50-digit accuracy internally.
5, sto while in complex mode will store the real part of x in register 5 and the imaginary
part in register 6. This can be used to communicate values between real and complex
modes, since registers 5 and 6 can be accessed separately from any real mode screen.
ranges up to about 1.0e+1000. But some calculations need more accuracy or greater range.
formulas to be used in ordinary computer applications. If we want the coefficients in a
formula to be correctly rounded in the machine's double precision, then they usually must
be computed using higher precision.
page. If we used only double precision to do the derivation, the coefficients needed in the
formula would not be accurate to full precision.
graphing, and equation solving in order to get the final formula. Most calculators do not
provide those operations.
is nice to have what seems like excessive precision available.
3 significant digits.The older HP-15C calculator does even worse. It gives 0.0, no correct
digits at all.
displaying 30 digits. The formula is still losing accuracy, but by carrying 50 digits we can
afford to lose 11 digits in this unstable formula and still have plenty of accuracy left.
while Calc-50 shows .033333371693146997367349091810, still accurate to 30 places.
but it does use its compiler's quadruple precision to provide about 34 digits.
It can get f(0.001) correct to 13 digits, but f(0.00001) has only 1 significant digit.
For extreme cases like this, Calc-50 has one other trick for overcoming instability. The nth
derivative key on screen 6 works with derivative formulas that are also unstable, so it raises
precision above the user's 50-digit level to return accurate derivatives.
it will evaluate our unstable function at higher precision. That gives f(0.00001) correct
to 50 digits.
the probability of getting exactly one million heads if we toss a fair coin two million times.
This formula is
term is 1/2 to the power two million.
calculators are that not all of them have a combination function, and the two numbers
formulas losing too much precision
became too large or small