Backend separation, C backend