	.TITLE DSQRT(ARG)
	.GLOBL .AA,.AB,.AG,.AP,.AQ,.AV
	.GLOBL .ER,.DA,DSQRT,SQRT,.SET
	.GLOBL .RB,.BA,.T1
DSQRT	0
	LAC	.-1
	JMS*	.SET
SQRT	0
	JMS*	.DA
	JMP	.+2
ARG	0
	JMS*	.AG	/LOAD ARG
		ARG+400000
	SZL		/ARG=0?
	JMP*	SQRT	/0 ARG
	SPA
	JMS*	.ER	/ARG IS -
	741006		/SKIP IF +
			/OTS 6 IF -
	JMS*	.BA
	JMS*	.AP
		XX
	LAC*	.AA
	RCR		/EX/2
			/& B17 TO L
	TAD	(LAC	/SET BIAS
	DAC*	.AA
	SZL		/IF ODD
	ISZ*	.AA	/INC EX
	LAC*	.AB	/FORM
	TAD	(LAC	/APPROX
	SNL!RCR		/VALUE
	TAD	(100000	/ADD IF EVEN
	DAC*	.AB
	LAW	-3
	DAC	ARG
LOOP	JMS*	.AP	/ST APPROX
		.T1+400000
	ISZ*	.RB	/CHOP
	JMS*	.AV	/RDIV
		XX
	JMS*	.AQ	/ADD
		.T1+400000
	LAW	-1	/DIV BY 2
	TAD*	.AA
	DAC*	.AA
	ISZ	ARG	/DONE?
	JMP	LOOP	/NO
	JMP*	SQRT
XX	0; 0; 0
	.END
