 
 /**/
 /* coded so as not to assume r4000 processor or to assume that*/
 /* component parts are 8 byte aligned*/
 /**/
 /*%externalroutine    Ccdiv %alias "f_ccdiv" (%record(cxf)%name c,a,b)*/
 /*%longreal ratio, den, abr, abi*/
 /*      abr = b_real*/
 /*      %if abr  < 0.0 %then abr = 0.0 - abr*/
 /*      abi = b_imag*/
 /*      %if abi < 0.0 %then abi = 0.0 - abi*/
 /*      %if abr <= abi %start*/
 /*        ratio = b_real / b_imag*/
 /*        den   = b_imag * (1 + ratio*ratio)*/
 /*        c_real= (a_real*ratio + a_imag) / den*/
 /*        c_imag= (a_imag*ratio - a_real) / den*/
 /*      %finishelsestart*/
 /*        ratio = b_imag / b_real*/
 /*        den   = b_real * (1 + ratio*ratio)*/
 /*        c_real= (a_real + a_imag*ratio) / den*/
 /*        c_imag= (a_imag - a_real*ratio) / den*/
 /*      %finish*/
 /**/

f_lccdiv(ar,ai,br,bi)
double ar,ai,br,bi;
{
double ratio,den,cr,ci,abr,abi;
      abr = br;
      if ( abr  < 0.0) abr = 0.0 - abr;
      abi= bi;
      if (abi < 0.0) abi = 0.0 - abi;
      if (abr <= abi) {
        ratio=br/bi;
        den=bi*(1 + ratio*ratio);
        cr=(ar*ratio+ai)/den;
        ci=(ai*ratio-ai)/den;
      } else {
        ratio=bi/br;
        den=br* (1 + ratio*ratio);
        cr=(ar+ai*ratio)/den;
        ci=(ai-ar*ratio)/den;
      }
}
