vextoly/cryn

[# float remainder is the truncated IEEE remainder (fmod), not zero;
   integer literals adapt to float operands at their point of use #]
make string "\n" nl

define newline result nothing
  address nl
  output text
  set nothing
  return
end

define main
  set 2
  convert float32
  push
  set 7.5
  convert float32
  remainder
  output
  call newline

  set 7.5
  push
  set 2
  remainder
  output
  call newline

  set 2.5
  push
  set 5.25
  remainder
  output
  call newline

  set 0
  convert float64
  push
  set 5
  convert float64
  remainder
  output
  call newline
  return
end