; clock angles
(define (angle hr min)
(let ((hour (* (/ 360 12) (+ hr (/ min 60))))
(minute (* (/ 360 60) min)))
(exact->inexact (abs (- hour minute)))))
(display (angle 12 00)) (newline)
(define (angle hr min)
(let ((hour (* (/ 360 12) (+ (if (= hr 12) 0 hr) (/ min 60))))
(minute (* (/ 360 60) min)))
(exact->inexact (abs (- hour minute)))))
(display (angle 12 00)) (newline)
(display (angle 12 01)) (newline)
(display (angle 6 00)) (newline)
(display (angle 3 45)) (newline)
OyBjbG9jayBhbmdsZXMKCihkZWZpbmUgKGFuZ2xlIGhyIG1pbikKICAobGV0ICgoaG91ciAoKiAoLyAzNjAgMTIpICgrIGhyICgvIG1pbiA2MCkpKSkKICAgICAgICAobWludXRlICgqICgvIDM2MCA2MCkgbWluKSkpCiAgICAoZXhhY3QtPmluZXhhY3QgKGFicyAoLSBob3VyIG1pbnV0ZSkpKSkpCgooZGlzcGxheSAoYW5nbGUgMTIgMDApKSAobmV3bGluZSkKCihkZWZpbmUgKGFuZ2xlIGhyIG1pbikKICAobGV0ICgoaG91ciAoKiAoLyAzNjAgMTIpICgrIChpZiAoPSBociAxMikgMCBocikgKC8gbWluIDYwKSkpKQogICAgICAgIChtaW51dGUgKCogKC8gMzYwIDYwKSBtaW4pKSkKICAgIChleGFjdC0+aW5leGFjdCAoYWJzICgtIGhvdXIgbWludXRlKSkpKSkKICAgIAooZGlzcGxheSAoYW5nbGUgMTIgMDApKSAobmV3bGluZSkKKGRpc3BsYXkgKGFuZ2xlIDEyIDAxKSkgKG5ld2xpbmUpCihkaXNwbGF5IChhbmdsZSAgNiAwMCkpIChuZXdsaW5lKQooZGlzcGxheSAoYW5nbGUgIDMgNDUpKSAobmV3bGluZSk=