Source: https://blog.halide.cam/halide-1-2-updated-in-depth-b257cf8e7308?source=collection_home---6------8----------------