for some reason i keep on getting inaccurate readings from the following equations...

M VAR BYTE
A VAR word
B VAR word
C VAR word
D VAR word
W var byte
HH var word
weight var byte
BMIA VAR BYTE
BMIB VAR BYTE
BF VAR BYTE

CALBF:
B=82/1000
A=415/100
C=9842/100
D=7676/100

IF (M=1) THEN
GOsub MALEBF
Else
GOsub FEMALEBF
goto RT
ENDIF

MALEBF:
BFA = (A*WAIST) 'waist(inches)
BFB = (B*W) 'W=weight(lbs)
BF = (-C + BFA - BFB)
BF = BF/W
BF = BF*100
return

FEMALEBF:
BFA = (A*WAIST)
BFB = (B*w)
BF = (-D + BFA - BFB)
BF = BF/w
BF = BF*100
return
RT:
BODYFAT = BF
RETURN
'
'
CALBMI:
HH=HEIGHT*HEIGHT 'example use 70 inches
BMIA=WEIGHT
BMIB=HH
BMI=WEIGHT/HH
BMI=BMI*703
RETURN