      MOV rax, RIValues
      MOV rcx, *Spectrum
      OR rcx, rcx
      JNZ pSpecValidMono
      MOV rcx, SpecTmp
    !pSpecValidMono:
      MOV rdx, rcx
      ADD rdx, $1000
      FLD dword [Flt_1_16000]
      FLD dword [Flt_2_3]
    !BoostLoopMono:
      FLD dword [rax]
      FMUL ST,ST
      FLD dword [rax + 4]
      FMUL ST, ST
      FADDP
      FSQRT
      
      FLD dword [rax + $4000]
      FMUL ST, ST
      FLD dword [rax + $4004]
      FMUL ST, ST
      FADDP
      FSQRT
                
      ADD rax, 8    ; >  1/x   2/3    a     b
      FLD st1       ; >  1/x   2/3    a     b     a
      FSUB st, st1  ; >  1/x   2/3    a     b    (a-b)
      FABS
      FMUL st, st3  ; >  1/x   2/3    a     b    2/3*(a-b)
      FADDP st1, st ; >  1/x   2/3    a    b+2/3*(a-b)
      FADDP st1, st ; >  1/x   2/3   a+b+2/3*(a-b)
      FMUL st, st2  ; >  1/x   2/3   (a+b+2/3*(a-b))/2/x
      FSTP dword [rcx]
      
      ADD rcx, 4
      CMP rcx, rdx
    JNE BoostLoopMono
    FSTP st
    FSTP st
; IDE Options = PureBasic 4.61 Beta 1 (Windows - x64)
; CursorPosition = 35
; FirstLine = 7
; EnableXP