Evaluator uses bitwise operations instead of clunky division and modulo