4.3BSD/usr/contrib/icon/book/f/form3.icn

procedure form(arg1,op,arg2)
   arg1 := fix(arg1)
   arg2 := fix(arg2)
   return case op of {
      "+"	:  add(arg1,arg2)
      "-"	:  sub(arg1,arg2)
      "*"	:  mpy(arg1,arg2)
      "/"	:  div(arg1,arg2)
      "~"	:  drv(arg1,arg2)
      default	:  symop(arg1,op,arg2)
      }
end