Not a full answer, but perhaps somewhat useful.
More of a list of examples of use of trig functions in early adaptions. Also a look into the UNIX world.
Interesting paper concerning the history:
ALGOL was developed back in 1950's. In a joint meeting between European and American computer scientists in 1958 - where one also got Preliminary Report on the International Algorithmic Language aka The Zurich Report. In the times the work was to unify the notation and how one write algorithms for computers. As an excerpt from the 58' report to show some of the discussion in that regard:
“Identifiers designating functions, just as in the case of variables, may be chosen according to taste. However, certain identifiers should be reserved for the standard functions of analysis.
This reserved list should contain:
abs (E) for the modulus (absolute value) of the value of the expression E
sign (E) for the sign of the value of E
entire (E) for the largest integer not greater than the value of E
sqrt (E) for the square root of the value of E
sin (E) for the sine of the value of E
and so on according to common mathematical notation.”
From ALGOL 58 one got ALGOL 60 where, one perhaps, can say that the work also is more concrete on what to have as a basic (in regards to trig functions:
Report on the algorithmic language ALGOL 60
In short it recommends that
arctan as standard functions.
If one look at installations performing math in the digital era one early machine was the Bendix G-15 computer (late 1950's). It uses ALGO which was influenced by ALGOL 58. It has a library which is not part of the Algo system. The routines in the library is as follows,
To use these routines was loaded by using code words:
Loaded as for example:
As it states
"Machine language routines may be added to the library.", but these three was the ones included in the library. (It also uses sexadecimal for hex - but that is not on point here, but fun.)
Version 1 of UNIX included
bas, a dialect of basic (owned by Thompson). It included the following builtin functions:
Version 2 also had
bas and in addition one find a list of subroutines where it list among others:
sin (sine / cosine). It also was bundled with
There is also
bc, but that was for compiling B program.
Also worth mentioning:
moo (the game of MOO).
Version 5. If one want to look at the source code for
atan etc. one can for example look at this code:
- BASIC builtins:
NB! Archives in for example 1972-stuff (s2) has absolute paths!
The mathlib found in V7 was expanded to include
Also includes Fortran77.
BC saw the light of day back in 1975, and as noted in question, also includes these three basic methods. Developed by Robert Morris and Lorinda Cherry. From
/usr/doc/bc/bc in the V6 release (1975):
3. There is a library of math functions which may be obtained by typing at command level
This command will load a set of library functions which, at the time of writing, consists of sine (named `s'), cosine (`c'), arctangent (`a'), natural logarithm (`l'), exponential (`e') and Bessel functions of integer order (`j(n,x)'). Doubtless more functions will be added in time. The library sets the scale to 20. You can reset it to something else if you like. The design of these mathematical library routines is discussed elsewhere
 Robert Morris, A Library of Reference Standard Mathematical Subroutines,
That paper however looks to be rather hard to find.
So from the listings it looks like the basic trig functions was part of the system as early as V1.
bc utilized these in the load routine.
Notes from Unix Heritage Wiki (cc)
Life with Unix says: Wrote dc and be with Lorinda Cherry.
A Research Unix Reader says: Bob (Robert) Morris stepped in wherever mathematics was involved, whether it was numerical analysis or number theory. Bob invented the distinctively original utilities
bc (with Lorinda Cherry), wrote most of the math library, and wrote primes and factor (with Thompson). His series of crypt programs fostered the Center's continuing interest in cryptography.
Life with Unix says: Writer of the Writer’s Workbench (diction, style, etc.), be, and dc. Wrote
A Research Unix Reader says: Lorinda L. Cherry collaborated with Morris on
typo. Always fascinated by text processing, Lorinda initiated
eqn and invented parts, an approximate parser that was exploited in the celebrated Writer's Workbench®, ww6(v8).
There are of course not then that one do not have systems that implemented more functions, or perhaps was not having these as core functions. But that is history ... :P
Elliot 803 Additions:
tan - which are additions to
BASIC born 1964 has
BASIC Manual (1964)
As per comment by @roaima.
Most dialects of BASIC used on home computers (circa 1975 onward) also had SIN, COS, TAN, ATN (arctan). No other inverses. I assume TAN was included to minimize the error bound when otherwise using SIN/COS because all these trig functions were generated via a rather small lookup table.
The source code for the APOLLO 11 command- and lunar module show they had at least a subroutine for
You can argue they managed to land on the moon without a subroutine for
CORDIC (Volder's algorithm) is a noteworthy mention when it comes to trig implementation.
An interesting addition by @Stephen Kitt, from comments:
Another interesting paper is Statistics on the use of mathematical subroutines from a computer center library, published in 1973, which indicates that, at Purdue in early 1973, sin / cos / atan were the most commonly used trig functions, quite far ahead of tan / asin / acos / tanh:
sin / cos 39,462
asin / acos 4,139
Not a deep-dive, but at least a little more on the subject. The paper of ALGOL is perhaps the most on the mark.
As for BC it was without finding a direct quote a decision by Morris / Cherry to include these specific basic functions by loading from library by the
In short, it is not that one do not want for example
tan, but the history show which trig functions was chosen to implement as a base - in the light of resources and use.