%%HP: T(3)A(R)F(.); DIR FRLVSWR \<< FRLrho rVSWR \>> LOVSWR \<< LOrho rVSWR \>> VLVSWR \<< SWAP Vrho SWAP rLrho rVSWR \>> rLrho \<< 10. / ALOG * DUP IF 1. > THEN DROP "INVALID rho" DOERR END \->NUM \>> LOrho \<< LOGAMMA ABS \>> LOGAMMA \<< DUP 3 ROLLD SWAP DUP 4 ROLLD + 3 ROLLD - / INV \->NUM \>> FRLrho \<< 3 ROLLD / \v/ INV SWAP rLrho \>> Vrho \<< DUP 1. + SWAP 1. - SWAP / \->NUM \>> rVSWR \<< DUP 1. + SWAP 1. - ABS / \->NUM \>> FRrho \<< / \v/ INV \->NUM \>> SLLOSS \<< DUP 3. ROLLD 2. / VLVSWR SWAP MLLOSS \>> MLLOSS \<< SWAP DUP 2. * SWAP SQ 1. + SWAP / * \>> LLLOSS \<< DUP 3. ROLLD -2. / VLVSWR SWAP MLLOSS \>> END