Now builds and passes tests on SDSL; still need to check actual program correctness/performance