I don't have the original PDF document either, but fortunately this plain text version of the relevant parts
was laying around. Best.
----------------
Program listing
----------------
- SQRT is the square root function
- X<>Y is the "X exchange Y" stack operation
01 STO 5 26 * 51 STO 5 76 +
02 1 27 - 52 g SQRT 77 -
03 STO 6 28 g SQRT 53 X<>Y 78 g X=0?
04 RCL 5 29 g GTO 00 54 1 79 g GTO 82
05 RCL 5 30 ENTER 55 - 80 g LSTX
06 CHS 31 ENTER 56 g X=0? 81 g GTO 66
07 STO 5 32 * 57 g GTO 59 82 RCL 4
08 RCL 6 33 1 58 g GTO 39 83 g X<=Y?
09 2 34 + 59 g n! 84 g GTO 89
10 + 35 g SQRT 60 STO 6 85 g LSTX
11 STO 6 36 / 61 RCL 5 86 8
12 Y^X 37 STO 4 62 - 87 *
13 g LSTX 38 3 63 g SQRT 88 g GTO 00
14 g n! 39 X<>Y 64 / 89 g LST X
15 / 40 ENTER 65 STO 5 90 CHS
16 + 41 * 66 RCL 5 91 g GTO 86
17 - 42 CHS 67 CHS 92 CLX
18 g X=0? 43 1 68 STO 5 93 ENTER
19 g GTO 22 44 + 69 RCL 6 94 *
20 g LSTX 45 g SQRT 70 2 95 CHS
21 g GTO 05 46 CHS 71 + 96 1
22 g LSTX 47 1 72 STO 6 97 +
23 1 48 + 73 Y^X 98 g SQRT
24 g LSTX 49 2 74 g LSTX 99 g GTO 37
25 g LSTX 50 / 75 /
You can test that the program is loaded correctly, and its accuracy by checking
these results, shown as they are displayed in FIX 9 (f 9 in the 12C):
-------------------------------------------------------------------
x Sin(x) Cos(x) Tan(x) Time
-------------------------------------------------------------------
0.1 0.099833417 0.995004165 0.100334672 6 sec.
0.5 0.479425539 0.877582562 0.546302490 7 sec.
1 0.841470985 0.540302306 1.557407724 9 sec.
Pi/2 1.000000000 0.000000000 would div by 0 10 sec.
2 0.909297427 0.416146836 2.185039869 12 sec.
Pi -7.098535e-12 1.000000000 -7.098535e-12 19 sec.
-------------------------------------------------------------------
x ArcSin(x) ArcCos(x) ArcTan(x) Time
-------------------------------------------------------------------
0.1 0.100167425 1.470628906 0.099668661 10 sec.
0.5 0.523598775 1.047197552 0.463647607 12 sec.
1 1.570796327 0.000000000 0.785398163 15 sec.
10 - - 1.471127675 15 sec.
100 - - 1.560796637 18 sec.
1000 - - 1.569796326 18 sec.
1E10 - - 1.570796327 18 sec.
-------------------------------------------------------------------
-------------------
Usage instructions
-------------------
As the 12C doesn't have user labels, these are the entry points
to compute the functions, with the argument X assumed to be
in the display (X-register):
-----------------------------------------------------------------------
Function To compute, press: Input range
-----------------------------------------------------------------------
Sin(x) GTO 00, R/S, X<>Y -5*Pi to +5*Pi
Cos(x) GTO 00, R/S -Pi/2 to +Pi/2
Tan(x) GTO 00, R/S, / -Pi/2 to +Pi/2
ArcSin(x) GTO 37, R/S -1 to +1
ArcCos(x) GTO 93, R/S 0 to +1
ArcTan(x) GTO 30, R/S -9.99E49 to +9.99E49
the constant Pi/2 GTO 92, R/S no input required
------
Notes
------
- all angles are assumed to be in radians.
- no stack registers are preserved nor is X stored in LSTX, but R0-R3 are
available at all times to store intermediate results or constants. The
financial registers can be used as well.
- for Sin(x), Cos(x), and Tan(x) you can use f PRGM or GTO 01 instead of
GTO 00. After any function is computed, the program pointer is left again
at step 00, so you can compute a series of sines, cosines and tangents
by simply pressing R/S.
- Sin(x) and Cos(x) are computed simultaneously. Sin(x) is left in the
Y-register, and Cos(x) is left in the X-register (display), so you
can obtain Tan(x) by simply pressing the [/] (division) key. If Cos(x)
equals 0, you can't perform the division but must assume instead that
Tan(x) becomes infinite
- the input range for Sin(x) goes from -5*Pi to +5*Pi, but large values
of x (say > 2*Pi) result in reduced accuracy and increased running times,
so you'd do well restricting your arguments to the range from -2*Pi to
+2*Pi and reduce any larger ones to that range (by taking the remainder
modulus 2*Pi).