\documentclass{article}

\usepackage[a4paper,left=2cm,right=2cm,top=2.5cm,bottom=2cm]{geometry}
\usepackage{float}
\usepackage{amsmath}
\usepackage{hyperref}
\usepackage{amsfonts}
\usepackage{mleftright}
\usepackage{bm}
\usepackage{tikz}
\usepackage{subcaption}
\usepackage{xcolor}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\pgfplotsset{compat=newest}
\usepackage{acro}
\usepackage{braket}
\usepackage[
    backend=biber,
    style=ieee,
    sorting=nty,
]{biblatex}
\usepackage{todonotes}
\usepackage{lipsum}

\usetikzlibrary{calc, positioning}

\input{lib/latex-common/common.tex}
\pgfplotsset{colorscheme/matplotlib}

%
%
% Custom commands
%
%

\newcommand{\red}[1]{\textcolor{red}{#1}}
\newcommand{\figwidth}{8cm}
\newcommand{\figheight}{6.5cm}

%
%
% Acronyms
%
%

\DeclareAcronym{qec}{
    short=QEC,
    long=quantum error correction
}

\addbibresource{src/proposal/MA.bib}

%
%
% Content
%
%

\title{Results: 2026-03-30}
\author{Andreas Tsouchlos}
\date{}

\begin{document}

\maketitle

% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \section{Soft vs Hard Information Decoding}
% \label{sec:Soft vs Hard Information Decoding}
%
% \begin{figure}[H]
%     \centering
%
%     \begin{subfigure}{0.5\textwidth}
%         \begin{tikzpicture}
%             \begin{axis}[
%                     width=\figwidth,
%                     height=\figheight,
%                     ymode=log,
%                     legend style={
%                         cells={anchor=west},
%                         cells={align=left},
%                     },
%                     enlargelimits=false,
%                     ymin=1e-3, ymax=2.5e-1,
%                     grid=both,
%                     legend pos = south west,
%                     xtick={8, 32, 64, 96, 128, 160, 192},
%                     xlabel={Max BP iterations},
%                     ylabel={Per-round-LER},
%                 ]
%                 \foreach \W/\col in {3/scol2,4/scol1,5/scol0} {
%                     \edef\temp{\noexpand
%                         \addplot+[
%                             mark=o, line width=1pt, densely dashed, \col,
%                         ]
%                         table[
%                             col sep=comma, x=max_bp_iter,
%                             y expr={1 - (1-\noexpand\thisrow{LER_hard})^(1/12)}
%                         ]
%                         {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=minimum_sum,+experiment=soft_vs_hard_over_iter_param_exploration,+system.F=1,+system.W=\W/2026-03-30_13-49-44/LERs.csv};
%                     }
%                     \temp
%
%                     \addlegendentryexpanded{$W = \W$~hard}
%                 }
%
%                 \foreach \W/\col in {3/scol2,4/scol1,5/scol0} {
%                     \edef\temp{\noexpand
%                         \addplot+[mark=o, line width=1pt, \col]
%                         table[
%                             col sep=comma, x=max_bp_iter,
%                             y expr={1 - (1-\noexpand\thisrow{LER_soft})^(1/12)}
%                         ]
%                         {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=minimum_sum,+experiment=soft_vs_hard_over_iter_param_exploration,+system.F=1,+system.W=\W/2026-03-30_13-49-44/LERs.csv};
%                     }
%                     \temp
%
%                     \addlegendentryexpanded{$W = \W$~soft}
%                 }
%             \end{axis}
%         \end{tikzpicture}
%         \caption{Min-Sum}
%     \end{subfigure}%
%     \begin{subfigure}{0.5\textwidth}
%         \begin{tikzpicture}
%             \begin{axis}[
%                     width=\figwidth,
%                     height=\figheight,
%                     ymode=log,
%                     legend style={
%                         cells={anchor=west},
%                         cells={align=left},
%                     },
%                     enlargelimits=false,
%                     ymin=1e-3, ymax=2.5e-1,
%                     grid=both,
%                     legend pos = south west,
%                     xtick={8, 32, 64, 96, 128, 160, 192},
%                     xlabel={Max BP iterations},
%                     ylabel={Per-round-LER},
%                 ]
%                 \foreach \W/\col in {3/scol2,4/scol1,5/scol0} {
%                     \edef\temp{\noexpand
%                         \addplot+[mark=o, line width=1pt, densely dashed, \col]
%                         table[
%                             col sep=comma, x=max_bp_iter,
%                             y expr={1 - (1-\noexpand\thisrow{LER_hard})^(1/12)}
%                         ]
%                         {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=product_sum,+experiment=soft_vs_hard_over_iter_param_exploration,+system.F=1,+system.W=\W/2026-03-30_13-49-44/LERs.csv};
%                     }
%                     \temp
%
%                     \addlegendentryexpanded{$W = \W$~hard}
%                 }
%
%                 \foreach \W/\col in {3/scol2,4/scol1,5/scol0} {
%                     \edef\temp{\noexpand
%                         \addplot+[mark=o, line width=1pt, \col]
%                         table[
%                             col sep=comma, x=max_bp_iter,
%                             y expr={1 - (1-\noexpand\thisrow{LER_soft})^(1/12)}
%                         ]
%                         {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=product_sum,+experiment=soft_vs_hard_over_iter_param_exploration,+system.F=1,+system.W=\W/2026-03-30_13-49-44/LERs.csv};
%                     }
%                     \temp
%
%                     \addlegendentryexpanded{$W = \W$~windowed}
%                 }
%             \end{axis}
%         \end{tikzpicture}
%         \caption{SPA}
%     \end{subfigure}
%
%     \caption{BP simulations for the [[144,12,12]]-BB code with $F=1,
%     n_\text{iter,BP}=32,n_\text{rounds}=12$}
% \end{figure}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Whole vs Windowed decoding}
\label{sec:Whole vs Windowed decoding}

\begin{figure}[H]
    \centering

    \begin{subfigure}{0.5\textwidth}
        \begin{tikzpicture}
            \begin{axis}[
                    width=\figwidth,
                    height=\figheight,
                    ymode=log,
                    legend style={
                        cells={anchor=west},
                        cells={align=left},
                    },
                    enlargelimits=false,
                    ymin=4e-5, ymax=2e-1,
                    grid=both,
                    legend pos = south east,
                    xtick={0.001,0.0015,...,0.004},
                    xticklabel style={/pgf/number format/fixed},
                    xticklabel style={/pgf/number format/precision=4},
                    scaled x ticks=false,
                    xlabel={Physical error rate},
                    ylabel={Per-round-LER},
                ]
                \foreach \W/\col in {3/scol2,4/scol1,5/scol0} {
                    \edef\temp{\noexpand
                        \addplot+[
                            mark=o, line width=1pt, densely dashed, \col,
                        ]
                        table[
                            col sep=comma, x=physical_p,
                            y expr={1 - (1-\noexpand\thisrow{LER_whole})^(1/12)}
                        ]
                        {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=minimum_sum,+experiment=windowed_vs_whole_param_exploration,+system.F=1,+system.W=\W/2026-03-30_08-57-21/LERs.csv};
                    }
                    \temp

                    \addlegendentryexpanded{$W = \W$~whole}
                }

                \foreach \W/\col in {3/scol2,4/scol1,5/scol0} {
                    \edef\temp{\noexpand
                        \addplot+[mark=o, line width=1pt, \col]
                        table[
                            col sep=comma, x=physical_p,
                            y expr={1 - (1-\noexpand\thisrow{LER_sw})^(1/12)}
                        ]
                        {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=minimum_sum,+experiment=windowed_vs_whole_param_exploration,+system.F=1,+system.W=\W/2026-03-30_08-57-21/LERs.csv};
                    }
                    \temp

                    \addlegendentryexpanded{$W = \W$~windowed}
                }
            \end{axis}
        \end{tikzpicture}
        \caption{Min-Sum}
    \end{subfigure}%
    \begin{subfigure}{0.5\textwidth}
        \begin{tikzpicture}
            \begin{axis}[
                    width=\figwidth,
                    height=\figheight,
                    ymode=log,
                    legend style={
                        cells={anchor=west},
                        cells={align=left},
                    },
                    enlargelimits=false,
                    ymin=4e-5, ymax=2e-1,
                    grid=both,
                    legend pos = south east,
                    xtick={0.001,0.0015,...,0.004},
                    xticklabel style={/pgf/number format/fixed},
                    xticklabel style={/pgf/number format/precision=4},
                    scaled x ticks=false,
                    xlabel={Physical error rate},
                    ylabel={Per-round-LER},
                ]
                \foreach \W/\col in {3/scol2,4/scol1,5/scol0} {
                    \edef\temp{\noexpand
                        \addplot+[mark=o, line width=1pt, densely dashed, \col]
                        table[
                            col sep=comma, x=physical_p,
                            y expr={1 - (1-\noexpand\thisrow{LER_whole})^(1/12)}
                        ]
                        {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=product_sum,+experiment=windowed_vs_whole_param_exploration,+system.F=1,+system.W=\W/2026-03-30_08-57-21/LERs.csv};
                    }
                    \temp

                    \addlegendentryexpanded{$W = \W$~whole}
                }

                \foreach \W/\col in {3/scol2,4/scol1,5/scol0} {
                    \edef\temp{\noexpand
                        \addplot+[mark=o, line width=1pt, \col]
                        table[
                            col sep=comma, x=physical_p,
                            y expr={1 - (1-\noexpand\thisrow{LER_sw})^(1/12)}
                        ]
                        {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=product_sum,+experiment=windowed_vs_whole_param_exploration,+system.F=1,+system.W=\W/2026-03-30_08-57-21/LERs.csv};
                    }
                    \temp

                    \addlegendentryexpanded{$W = \W$~windowed}
                }
            \end{axis}
        \end{tikzpicture}
        \caption{SPA}
    \end{subfigure}

    \caption{BP simulations for the [[144,12,12]]-BB code with $F=1,
    n_\text{iter,BP}=200,n_\text{rounds}=12$}
\end{figure}

\begin{figure}[H]
    \centering

    \begin{subfigure}{0.5\textwidth}
        \begin{tikzpicture}
            \begin{axis}[
                    width=\figwidth,
                    height=\figheight,
                    ymode=log,
                    legend style={
                        cells={anchor=west},
                        cells={align=left},
                    },
                    enlargelimits=false,
                    ymin=4e-5, ymax=2e-1,
                    grid=both,
                    legend pos = south east,
                    xtick={0.001,0.0015,...,0.004},
                    xticklabel style={/pgf/number format/fixed},
                    xticklabel style={/pgf/number format/precision=4},
                    scaled x ticks=false,
                    xlabel={Physical error rate},
                    ylabel={Per-round-LER},
                ]
                \foreach \F/\col in {1/scol2,2/scol1,3/scol0} {
                    \edef\temp{\noexpand
                        \addplot+[mark=o, line width=1pt, densely dashed, \col]
                        table[
                            col sep=comma, x=physical_p,
                            y expr={1 - (1-\noexpand\thisrow{LER_whole})^(1/12)}
                        ]
                        {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=minimum_sum,+experiment=windowed_vs_whole_param_exploration,+system.F=\F,+system.W=5/2026-03-30_08-57-21/LERs.csv};
                    }
                    \temp

                    \addlegendentryexpanded{$F = \F$~whole}
                }

                \foreach \F/\col in {1/scol2,2/scol1,3/scol0} {
                    \edef\temp{\noexpand
                        \addplot+[mark=o, line width=1pt, \col]
                        table[
                            col sep=comma, x=physical_p,
                            y expr={1 - (1-\noexpand\thisrow{LER_sw})^(1/12)}
                        ]
                        {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=minimum_sum,+experiment=windowed_vs_whole_param_exploration,+system.F=\F,+system.W=5/2026-03-30_08-57-21/LERs.csv};
                    }
                    \temp

                    \addlegendentryexpanded{$F = \F$~windowed}
                }
            \end{axis}
        \end{tikzpicture}
        \caption{Min-Sum}
    \end{subfigure}%
    \begin{subfigure}{0.5\textwidth}
        \begin{tikzpicture}
            \begin{axis}[
                    width=\figwidth,
                    height=\figheight,
                    ymode=log,
                    legend style={
                        cells={anchor=west},
                        cells={align=left},
                    },
                    enlargelimits=false,
                    ymin=4e-5, ymax=2e-1,
                    grid=both,
                    legend pos = south east,
                    xtick={0.001,0.0015,...,0.004},
                    xticklabel style={/pgf/number format/fixed},
                    xticklabel style={/pgf/number format/precision=4},
                    scaled x ticks=false,
                    xlabel={Physical error rate},
                    ylabel={Per-round-LER},
                ]
                \foreach \F/\col in {1/scol2,2/scol1,3/scol0} {
                    \edef\temp{\noexpand
                        \addplot+[mark=o, line width=1pt, densely dashed, \col]
                        table[
                            col sep=comma, x=physical_p,
                            y expr={1 - (1-\noexpand\thisrow{LER_whole})^(1/12)}
                        ]
                        {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=product_sum,+experiment=windowed_vs_whole_param_exploration,+system.F=\F,+system.W=5/2026-03-30_08-57-21/LERs.csv};
                    }
                    \temp

                    \addlegendentryexpanded{$F = \F$~whole}
                }

                \foreach \F/\col in {1/scol2,2/scol1,3/scol0} {
                    \edef\temp{\noexpand
                        \addplot+[mark=o, line width=1pt, \col]
                        table[
                            col sep=comma, x=physical_p,
                            y expr={1 - (1-\noexpand\thisrow{LER_sw})^(1/12)}
                        ]
                        {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=product_sum,+experiment=windowed_vs_whole_param_exploration,+system.F=\F,+system.W=5/2026-03-30_08-57-21/LERs.csv};
                    }
                    \temp

                    \addlegendentryexpanded{$F = \F$~windowed}
                }
            \end{axis}
        \end{tikzpicture}
        \caption{SPA}
    \end{subfigure}

    \caption{BP simulations for the [[144,12,12]]-BB code with $W=5,
    n_\text{iter,BP}=200,n_\text{rounds}=12$}
\end{figure}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Soft- vs Hard- Information Decoding}
\label{sec:Soft- vs Hard- Information Decoding}

\begin{figure}[H]
    \centering

    \begin{subfigure}{0.5\textwidth}
        \begin{tikzpicture}
            \begin{axis}[
                    width=\figwidth,
                    height=\figheight,
                    ymode=log,
                    legend style={
                        cells={anchor=west},
                        cells={align=left},
                    },
                    enlargelimits=false,
                    ymin=4e-5, ymax=2e-1,
                    grid=both,
                    legend pos = south east,
                    xtick={0.001,0.0015,...,0.004},
                    xticklabel style={/pgf/number format/fixed},
                    xticklabel style={/pgf/number format/precision=4},
                    scaled x ticks=false,
                    xlabel={Physical error rate},
                    ylabel={Per-round-LER},
                ]
                \foreach \W/\col in {3/scol2,4/scol1,5/scol0} {
                    \edef\temp{\noexpand
                        \addplot+[mark=o, line width=1pt, densely dashed, \col]
                        table[
                            col sep=comma, x=physical_p,
                            y expr={1 - (1-\noexpand\thisrow{LER_hard})^(1/12)}
                        ]
                        {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=minimum_sum,+experiment=soft_vs_hard_param_exploration,+system.F=1,+system.W=\W/2026-03-30_08-57-21/LERs.csv};
                    }
                    \temp

                    \addlegendentryexpanded{$W = \W$~hard}
                }

                \foreach \W/\col in {3/scol2,4/scol1,5/scol0} {
                    \edef\temp{\noexpand
                        \addplot+[mark=*, line width=1pt, \col]
                        table[
                            col sep=comma, x=physical_p,
                            y expr={1 - (1-\noexpand\thisrow{LER_soft})^(1/12)}
                        ]
                        {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=minimum_sum,+experiment=soft_vs_hard_param_exploration,+system.F=1,+system.W=\W/2026-03-30_08-57-21/LERs.csv};
                    }
                    \temp

                    \addlegendentryexpanded{$W = \W$~soft}
                }
            \end{axis}
        \end{tikzpicture}
        \caption{Min-Sum}
    \end{subfigure}%
    \begin{subfigure}{0.5\textwidth}
        \begin{tikzpicture}
            \begin{axis}[
                    width=\figwidth,
                    height=\figheight,
                    ymode=log,
                    legend style={
                        cells={anchor=west},
                        cells={align=left},
                    },
                    enlargelimits=false,
                    ymin=4e-5, ymax=2e-1,
                    grid=both,
                    legend pos = south east,
                    xtick={0.001,0.0015,...,0.004},
                    xticklabel style={/pgf/number format/fixed},
                    xticklabel style={/pgf/number format/precision=4},
                    scaled x ticks=false,
                    xlabel={Physical error rate},
                    ylabel={Per-round-LER},
                ]
                \foreach \W/\col in {3/scol2,4/scol1,5/scol0} {
                    \edef\temp{\noexpand
                        \addplot+[mark=o, line width=1pt, densely dashed, \col]
                        table[
                            col sep=comma, x=physical_p,
                            y expr={1 - (1-\noexpand\thisrow{LER_hard})^(1/12)}
                        ]
                        {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=product_sum,+experiment=soft_vs_hard_param_exploration,+system.F=1,+system.W=\W/2026-03-30_08-57-21/LERs.csv};
                    }
                    \temp

                    \addlegendentryexpanded{$W = \W$~hard}
                }

                \foreach \W/\col in {3/scol2,4/scol1,5/scol0} {
                    \edef\temp{\noexpand
                        \addplot+[mark=*, line width=1pt, \col]
                        table[
                            col sep=comma, x=physical_p,
                            y expr={1 - (1-\noexpand\thisrow{LER_soft})^(1/12)}
                        ]
                        {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=product_sum,+experiment=soft_vs_hard_param_exploration,+system.F=1,+system.W=\W/2026-03-30_08-57-21/LERs.csv};
                    }
                    \temp

                    \addlegendentryexpanded{$W = \W$~soft}
                }
            \end{axis}
        \end{tikzpicture}
        \caption{SPA}
    \end{subfigure}

    \caption{BP simulations for the [[144,12,12]]-BB code with $F=1,
    n_\text{iter,BP}=32,n_\text{rounds}=12$}
\end{figure}

\begin{figure}[H]
    \centering

    \begin{subfigure}{0.5\textwidth}
        \begin{tikzpicture}
            \begin{axis}[
                    width=\figwidth,
                    height=\figheight,
                    ymode=log,
                    legend style={
                        cells={anchor=west},
                        cells={align=left},
                    },
                    enlargelimits=false,
                    ymin=8e-4, ymax=2.5e-1,
                    grid=both,
                    legend pos = south east,
                    xtick={0.001,0.0015,...,0.004},
                    xticklabel style={/pgf/number format/fixed},
                    xticklabel style={/pgf/number format/precision=4},
                    scaled x ticks=false,
                    xlabel={Physical error rate},
                    ylabel={Per-round-LER},
                ]
                \foreach \F/\col in {1/scol2,2/scol1,3/scol0} {
                    \edef\temp{\noexpand
                        \addplot+[mark=o, line width=1pt, densely dashed, \col]
                        table[
                            col sep=comma, x=physical_p,
                            y expr={1 - (1-\noexpand\thisrow{LER_hard})^(1/12)}
                        ]
                        {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=minimum_sum,+experiment=soft_vs_hard_param_exploration,+system.F=\F,+system.W=5/2026-03-30_08-57-21/LERs.csv};
                    }
                    \temp

                    \addlegendentryexpanded{$F = \F$~hard}
                }

                \foreach \F/\col in {1/scol2,2/scol1,3/scol0} {
                    \edef\temp{\noexpand
                        \addplot+[mark=*, line width=1pt, \col]
                        table[
                            col sep=comma, x=physical_p,
                            y expr={1 - (1-\noexpand\thisrow{LER_soft})^(1/12)}
                        ]
                        {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=minimum_sum,+experiment=soft_vs_hard_param_exploration,+system.F=\F,+system.W=5/2026-03-30_08-57-21/LERs.csv};
                    }
                    \temp

                    \addlegendentryexpanded{$F = \F$~soft}
                }
            \end{axis}
        \end{tikzpicture}
        \caption{Min-Sum}
    \end{subfigure}%
    \begin{subfigure}{0.5\textwidth}
        \begin{tikzpicture}
            \begin{axis}[
                    width=\figwidth,
                    height=\figheight,
                    ymode=log,
                    legend style={
                        cells={anchor=west},
                        cells={align=left},
                    },
                    enlargelimits=false,
                    ymin=8e-4, ymax=2.5e-1,
                    grid=both,
                    legend pos = south east,
                    xtick={0.001,0.0015,...,0.004},
                    xticklabel style={/pgf/number format/fixed},
                    xticklabel style={/pgf/number format/precision=4},
                    scaled x ticks=false,
                    xlabel={Physical error rate},
                    ylabel={Per-round-LER},
                ]
                \foreach \F/\col in {1/scol2,2/scol1,3/scol0} {
                    \edef\temp{\noexpand
                        \addplot+[mark=o, line width=1pt, densely dashed, \col]
                        table[
                            col sep=comma, x=physical_p,
                            y expr={1 - (1-\noexpand\thisrow{LER_hard})^(1/12)}
                        ]
                        {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=product_sum,+experiment=soft_vs_hard_param_exploration,+system.F=\F,+system.W=5/2026-03-30_08-57-21/LERs.csv};
                    }
                    \temp

                    \addlegendentryexpanded{$F = \F$~hard}
                }

                \foreach \F/\col in {1/scol2,2/scol1,3/scol0} {
                    \edef\temp{\noexpand
                        \addplot+[mark=*, line width=1pt, \col]
                        table[
                            col sep=comma, x=physical_p,
                            y expr={1 - (1-\noexpand\thisrow{LER_soft})^(1/12)}
                        ]
                        {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=product_sum,+experiment=soft_vs_hard_param_exploration,+system.F=\F,+system.W=5/2026-03-30_08-57-21/LERs.csv};
                    }
                    \temp

                    \addlegendentryexpanded{$F = \F$~soft}
                }
            \end{axis}
        \end{tikzpicture}
        \caption{SPA}
    \end{subfigure}

    \caption{BP simulations for the [[144,12,12]]-BB code with $W=5,
    n_\text{iter,BP}=200,n_\text{rounds}=12$}
\end{figure}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Soft-Information Decoding: Best Performance}
\label{sec:Soft-Information Decoding: Best Performance}

\begin{figure}[H]
    \centering

    \begin{subfigure}{0.5\textwidth}
        \begin{tikzpicture}
            \begin{axis}[
                    width=\figwidth,
                    height=\figheight,
                    ymode=log,
                    legend style={
                        cells={anchor=west},
                        cells={align=left},
                    },
                    enlargelimits=false,
                    ymin=8e-4, ymax=2.5e-1,
                    grid=both,
                    legend pos = south east,
                    xtick={0.001,0.0015,...,0.004},
                    xticklabel style={/pgf/number format/fixed},
                    xticklabel style={/pgf/number format/precision=4},
                    scaled x ticks=false,
                    xlabel={Physical error rate},
                    ylabel={Per-round-LER},
                ]
                \addplot+[mark=o, line width=1pt, densely dashed, scol0]
                table[
                    col sep=comma, x=physical_p,
                    y expr={1 - (1-\thisrow{LER_hard})^(1/12)}
                ]
                {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=minimum_sum,+experiment=soft_vs_hard_param_exploration,+system.F=1,+system.W=5/2026-03-30_08-57-21/LERs.csv};

                \addlegendentryexpanded{Windowed, hard}

                \addplot+[mark=*, line width=1pt, scol0]
                table[
                    col sep=comma, x=physical_p,
                    y expr={1 - (1-\thisrow{LER_soft})^(1/12)}
                ]
                {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=minimum_sum,+experiment=soft_vs_hard_param_exploration,+system.F=1,+system.W=5/2026-03-30_08-57-21/LERs.csv};

                \addlegendentryexpanded{Windowed, soft}

                \addplot+[mark=o, line width=1pt, densely dashed, scol1]
                table[
                    col sep=comma, x=physical_p,
                    y expr={1 - (1-\thisrow{LER_whole})^(1/12)}
                ]
                {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=minimum_sum,+experiment=windowed_vs_whole_param_exploration,+system.F=1,+system.W=5/2026-03-30_08-57-21/LERs.csv};

                \addlegendentryexpanded{Whole window}
            \end{axis}
        \end{tikzpicture}
        \caption{Min-Sum}
    \end{subfigure}%
    \begin{subfigure}{0.5\textwidth}
        \begin{tikzpicture}
            \begin{axis}[
                    width=\figwidth,
                    height=\figheight,
                    ymode=log,
                    legend style={
                        cells={anchor=west},
                        cells={align=left},
                    },
                    enlargelimits=false,
                    ymin=8e-4, ymax=2.5e-1,
                    grid=both,
                    legend pos = south east,
                    xtick={0.001,0.0015,...,0.004},
                    xticklabel style={/pgf/number format/fixed},
                    xticklabel style={/pgf/number format/precision=4},
                    scaled x ticks=false,
                    xlabel={Physical error rate},
                    ylabel={Per-round-LER},
                ]
                \addplot+[mark=o, line width=1pt, densely dashed, scol0]
                table[
                    col sep=comma, x=physical_p,
                    y expr={1 - (1-\thisrow{LER_hard})^(1/12)}
                ]
                {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=product_sum,+experiment=soft_vs_hard_param_exploration,+system.F=1,+system.W=5/2026-03-30_08-57-21/LERs.csv};

                \addlegendentryexpanded{Windowed, hard}

                \addplot+[mark=*, line width=1pt, scol0]
                table[
                    col sep=comma, x=physical_p,
                    y expr={1 - (1-\thisrow{LER_soft})^(1/12)}
                ]
                {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=product_sum,+experiment=soft_vs_hard_param_exploration,+system.F=1,+system.W=5/2026-03-30_08-57-21/LERs.csv};

                \addlegendentryexpanded{Windowed, soft}

                \addplot+[mark=o, line width=1pt, densely dashed, scol1]
                table[
                    col sep=comma, x=physical_p,
                    y expr={1 - (1-\thisrow{LER_whole})^(1/12)}
                ]
                {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=product_sum,+experiment=windowed_vs_whole_param_exploration,+system.F=1,+system.W=5/2026-03-30_08-57-21/LERs.csv};

                \addlegendentryexpanded{Whole window}
            \end{axis}
        \end{tikzpicture}
        \caption{SPA}
    \end{subfigure}

    \caption{BP simulations for the [[144,12,12]]-BB code,
    $W=5, F=1, n_\text{iter,BP} = 200, n_\text{rounds}=12$}
\end{figure}

\end{document}

