Prolog convierte minutos a horas

Este es el código que he creado.

mins_to_hours(In, H, M):-
  In < 60,
  H = 0,
  M is In.
mins_to_hours(In, H, M):-
  In >= 60,
  H is H1+1,
  In1 is In-60,
  mins_to_hours(In1, H1, M).

Funciona bien cuando los minutos son menos de 60, por ejemplo,

?- mins_to_hours(20,H,M).
H = 0,
M = 20 ;
false.

Sin embargo, cuando intenta ejecutarlo durante más de 60 minutos

?- mins_to_hours(80,H,M).

it genera una excepción

ERROR: Arguments are not sufficiently instantiated
ERROR: In:
ERROR:    [9] _3198 is _3204+1
ERROR:    [8] mins_to_hours(80,_3232,_3234) at c:/.../xyz.pl:11
ERROR:    [7] <user>

en la posiciónH is H1+1,.

¿Alguna idea de cómo solucionar este problema

Respuestas a la pregunta(3)

Su respuesta a la pregunta