%%HP: T(3)A(D)F(.);
\<< \<-lc \<-t * 6.25 *
\<-Pdl + \<-M \<-Mdl 2. / +
\<-Mdl 2. / \<-M
  IF '\<-W\=/0.'
  THEN 1.1 *
  END
  IF 1. FS?
  THEN \<-Mll 2. / +
1.275 * SWAP 1.05 * +
SWAP \<-Mll 2. / + ROT
\<-Pll OVER + SWAP 1.05
* \<-Pll 1.275 * +
  ELSE 1.3 * SWAP .9
* + SWAP ROT DUP .9 *
  END ROT 3. PICK
\<-\GDcr * 12. / + 0. 0.
0. 0. 0. 0. 0. 0. \->
Mu P Pu Ms \O/ Ase a c
Icr Mn \GDn \GDs
  \<< Pu \<-fy / \<-As +
'Ase' STO \<-fy 10.2
\<-f\180c * / Ase * 'a'
STO a \<-\Gb1 / 'c' STO
.9 Pu \<-f\180c \<-t 6. * *
/ - '\O/' STO \<-d c - SQ
Ase * 29000. 57. /
\<-f\180c \v/ / * c 3. ^ 4.
* + 'Icr' STO Ase \<-fy
* \<-d a 2. / - * 12. /
DUP 'Mn' STO \<-lc SQ *
3. * 950. / \<-f\180c \v/ /
Icr / '\GDn' STO Pu \GDn
12. / * 'Mu' STO+
    IF 'Ms<\<-Mcr'
    THEN Ms \<-lc SQ *
\<-f\180c \v/ / \<-Ig / 3. *
950. /
    ELSE \GDn \<-\GDcr - Mn
\<-Mcr - / Ms \<-Mcr - *
\<-\GDcr +
    END '\GDs' STO P \<-t
12. * / "  P= " P
\->STR + " plf
P/A= " +
OVER \->STR +
" psi
 Ms= " + Ms
\->STR +
" ft-lb/ft
 Pu= " +
Pu \->STR +
" plf
  \O/= " + \O/ \->STR
+ "
Ase= " + Ase \->STR
+ " in\178
  a= " + a
\->STR + " in" + SCRN
\<-f\180c .04 *
    IF >
    THEN
"NO GOOD!
P/A > .04f\180c"
MSGBOX
    END "  c= " c
\->STR + " in
Icr= " +
Icr \->STR +
" in^4
 Mn= " + Mn
\->STR +
" ft-lb/ft
\O/Mn= " +
Mn \O/ * \->STR +
" ft-lb/ft
 \GDn= " +
\GDn \->STR + " in
 Mu= "
+ Mu \->STR +
" ft-lb/ft
 \GDs= " +
\GDs \->STR + " in" +
SCRN
    IF '\O/*Mn<\<-Mcr'
    THEN
"NO GOOD!
\O/Mn < Mcr"
MSGBOX
    END
    IF 'Mu>\O/*Mn'
    THEN
"NO GOOD!
Mu > \O/Mn"
MSGBOX
    END
    IF '\GDs>\<-lc/12.5'
    THEN
"NO GOOD!
\GDs > lc/150"
MSGBOX
    END
  \>>
\>>