\begin{table}[!t]
  \centering
  \caption{\textbf{Exact weighted Laplacian for different ranks of the weightings.}
    The lower the rank, the lower the memory and time consumption.
    Both scale approximately linear with the rank---with stronger deviations for small ranks---as predicted by our theoretical analysis based on the number of forward-propagated coefficients.
    The `Full-rank' column is identical to the `Weighted Laplacian' columns in \Cref{tab:benchmark,tab:benchmark-compiled}.
  }
  \label{tab:benchmark-rank}
  \vspace{1.5ex}
  % paths where the performances are stored
  \def\datapathExactFullRankCompiled{jet/exp/exp01_benchmark_laplacian/performance/architecture_tanh_mlp_768_768_512_512_1_compiled_device_cuda_dim_50_name_weighted_laplacian_vary_batch_size_rank_ratio_1_0}
  \def\datapathExactHalfRankCompiled{jet/exp/exp01_benchmark_laplacian/performance/architecture_tanh_mlp_768_768_512_512_1_compiled_device_cuda_dim_50_name_weighted_laplacian_vary_batch_size_rank_ratio_0_5}
  \def\datapathExactLowRankCompiled{jet/exp/exp01_benchmark_laplacian/performance/architecture_tanh_mlp_768_768_512_512_1_compiled_device_cuda_dim_50_name_weighted_laplacian_vary_batch_size_rank_ratio_0_1}
  \def\datapathExactFullRank{jet/exp/exp01_benchmark_laplacian/performance/architecture_tanh_mlp_768_768_512_512_1_device_cuda_dim_50_name_weighted_laplacian_vary_batch_size_rank_ratio_1_0}
  \def\datapathExactHalfRank{jet/exp/exp01_benchmark_laplacian/performance/architecture_tanh_mlp_768_768_512_512_1_device_cuda_dim_50_name_weighted_laplacian_vary_batch_size_rank_ratio_0_5}
  \def\datapathExactLowRank{jet/exp/exp01_benchmark_laplacian/performance/architecture_tanh_mlp_768_768_512_512_1_device_cuda_dim_50_name_weighted_laplacian_vary_batch_size_rank_ratio_0_1}
  % configuration options for the \num command
  \sisetup{%
    % scientific-notation=true,%
    round-mode=figures,%
    round-precision=2,%
    detect-weight, % for bolding to work
    tight-spacing=true, % less space around \cdot
  }
  \begin{small}
    \begin{tabular}{ccc|ccc}
      \toprule
      \multirow{2}{*}{\!\!\!\textbf{\texttt{compile}}\!\!\!}
      & \multirow{2}{*}{\makecell{\textbf{Per-datum or } \\ \textbf{-sample cost}}}
      & \multirow{2}{*}{\textbf{Implementation}}
      & \multicolumn{3}{|c}{\textbf{Weighted Laplacian ($D=50$)}}
      \\
      &
      &
      & \makecell{Full-rank ($D$)}
      & \makecell{Half-full rank ($\nicefrac{D}{2}$)}
      & \makecell{Low-rank ($\nicefrac{D}{10}$)}
      \\
      \midrule
      \multirow{9}{*}{\textbf{\cmark}}
      & \multirow{3}{*}{Time [ms]}
      & \textcolor{tab-blue}{Nested 1\textsuperscript{st}-order}
      & \input{\datapathExactFullRankCompiled/hessian_trace_best.txt}
      & \input{\datapathExactHalfRankCompiled/hessian_trace_best.txt}
      & \input{\datapathExactLowRankCompiled/hessian_trace_best.txt}
      \\
      &
      & \textcolor{tab-orange}{Standard Taylor}
      & \input{\datapathExactFullRankCompiled/jet_naive_best.txt}
      & \input{\datapathExactHalfRankCompiled/jet_naive_best.txt}
      & \input{\datapathExactLowRankCompiled/jet_naive_best.txt}
      \\
      &
      & \textcolor{tab-green}{Collapsed (ours)}
      & \textbf{\input{\datapathExactFullRankCompiled/jet_simplified_best.txt}}
      & \textbf{\input{\datapathExactHalfRankCompiled/jet_simplified_best.txt}}
      & \textbf{\input{\datapathExactLowRankCompiled/jet_simplified_best.txt}}
      \\ \cmidrule{2-6}
      & \multirow{3}{*}{\makecell{Mem.\,[MiB] \\ (differentiable)}}
      & \textcolor{tab-blue}{Nested 1\textsuperscript{st}-order}
      & \input{\datapathExactFullRankCompiled/hessian_trace_peakmem.txt}
      & \input{\datapathExactHalfRankCompiled/hessian_trace_peakmem.txt}
      & \input{\datapathExactLowRankCompiled/hessian_trace_peakmem.txt}
      \\
      &
      & \textcolor{tab-orange}{Standard Taylor}
      & \input{\datapathExactFullRankCompiled/jet_naive_peakmem.txt}
      & \input{\datapathExactHalfRankCompiled/jet_naive_peakmem.txt}
      & \input{\datapathExactLowRankCompiled/jet_naive_peakmem.txt}
      \\
      &
      & \textcolor{tab-green}{Collapsed (ours)}
      & \textbf{\input{\datapathExactFullRankCompiled/jet_simplified_peakmem.txt}}
      & \textbf{\input{\datapathExactHalfRankCompiled/jet_simplified_peakmem.txt}}
      & \textbf{\input{\datapathExactLowRankCompiled/jet_simplified_peakmem.txt}}
      \\ \cmidrule{2-6}
      & \multirow{3}{*}{\makecell{Mem.\,[MiB] \\ (non-diff.)}}
      & \textcolor{tab-blue}{Nested 1\textsuperscript{st}-order}
      & \input{\datapathExactFullRankCompiled/hessian_trace_peakmem_nondifferentiable.txt}
      & \input{\datapathExactHalfRankCompiled/hessian_trace_peakmem_nondifferentiable.txt}
      & \input{\datapathExactLowRankCompiled/hessian_trace_peakmem_nondifferentiable.txt}
      \\
      &
      & \textcolor{tab-orange}{Standard Taylor}
      & \input{\datapathExactFullRankCompiled/jet_naive_peakmem_nondifferentiable.txt}
      & \input{\datapathExactHalfRankCompiled/jet_naive_peakmem_nondifferentiable.txt}
      & \input{\datapathExactLowRankCompiled/jet_naive_peakmem_nondifferentiable.txt}
      \\
      &
      & \textcolor{tab-green}{Collapsed (ours)}
      & \textbf{\input{\datapathExactFullRankCompiled/jet_simplified_peakmem_nondifferentiable.txt}}
      & \textbf{\input{\datapathExactHalfRankCompiled/jet_simplified_peakmem_nondifferentiable.txt}}
      & \textbf{\input{\datapathExactLowRankCompiled/jet_simplified_peakmem_nondifferentiable.txt}}
      \\
      \midrule
      \multirow{9}{*}{\textbf{\xmark}}
      & \multirow{3}{*}{Time [ms]}
      & \textcolor{tab-blue}{Nested 1\textsuperscript{st}-order}
      & \input{\datapathExactFullRank/hessian_trace_best.txt}
      & \input{\datapathExactHalfRank/hessian_trace_best.txt}
      & \input{\datapathExactLowRank/hessian_trace_best.txt}
      \\
      &
      & \textcolor{tab-orange}{Standard Taylor}
      & \input{\datapathExactFullRank/jet_naive_best.txt}
      & \input{\datapathExactHalfRank/jet_naive_best.txt}
      & \input{\datapathExactLowRank/jet_naive_best.txt}
      \\
      &
      & \textcolor{tab-green}{Collapsed (ours)}
      & \textbf{\input{\datapathExactFullRank/jet_simplified_best.txt}}
      & \textbf{\input{\datapathExactHalfRank/jet_simplified_best.txt}}
      & \textbf{\input{\datapathExactLowRank/jet_simplified_best.txt}}
      \\ \cmidrule{2-6}
      & \multirow{3}{*}{\makecell{Mem.\,[MiB]\\(differentiable)}}
      & \textcolor{tab-blue}{Nested 1\textsuperscript{st}-order}
      & \input{\datapathExactFullRank/hessian_trace_peakmem.txt}
      & \input{\datapathExactHalfRank/hessian_trace_peakmem.txt}
      & \input{\datapathExactLowRank/hessian_trace_peakmem.txt}
      \\
      &
      & \textcolor{tab-orange}{Standard Taylor}
      & \input{\datapathExactFullRank/jet_naive_peakmem.txt}
      & \input{\datapathExactHalfRank/jet_naive_peakmem.txt}
      & \input{\datapathExactLowRank/jet_naive_peakmem.txt}
      \\
      &
      & \textcolor{tab-green}{Collapsed (ours)}
      & \textbf{\input{\datapathExactFullRank/jet_simplified_peakmem.txt}}
      & \textbf{\input{\datapathExactHalfRank/jet_simplified_peakmem.txt}}
      & \textbf{\input{\datapathExactLowRank/jet_simplified_peakmem.txt}}
      \\ \cmidrule{2-6}
      & \multirow{3}{*}{\makecell{Mem.\,[MiB]\\(non-diff.)}}
      & \textcolor{tab-blue}{Nested 1\textsuperscript{st}-order}
      & \input{\datapathExactFullRank/hessian_trace_peakmem_nondifferentiable.txt}
      & \input{\datapathExactHalfRank/hessian_trace_peakmem_nondifferentiable.txt}
      & \input{\datapathExactLowRank/hessian_trace_peakmem_nondifferentiable.txt}
      \\
      &
      & \textcolor{tab-orange}{Standard Taylor}
      & \input{\datapathExactFullRank/jet_naive_peakmem_nondifferentiable.txt}
      & \input{\datapathExactHalfRank/jet_naive_peakmem_nondifferentiable.txt}
      & \input{\datapathExactLowRank/jet_naive_peakmem_nondifferentiable.txt}
      \\
      &
      & \textcolor{tab-green}{Collapsed (ours)}
      & \textbf{\input{\datapathExactFullRank/jet_simplified_peakmem_nondifferentiable.txt}}
      & \textbf{\input{\datapathExactHalfRank/jet_simplified_peakmem_nondifferentiable.txt}}
      & \textbf{\input{\datapathExactLowRank/jet_simplified_peakmem_nondifferentiable.txt}}
      \\
      \bottomrule
    \end{tabular}
  \end{small}
\end{table}
%%% Local Variables:
%%% mode: LaTeX
%%% TeX-master: "../main"
%%% End:
