function add(a, b, k) { var result = a + b; return k(result); } function sub(a, b, k) { var result = a - b; return k(result); } function mul(a, b, k) { var result = a * b; return k(result); } function div(a, b, k) { var result = a / b; return k(result); } function arithmetic() { add(4, 4, function (a) { // 8 sub(a, 2, function (b) { // 6 mul(b, 3, function (c) { // 18 div(c, 2, function (d) { // 9 console.log(d); }); }); }); }); } // Compile with closure compiler and the following flags: // // --compilation_level WHITESPACE_ONLY // --source_map_format V3 // --create_source_map code_math.map // --js_output_file code_math.min.js // // And then append the sourceMappingURL comment directive to code_math.min.js // manually.