precision:=double:
assume(xzzzz1,real):
assume(xzzzz2,real):
assume(xzzzz3,real):
assume(prevalue,real);

NK:=%NK_:
DB:=array(1..NK):
U0:=array(1..NK):
IM:=array(0..3):

HF0:=array(1..NK,0..3):
HF1:=array(1..NK,0..3,1..3):
HF0U:=array(1..NK,1..NK,0..3):
HF0UT:=array(1..NK,1..NK,0..3):
HF0UX:=array(1..NK,1..NK,0..3,1..3):
HF0UTX:=array(1..NK,1..NK,0..3,1..3):
HF1U:=array(1..NK,1..NK,0..3,1..3):
HF1UT:=array(1..NK,1..NK,0..3,1..3):
HF1UX:=array(1..NK,1..NK,0..3,1..3,1..3):
HF1UTX:=array(1..NK,1..NK,0..3,1..3,1..3):

dudxzz:=array(1..NK,1..3):
assume(dudxzz,real):
dutdxzz:=array(1..NK,1..3):
assume(dutdxzz,real):
uzz:=array(1..NK):
assume(uzz,real):
utzz:=array(1..NK):
assume(utzz,real):
dvdxzz:=array(1..NK,1..3):
vzz:=array(1..NK):

for k from 1 to NK do:
   DB[k]:=0:
   U0[k]:=0:
od:
for class from 0 to 3 do:
   IM[class]:=0:
od:
