
!if $parm1>$pointcnt or $parm2>$pointcnt
 error=out_range
 !exit
!endif
pari_out=!exec pari got=add_circle($parm1,$parm2); print(got);\
	print(incicp(got));\
	print(goalcheck(3,got))
!if error iswordof $pari_out
 error=!word 2 of $pari_out
 !exit
!endif
!distribute lines $pari_out into pout,inci,goalcheck
inci=!nospace $inci
!distribute items $pout into xc,yc,rad
!if $rad=$empty
 error=pari_fail
 !exit
!endif
!if $step<$stepcnt
 !read proc/triminci
!endif
circles=!line 1 to $circlecnt of $circles
circles=!append line $xc,$yc,$rad,$parm1,$[$circlecnt%$color_total+1] to $circles
hidecircle=!char 1 to $circlecnt of $hidecircle
hidecircle=$hidecircle+
incicircle=!append line $inci to $incicircle
!advance circlecnt
!for i in $inci
 l=!line $i of $incipoint
 l=!append item c $circlecnt to $l
 incipoint=!replace line number $i by $l in $incipoint
!next i
steplist=!line 1 to $step of $steplist
steplist=!append line circle,$circlecnt,$parm1,$parm2 to $steplist
!advance step

!if $goalcheck>0
 goalready=!replace item number $goalcheck by $step in $goalready
!endif

