;******************************************************************************
;* TMS320C6x ANSI C Codegen                   Version 4.09 Beta (Feb  8 2001) *
;* Date/Time created: Thu May 17 15:22:32 2001                                *
;******************************************************************************

;******************************************************************************
;* GLOBAL FILE PARAMETERS                                                     *
;*                                                                            *
;*   Architecture      : TMS320C671x                                          *
;*   Optimization      : Enabled at level 3                                   *
;*   Optimizing for    : Speed                                                *
;*                       Based on options: -o3, no -ms                        *
;*   Endian            : Little                                               *
;*   Interrupt Thrshld : Disabled                                             *
;*   Memory Model      : Small                                                *
;*   Calls to RTS      : Near                                                 *
;*   Pipelining        : Enabled                                              *
;*   Speculative Load  : Disabled                                             *
;*   Memory Aliases    : Presume are aliases (pessimistic)                    *
;*   Debug Info        : Debug                                                *
;*                                                                            *
;******************************************************************************

	.asg	A15, FP
	.asg	B14, DP
	.asg	B15, SP
	.global	$bss

	.file	"complexmath.c"
;	C:\TIBETA\C6000\CGTOOLS\BIN\opt6x.exe -v6710 -v6710 -O3 c:\windows\TEMP\TI678105_2 c:\windows\TEMP\TI678105_4 
	.sect	".text"
	.global	_RadToDeg
	.sym	_RadToDeg,_RadToDeg, 38, 2, 0
	.func	143

;******************************************************************************
;* FUNCTION NAME: _RadToDeg                                                   *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,SP                                      *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,SP                                      *
;*   Local Frame Size  : 0 Args + 0 Auto + 4 Save = 4 byte                    *
;******************************************************************************
_RadToDeg:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_RadianPhase,4, 6, 17, 32
	.sym	_RadianPhase,4, 6, 4, 32
           STW     .D2T2   B3,*SP--(8)       ; |144| 
	.line	6

           SPDP    .S1     A4,A1:A0          ; |148| 
||         MVKL    .S2     0x40768000,B5     ; |148| 

           MVKH    .S2     0x40768000,B5     ; |148| 
||         ZERO    .D2     B4                ; |148| 

           MPYDP   .M1X    B5:B4,A1:A0,A5:A4 ; |148| 
           NOP             3

           B       .S1     __divd            ; |148| 
||         MVKL    .S2     RL0,B3            ; |148| 

           MVKH    .S2     RL0,B3            ; |148| 
           MVKL    .S2     0x54442d18,B4     ; |148| 
           MVKL    .S2     0x401921fb,B5     ; |148| 
           MVKH    .S2     0x54442d18,B4     ; |148| 
           MVKH    .S2     0x401921fb,B5     ; |148| 
RL0:       ; CALL OCCURS                     ; |148| 
           DPSP    .L1     A5:A4,A4          ; |148| 
	.line	7
           LDW     .D2T2   *++SP(8),B3       ; |149| 
           NOP             4
           B       .S2     B3                ; |149| 
           NOP             5
           ; BRANCH OCCURS                   ; |149| 
	.endfunc	149,000080000h,8


	.sect	".text"
	.global	_PolarToComplex
	.sym	_PolarToComplex,_PolarToComplex, 40, 2, 0, $$fake0
	.func	109

;******************************************************************************
;* FUNCTION NAME: _PolarToComplex                                             *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,B0,B1,B2,B3,B4,B5, *
;*                           B6,B7,B8,B9,B10,B11,B12,B13,SP                   *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,B0,B1,B2,B3,B4,B5, *
;*                           B6,B7,B8,B9,B10,B11,B12,B13,SP                   *
;*   Local Frame Size  : 0 Args + 16 Auto + 24 Save = 40 byte                 *
;******************************************************************************
_PolarToComplex:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_x,4, 24, 17, 32, $$fake1
	.sym	_x,4, 24, 4, 32, $$fake1
	.sym	_x,4, 8, 1, 64, $$fake1
	.sym	_Result,12, 8, 1, 64, $$fake0
           STW     .D2T2   B13,*SP--(40)     ; |110| 
           STW     .D2T2   B12,*+SP(36)      ; |110| 
           STW     .D2T2   B11,*+SP(32)      ; |110| 
           STW     .D2T2   B10,*+SP(28)      ; |110| 
           STW     .D2T2   B3,*+SP(24)       ; |110| 
           STW     .D2T1   A10,*+SP(20)      ; |110| 
           MV      .D1     A3,A10            ; |110| 
           LDW     .D1T1   *A4,A3            ; |110| 
           LDW     .D1T1   *+A4(4),A0        ; |110| 
           NOP             2
           ADD     .D2     4,SP,B4           ; |110| 
           STW     .D2T1   A3,*B4            ; |110| 
           STW     .D2T1   A0,*+B4(4)        ; |110| 
	.line	5
           LDW     .D2T2   *+SP(8),B4        ; |113| 
           NOP             2
           B       .S1     _cos              ; |113| 
           LDW     .D2T2   *+SP(4),B10       ; |113| 
           SPDP    .S2     B4,B13:B12        ; |113| 
           NOP             1

           MV      .S1X    B13,A5            ; |113| 
||         MVKL    .S2     RL2,B3            ; |113| 

           MV      .S1X    B12,A4            ; |113| 
||         MVKH    .S2     RL2,B3            ; |113| 

RL2:       ; CALL OCCURS                     ; |113| 
           SPDP    .S2     B10,B11:B10       ; |113| 
           NOP             1
           MPYDP   .M2X    B11:B10,A5:A4,B5:B4 ; |113| 
           NOP             9
           DPSP    .L2     B5:B4,B4          ; |113| 
           NOP             3
           STW     .D2T2   B4,*+SP(12)       ; |113| 
	.line	6
           B       .S1     _sin              ; |114| 
           NOP             3

           MV      .S1X    B13,A5            ; |114| 
||         MVKL    .S2     RL4,B3            ; |114| 

           MV      .S1X    B12,A4            ; |114| 
||         MVKH    .S2     RL4,B3            ; |114| 

RL4:       ; CALL OCCURS                     ; |114| 
           MPYDP   .M1X    B11:B10,A5:A4,A1:A0 ; |114| 
           NOP             9
           DPSP    .L1     A1:A0,A0          ; |114| 
           NOP             3
           STW     .D2T1   A0,*+SP(16)       ; |114| 
	.line	7

           MV      .D1     A10,A1            ; |115| 
||         ADD     .D2     12,SP,B4          ; |115| 

   [ A1]   LDW     .D2T2   *B4,B5            ; |115| 
   [ A1]   LDW     .D2T2   *+B4(4),B4        ; |115| 
           NOP             2
   [ A1]   MV      .D1     A10,A0
   [ A1]   STW     .D1T2   B5,*A0            ; |115| 
   [ A1]   STW     .D1T2   B4,*+A10(4)       ; |115| 
	.line	8
           LDW     .D2T2   *+SP(36),B12      ; |116| 
           LDW     .D2T2   *+SP(32),B11      ; |116| 
           LDW     .D2T2   *+SP(28),B10      ; |116| 
           LDW     .D2T2   *+SP(24),B3       ; |116| 
           NOP             2
           LDW     .D2T1   *+SP(20),A10      ; |116| 
           LDW     .D2T2   *++SP(40),B13     ; |116| 
           B       .S2     B3                ; |116| 
           NOP             5
           ; BRANCH OCCURS                   ; |116| 
	.endfunc	116,03c080400h,40


	.sect	".text"
	.global	_DegToRad
	.sym	_DegToRad,_DegToRad, 38, 2, 0
	.func	154

;******************************************************************************
;* FUNCTION NAME: _DegToRad                                                   *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,SP                                      *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,SP                                      *
;*   Local Frame Size  : 0 Args + 0 Auto + 4 Save = 4 byte                    *
;******************************************************************************
_DegToRad:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_DegreePhase,4, 6, 17, 32
	.sym	_DegreePhase,4, 6, 4, 32
           STW     .D2T2   B3,*SP--(8)       ; |155| 
	.line	6
           MVKL    .S2     0x401921fb,B5     ; |159| 
           MVKL    .S2     0x54442d18,B4     ; |159| 

           MVKH    .S2     0x401921fb,B5     ; |159| 
||         SPDP    .S1     A4,A1:A0          ; |159| 

           MVKH    .S2     0x54442d18,B4     ; |159| 
           MPYDP   .M1X    B5:B4,A1:A0,A5:A4 ; |159| 
           NOP             3
           B       .S1     __divd            ; |159| 
           NOP             1
           MVKL    .S2     RL6,B3            ; |159| 
           MVKH    .S2     RL6,B3            ; |159| 
           MVKL    .S2     0x40768000,B5     ; |159| 

           MVKH    .S2     0x40768000,B5     ; |159| 
||         ZERO    .D2     B4                ; |159| 

RL6:       ; CALL OCCURS                     ; |159| 
           DPSP    .L1     A5:A4,A4          ; |159| 
	.line	7
           LDW     .D2T2   *++SP(8),B3       ; |160| 
           NOP             4
           B       .S2     B3                ; |160| 
           NOP             5
           ; BRANCH OCCURS                   ; |160| 
	.endfunc	160,000080000h,8


	.sect	".text"
	.global	_Conj
	.sym	_Conj,_Conj, 40, 2, 0, $$fake0
	.func	84

;******************************************************************************
;* FUNCTION NAME: _Conj                                                       *
;*                                                                            *
;*   Regs Modified     : A0,A1,A3,A4,A5,B4,B5,SP                              *
;*   Regs Used         : A0,A1,A3,A4,A5,B3,B4,B5,SP                           *
;*   Local Frame Size  : 0 Args + 16 Auto + 0 Save = 16 byte                  *
;******************************************************************************
_Conj:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_a,4, 24, 17, 32, $$fake0
	.sym	_a,4, 24, 4, 32, $$fake0
	.sym	_a,4, 8, 1, 64, $$fake0
	.sym	_Conjugate,12, 8, 1, 64, $$fake0

           SUB     .D2     SP,16,SP          ; |85| 
||         MV      .D1     A3,A1             ; |85| 

           LDW     .D1T1   *A4,A3            ; |85| 
           LDW     .D1T1   *+A4(4),A0        ; |85| 
           ADD     .D2     4,SP,B4           ; |85| 
           NOP             2
           STW     .D2T1   A3,*B4            ; |85| 
           STW     .D2T1   A0,*+B4(4)        ; |85| 
	.line	5
           ADD     .S1X    4,SP,A0           ; |88| 
           LDW     .D1T1   *+A0(4),A3        ; |88| 
           LDW     .D1T1   *A0,A0            ; |88| 
           ADD     .D2     12,SP,B4          ; |88| 
           NOP             3
           STW     .D2T1   A0,*B4            ; |88| 
           STW     .D2T1   A3,*+B4(4)        ; |88| 
	.line	6
           LDW     .D2T2   *+SP(16),B4       ; |89| 
           NOP             4
           SPDP    .S2     B4,B5:B4          ; |89| 
           ZERO    .D1     A0                ; |89| 

           SET     .S1     A0,31,31,A0       ; |89| 
||         MV      .L1X    B4,A4             ; |89| 

           XOR     .S1X    B5,A0,A5          ; |89| 
           DPSP    .L1     A5:A4,A0          ; |89| 
           NOP             3
           STW     .D2T1   A0,*+SP(16)       ; |89| 
	.line	8
           ADD     .D2     12,SP,B4          ; |91| 
   [ A1]   LDW     .D2T2   *B4,B5            ; |91| 
   [ A1]   LDW     .D2T2   *+B4(4),B4        ; |91| 
           NOP             4
   [ A1]   STW     .D1T2   B4,*+A1(4)        ; |91| 
   [ A1]   STW     .D1T2   B5,*A1            ; |91| 
	.line	9
           B       .S2     B3                ; |92| 
           ADDK    .S2     16,SP             ; |92| 
           NOP             4
           ; BRANCH OCCURS                   ; |92| 
	.endfunc	92,000000000h,16


	.sect	".text"
	.global	_ComplexMag
	.sym	_ComplexMag,_ComplexMag, 38, 2, 0
	.func	121

;******************************************************************************
;* FUNCTION NAME: _ComplexMag                                                 *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,SP                                      *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,SP                                      *
;*   Local Frame Size  : 0 Args + 8 Auto + 4 Save = 12 byte                   *
;******************************************************************************
_ComplexMag:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_x,4, 24, 17, 32, $$fake0
	.sym	_x,4, 24, 4, 32, $$fake0
	.sym	_Magnitude,0, 6, 4, 32
	.sym	_x,4, 8, 1, 64, $$fake0
           STW     .D2T2   B3,*SP--(16)      ; |122| 
           LDW     .D1T1   *A4,A0            ; |122| 
           LDW     .D1T2   *+A4(4),B5        ; |122| 
           ADD     .D2     4,SP,B4           ; |122| 
           NOP             2
           STW     .D2T1   A0,*B4            ; |122| 
           STW     .D2T2   B5,*+B4(4)        ; |122| 
	.line	5
           LDW     .D2T1   *+SP(8),A0        ; |125| 
           LDW     .D2T2   *+SP(4),B4        ; |125| 
           MVKL    .S2     RL8,B3            ; |125| 
           NOP             3

           MPYSP   .M1     A0,A0,A0          ; |125| 
||         MPYSP   .M2     B4,B4,B4          ; |125| 

           NOP             3

           B       .S1     _sqrt             ; |125| 
||         ADDSP   .L1X    A0,B4,A0          ; |125| 

           NOP             3
           SPDP    .S1     A0,A5:A4          ; |125| 
           MVKH    .S2     RL8,B3            ; |125| 
RL8:       ; CALL OCCURS                     ; |125| 
           DPSP    .L1     A5:A4,A4          ; |125| 
	.line	6
	.line	7
           LDW     .D2T2   *++SP(16),B3      ; |127| 
           NOP             4
           B       .S2     B3                ; |127| 
           NOP             5
           ; BRANCH OCCURS                   ; |127| 
	.endfunc	127,000080000h,16


	.sect	".text"
	.global	_ComplexPhase
	.sym	_ComplexPhase,_ComplexPhase, 38, 2, 0
	.func	132

;******************************************************************************
;* FUNCTION NAME: _ComplexPhase                                               *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,SP                                      *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,SP                                      *
;*   Local Frame Size  : 0 Args + 8 Auto + 4 Save = 12 byte                   *
;******************************************************************************
_ComplexPhase:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_x,4, 24, 17, 32, $$fake0
	.sym	_x,4, 24, 4, 32, $$fake0
	.sym	_Phase,0, 6, 4, 32
	.sym	_x,4, 8, 1, 64, $$fake0
           STW     .D2T2   B3,*SP--(16)      ; |133| 
           LDW     .D1T1   *A4,A3            ; |133| 
           LDW     .D1T1   *+A4(4),A0        ; |133| 
           ADD     .D2     4,SP,B4           ; |133| 
           NOP             2
           STW     .D2T1   A3,*B4            ; |133| 
           STW     .D2T1   A0,*+B4(4)        ; |133| 
	.line	5
           LDW     .D2T2   *+SP(4),B4        ; |136| 
           LDW     .D2T2   *+SP(8),B6        ; |136| 
           MVKL    .S2     RL10,B3           ; |136| 
           B       .S1     _atan2            ; |136| 
           MVKH    .S2     RL10,B3           ; |136| 
           SPDP    .S2     B4,B5:B4          ; |136| 
           NOP             1
           SPDP    .S1X    B6,A5:A4          ; |136| 
           NOP             1
RL10:      ; CALL OCCURS                     ; |136| 
           DPSP    .L1     A5:A4,A4          ; |136| 
	.line	6
	.line	7
           LDW     .D2T2   *++SP(16),B3      ; |138| 
           NOP             4
           B       .S2     B3                ; |138| 
           NOP             5
           ; BRANCH OCCURS                   ; |138| 
	.endfunc	138,000080000h,16


	.sect	".text"
	.global	_ComplexToPolar
	.sym	_ComplexToPolar,_ComplexToPolar, 40, 2, 0, $$fake1
	.func	97

;******************************************************************************
;* FUNCTION NAME: _ComplexToPolar                                             *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,B0,B1,B2,B3,B4,B5, *
;*                           B6,B7,B8,B9,SP                                   *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,B0,B1,B2,B3,B4,B5, *
;*                           B6,B7,B8,B9,SP                                   *
;*   Local Frame Size  : 0 Args + 24 Auto + 8 Save = 32 byte                  *
;******************************************************************************
_ComplexToPolar:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_x,4, 24, 17, 32, $$fake0
	.sym	_x,4, 24, 4, 32, $$fake0
	.sym	_Phase,0, 6, 4, 32
	.sym	_x,4, 8, 1, 64, $$fake0
	.sym	_Result,12, 8, 1, 64, $$fake1
	.sym	_x,20, 8, 1, 64, $$fake0
; >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ENTERING ComplexPhase()
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< LEAVING ComplexPhase()
           STW     .D2T2   B3,*SP--(32)      ; |98| 
           STW     .D2T1   A10,*+SP(28)      ; |98| 
           MV      .D1     A3,A10            ; |98| 
           LDW     .D1T1   *A4,A3            ; |98| 
           LDW     .D1T1   *+A4(4),A0        ; |98| 
           ADD     .D2     4,SP,B4           ; |98| 
           NOP             2
           STW     .D2T1   A3,*B4            ; |98| 
           STW     .D2T1   A0,*+B4(4)        ; |98| 
	.line	5
           B       .S1     _ComplexMag       ; |101| 
           MVKL    .S2     RL12,B3           ; |101| 
           ADD     .S1X    4,SP,A4
           MVKH    .S2     RL12,B3           ; |101| 
           NOP             2
RL12:      ; CALL OCCURS                     ; |101| 
           STW     .D2T1   A4,*+SP(12)       ; |101| 
           ADD     .S1X    4,SP,A0           ; |133| 
           LDW     .D1T1   *+A0(4),A3        ; |133| 
           LDW     .D1T1   *A0,A0            ; |133| 
           ADD     .D2     SP,20,B4          ; |133| 
           NOP             3
           STW     .D2T1   A0,*B4            ; |133| 
           STW     .D2T1   A3,*+B4(4)        ; |133| 
           LDW     .D2T2   *+SP(20),B4       ; |136| 
           LDW     .D2T2   *+SP(24),B6       ; |136| 
           MVKL    .S2     RL14,B3           ; |136| 
           B       .S1     _atan2            ; |136| 
           MVKH    .S2     RL14,B3           ; |136| 
           SPDP    .S2     B4,B5:B4          ; |136| 
           NOP             1
           SPDP    .S1X    B6,A5:A4          ; |136| 
           NOP             1
RL14:      ; CALL OCCURS                     ; |136| 
           DPSP    .L1     A5:A4,A0          ; |136| 
           NOP             3
           STW     .D2T1   A0,*+SP(16)       ; |137| 
	.line	7

           MV      .D1     A10,A1            ; |103| 
||         ADD     .D2     12,SP,B4          ; |103| 

   [ A1]   LDW     .D2T2   *B4,B5            ; |103| 
   [ A1]   LDW     .D2T2   *+B4(4),B4        ; |103| 
   [ A1]   MV      .S1     A10,A0
           NOP             3
   [ A1]   STW     .D1T2   B4,*+A10(4)       ; |103| 
   [ A1]   STW     .D1T2   B5,*A0            ; |103| 
	.line	8
           LDW     .D2T1   *+SP(28),A10      ; |104| 
           LDW     .D2T2   *++SP(32),B3      ; |104| 
           NOP             4
           B       .S2     B3                ; |104| 
           NOP             5
           ; BRANCH OCCURS                   ; |104| 
	.endfunc	104,000080400h,32


	.sect	".text"
	.global	_CSub
	.sym	_CSub,_CSub, 40, 2, 0, $$fake0
	.func	46

;******************************************************************************
;* FUNCTION NAME: _CSub                                                       *
;*                                                                            *
;*   Regs Modified     : A0,A1,A3,A4,B4,B5,B6,B7,SP                           *
;*   Regs Used         : A0,A1,A3,A4,B3,B4,B5,B6,B7,SP                        *
;*   Local Frame Size  : 0 Args + 24 Auto + 0 Save = 24 byte                  *
;******************************************************************************
_CSub:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_a,4, 24, 17, 32, $$fake0
	.sym	_b,20, 24, 17, 32, $$fake0
	.sym	_b,0, 24, 4, 32, $$fake0
	.sym	_a,4, 24, 4, 32, $$fake0
	.sym	_a,4, 8, 1, 64, $$fake0
	.sym	_b,12, 8, 1, 64, $$fake0
	.sym	_Difference,20, 8, 1, 64, $$fake0

           SUB     .D2     SP,24,SP          ; |47| 
||         MV      .D1     A3,A1             ; |47| 

           LDW     .D1T2   *A4,B7            ; |47| 
           LDW     .D1T2   *+A4(4),B6        ; |47| 
           ADD     .D2     4,SP,B5           ; |47| 
           MV      .S1X    B4,A0
           NOP             1
           STW     .D2T2   B7,*B5            ; |47| 
           STW     .D2T2   B6,*+B5(4)        ; |47| 
           LDW     .D1T1   *A0,A4            ; |47| 
           LDW     .D1T1   *+A0(4),A3        ; |47| 
           ADD     .S1X    12,SP,A0          ; |47| 
           NOP             2
           STW     .D1T1   A4,*A0            ; |47| 
           STW     .D1T1   A3,*+A0(4)        ; |47| 
	.line	5
           LDW     .D2T2   *+SP(4),B4        ; |50| 
           LDW     .D2T2   *+SP(12),B5       ; |50| 
           NOP             4
           SUBSP   .L2     B4,B5,B4          ; |50| 
           NOP             3
           STW     .D2T2   B4,*+SP(20)       ; |50| 
	.line	6
           LDW     .D2T2   *+SP(8),B5        ; |51| 
           LDW     .D2T2   *+SP(16),B4       ; |51| 
           NOP             4
           SUBSP   .L2     B5,B4,B4          ; |51| 
           NOP             3
           STW     .D2T2   B4,*+SP(24)       ; |51| 
	.line	7
           ADD     .D2     SP,20,B4          ; |52| 
   [ A1]   LDW     .D2T2   *B4,B5            ; |52| 
   [ A1]   LDW     .D2T2   *+B4(4),B4        ; |52| 
           NOP             4
   [ A1]   STW     .D1T2   B4,*+A1(4)        ; |52| 
   [ A1]   STW     .D1T2   B5,*A1            ; |52| 
	.line	8
           B       .S2     B3                ; |53| 
           ADDK    .S2     24,SP             ; |53| 
           NOP             4
           ; BRANCH OCCURS                   ; |53| 
	.endfunc	53,000000000h,24


	.sect	".text"
	.global	_CMult
	.sym	_CMult,_CMult, 40, 2, 0, $$fake0
	.func	58

;******************************************************************************
;* FUNCTION NAME: _CMult                                                      *
;*                                                                            *
;*   Regs Modified     : A0,A1,A3,A4,B4,B5,B6,B7,B8,B9,SP                     *
;*   Regs Used         : A0,A1,A3,A4,B3,B4,B5,B6,B7,B8,B9,SP                  *
;*   Local Frame Size  : 0 Args + 24 Auto + 0 Save = 24 byte                  *
;******************************************************************************
_CMult:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_a,4, 24, 17, 32, $$fake0
	.sym	_b,20, 24, 17, 32, $$fake0
	.sym	_b,0, 24, 4, 32, $$fake0
	.sym	_a,4, 24, 4, 32, $$fake0
	.sym	_a,4, 8, 1, 64, $$fake0
	.sym	_b,12, 8, 1, 64, $$fake0
	.sym	_Product,20, 8, 1, 64, $$fake0

           SUB     .D2     SP,24,SP          ; |59| 
||         MV      .D1     A3,A1             ; |59| 

           LDW     .D1T2   *A4,B7            ; |59| 
           LDW     .D1T2   *+A4(4),B6        ; |59| 
           ADD     .D2     4,SP,B5           ; |59| 
           MV      .S1X    B4,A0
           NOP             1
           STW     .D2T2   B7,*B5            ; |59| 
           STW     .D2T2   B6,*+B5(4)        ; |59| 
           LDW     .D1T1   *A0,A4            ; |59| 
           LDW     .D1T1   *+A0(4),A3        ; |59| 
           ADD     .S1X    12,SP,A0          ; |59| 
           NOP             2
           STW     .D1T1   A4,*A0            ; |59| 
           STW     .D1T1   A3,*+A0(4)        ; |59| 
	.line	5
           LDW     .D2T2   *+SP(16),B4       ; |62| 
           LDW     .D2T2   *+SP(8),B5        ; |62| 
           LDW     .D2T2   *+SP(4),B7        ; |62| 
           LDW     .D2T2   *+SP(12),B6       ; |62| 
           NOP             3
           MPYSP   .M2     B4,B5,B8          ; |62| 
           MPYSP   .M2     B6,B7,B9          ; |62| 
           NOP             3
           SUBSP   .L2     B9,B8,B8          ; |62| 
           NOP             3
           STW     .D2T2   B8,*+SP(20)       ; |62| 
	.line	6
           MPYSP   .M2     B4,B7,B4          ; |63| 
           MPYSP   .M2     B6,B5,B5          ; |63| 
           NOP             3
           ADDSP   .L2     B5,B4,B4          ; |63| 
           NOP             3
           STW     .D2T2   B4,*+SP(24)       ; |63| 
	.line	7
           ADD     .D2     SP,20,B4          ; |64| 
   [ A1]   LDW     .D2T2   *B4,B5            ; |64| 
   [ A1]   LDW     .D2T2   *+B4(4),B4        ; |64| 
           NOP             4
   [ A1]   STW     .D1T2   B4,*+A1(4)        ; |64| 
   [ A1]   STW     .D1T2   B5,*A1            ; |64| 
	.line	8
           B       .S2     B3                ; |65| 
           ADDK    .S2     24,SP             ; |65| 
           NOP             4
           ; BRANCH OCCURS                   ; |65| 
	.endfunc	65,000000000h,24


	.sect	".text"
	.global	_CDiv
	.sym	_CDiv,_CDiv, 40, 2, 0, $$fake0
	.func	70

;******************************************************************************
;* FUNCTION NAME: _CDiv                                                       *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,B0,B1,B2,B3,B4,*
;*                           B5,B6,B7,B8,B9,SP                                *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,B0,B1,B2,B3,B4,*
;*                           B5,B6,B7,B8,B9,SP                                *
;*   Local Frame Size  : 0 Args + 48 Auto + 12 Save = 60 byte                 *
;******************************************************************************
_CDiv:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_a,4, 24, 17, 32, $$fake0
	.sym	_b,20, 24, 17, 32, $$fake0
	.sym	_b,20, 24, 4, 32, $$fake0
	.sym	_a,4, 24, 4, 32, $$fake0
	.sym	_Phase,11, 6, 4, 32
	.sym	_Phase,0, 6, 4, 32
	.sym	_a,4, 8, 1, 64, $$fake0
	.sym	_b,12, 8, 1, 64, $$fake0
	.sym	_PolarQuotient,20, 8, 1, 64, $$fake1
	.sym	_Quotient,28, 8, 1, 64, $$fake0
	.sym	_x,36, 8, 1, 64, $$fake0
	.sym	_x,44, 8, 1, 64, $$fake0
; >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ENTERING ComplexPhase()
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< LEAVING ComplexPhase()
; >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ENTERING ComplexPhase()
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< LEAVING ComplexPhase()
           STW     .D2T2   B3,*SP--(64)      ; |71| 
           STW     .D2T1   A11,*+SP(60)      ; |71| 
           STW     .D2T1   A10,*+SP(56)      ; |71| 
           MV      .D1     A3,A10            ; |71| 
           LDW     .D1T1   *A4,A0            ; |71| 
           LDW     .D1T2   *+A4(4),B6        ; |71| 
           ADD     .D2     4,SP,B5           ; |71| 
           NOP             2
           STW     .D2T1   A0,*B5            ; |71| 
           STW     .D2T2   B6,*+B5(4)        ; |71| 
           LDW     .D2T1   *+B4(4),A3        ; |71| 
           LDW     .D2T2   *B4,B4            ; |71| 
           ADD     .S1X    12,SP,A0          ; |71| 
           NOP             3
           STW     .D1T2   B4,*A0            ; |71| 
           STW     .D1T1   A3,*+A0(4)        ; |71| 
	.line	6
           B       .S1     _ComplexMag       ; |75| 
           MVKL    .S2     RL20,B3           ; |75| 
           ADD     .S1X    4,SP,A4
           MVKH    .S2     RL20,B3           ; |75| 
           NOP             2
RL20:      ; CALL OCCURS                     ; |75| 
           B       .S1     _ComplexMag       ; |75| 
           MVKL    .S2     RL22,B3           ; |75| 
           MVKH    .S2     RL22,B3           ; |75| 
           MV      .D1     A4,A11
           ADD     .S1X    12,SP,A4
           NOP             1
RL22:      ; CALL OCCURS                     ; |75| 
           B       .S1     __divf            ; |75| 
           MV      .L2X    A4,B4
           MVKL    .S2     RL24,B3           ; |75| 
           MVKH    .S2     RL24,B3           ; |75| 
           MV      .D1     A11,A4            ; |75| 
           NOP             1
RL24:      ; CALL OCCURS                     ; |75| 
           STW     .D2T1   A4,*+SP(20)       ; |75| 
           ADD     .S1X    4,SP,A0           ; |133| 
           LDW     .D1T1   *+A0(4),A3        ; |133| 
           LDW     .D1T1   *A0,A0            ; |133| 
           ADDAW   .D2     SP,9,B4           ; |133| 
           NOP             2
           STW     .D2T1   A3,*+B4(4)        ; |133| 
           STW     .D2T1   A0,*B4            ; |133| 
           LDW     .D2T2   *+SP(36),B4       ; |136| 
           LDW     .D2T2   *+SP(40),B6       ; |136| 
           MVKL    .S2     RL26,B3           ; |136| 
           B       .S1     _atan2            ; |136| 
           MVKH    .S2     RL26,B3           ; |136| 
           SPDP    .S2     B4,B5:B4          ; |136| 
           NOP             1
           SPDP    .S1X    B6,A5:A4          ; |136| 
           NOP             1
RL26:      ; CALL OCCURS                     ; |136| 
           DPSP    .L1     A5:A4,A0          ; |136| 
           NOP             3
           MV      .D1     A0,A11            ; |136| 
           ADD     .S1X    12,SP,A0          ; |133| 
           LDW     .D1T1   *+A0(4),A3        ; |133| 
           LDW     .D1T1   *A0,A0            ; |133| 
           ADDAW   .D2     SP,11,B4          ; |133| 
           NOP             3
           STW     .D2T1   A0,*B4            ; |133| 
           STW     .D2T1   A3,*+B4(4)        ; |133| 
           LDW     .D2T2   *+SP(44),B4       ; |136| 
           LDW     .D2T2   *+SP(48),B6       ; |136| 
           MVKL    .S2     RL28,B3           ; |136| 
           B       .S1     _atan2            ; |136| 
           MVKH    .S2     RL28,B3           ; |136| 
           SPDP    .S2     B4,B5:B4          ; |136| 
           NOP             1
           SPDP    .S1X    B6,A5:A4          ; |136| 
           NOP             1
RL28:      ; CALL OCCURS                     ; |136| 
           DPSP    .L1     A5:A4,A0          ; |136| 
           NOP             3
           SUBSP   .L1     A11,A0,A0
           NOP             3
           STW     .D2T1   A0,*+SP(24)       ; |137| 
	.line	8
           B       .S1     _PolarToComplex   ; |77| 
           ADD     .D2     SP,20,B4          ; |77| 
           MV      .S1X    B4,A4             ; |77| 
           MVKL    .S2     RL30,B3           ; |77| 
           ADD     .D2     SP,28,B5          ; |77| 

           MV      .S1X    B5,A3             ; |77| 
||         MVKH    .S2     RL30,B3           ; |77| 

RL30:      ; CALL OCCURS                     ; |77| 
	.line	9

           ADD     .D2     SP,28,B4          ; |78| 
||         MV      .D1     A10,A1            ; |78| 

   [ A1]   LDW     .D2T2   *B4,B5            ; |78| 
   [ A1]   LDW     .D2T2   *+B4(4),B4        ; |78| 
   [ A1]   MV      .D1     A10,A0
           NOP             2
   [ A1]   STW     .D1T2   B5,*A0            ; |78| 
   [ A1]   STW     .D1T2   B4,*+A10(4)       ; |78| 
	.line	10
           LDW     .D2T1   *+SP(60),A11      ; |79| 
           LDW     .D2T1   *+SP(56),A10      ; |79| 
           LDW     .D2T2   *++SP(64),B3      ; |79| 
           NOP             4
           B       .S2     B3                ; |79| 
           NOP             5
           ; BRANCH OCCURS                   ; |79| 
	.endfunc	79,000080c00h,64


	.sect	".text"
	.global	_CAvg
	.sym	_CAvg,_CAvg, 40, 2, 0, $$fake0
	.func	22

;******************************************************************************
;* FUNCTION NAME: _CAvg                                                       *
;*                                                                            *
;*   Regs Modified     : A0,A1,A3,A4,A5,B4,B5,B6,B7,SP                        *
;*   Regs Used         : A0,A1,A3,A4,A5,B3,B4,B5,B6,B7,SP                     *
;*   Local Frame Size  : 0 Args + 24 Auto + 0 Save = 24 byte                  *
;******************************************************************************
_CAvg:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_a,4, 24, 17, 32, $$fake0
	.sym	_b,20, 24, 17, 32, $$fake0
	.sym	_b,0, 24, 4, 32, $$fake0
	.sym	_a,4, 24, 4, 32, $$fake0
	.sym	_a,4, 8, 1, 64, $$fake0
	.sym	_b,12, 8, 1, 64, $$fake0
	.sym	_Avg,20, 8, 1, 64, $$fake0

           SUB     .D2     SP,24,SP          ; |23| 
||         MV      .D1     A3,A1             ; |23| 

           LDW     .D1T1   *A4,A3            ; |23| 
           LDW     .D1T1   *+A4(4),A4        ; |23| 
           NOP             2
           ADD     .D2     4,SP,B5           ; |23| 
           STW     .D2T1   A3,*B5            ; |23| 

           STW     .D2T1   A4,*+B5(4)        ; |23| 
||         MV      .S1X    B4,A0

           LDW     .D1T1   *+A0(4),A3        ; |23| 
           LDW     .D1T1   *A0,A0            ; |23| 
           NOP             3
           ADD     .D2     12,SP,B4          ; |23| 
           STW     .D2T1   A0,*B4            ; |23| 
           STW     .D2T1   A3,*+B4(4)        ; |23| 
	.line	5
           LDW     .D2T2   *+SP(12),B5       ; |26| 
           LDW     .D2T2   *+SP(4),B4        ; |26| 
           NOP             4
           ADDSP   .L2     B5,B4,B4          ; |26| 
           NOP             3
           SPDP    .S2     B4,B5:B4          ; |26| 
           ZERO    .D2     B7                ; |26| 

           MVKH    .S2     0x3fe00000,B7     ; |26| 
||         ZERO    .D2     B6                ; |26| 

           MPYDP   .M2     B7:B6,B5:B4,B5:B4 ; |26| 
           NOP             9
           DPSP    .L2     B5:B4,B4          ; |26| 
           NOP             3
           STW     .D2T2   B4,*+SP(20)       ; |26| 
	.line	6
           LDW     .D2T2   *+SP(8),B5        ; |27| 
           LDW     .D2T2   *+SP(16),B4       ; |27| 
           NOP             4
           ADDSP   .L2     B4,B5,B4          ; |27| 
           NOP             3

           SPDP    .S2     B4,B5:B4          ; |27| 
||         ZERO    .D1     A5                ; |27| 

           ZERO    .D1     A4                ; |27| 
||         MVKH    .S1     0x3fe00000,A5     ; |27| 

           MPYDP   .M1X    A5:A4,B5:B4,A5:A4 ; |27| 
           NOP             9
           DPSP    .L1     A5:A4,A0          ; |27| 
           NOP             3
           STW     .D2T1   A0,*+SP(24)       ; |27| 
	.line	7
           ADD     .D2     SP,20,B4          ; |28| 
   [ A1]   LDW     .D2T2   *B4,B5            ; |28| 
   [ A1]   LDW     .D2T2   *+B4(4),B4        ; |28| 
           NOP             3
   [ A1]   STW     .D1T2   B5,*A1            ; |28| 
   [ A1]   STW     .D1T2   B4,*+A1(4)        ; |28| 
	.line	8
           B       .S2     B3                ; |29| 
           NOP             4
           ADDK    .S2     24,SP             ; |29| 
           ; BRANCH OCCURS                   ; |29| 
	.endfunc	29,000000000h,24


	.sect	".text"
	.global	_CAdd
	.sym	_CAdd,_CAdd, 40, 2, 0, $$fake0
	.func	34

;******************************************************************************
;* FUNCTION NAME: _CAdd                                                       *
;*                                                                            *
;*   Regs Modified     : A0,A1,A3,A4,B4,B5,B6,B7,SP                           *
;*   Regs Used         : A0,A1,A3,A4,B3,B4,B5,B6,B7,SP                        *
;*   Local Frame Size  : 0 Args + 24 Auto + 0 Save = 24 byte                  *
;******************************************************************************
_CAdd:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_a,4, 24, 17, 32, $$fake0
	.sym	_b,20, 24, 17, 32, $$fake0
	.sym	_b,0, 24, 4, 32, $$fake0
	.sym	_a,4, 24, 4, 32, $$fake0
	.sym	_a,4, 8, 1, 64, $$fake0
	.sym	_b,12, 8, 1, 64, $$fake0
	.sym	_Sum,20, 8, 1, 64, $$fake0

           SUB     .D2     SP,24,SP          ; |35| 
||         MV      .D1     A3,A1             ; |35| 

           LDW     .D1T2   *A4,B7            ; |35| 
           LDW     .D1T2   *+A4(4),B6        ; |35| 
           ADD     .D2     4,SP,B5           ; |35| 
           MV      .S1X    B4,A0
           NOP             1
           STW     .D2T2   B7,*B5            ; |35| 
           STW     .D2T2   B6,*+B5(4)        ; |35| 
           LDW     .D1T1   *A0,A4            ; |35| 
           LDW     .D1T1   *+A0(4),A3        ; |35| 
           ADD     .S1X    12,SP,A0          ; |35| 
           NOP             2
           STW     .D1T1   A4,*A0            ; |35| 
           STW     .D1T1   A3,*+A0(4)        ; |35| 
	.line	5
           LDW     .D2T2   *+SP(12),B4       ; |38| 
           LDW     .D2T2   *+SP(4),B5        ; |38| 
           NOP             4
           ADDSP   .L2     B4,B5,B4          ; |38| 
           NOP             3
           STW     .D2T2   B4,*+SP(20)       ; |38| 
	.line	6
           LDW     .D2T2   *+SP(16),B5       ; |39| 
           LDW     .D2T2   *+SP(8),B4        ; |39| 
           NOP             4
           ADDSP   .L2     B5,B4,B4          ; |39| 
           NOP             3
           STW     .D2T2   B4,*+SP(24)       ; |39| 
	.line	7
           ADD     .D2     SP,20,B4          ; |40| 
   [ A1]   LDW     .D2T2   *B4,B5            ; |40| 
   [ A1]   LDW     .D2T2   *+B4(4),B4        ; |40| 
           NOP             4
   [ A1]   STW     .D1T2   B4,*+A1(4)        ; |40| 
   [ A1]   STW     .D1T2   B5,*A1            ; |40| 
	.line	8
           B       .S2     B3                ; |41| 
           ADDK    .S2     24,SP             ; |41| 
           NOP             4
           ; BRANCH OCCURS                   ; |41| 
	.endfunc	41,000000000h,24


;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES                                              *
;******************************************************************************
	.global	_sqrt
	.global	_sin
	.global	_cos
	.global	_atan2
	.global	__divd
	.global	__divf

;***************************************************************
;* TYPE INFORMATION                                            *
;***************************************************************
	.sym	_Real, 0, 6, 13, 32
	.stag	$$fake0, 64
	.member	_Re, 0, 6, 8, 32
	.member	_Im, 32, 6, 8, 32
	.eos
	.sym	_Complex, 0, 8, 13, 64,$$fake0
	.stag	$$fake1, 64
	.member	_Mag, 0, 6, 8, 32
	.member	_Phase, 32, 6, 8, 32
	.eos
	.sym	_Polar, 0, 8, 13, 64,$$fake1
