Designing a SIMD Algorithm from Scratch