#lang scheme
(define a 4)
(define (h c)
(* c c))
(define (f b)
(define c (+ b a))
(define (g b)
(if (> b c)
(begin (set! a b)
(h (- b 1)))
(begin (set! a (f (- (quotient b 2) 2)))
(+ a c))))
(define (h c)
(define a (+ b 2))
(define (while)
(cond [(< a c)
(set! a (+ a (g b)))
(while)]))
(while)
a)
(if (> b 0)
(h (g c))
c))
(f 5)