This program is supplied without representation or warranty of any kind.
Philippe Legros, Philippe Maryssael and The Museum of HP Calculators therefore
assume no responsibility and shall have no liability, consequential or otherwise,
of any kind arising from the use of this program material or any part thereof.

Contents

The "Advanced BioPac with hi-res tricyclic Plot" package is the ideal product
for those who are interested in computing biorhythms in lots of different
ways: single-day calculation, calculation of high, low and critical dates,
and positive and negative periods, one cycle at a time, any two cycles together
or all three cycles combined. It can also calculate exacte or approximate
dates for all curve coincidences.

From the ancient of the days, philosophers and sages have taught that human
happiness lies in harmonious claims to be able to quantitatively gauge the
functioning of these three aspects of ourselves: the "physical", "sensitive"
and "cognitive".

The biorhythm theory is based upon the assumption that the human body has
inner clocks or metabolic rhythms with constant cycle times. Currently, three
cycles starting at birth in a positive direction are postulated. The 23-day
or physical cycle relates with physical vitality, endurance and energy. The
28-day or sensitivity cycle relates with sensitivity, intuition and cheerfulness.
The 33-day or cognitive cycle relates with mental, alterness and judgement.

For each cycle a day is considered either "high", "low" or "critical". The
high times (0<x<=1) are regarded as energetic times, you are most dynamic
in the cycle. The low times (-1<=x<0) are regarded as the recuperative
periods. The critical days (x=0) are regarded as your accident prone days
especially for the physical and sensitive cycles.

You've acquired one of the most complete program on biorhythms ever produced
so far for the HP-41. It allows you to calculate the following after you
have input your birthdate (BD) and today's date (TD): the
biorhythms for TD (BIO); the exact and approximate criticals
(CRIT), maxima (MAX) and minima (MIN) of the three physical
(P), sensitive (S) and cognitive (C) bio-cycles considered
separately (e.g. "CRIT FOR P"), two by two (e.g. "MAX FOR SC"), or all three
together (e.g. "MIN FOR PSC"); the periods during which your biorhythms are
separately, two by two, or all three together, positive or negative (e.g.
"POS FOR S, NEG FOR PS").

Also included are a NEXT function to calculate the next biorhythms
(TD+1), criticals, maxima, minima, double or treble coincidences, and
bio-periods; a DOW (Day Of Week) function for any program-output or
user-input legal date; a DM/MD toggle to switch from the Month.-Day-Year
format to the Day.-Month-Year one or vice versa; an e/a
(exact/approximate) toggle for the criticals, maxima, minima, double and
treble coincidences; a P/NP (Print/No Print) toggle for those who
have any of the thermal printers available for the HP-41, and -last but not
least- a hi-res tricyclic Plot function (PLOT) to plot the biorhythms
of the dates considered in the framework of any of the calculation functions
listed above, plus seven days before and after them to give the user a clearer
insight in his biorhythmical status at that moment.

Moreover, the program is provided with lots of ALPHA comments for enhanced
user-friendliness and understandability of the output results.

BIO = SIN (2 * FRAC (DDAYS / Per) * PI), where
DDAYS is the number of days between your birthdate and today's date
and Per=23 for the physical bio-cycle (P),
28 for the sensitive (S) and
33 for the cognitive (C).

The formula used to calculate the slope of your biorhythm (\, /, -) is:

BIOslope = COS (2 * FRAC (DDAYS / Per) * PI), where
DDAYS and Per are the same as above.
When BIOslope > 0, the sign "/" is used.
When BIOslope < 0, the sign "\" is used.
When BIOslope = 0, the sign "-" is used.

The formula used to calculate the exact maxima (+1), minima (-1) and criticals
(0) for any of the three bio-cycles, one by one (P or S or C), two by two
(PS or SC or PC), or all three together (PSC), as well as the next ones is:

After these operations have been carried out the approximate Max / Min have
bio-values comprised between 0.97 and 1.00 in absolute value, and the approximate
Crit has bio-values between 0.00 and 0.27 in absolute value.

For the approximate criticals, maxima and minima we compute the first EXACT
Crit (cf supra) and then, from the Inf and Sup bounds, determine the Inf
and Sup dates, taking into consideration the fact that Inf must be superior
to or equal TD. If this condition is not fulfilled, and for the NEXT one,
we increment Inf and Sup by Per.

For the double coincidences in approximate mode we compute the first EXACT
Crit (cf supra) for the longest period of days of the two cycles considered
(Inf1 and Sup1); then we take the shortest one (Inf2 and Sup2) and add Per2
to Inf2 and Sup2 until Inf2<=Sup1 and Sup2>=Inf1. The period is then
determined by Max(Inf1, Inf2) and Min(Sup1, Sup2). For the NEXT one, and
if the second condition is not fulfilled, we increment Inf1 and Sup1 by Per1
and repeat the second operation.

For the approximate treble coincidences we proceed as for the approximate
double coincidences for the two longest periods of days of the three cycles
and then take the third one and process likewise.

Here follows a schematic summary of the operations carried out to compute
the simple, double and treble Pos / Neg bio-periods:

For the simple Pos / Neg bio-periods we compute the first EXACT Crit (cf
supra) and then determine, for the Inf and Sup bounds, the corresponding
dates, taking into consideration the fact that Inf must be superior or equal
to TD. For the NEXT one we increment Inf and Sup by Per.

For the double Pos / Neg bio-periods we compute the first EXACT Crit (cf
supra) for the longest period of days of the two cycles considered (Inf1
and Sup1); then we take the shortest one (Inf2 and Sup2) and add Per2 to
Inf2 and Sup2 until Inf2<=Sup1. The period is determined by Max(Inf1,
Inf2) and Min(Sup1, Sup2). For the NEXT one we increment Inf1 and Sup1 by
Per1.

For the treble Pos / Neg bio-periods we proceed as for the double Pos / Neg
bio-periods for the two longest periods of days of the three cycles and then
take the third one and proceed likewise.

For the remaining calendar functions used in the program, refer to the HP82182
Time Module Owner's Manual (or the HP-41CX Owner's Manual).

Last but not least comes the hi-res tricyclic PLOT. It is based upon two
dates DT1 and DT2, the bounds being DT1 - 7 and DT2 + 7. DT1 and DT2 always
refer to the latest user-input or program-output date(s).

In the case the BIO function is combined with NEXT, DT1 = DT and DT2 = DT
+ NEXT-related incrementation. In the other cases (CRIT, MAX, MIN, POS, and
NEG) DT1 is the first output date and DT2 is the second one. Note that DT2
is not displayed if DT1 and DT2 are equal.

As for the PLOT layout, the three bio-values are computed day by day and
are converted into a number of columns by calculating:

BIOposition = RND(78 * (BIOvalue + 1)), RND = rounded FIX 0

The three numbers of columns are then reordered from the smallest to the
largest. Then the characters ("P", "S" or "C") are accumulated in the printer
buffer on the basis of these numbers of columns, except when:

ABS(column[i] - column[i+1]) <= 3

in which case a star symbol ("*") is accumulated, meaning that two or three
cycles actually coincide. Moreover, the DT1 (and DT2) bound(s) is / are
highlighted by a ">" symbol for enhanced understandability.

Philippe P.J. Legros, born on December 29, 1962, wants to know his bio-status
for March 7 and 8, 1986. He also wishes to get his first two NEG FOR SC,
his first MAX FOR P, and his first two CRIT FOR PSC in approximate mode.
Then he would like to get, for his 24th birthday, his approximate MIN FOR
C as well as his bio-status.

Philippe A. Ch. L. Maryssael, who was born on March 15, 1962, wants to know
his bio-status for March 7, 1986 and the next day. He also wishes to get
his first CRIT FOR PS (he asks for a printout and a plot), and his first
two POS FOR PSC (with printout for both and plot for the second one).

Turn the HP off, plug the printer in, turn on and switch to MAN mode. Then
turn HP back on.

Each time a display is followed by {p} it means the result is also printed
out. Each time {p only} is mentioned it means the results only appear on
the printer (this applies only to the plot).

See to it that 262 program and data registers are available. This program
cannot run if no Time Module has primarily been plugged in

Optional: plug in any of the HP thermal printers. If you own the HP-82143A
thermal printer, you should delete program step 861 (XROM 29,25 or FMT which
is not available on that printer)

Set the adequate SIZE format to run the program:
FUNCTION KEYS: XEQ "SIZE" 020

Note: In the following the outputs are tagged out with two possible markers:
{p} and {p only}. {p} indicates that the outputs both appear on the calculator's
display and on the printout; {p only} means the outputs are only plotted
out. This note is only applicable if a printer has been plugged in and the
Print mode has been chosen by the user ([P/NP] status control function)

Enter your birthdate according to the date format status chosen (Refer to
point 12 below):

INPUT: birthdate
FUNCTION KEYS: [BD]
OUTPUT: birthdate {p}

Note 1: If no birthdate is entered any subsequent computation function will
cause the calculator to display 'BD MISSING'

Note 2: To recall the birthdate at any time, simply press the [BD] key

Enter today's date according to the date format status chosen (Refer to point
12 below):

INPUT: today's date
FUNCTION KEYS: [TD]
OUTPUT: today's date {p}

Note 1: Entering a birthdate invalidates today's date in favour of the Time
Module-controlled present date. However if you wish to keep today's date,
you have to revalidate it by recalling it (by pressing the [TD] key)

Note 2: Omitting to press the [TD] key after entering your birthdate validates
the Time Module-controlled present date for later calculations (e.g. [BIO])

Note: xx.xx is the biovalue for the biocycle considered and * is the bioslope
of that cycle ("/" and "\" meaning that the biocurve is going upwards and
downwards respectively, and "-" meaning that the biovalue considered is at
the summit or at the bottom of the biocurve)

To calculate the Crit, Max or Min for either the P, S or C biocycles, or
the double or treble coincidences of these cycles:

FUNCTION KEYS: [CRIT] or [MAX] or [MIN]
OUTPUT: ... FOR ?
FUNCTION KEYS: [P] or [S] or [C] or [PS] or [SC] or [PC] or [PSC]

The results will depend upon the exact/approximate ([e/a]) results mode status
(Refer to point 11 below)

If you are in exact results mode:
OUTPUT: ... FOR ... {p} ... IN n DYS {p} or TODAY {p} or TOMORROW {p} ...
date {p}

If you are in approximate results mode:
OUTPUT: ... FOR .. {p} ... BETWEEN {p} ... date {p} ... AND {p} ... date
{p} or ... ON {p} date {p}

Note 1: If you press e.g. [CRIT] by error, you can thereafter press [MAX]
or [MIN] before pressing [P], [S], ...

Note 2: If you press e.g. [PSC] before e.g. [CRIT] the calculator will display
'? FOR PSC'. You HAVE to press either [CRIT] or [MAX] or [MIN] before [P]
and so forth

Note 3: When in exact results mode, it may sometimes occur that a date would
be displayed between brackets. This means that this very date is an "intercalary"
date. In terms of calendar dates it means the following: for e.g. the 'CRIT
FOR P' you have a date every 11.5 days (i.e. the period of 23 days divided
by two). But as there is no date between the 11th and the 12th day of the
P biocycle, your calculator will display the date just before the accurate
(11.5) figure (i.e. 11 days) between brackets, just to indicate there is
an intercalary date

To calculate the Pos or Neg for either the P, S or C biocycles, or the double
or treble coincidences of these cycles:

Note 1: If you press e.g. [POS] by error, you can thereafter press [NEG]
before [P] and so on

Note 2: If you press e.g. [PSC] before e.g. [POS] the calculator will display
'? FOR PSC'. You HAVE to press either [POS] or [NEG] before [P] and so forth

The NEXT function is a polyvalent function used to activate the next BIO
on one hand, and the next Crit, Max, Min, Pos and Neg on the other, and this
in any mode:

FUNCTION KEYS: [NEXT]

For the next biorhythmical status, the next date is displayed (and printed
out) and then the subsequent outputs are the same as for the [BIO] function
(Refer to point 5 above)

As for the other calculation functions the subsequent outputs are the
same
OUTPUT: THE NEXT IS {p} ... {p}

The Plot function allows you to plot out the biocurves between two dates
as defined in the section of Formulae and Procedures dealing
with the Plot

FUNCTION KEYS: [PLOT]
OUTPUT: ... {p only} 0.000000

Note 1: If no printer is connected 'NO PRINTER' is displayed

Note 2: If a printer is plugged in but the no-print mode is on (Refer to
point 13 below), 'NO PRINT' is displayed

The DOW function allows you to compute and display/plot out the Day Of the
Week:

There are two ways in which the DOW function actually operates. When entering
any valid date and pressing the DOW toggle, the date keyed in is formatted
and preceded by 'DT: ' on the printout, and the DOW follows. Entering no
date and pressing the DOW key causes the calculator to take the date currently
appearing on the display/printout and stored in the X stack register for
computation of the DOW. If the X register contains no valid date, a 'DATA
ERROR' message is displayed

Program Status

SIZE 020
TRIG MODE: DEG
USER MODE: ON (should be set before loading the program in order to keep the assignments)
NUMBER OF PROGRAM STEPS: 863
NUMBER OF PROGRAM BYTES: 1693
TOTAL NUMBER OF REGISTERS (program+data): 262
NUMBER OF MAG SIDES (card reader): 16