The HaliVer tool integrates deductive verification into the popular
scheduling language Halide, used for image processing pipelines and array
computations. HaliVer uses Vercors, a separation logic-based verifier, to
verify the correctness of (1) the Halide algorithms and (2) the optimised
parallel code produced by \halide when an optimisation schedule is applied to
the algorithm. This allows proving complex, optimised code correct while
reducing the effort to provide the required verification annotations. For both
approaches, the same specification is used. We evaluated the tool on several
optimised programs generated from characteristic Halide algorithms, using all
but one of the essential scheduling directives available in Halide. Without
annotation effort, Haliver proves memory safety in almost all programs. With
annotations Haliver, additionally, proves functional correctness properties. We
show that the approach is viable and reduces the manual annotation effort by an
order of magnitude