#!/usr/bin/ruby

func a(k, x1, x2, x3, x4, x5) {
    func b { a(--k, b, x1, x2, x3, x4) };
    k <= 0 ? (x4() + x5()) : b();
}

assert_eq(a(10, ->{1}, ->{-1}, ->{-1}, ->{1}, ->{0}), -67);

say "** Test passed!";