func main(a) { // Nudge away from 50 a = a > 50 ? b(a, 4) : c(a, 4) print("a: ") // Cap to range [0, 100] a = a > 100 ? i(100) : (a < 0 ? i(0) : i(a)) // Round to nearest 10 print("b: ") var b = a >= 55 ? (a >= 75 ? (a >= 95 ? i(100) : (a >= 85 ? i(90) : i(80))) : (a >= 65 ? i(70) : i(60))) : (a >= 25 ? (a >= 45 ? i(50) : (a >= 35 ? i(40) : i(30))) : (a >= 15 ? i(20) : (a >= 5 ? i(10) : i(0)))) println("b: ", b) } func b(x, y) { println("Inside b(", x, ", ", y, ")") return x + y } func c(x, y) { println("Inside c(", x, ", ", y, ")") return x - y } // Identity function func i(value) { println(value) return value } //TESTCASE: 97 //Inside b(97, 4) //a: 100 //b: 100 //b: 100 //TESTCASE: 82 //Inside b(82, 4) //a: 86 //b: 90 //b: 90 //TESTCASE: 80 //Inside b(80, 4) //a: 84 //b: 80 //b: 80 //TESTCASE: 68 //Inside b(68, 4) //a: 72 //b: 70 //b: 70 //TESTCASE: 51 //Inside b(51, 4) //a: 55 //b: 60 //b: 60 //TESTCASE: 50 //Inside c(50, 4) //a: 46 //b: 50 //b: 50 //TESTCASE: 44 //Inside c(44, 4) //a: 40 //b: 40 //b: 40 //TESTCASE: 32 //Inside c(32, 4) //a: 28 //b: 30 //b: 30 //TESTCASE: 28 //Inside c(28, 4) //a: 24 //b: 20 //b: 20 //TESTCASE: 9 //Inside c(9, 4) //a: 5 //b: 10 //b: 10 //TESTCASE: 2 //Inside c(2, 4) //a: 0 //b: 0 //b: 0