sicp 1.16 fast recursive exponentiation in swift