%%HP: T(3)A(D)F(.);
\<<
"SPECIAL INSPECTION?"
{ { "YES" 1. } { "NO"
2. } } 1. CHOOSE ESC
1. SWAP
  IF 2. ==
  THEN SF
  ELSE CF
  END GDAT ROT 4.
ROLL + 5. ROLL 5.
ROLL + ROT 9. PICK *
13. PICK * 12. / +
10. ROLL 12. PICK * /
ROT ROT 2. / + ROT 3.
== 1. 4. 3. / IFTE 6.
ROLL .5 * 24. MIN 7.
PICK 10. ROLL / 12. *
  IF 30. >
  THEN
"WARNING!
  h/t > 30"
  ELSE
"O.K.!
  h/t \<= 30"
  END MSGBOX 10. PICK
4. / 70. 9. ROLL 10.
ROLL / 12. * DUP
  IF 99. >
  THEN / SQ
  ELSE SWAP 2. * / SQ
1. SWAP -
  END * 9. PICK 3. /
2000. MIN 8. PICK 8.
PICK 11. PICK * /
29000. 12. ROLL .75 *
3000. MIN / * DUP SQ
OVER 2. * + \v/ SWAP -
8. ROLL DUP ROT *
SWAP OVER 3. / - 7.
ROLL 12. * SWAP / DUP
10. ROLL / SWAP 9.
ROLL / 1000. / \-> fa
Cd Fs Fa Fb kd fb fs
  \<< Cd DUP
    IF 1. FS?C
    THEN 2. /
    END DUP 'Fa' STO*
'Fb' STO* 'Fs' STO*
"Allowable Stresses:

Fa = "
Fa \->STR +
" psi
Fb = " + Fb
\->STR + " psi
Fs = " +
Fs \->STR + " ksi" +
SCRN 2. kd / 'fb'
STO*
"Actual Stresses:

kd = "
kd \->STR + " in
fa = "
+ fa \->STR +
" psi
fb = " + fb
\->STR + " psi
fs = " +
fs \->STR + " ksi" +
SCRN fa Fa / fb Fb /
+ DUP
"Combined Stresses:
fa/Fa + fb/Fb = "
SWAP \->STR + "
" +
SWAP
    IF 1. >
    THEN "No Good!"
    ELSE "OK!"
    END +
    IF 'fs>Fs'
    THEN
"fs > Fs -- No Good!"
    ELSE
"fs \<= Fs -- OK!"
    END
"

Check Steel Stresses:
"
SWAP + + SCRN
  \>>
\>>