function [lun,kprint,ipass]=qxbdf(lun,kprint,ipass);
persistent abserr idid info ipar iwork liw lrw n r relerr reltol rpar rwork t tout u ;
if isempty(idid), idid=0; end;
if isempty(info), info=zeros(1,15); end;
if isempty(ipar), ipar=0; end;
if isempty(iwork), iwork=zeros(1,60); end;
if isempty(n), n=0; end;
if isempty(liw), liw=0; end;
if isempty(lrw), lrw=0; end;
if isempty(abserr), abserr=0; end;
if isempty(r), r=0; end;
if isempty(relerr), relerr=0; end;
if isempty(reltol), reltol=0; end;
if isempty(rpar), rpar=0; end;
if isempty(rwork), rwork=zeros(1,306); end;
if isempty(t), t=0; end;
if isempty(tout), tout=0; end;
if isempty(u), u=zeros(1,4); end;
if( kprint>=2 )
writef(lun,['1', '\n ' ,' ------------ DEBDF QUICK CHECK OUTPUT',' ------------' ' \n']);
end;
%format ('1'/' ------------ DEBDF QUICK CHECK OUTPUT',' ------------');
n = 4;
lrw = 306;
liw = 60;
t = 0.0e0;
tout = 8.0e0.*atan(1.0e0);
u(1) = 1.0e0;
u(2) = 0.0e0;
u(3) = 0.0e0;
u(4) = 1.0e0;
ipass = 1;
reltol = sqrt(r1mach(4));
relerr = 0.001e0.*reltol;
abserr = relerr.^1.5e0;
info(1) = 0;
info(2) = 0;
info(3) = 1;
info(4) = 0;
info(5) = 1;
info(6) = 0;
if( kprint>2 )
writef(lun,[ '\n ' ,' RELERR = ','%16.8f',' ABSERR =','%16.8f', '\n ' ,repmat(' ',1,12),'T',repmat(' ',1,19),'R', '\n ' ,repmat('%20.8f',1,2) ' \n'], relerr , abserr , t ,(1.0e0));
end;
%format [' RELERR = ',e16.8,' ABSERR =',e16.8/12X,'T',19X,'R'/2E20.8);
while (1);
[dumvar1,n,t,u,tout,info,relerr,abserr,idid,rwork,lrw,iwork,liw,rpar,ipar]=debdf(@fdeqc,n,t,u,tout,info,relerr,abserr,idid,rwork,lrw,iwork,liw,rpar,ipar,@jac);
r = sqrt(u(1).*u(1)+u(2).*u(2));
if( abs(r-1.0e0)>reltol )
ipass = 0;
end;
if( kprint>2 )
writef(lun,[repmat('%20.8f',1,2) ' \n'], t , r);
end;
%format(2e20.8);
info(1) = 1;
if( idid~=1 )
break;
end;
end;
if( idid<1 )
ipass = 0;
end;
if( kprint>1 && idid<1 )
writef(lun,[repmat(' ',1,1),'ERROR RETURN FROM DEBDF. IDID = ','%3i' ' \n'], idid);
end;
%format (1X,'ERROR RETURN FROM DEBDF. IDID = ',i3);
if( kprint>1 && ipass==1 )
writef(lun,[ '\n ' ,' ------------ DEBDF PASSED TESTS ------------' ' \n']);
end;
%format [' ------------ DEBDF PASSED TESTS ------------');
if( kprint>=1 && ipass==0 )
writef(lun,[ '\n ' ,' ** DEBDF FAILED TESTS **' ' \n']);
end;
%format [' ** DEBDF FAILED TESTS **');
return;
end %subroutine qxbdf