program divide(input,output); { divide out 5 zeros to check that they are the first 5 } const hdim=29; edim=59; vdim=1001; lmax=0; dz_val='1.0E-40'; %include 'types.h'; var ok: boolean; i: integer; dz,rho,x,y,st1,st2: scalar; vf,vt: vector; guess: zeros; %include 'reps.i'; %include 'scalar.i'; %include 'vector.i'; %include 'ztread'; begin { divide } sinit; ssset(dz_val,dz); sread('rho.s',rho); ztread('zeros.t',guess); vread('fixpt.v',rho,vf); writeln; writeln('divide: checking for other zeros'); dz.l.si:=-1; szero(st1); for i:=0 to 4 do begin ssum(guess[i],dz,x); sdiff(x,st1,st2); st1:=x; sneg(st2); vtrans(vdim,rho,st2,vf,vt); vdquot(rho,vt,vf); end; x.l.si:=0; sval(vf,rho,x,y); writeln; if y.l.si>0 then writeln('divide: ok, none found') else writeln('divide: error - cannot exclude other low zeros'); sdone('divide'); end { divide }.