\begin{table}[ht]
\centering
\small
\setlength{\tabcolsep}{4pt}  % Reduce column spacing
\begin{tabular}{lcccr}
\toprule
\textbf{Example}           & \textbf{\# inv.} & \textbf{\# compiles} & \textbf{\# pass tests} & \textbf{pass rate} \\ 
\midrule
\textbf{avl\_tree}          & 30            & 28                  & 17                    & 56.7\%             \\ 
\textbf{queue}              & 30            & 30                  & 30                    & 100.0\%            \\ 
\textbf{linked\_list}       & 32            & 32                  & 24                    & 75.0\%             \\ 
\textbf{binary\_search\_tree} & 25            & 25                  & 24                    & 96.0\%             \\ 
\textbf{hash\_table}        & 29            & 29                  & 26                    & 89.7\%             \\ 
\textbf{heap}               & 22            & 22                  & 12                    & 54.5\%             \\ 
\textbf{red\_black\_tree}   & 26            & 26                  & 15                    & 57.7\%             \\ 
\textbf{stack}              & 15            & 15                  & 11                    & 73.3\%             \\ 
\textbf{vector}             & 18            & 18                  & 16                    & 88.9\%             \\ 
\midrule
\textbf{Average}            & 25.22         & 24.56               & 19.44                 & 77.0\%             \\ 
\bottomrule
\end{tabular}
\caption{Invariant-only results from 8 completions show that 25 invariants per benchmark and $77\%$ pass unit tests.}
\label{ds_0shot}
\end{table}


% \begin{table}[ht]
% \centering
% \begin{tabular}{|l|c|c|c|}
% \hline
% \textbf{}           & \textbf{\# filtered invariants} & \textbf{\# test} & \textbf{Pass rate} \\ \hline
% \textbf{avl\_tree}          & 15                        & 15              & 100.0\%            \\ \hline
% \textbf{queue}              & 20                        & 20              & 100.0\%            \\ \hline
% \textbf{linked\_list}       & 22                        & 22              & 100.0\%            \\ \hline
% \textbf{binary\_search\_tree} & 16                        & 16              & 100.0\%            \\ \hline
% \textbf{hash\_table}        & 25                        & 25              & 100.0\%            \\ \hline
% \textbf{heap}               & 10                        & 10              & 100.0\%            \\ \hline
% \textbf{red\_black\_tree}   & 11                        & 11              & 100.0\%            \\ \hline
% \textbf{stack}              & 14                        & 14              & 100.0\%            \\ \hline
% \textbf{vector}             & 22                        & 22              & 100.0\%            \\ \hline
% \textbf{Average}            & 17.22                     & 17.22           & 100.0\%            \\ \hline
% \end{tabular}
% \caption{filtered invariants and test results for different data structures\cy{maybe merge this table and table-3 to show the help of refinement. like `20 (15)` means there are totally of 20 filtered invariants with refinement and 15 without refinement.}}
% \label{ds_0refine}
% \end{table}


% \begin{table}[ht]
% \centering
% \scriptsize
% \begin{tabular}{|l|c|c|c|c|c|}
% \hline
% \textbf{}            & \textbf{\# filtered tests} & \textbf{filtered tests coverage} & \textbf{\# good inv. (1 refine.)} & \textbf{\# validated} & \textbf{unit tests pass rate} \\ \hline
% \textbf{avl\_tree}           & 10                       & 91.7\%           & 15(20)                         & 20                    & 100.0\%            \\ \hline
% \textbf{queue}               & 8                        & 100.0\%          & 20(29)                         & 29                    & 100.0\%            \\ \hline
% \textbf{linked\_list}        & 8                        & 92.3\%           & 22(36)                         & 36                    & 100.0\%            \\ \hline
% \textbf{binary\_search\_tree} & 12                       & 95.6\%           & 16(19)                         & 19                    & 100.0\%            \\ \hline
% \textbf{hash\_table}         & 9                        & 90.3\%           & 25(27)                         & 27                    & 100.0\%            \\ \hline
% \textbf{heap}                & 7                        & 96.0\%           & 10(11)                         & 11                    & 100.0\%            \\ \hline
% \textbf{red\_black\_tree}    & 13                       & 85.4\%           & 11(18)                         & 18                    & 100.0\%            \\ \hline
% \textbf{stack}               & 8                        & 100.0\%          & 14(14)                         & 14                    & 100.0\%            \\ \hline
% \textbf{vector}              & 10                       & 94.6\%           & 22(22)                         & 22                    & 100.0\%            \\ \hline
% \textbf{Average}             & 9.44                     & 94.0\%           & 21.78                      & 21.78                 & 100.0\%            \\ \hline
% \end{tabular}
% \caption{For each sample, the table shows the number and coverage of filtered tests, the number and unit test pass rate of filtered invariants without refinement and with 1 refinement.}
% \label{ds_refine}
% \end{table}



% \begin{table}[ht]
% \centering
% \scriptsize
% \begin{tabular}{|l|c|c|c|}
% \hline
% \textbf{}            & \textbf{\# filtered tests (coverage)} & \textbf{\# filtered invariants (1 refinement)} & \textbf{unit tests pass rate} \\ \hline
% \textbf{avl\_tree}           & 10  (91.7\%)          & 15 (20)                         & 100.0\% (100.0\%)            \\ \hline
% \textbf{queue}               & 8  (100.0\%)           & 20 (29)                         & 100.0\% (100.0\%)            \\ \hline
% \textbf{linked\_list}        & 8  (92.3\%)            & 22 (36)                         & 100.0\% (100.0\%)            \\ \hline
% \textbf{binary\_search\_tree} & 12  (95.6\%)          & 16 (19)                         & 100.0\% (100.0\%)            \\ \hline
% \textbf{hash\_table}         & 9  (90.3\%)            & 25 (27)                         & 100.0\% (100.0\%)            \\ \hline
% \textbf{heap}                & 7  (96.0\%)            & 10 (11)                         & 100.0\% (100.0\%)            \\ \hline
% \textbf{red\_black\_tree}    & 13  (85.4\%)           & 11 (18)                         & 100.0\% (100.0\%)            \\ \hline
% \textbf{stack}               & 8  (100.0\%)           & 14 (14)                         & 100.0\% (100.0\%)            \\ \hline
% \textbf{vector}              & 10  (94.6\%)           & 22 (22)                         & 100.0\% (100.0\%)            \\ \hline
% \textbf{Average}             & 9.44  (94.0\%)         & 17.22 (21.78)                           & 100.0\% (100.0\%)            \\ \hline
% \end{tabular}
% \caption{For each sample, the table shows the number and line coverage of filtered tests, the number and unit test pass rate of filtered invariants without refinement, and with 1 refinement. With \textit{filtering tests} and 1 refinement, \tech achieves perfect unit tests pass rate. 
% % \shuvendu{Add 1-refinement #invs and test-pass-rate as a separate column.}
% }
% \label{ds_refine}
% \end{table}
% \livia{break columns}

\begin{table}[ht]
\centering
\scriptsize  % Even smaller text
\setlength{\tabcolsep}{3pt}  % Further reduce column spacing
\begin{tabular}{lcccc}
\toprule
\textbf{Example} & \textbf{\# filter tests} & \textbf{\# filtered inv.} & \textbf{\# good inv.} & \textbf{pass rate} \\ 
                 & \textbf{(coverage)}      &                           & \textbf{(1 refine)}   & \textbf{(1 refine)}  \\ 
\midrule
\textbf{avl\_tree}           & 10 (91.7\%)   & 15          & 20  & 100.0\% \\ 
\textbf{queue}               & 8 (100.0\%)   & 20          & 29  & 100.0\% \\ 
\textbf{linked\_list}        & 8 (92.3\%)    & 22          & 36  & 100.0\% \\ 
\textbf{binary\_search\_tree} & 12 (95.6\%)  & 16          & 19  & 100.0\% \\ 
\textbf{hash\_table}         & 9 (90.3\%)    & 25          & 27  & 100.0\% \\ 
\textbf{heap}                & 7 (96.0\%)    & 10          & 11  & 100.0\% \\ 
\textbf{red\_black\_tree}    & 13 (85.4\%)   & 11          & 18  & 100.0\% \\ 
\textbf{stack}               & 8 (100.0\%)   & 14          & 14  & 100.0\% \\ 
\textbf{vector}              & 10 (94.6\%)   & 22          & 22  & 100.0\% \\ 
\midrule
\textbf{Average}             & 9.44 (94.0\%) & 17.22       & 21.78 & 100.0\% \\ 
\bottomrule
\end{tabular}
\caption{For each example, the table shows the number and line coverage of \textit{filtering tests}, the number of \textit{filtered invariants} without refinement, and with 1 refinement, as well as the unit test pass rate after 1 refinement. With \textit{filtering tests} and 1 refinement, \tech achieves a perfect unit test pass rate.}
\label{ds_refine}
\end{table}
