'use strict'; // tarai(x: number, y: number, z: number | function): number; function tarai(x, y, z) { if (x <= y) return y; if (typeof z === 'function') z = z(); return tarai(tarai(x - 1, y, z), tarai(y - 1, z, x), () => tarai(z - 1, x, y)); } bench('takeuchi tarai', tarai, 10, 5, 0); bench('takeuchi tarai', tarai, 12, 6, 0); bench('takeuchi tarai', tarai, 14, 7, 0); bench('takeuchi tarai', tarai,
