https://hgpu.org/?p=1078
A control-structure splitting optimization for GPGPU