C ----- Receives as(Mz) -----------------------------
C ----- RETURNS(as(mu)/Pi)---------------------------

      double precision function SSC(mu,asZ,porder)
      implicit none
      double precision mu,asZ,step, b0,b1,b2, incr,as0
      double precision Mz, as
      character*60 porder
      integer i

      b0= 1.916666667
      b1=1.260869565
      b2=1.474788647

      as0=asZ/3.1415926D0
      Mz=91.187D0
      

      step=dlog(mu**2/Mz**2)/100
      do i=1,100
 
         if (porder.EQ.'NNLO') then
            incr = step*b0*as0**2*(1.D0+b1*as0 + b2*as0**2 )            
         elseif (porder.EQ.'NLO') then
            incr = step*b0*as0**2*(1.D0+b1*as0 )
         elseif (porder.EQ.'LO') then
            incr = step*b0*as0**2
         endif

         as=as0 - incr
         as0 = as
      enddo
 
      SSC=as
 
      RETURN
      end

