/COMPLEX ARITHMETIC ROUTINES
/ (A+BI)+-*/(C+DI)
/
/ VERSION 5A 4-26-77 MH
/
	DPCHK
	SECT	#CAD
	JA	.
	FSTA	#CARG		/SAVE SECOND ARG
	STARTF
	FLDA	#CARG		/STARTF ROUNDS
	FADDM	#CAC		/A+C
	FLDA	#CARG+3
	FADDM	#CAC+3		/B+D
	STARTE
	JA	#CAD
	ENTRY	#CSB
#CSB,	JA	.
	FSTA	#CARG
	STARTF
	FLDA	#CARG		/STARTF ROUNDS
	FNEG
	FADDM	#CAC		/A-C
	FLDA	#CAC+3
	FSUB	#CARG+3		/B-D
	FSTA	#CAC+3
	STARTE
	JA	#CSB
	ENTRY	#CNG
#CNG,	JA	.
	STARTF
	FLDA	#CAC
	FNEG
	FSTA	#CAC
	FLDA	#CAC+3
	FNEG
	FSTA	#CAC+3
	STARTE
	JA	#CNG
	ENTRY	#CEQ
#CEQ,	JA	.
	JSA	#CSB
	STARTF
	FLDA	#CAC
	JNE	NOTEQ
	FLDA	#CAC+3
	JNE	NOTEQ
	FLDA	ONE
	JA	#CEQ
NOTEQ,	FCLA
	JA	#CEQ
ONE,	F	1.0
	ENTRY	#CML
#CML,	JA	.
	FSTA	#CARG
	STARTF
	FLDA	#CARG		/STARTF ROUNDS
	FMUL	#CAC		/A*C
	FSTA	TEMP
	FLDA	#CARG+3
	FMUL	#CAC+3		/B*D
	FSTA	TEMP2
	FLDA	#CARG
	FMULM	#CAC+3		/B*C
	FLDA	#CAC
	FMUL	#CARG+3		/A*D
	FADDM	#CAC+3		/A*D+B*C
	FLDA	TEMP
	FSUB	TEMP2		/A*C-B*D
	FSTA	#CAC
	STARTE
	JA	#CML
	ENTRY	#CDV
#CDV,	JA	.
	FSTA	#CARG
	STARTF
	FLDA	#CARG		/STARTF ROUNDS
	FMUL	#CAC+3		/B*C
	FSTA	TEMP
	FLDA	#CARG+3
	FMUL	#CAC		/A*D
	FSTA	TEMP2
	FLDA	#CARG
	FMULM	#CAC		/A*C
	FLDA	#CAC+3
	FMUL	#CARG+3		/B*D
	FADDM	#CAC		/A*C+B*D
	FLDA	#CARG
	FMULM	#CARG		/C*C
	FLDA	#CARG+3
	FMUL	#CARG+3		/D*D
	FADDM	#CARG		/C*C+D*D
	FLDA	TEMP
	FSUB	TEMP2		/B*C-A*D
	FDIV	#CARG		/(B*C-A*D)/(C*C+D*D)
	FSTA	#CAC+3
	FLDA	#CAC
	FDIV	#CARG		/(A*C+B*D)/(C*C+D*D)
	FSTA	#CAC
	STARTE
	JA	#CDV
TEMP,	0;0;0
TEMP2,	0;0;0
#CARG,	0;0;0
	0;0;0
	ENTRY	#CAC
#CAC,	0;0;0
	0;0;0
	END
