HW 1: Superoptimizer 1. Read through papers: Dimensions in program synthesis (Gulwani 2010) Superoptimizer: a look at the smallest program (Massalin 1987) A Hacker's Assistant (Warren 2008) 2. Aha experimentation Using provided functions (abs, avg), experimented with the following: different numbers of instructions different immediate operand sets more extensive trial input-output pairs Average Operations Solutions Total Instructions Process Time (seconds) 1-3 0 133, 36200, 8220022 ~0, 0.001, 0.154 4 3 31221243 75.880 5 Absolute Value Operations Solutions Total Instructions Process Time (seconds) 1-2 0 103, 11695 ~0, ~0 3 4 1857560 0.041 4 951 571410152 11.962 5 3. Experementation with Jeremy Berchtold's GPU Google Colab Experimentation with multBy7 functions Tested (x<<3) - x implementation vs other fast and traditional implementation Tested differences in inline functions