

proc integer() returns ()
var a:int,b:int,c:int;
begin
  a = 5;
  b = 2;
  if brandom then
    c = a / b;
  else
    c = a /_i b;
    c = a /_i,0 b;
    c = a /_i,-oo b;
    c = a /_i,+oo b;
    c = a /_i,n b;
    c = a %_i b;
  endif;
end

proc exact() returns (z:real)
var x:real,y:real;
begin
  x = 5;
  y = 2;
  z = x/y;
  y = 0.1;
  z = x+y;
  z = z-y;
end

proc floating() returns (z:real)
var x:real,y:real;
begin
  x = 5;
  y = 2;
  z = x/_f y;
  y = 0.1;
  z = x +_f,0 y;
  z = x +_f,+oo y;
  z = x +_f,-oo y;
  z = x +_f,n y;
  z = x +_f,? y;
  z = z -_f y;

  z = x +_d,0 y;
  z = x +_d,+oo y;
  z = x +_d,-oo y;
  z = x +_d,n y;
  z = x +_d,? y;
  z = z -_d y;

end

proc floating2() returns (z:real)
var x:real,y:real;
begin
  x = 5;
  y = 2;
  z = x/_f y;
  y = 1/10;
  z = x +_f,0 y;
  z = x +_f,+oo y;
  z = x +_f,-oo y;
  z = x +_f,n y;
  z = x +_f,? y;
  z = z -_f y;

  z = x +_d,0 y;
  z = x +_d,+oo y;
  z = x +_d,-oo y;
  z = x +_d,n y;
  z = x +_d,? y;
  z = z -_d y;

end

var z:real;
begin
  () = integer();
  z = exact();
  z = floating();
  z = floating2();
end
