Index: doc/theses/mike_brooks_MMath/Makefile
===================================================================
--- doc/theses/mike_brooks_MMath/Makefile	(revision 534188b1b812a577e95ed51a3635cd28f1cfd3a6)
+++ doc/theses/mike_brooks_MMath/Makefile	(revision bf7360823d8caf05936e704d204551885b32d5d6)
@@ -114,4 +114,7 @@
 #-include ${Build}/*.d
 
+.PHONY: plots
+plots: $(PlotSRC)
+
 
 # troubleshooting, e.g. `make echo_DEMOS` runs `echo $(DEMOS)`
Index: doc/theses/mike_brooks_MMath/list.tex
===================================================================
--- doc/theses/mike_brooks_MMath/list.tex	(revision 534188b1b812a577e95ed51a3635cd28f1cfd3a6)
+++ doc/theses/mike_brooks_MMath/list.tex	(revision bf7360823d8caf05936e704d204551885b32d5d6)
@@ -963,5 +963,5 @@
 \end{figure}
 
-Where \VRef[Figure]{f:ListPerfGlossary} enumerates the specific values, reall the use-case dimensions are:
+Where \VRef[Figure]{f:ListPerfGlossary} enumerates the specific values, recall the use-case dimensions are:
 \begin{description}
 	\item[movement ($\times 2$)]
@@ -1015,7 +1015,31 @@
 Rather, size zones are picked, specific effects inside of a zone are averaged away, and the story at one zone is compared to that at another zone.
 
+\begin{figure}
+\centering
+  \setlength{\tabcolsep}{0pt}
+  \begin{tabular}{p{3.4375in}p{0.125in}p{2.9375in}}
+	\subfloat[ ]{\label{f:zoomin-abs-i-swift}
+		\includegraphics{plot-list-zoomin-abs-i-swift.pdf}
+	} & &
+	\subfloat[ ]{\label{f:zoomin-abs-viii-java}
+		\includegraphics{plot-list-zoomin-abs-viii-java.pdf}
+	}
+  \end{tabular}
+  \caption{Variety of IR duration \vs list length, at small--medium lengths.  Two example use cases are shown: I, stack movement with head-only access (plot a); VIII, queue movement with element-oriented removal access (plot b); both use cases have insert-first polarity.  One example is run on each machine: UC-I on AMD (ploat a); UC-VIII on Intel (plot b).  Lower duration is better.}
+  \label{fig:plot-list-zoomin-abs}
+\end{figure}
+
+\VRef[Figure]{fig:plot-list-zoomin-abs} gives two example responses to size. 
+The dataset here is a small portion of the overall result and it is premature to attempt conclusions about framework differences from it.
+These two examples show, firstly, how differently a pair of individual configurations can behave.
+Of more immediate significance, they also have a pattern repeated, in all eight of their size responses.
+Note the ``small'' and ``medium'' overlaid boxes, which call out the size zones' definitions.
+Outside of an identified box, size response is erratic.
+Inside a box, size response is smooth.
+This pattern occurs generally throughout all the experimental results, beyond the two examples here.
+
 To preview, \VRef[Section]{toc:coarse-compre} dismisses ``Large'' sizes (above 150 elements), where the performance story is dominated by the amount of memory touched, inherently, by the choice of intrusive list \vs wrapped, and where one intrusive framework is quite obviously as good as another.
-At smaller sizes, comparing one intrusive framework to another makes sense; this comparion occurs in the remaining ``Result'' sections.
-Among the ``not Large'' sizes used there, two further zones, Small and Medium, are selected as representatives of what can vary when the scale is changed.
+At smaller sizes, comparing one intrusive framework to another makes sense; this comparison occurs in the remaining ``Result'' sections.
+Among the remaining ``not Large'' sizes, two further zones, \VRef[Figure]{fig:plot-list-zoomin-abs}'s Small and Medium, are selected as representatives of what can vary when the scale is changed.
 These particular ranges were chosen beacause each range tends to have one story repeated across its constituent sizes.
 If \CFA's duration increases across Small, then the other frameworks' usually do too.
@@ -1076,11 +1100,85 @@
 
 Use case, physical context and framework are the explanatory factors.
-Taking all combinations of the explanatory factors gives 624 individual configurations.
-
-Though there are multiple experimental trials of each configuration (to assure repeatability), the usual measure is mean AIR among the trials, considered for each of the 624 individual configurations.
-
-All means reported in this analysis are geometric.
-
-\MLB{TODO: add example plots; explain histogram of 624}
+Taking all combinations of the explanatory factors gives 624 individual configurations:
+\[
+	\textrm{624 individual configurations} =
+	\sum_{\substack{
+		\textrm{12 use cases}\\
+		\textrm{4 physical contexts}\\
+		\textrm{4 specific sizes}\\
+		\textrm{3.25 frameworks}
+	}}
+	\textrm{1 individual configuration}
+\]
+
+\begin{figure}
+\centering
+  \setlength{\tabcolsep}{0pt}
+  \includegraphics[trim={0in, 1.75in, 0in, 0in}, clip]{plot-list-legend-rel-i-swift.pdf}
+  \begin{tabular}{p{2.75in}p{0.125in}p{3.625in}}
+	\subfloat[ ]{\label{f:zoomin-rel-i-swift}
+		\includegraphics{plot-list-zoomin-rel-i-swift.pdf}
+	} & &
+	\subfloat[ ]{\label{f:zoomin-histo-i-swift}
+		\includegraphics{plot-list-histo-rel-i-swift.pdf}
+	}
+  \end{tabular}
+  \caption{IR duration, transformed for general anaysis.  The analysis follows the single example setup of \VRef[Figure]{f:zoomin-abs-i-swift}, \ie Use Case I on AMD, where IR is given as absolute duration.  Plot (a) transforms the source dataset by conditioning on specific size.  Plot (b) takes the results from only the identified size zones, discards their specific-size information, and shows the resulting distribution.  Lower duration is better.}
+  \label{fig:plot-list-rel}
+\end{figure}
+
+32 of these individual configurations, plucked from  \VRef[Figure]{f:zoomin-abs-i-swift}, are the subject of \VRef[Figure]{fig:plot-list-rel}, where they are now transformed into the format used for general analysis.
+In \subref*{f:zoomin-rel-i-swift}, each of the 56 data points is an individual configuration; the subset within the two boxes has the 32 of interest.
+In \subref*{f:zoomin-histo-i-swift}, the very leftmost histogram (Small, \CFA) summarizes the 4 Small--\CFA individual configurations.
+Each remaining framework, at size zone Small, similarly summarizes 4 individual configurations.
+This statement is the interpretation of the x-category label, ``Small (/4).''
+Each line under the ``/4'' label has 4 individual configurations; so, this group has 16 individual configurations.
+The interpretation of ``Medium (/4)'' is similar; it groups the remaining 16 configurations.
+When both size zones are pooled together, ``Both (/8)'' results; this group revisits all 32 configurations.
+
+This example's use of 32 individual configurations is in contrast with full-universe comparisons like the forthcoming \VRef[Figure]{fig:plot-list-1ord}, whose coverage further includes all use cases and both machines.
+
+The transformation of \VRef[Figure]{f:zoomin-abs-i-swift} into \VRef[Figure]{f:zoomin-rel-i-swift} conditions on the configuration's specific size.
+At a particular size, the average duration is computed, across the three frameworks that work on all use cases: \CFA, \uCpp and LQ-@tailq@.
+\VRef[Figure]{fig:plot-list-rel} shows a particular configuration's duration relative to this average.
+
+The effect of conditioning on specific size erases the fact that \VRef[Figure]{fig:plot-list-zoomin-abs} shows, aside from the coarse hops, all frameworks getting smoothly slower as size increases.
+This effect is partiularly relevant \emph{within} a size zone, most noticeable as the data lines all going up across the Small box.
+Now, with size conditioned, \VRef[Figure]{f:zoomin-rel-i-swift} has the trends inside a zone box being flat.
+This flatness gives \subref*{f:histo-rel-i-swift} nicely separated histograms.
+
+Specific size is the only factor conditioned in this view.
+This choice was made to keep the relationship between \VRef[Figures]{f:zoomin-abs-i-swift} and \VRef[]{:zoomin-rel-i-swift} perceptible.
+By contrast, general comparisons like \VRef[Figure]{fig:plot-list-1ord} condition on more, generally, everyting not presented.
+Its physical-factor breakdown conditions on use case and framework, but not on physical factors; its other two breakdowns are defined similarly.
+
+The noteworthy performance hop, in this example, is LQ-@list@, which \VRef[Figures]{f:zoomin-abs-i-swift} has as consistently slow in the Small range, and consistently fast in the Medium range.
+Therefore, in \VRef{f:zoomin-histo-i-swift}, its two per-size-zone histograms are far apart, and its cross-size-zone histogram is bimdal.
+Hops and distribution contributions, like this one, are common.
+They are attention-grabbing curiosities when comparing nearly any pair of individual configurations.
+They are the background noise of the all-in inter-configuration comparisons following.
+With this one, \VRef[Figure]{fig:plot-list-1ord}'s LQ-@list@ distribution (farthest right) does have a perceptible bump at $1.8\times$, corresponding to the upper mode seen here.
+But this UC-I--Intel contribution is only $1/6 = 8/48$ of the configurations summarized there.
+
+Each individual configuration is tested by five trials, giving the error bars of \VRef[Figure]{:zoomin-rel-i-swift} (at min and max).
+This trial error is unaffected by the size conditioning.
+Though this error is presented only for the narrow slice of the current examples, the amount of it seen here is typical across all the configurations.
+With a few exceptions, it is modest; so, the experiment is repeatable.
+The data points in \subref{f:zoomin-rel-i-swift} show mean excluding min and max.
+This value, alone, is the contribution to the histogram in \subref{f:zoomin-histo-i-swift}.
+That is, inter-configuration rollups discard the modest trial-repeatability error.
+The girth of a histogram's distribution is entirely the inter-configuration variance, of its configurations' expected performance.
+
+Thus, in the forthcoming comparison plots:
+\begin{itemize}
+\item
+The measure is mean IR among the middle 3 trials out of 5, that occurred for an individual configuration.
+\item
+The number of individual configurations per histogram is stated as ``/N,'' at a relevant grnaularity.
+\item
+All reported averages are geometric means and all IR duration axes (verticals) are logarithmic.
+\item
+Unless indicated otherwise, all explanatory factors appearing on a plot are marginalized, while those not appearing on the plot are conditioned.
+\end{itemize}
 
 
@@ -1124,5 +1222,5 @@
   \caption{Insert/remove duration \vs list length.
   Lengths go as large possible without error.
-  One example use case is shown: stack movement, insert-first polarity and head-mediated access. Lower is better.}
+  One example use case is shown: I, stack movement, insert-first polarity and head-mediated access. Lower duration is better.}
   \label{fig:plot-list-zoomout}
 \end{figure}
@@ -1211,7 +1309,8 @@
 \begin{figure}
   \centering
-  \includegraphics{plot-list-1ord.pdf}
+  \includegraphics{plot-list-1ord.pdf} \\
+  \small{\textsuperscript{\textdagger} LQ-@list@ is (/48) by its incomplete (25\%) use case coverage.  Its bars are scaled to match.}
   \caption{Histogram of IR durations, decomposed by all first-order effects.
-  Each of the three breakdowns divides the entire population of test results into its mutually disjoint constituents. The measure is duration; lower is better.}
+  Each of the three breakdowns divides the entire population of test results into its mutually disjoint constituents. Lower duration is better. \MLB{To fix: the size-zone bars are broken (wrong data)}}
   \label{fig:plot-list-1ord}
 \end{figure}
@@ -1246,14 +1345,20 @@
 
 
-\subsection{Intrusive Sweet and Sore Spots}
+\subsection{Result: Sweet and Sore Spots}
 
 \begin{figure}
 	\centering
-	\includegraphics{plot-list-2ord.pdf}
+	\includegraphics{plot-list-2ord.pdf}\\
+
+	\small{
+	\textsuperscript{\textdagger} LQ-@list@ is absent from Movement and Polarity comparisons because it does not support queue and insert-last, respectively.\\
+	\textsuperscript{\textdaggerdbl} LQ-@list@ is (/24) by its incomplete (25\%) use case coverage.  Its bars are scaled to match.\\
+	\textsuperscript{*} The full population of 192 individual configurations applies (48 for LQ-@list@), but this analysis summarizes pairs of them, giving each histogram's 96 contributions (24 for LQ-@list@).
+	}
 	\caption{Histogram of IR durations, illustrating interactions with framework.
 	Each distribution shows how its framework reacts to a single other factor being varied across one pair of options.
 	Every (binned and mean-contributing) individual data point represents a pair of test setups, one with the criterion set to the option labelled at the top; the other setup uses the bottom option.
 	This point's y-axis score is the ratio of these setups' durations.
-	The point lands in a bin closer to the label of the option that performs better.
+	The point lands in a bin closer to the label of the option that performs better. \MLB{To fix: the size-zone bars are broken (no data)}
 	}
 	\label{fig:plot-list-2ord}
@@ -1292,14 +1397,15 @@
 It occurs only for the queue movement, only on the AMD machine, and only for the \CFA framework. 
 
-Length-1 performane is an important case.
+Length-1 performance is an important case.
 Lists like those of waiting threads are frequently left empty, with the occasional thread (or few) momentarily joining.
 These scenarios need to work.
 
-A cause of this behaviour was never determined.
-Speculation is that \CFA's increased data dependency, a result of the tagging scheme, pairs poorly with the situation implied by queue movement.
+A cause of the slowdown was never determined.
+Speculation is that \CFA's increased data dependency, a result of the tagging scheme, pairs poorly with the aliasing implied by queue movement.
 The aliasing, at length 1, is: the head's first element is the head's last element.
-With stack movement, one of these aliases is used twice, while with queue movement, both are used in alternation.
-
-The breakdowns earlier in the performane assessment work by varying length only.
+With stack movement, one of these names for the first element is reaused for both insert and remove.
+While with queue movement, both names are used in alternation.
+
+The breakdowns earlier in the performance assessment vary length only.
 That is, they see the story down the leftmost column in a triangle.
 The insight for contextualizing this issue was to inspect both length and width.
@@ -1358,31 +1464,4 @@
 \begin{comment}
 
-\begin{figure}
-\centering
-  \setlength{\tabcolsep}{0pt}
-  \begin{tabular}{p{0.75in}p{2.75in}p{3in}}
-  &
-  \subfloat[Operation I, AMD]{\label{f:AbsoluteTime-i-swift}
-	\hspace*{-0.75in}
-	\includegraphics{plot-list-zoomin-abs-i-swift.pdf}
-  } % subfigure
-  &
-  \subfloat[Operation I, Intel]{\label{f:AbsoluteTime-i-java}
-	\includegraphics{plot-list-zoomin-abs-i-java.pdf}
-  } % subfigure
-  \\
-  &
-  \subfloat[Operation VIII, AMD]{\label{f:AbsoluteTime-viii-swift}
-	\hspace*{-0.75in}
-	\includegraphics{plot-list-zoomin-abs-viii-swift.pdf}
-  } % subfigure
-  &
-  \subfloat[Operation VIII, Intel]{\label{f:AbsoluteTime-viii-java}
-	\includegraphics{plot-list-zoomin-abs-viii-java.pdf}
-  } % subfigure
-  \end{tabular}
-  \caption{Operation duration \vs list length at small-medium lengths.  Two example operations are shown: [I] stack movement with head-only access (plots a and b); [VIII] queue movement with element-oriented removal access (plots c and d); both operations use insert-first polarity. Lower is better.}
-  \label{fig:plot-list-zoomin}
-\end{figure}
 
 \VRef[Figure]{fig:plot-list-zoomin} shows the sizes below 150 blown up.
Index: doc/theses/mike_brooks_MMath/plots/ListCommon.py
===================================================================
--- doc/theses/mike_brooks_MMath/plots/ListCommon.py	(revision 534188b1b812a577e95ed51a3635cd28f1cfd3a6)
+++ doc/theses/mike_brooks_MMath/plots/ListCommon.py	(revision bf7360823d8caf05936e704d204551885b32d5d6)
@@ -50,6 +50,6 @@
     timings['SizeZone'] = np.select(
         condlist = [
-            (4 <= timings['NumNodes']) & (timings['NumNodes'] <= 16),
-            (48 <= timings['NumNodes']) & (timings['NumNodes'] <= 256)
+            ( 6 <= timings['NumNodes']) & (timings['NumNodes'] <=  20),
+            (50 <= timings['NumNodes']) & (timings['NumNodes'] <= 200)
         ],
         choicelist = [
Index: doc/theses/mike_brooks_MMath/plots/list-1ord.gp
===================================================================
--- doc/theses/mike_brooks_MMath/plots/list-1ord.gp	(revision 534188b1b812a577e95ed51a3635cd28f1cfd3a6)
+++ doc/theses/mike_brooks_MMath/plots/list-1ord.gp	(revision bf7360823d8caf05936e704d204551885b32d5d6)
@@ -29,5 +29,5 @@
 
 set xrange [-5.5:17.5];
-set xlabel "Architecture, Size Zone;                           Operation;                                     Framework;       \nPrevalence                                   Prevalence                                     Prevalence"
+set xlabel "Architecture, Size Zone (/156);                 Use Case (/52);                            Framework (/192^†)       \nPrevalence                                   Prevalence                                     Prevalence"
 set xtics ( \
    "AMD, sm"    -5, \
@@ -49,11 +49,11 @@
    "XII"  11, \
 \
-   "{/Helvetica=15 C{/Symbol \42}}"      13, \
-   "{/Symbol \155}C++"      14, \
-   "LQ: tailq" 15, \
-   "LQ: list"  16, \
+   "{/Helvetica=15 C{/Symbol \42}}"  13, \
+   "{/Symbol \155}C++"               14, \
+   "LQ {/Helvetica=15 tailq}"        15, \
+   "LQ {/Helvetica=15 list}"         16, \
 ) scale 0 rotate by -45
 
-barHtScale_phys = 0.05
+barHtScale_phys = 0.035
 barHtScale_op = 0.1
 barHtScale_fx = 0.05
Index: doc/theses/mike_brooks_MMath/plots/list-2ord.gp
===================================================================
--- doc/theses/mike_brooks_MMath/plots/list-2ord.gp	(revision 534188b1b812a577e95ed51a3635cd28f1cfd3a6)
+++ doc/theses/mike_brooks_MMath/plots/list-2ord.gp	(revision bf7360823d8caf05936e704d204551885b32d5d6)
@@ -29,5 +29,5 @@
 
 set xrange [-0.7:27.5];
-set xlabel "Criterion;  top-bottom Options;  Prevalence" offset 0,-1.5
+set xlabel "Criterion (/96^‡^*);  top-bottom Options;  Prevalence" offset 0,-1.5
 set format x ""
 set xtics ( \
@@ -50,9 +50,9 @@
 set label "stack"                           at first 11  , graph  1.05 center
 set label "queue"                           at first 11  , graph -0.05 center
-set label "Movement"                        at first 11  , graph -0.14 center
+set label "Movement^†"                      at first 11  , graph -0.14 center
 
 set label "ins. first"                      at first 15  , graph  1.05 center
 set label "ins. last"                       at first 15  , graph -0.05 center
-set label "Polarity"                        at first 15  , graph -0.14 center
+set label "Polarity^†"                      at first 15  , graph -0.14 center
 
 set label "all head"                        at first 19.5, graph  1.05 center
@@ -173,6 +173,6 @@
        i ( 0 + 0) using ( 0 + 0 ):1 title "{/Helvetica=15 C{/Symbol \42}}"   with points     lc rgb "blue"        pt  7  ps 1.0, \
     '' i ( 0 + 3) using ( 0 + 1 ):1 title "{/Symbol \155}C++"                with points     lc rgb "dark-orange" pt  9  ps 1.2, \
-    '' i ( 0 + 2) using ( 0 + 2 ):1 title "LQ-tailq"                         with points     lc rgb "magenta"     pt  11 ps 1.2, \
-    '' i ( 0 + 1) using ( 0 + 3 ):1 title "LQ-list"                          with points     lc rgb "dark-violet" pt  13 ps 1.4, \
+    '' i ( 0 + 2) using ( 0 + 2 ):1 title "LQ {/Helvetica=15 tailq}"         with points     lc rgb "magenta"     pt  11 ps 1.2, \
+    '' i ( 0 + 1) using ( 0 + 3 ):1 title "LQ {/Helvetica=15 list}"          with points     lc rgb "dark-violet" pt  13 ps 1.4, \
     '' i ( 0 + 0) using ( 0 + 0):1:( 0 + 0):( 0 + 0 + .8)            notitle with xerrorbars lc rgb "blue"        pt  0, \
     '' i ( 0 + 3) using ( 0 + 1):1:( 0 + 1):( 0 + 1 + .8)            notitle with xerrorbars lc rgb "dark-orange" pt  0, \
Index: doc/theses/mike_brooks_MMath/plots/list-histo-rel-i-swift.d
===================================================================
--- doc/theses/mike_brooks_MMath/plots/list-histo-rel-i-swift.d	(revision bf7360823d8caf05936e704d204551885b32d5d6)
+++ doc/theses/mike_brooks_MMath/plots/list-histo-rel-i-swift.d	(revision bf7360823d8caf05936e704d204551885b32d5d6)
@@ -0,0 +1,2 @@
+plots/list-histo-rel-i-swift.gp.INPUTS: build/plot-list-histo-rel-i-swift.sum.dat build/plot-list-histo-rel-i-swift.det.dat | build
+plots/list-histo-rel-i-swift.py.INPUTS: benchmarks/list/results-swift-general.csv
Index: doc/theses/mike_brooks_MMath/plots/list-histo-rel-i-swift.gp
===================================================================
--- doc/theses/mike_brooks_MMath/plots/list-histo-rel-i-swift.gp	(revision bf7360823d8caf05936e704d204551885b32d5d6)
+++ doc/theses/mike_brooks_MMath/plots/list-histo-rel-i-swift.gp	(revision bf7360823d8caf05936e704d204551885b32d5d6)
@@ -0,0 +1,103 @@
+set terminal pdfcairo color enhanced size 3.625in,2.0in font "Times,17"
+
+set size 1.0, 1.0    # scale of plot area inside terminal
+set origin 0.0, 0.0  # bottom-left corner
+
+INDIR="build"
+OUTDIR="build"
+
+set macros
+set output OUTDIR."/plot-list-histo-rel-i-swift.pdf"
+
+set grid
+set nokey
+
+set logscale y (2**0.2)
+set yrange [0.47:2.1];
+set format y ""
+set ytics (0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0) scale 0
+
+set logscale y2 (2**0.2)
+set y2range [0.47:2.1];
+set format y2 ""
+set y2tics (0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0) nomirror
+
+# Draw fake x axis at y=1.0; use vertical-only bounding 'H'
+unset border
+set arrow from graph 0, first 1 to graph 1, first 1 nohead lt -1 lw 2
+set arrow 101 from graph 1, graph 0 to graph 1, graph 1 nohead lw 1 front
+
+set xrange [-0.75:16.5];
+set xlabel "Size Zone;  Prevalence"
+set xtics ( \
+   ""              0, \
+   "Small (/4)"    1, \
+   ""              2, \
+   ""              3, \
+\
+   ""              6, \
+   "Medium (/4)"   7, \
+   ""              8, \
+   ""              9, \
+\
+   ""             12, \
+   "Both (/8)"    13, \
+   ""             14, \
+   ""             15, \
+) scale 0 offset first 0.5,0
+
+#set bmargin 0
+set tmargin 0.1
+set lmargin 0
+set rmargin 0.1
+
+barHtScale_fx = 0.30
+
+
+set errorbars 0 linewidth 4
+set pointintervalbox 0
+
+
+plot INDIR."/plot-list-histo-rel-i-swift.det.dat" \
+       i 4 + 0 using (0):(0):( 0 + 0):( 0 + 0 +    2* barHtScale_fx * $3):1:2 notitle with boxxyerror fc rgb "blue"        fs transparent solid 0.15 noborder, \
+    '' i 4 + 3 using (0):(0):( 0 + 1):( 0 + 1 +    2* barHtScale_fx * $3):1:2 notitle with boxxyerror fc rgb "dark-orange" fs transparent solid 0.15 noborder, \
+    '' i 4 + 2 using (0):(0):( 0 + 2):( 0 + 2 +    2* barHtScale_fx * $3):1:2 notitle with boxxyerror fc rgb "magenta"     fs transparent solid 0.15 noborder, \
+    '' i 4 + 1 using (0):(0):( 0 + 3):( 0 + 3 +    2* barHtScale_fx * $3):1:2 notitle with boxxyerror fc rgb "purple"      fs transparent solid 0.35 noborder, \
+    '' i 4 + 0 using ( 0 + 0 +    2* barHtScale_fx * $3):2 notitle with steps lc rgb "blue"         lw 0.3, \
+    '' i 4 + 3 using ( 0 + 1 +    2* barHtScale_fx * $3):2 notitle with steps lc rgb "dark-orange"  lw 0.3, \
+    '' i 4 + 2 using ( 0 + 2 +    2* barHtScale_fx * $3):2 notitle with steps lc rgb "magenta"      lw 0.3, \
+    '' i 4 + 1 using ( 0 + 3 +    2* barHtScale_fx * $3):2 notitle with steps lc rgb "purple"       lw 0.3, \
+\
+    '' i 0 + 0 using (0):(0):( 6 + 0):( 6 + 0 +    2* barHtScale_fx * $3):1:2 notitle with boxxyerror fc rgb "blue"        fs transparent solid 0.15 noborder, \
+    '' i 0 + 3 using (0):(0):( 6 + 1):( 6 + 1 +    2* barHtScale_fx * $3):1:2 notitle with boxxyerror fc rgb "dark-orange" fs transparent solid 0.15 noborder, \
+    '' i 0 + 2 using (0):(0):( 6 + 2):( 6 + 2 +    2* barHtScale_fx * $3):1:2 notitle with boxxyerror fc rgb "magenta"     fs transparent solid 0.15 noborder, \
+    '' i 0 + 1 using (0):(0):( 6 + 3):( 6 + 3 +    2* barHtScale_fx * $3):1:2 notitle with boxxyerror fc rgb "purple"      fs transparent solid 0.35 noborder, \
+    '' i 0 + 0 using ( 6 + 0 +    2* barHtScale_fx * $3):2 notitle with steps lc rgb "blue"         lw 0.3, \
+    '' i 0 + 3 using ( 6 + 1 +    2* barHtScale_fx * $3):2 notitle with steps lc rgb "dark-orange"  lw 0.3, \
+    '' i 0 + 2 using ( 6 + 2 +    2* barHtScale_fx * $3):2 notitle with steps lc rgb "magenta"      lw 0.3, \
+    '' i 0 + 1 using ( 6 + 3 +    2* barHtScale_fx * $3):2 notitle with steps lc rgb "purple"       lw 0.3, \
+\
+    '' i 8 + 0 using (0):(0):(12 + 0):(12 + 0 +       barHtScale_fx * $3):1:2 notitle with boxxyerror fc rgb "blue"        fs transparent solid 0.15 noborder, \
+    '' i 8 + 3 using (0):(0):(12 + 1):(12 + 1 +       barHtScale_fx * $3):1:2 notitle with boxxyerror fc rgb "dark-orange" fs transparent solid 0.15 noborder, \
+    '' i 8 + 2 using (0):(0):(12 + 2):(12 + 2 +       barHtScale_fx * $3):1:2 notitle with boxxyerror fc rgb "magenta"     fs transparent solid 0.15 noborder, \
+    '' i 8 + 1 using (0):(0):(12 + 3):(12 + 3 +       barHtScale_fx * $3):1:2 notitle with boxxyerror fc rgb "purple"      fs transparent solid 0.35 noborder, \
+    '' i 8 + 0 using (12 + 0 +       barHtScale_fx * $3):2 notitle with steps lc rgb "blue"         lw 0.3, \
+    '' i 8 + 3 using (12 + 1 +       barHtScale_fx * $3):2 notitle with steps lc rgb "dark-orange"  lw 0.3, \
+    '' i 8 + 2 using (12 + 2 +       barHtScale_fx * $3):2 notitle with steps lc rgb "magenta"      lw 0.3, \
+    '' i 8 + 1 using (12 + 3 +       barHtScale_fx * $3):2 notitle with steps lc rgb "purple"       lw 0.3, \
+\
+   INDIR."/plot-list-histo-rel-i-swift.sum.dat" \
+       i 4 + 0 using ( 0 + 0):1:( 0 + 0):( 0 + 0 + .8) title "{/Helvetica=15 C{/Symbol \42}}" with xerrorbars lc rgb "blue"        pt  7  ps 1.0, \
+    '' i 4 + 3 using ( 0 + 1):1:( 0 + 1):( 0 + 1 + .8) title "{/Symbol \155}C++"              with xerrorbars lc rgb "dark-orange" pt  9  ps 1.2, \
+    '' i 4 + 2 using ( 0 + 2):1:( 0 + 2):( 0 + 2 + .8) title "LQ {/Helvetica=15 tailq}"       with xerrorbars lc rgb "magenta"     pt  11 ps 1.2, \
+    '' i 4 + 1 using ( 0 + 3):1:( 0 + 3):( 0 + 3 + .8) title "LQ {/Helvetica=15 list}"        with xerrorbars lc rgb "dark-violet" pt  13 ps 1.4, \
+\
+    '' i 0 + 0 using ( 6 + 0):1:( 6 + 0):( 6 + 0 + .8) notitle with xerrorbars lc rgb "blue"        pt  7  ps 1.0, \
+    '' i 0 + 3 using ( 6 + 1):1:( 6 + 1):( 6 + 1 + .8) notitle with xerrorbars lc rgb "dark-orange" pt  9  ps 1.2, \
+    '' i 0 + 2 using ( 6 + 2):1:( 6 + 2):( 6 + 2 + .8) notitle with xerrorbars lc rgb "magenta"     pt  11 ps 1.2, \
+    '' i 0 + 1 using ( 6 + 3):1:( 6 + 3):( 6 + 3 + .8) notitle with xerrorbars lc rgb "dark-violet" pt  13 ps 1.4, \
+\
+    '' i 8 + 0 using (12 + 0):1:(12 + 0):(12 + 0 + .8) notitle with xerrorbars lc rgb "blue"        pt  7  ps 1.0, \
+    '' i 8 + 3 using (12 + 1):1:(12 + 1):(12 + 1 + .8) notitle with xerrorbars lc rgb "dark-orange" pt  9  ps 1.2, \
+    '' i 8 + 2 using (12 + 2):1:(12 + 2):(12 + 2 + .8) notitle with xerrorbars lc rgb "magenta"     pt  11 ps 1.2, \
+    '' i 8 + 1 using (12 + 3):1:(12 + 3):(12 + 3 + .8) notitle with xerrorbars lc rgb "dark-violet" pt  13 ps 1.4
Index: doc/theses/mike_brooks_MMath/plots/list-histo-rel-i-swift.py
===================================================================
--- doc/theses/mike_brooks_MMath/plots/list-histo-rel-i-swift.py	(revision bf7360823d8caf05936e704d204551885b32d5d6)
+++ doc/theses/mike_brooks_MMath/plots/list-histo-rel-i-swift.py	(revision bf7360823d8caf05936e704d204551885b32d5d6)
@@ -0,0 +1,51 @@
+import pandas as pd
+import numpy as np
+import os
+import sys
+
+sys.path.insert(0, os.path.dirname(__file__))
+from ListCommon import *
+
+sumFile = open( sys.argv[1], 'w' )
+detFile = open( sys.argv[2], 'w' )
+
+
+printHistos(
+
+    tgtMovement = 'all',
+    tgtPolarity = 'all',
+    tgtAccessor = 'all',
+
+    earlyFilter = {'fx':['cfa-cfa', 'lq-tailq', 'lq-list', 'upp-upp'],
+                   'movement':['stack'],
+                  'polarity':['insfirst'],
+                  'accessor':['allhead'],
+                  'machine':['swift'] },
+
+    drillOn=['SizeZone', 'fx'],
+
+    marginalizeOn= list( set(explanations) - set(['NumNodes', 'SizeZone']) ),
+    
+    sumFile = sumFile,
+    detFile = detFile )
+
+
+# same, but don't drill size zone
+printHistos(
+
+    tgtMovement = 'all',
+    tgtPolarity = 'all',
+    tgtAccessor = 'all',
+
+    earlyFilter = {'fx':['cfa-cfa', 'lq-tailq', 'lq-list', 'upp-upp'],
+                   'movement':['stack'],
+                  'polarity':['insfirst'],
+                  'accessor':['allhead'],
+                  'machine':['swift'] },
+
+    drillOn=['fx'],
+
+    marginalizeOn= list( set(explanations) - set(['NumNodes', 'SizeZone']) ),
+    
+    sumFile = sumFile,
+    detFile = detFile )
Index: doc/theses/mike_brooks_MMath/plots/list-histo-rel-viii-java.gp
===================================================================
--- doc/theses/mike_brooks_MMath/plots/list-histo-rel-viii-java.gp	(revision bf7360823d8caf05936e704d204551885b32d5d6)
+++ doc/theses/mike_brooks_MMath/plots/list-histo-rel-viii-java.gp	(revision bf7360823d8caf05936e704d204551885b32d5d6)
@@ -0,0 +1,93 @@
+set terminal pdfcairo color enhanced size 3.625in,2.0in font "Times,17"
+
+set size 1.0, 1.0    # scale of plot area inside terminal
+set origin 0.0, 0.0  # bottom-left corner
+
+INDIR="build"
+OUTDIR="build"
+
+set macros
+set output OUTDIR."/plot-list-histo-rel-viii-java.pdf"
+
+set grid
+set nokey
+
+set logscale y (2**0.2)
+set yrange [0.47:2.1];
+set format y ""
+set ytics (0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0) scale 0
+
+set logscale y2 (2**0.2)
+set y2range [0.47:2.1];
+set format y2 ""
+set y2tics (0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0) nomirror
+
+
+# Draw fake x axis at y=1.0; use vertical-only bounding 'H'
+unset border
+set arrow from graph 0, first 1 to graph 1, first 1 nohead lt -1 lw 2
+set arrow 101 from graph 1, graph 0 to graph 1, graph 1 nohead lw 1 front
+
+set xrange [-0.75:14.5];
+set xlabel "Size Zone; Prevalence"
+set xtics ( \
+   ""     0, \
+   ""    1, \
+   ""   2, \
+\
+   ""    5, \
+   ""   6, \
+   ""  7, \
+\
+   ""   10, \
+   ""  11, \
+   ""   12, \
+   ""  13, \
+) scale 0
+
+#set bmargin 0
+set tmargin 0
+set lmargin 0
+set rmargin 0.1
+
+barHtScale_fx = 0.30
+
+set errorbars 0 linewidth 4
+set pointintervalbox 0
+
+
+
+plot INDIR."/plot-list-histo-rel-viii-java.det.dat" \
+       i 3 + 0 using (0):(0):( 0 + 0):( 0 + 0 +       barHtScale_fx * $3):1:2 title columnheader(1) with boxxyerror fc rgb "blue"        fs transparent solid 0.15 noborder, \
+    '' i 3 + 2 using (0):(0):( 0 + 1):( 0 + 1 +       barHtScale_fx * $3):1:2 title columnheader(1) with boxxyerror fc rgb "dark-orange" fs transparent solid 0.15 noborder, \
+    '' i 3 + 1 using (0):(0):( 0 + 2):( 0 + 2 +       barHtScale_fx * $3):1:2 title columnheader(1) with boxxyerror fc rgb "magenta"     fs transparent solid 0.15 noborder, \
+    '' i 3 + 0 using (0 +  0 +       barHtScale_fx * $3):2 notitle with steps lc rgb "blue"         lw 0.3, \
+    '' i 3 + 2 using (0 +  1 +       barHtScale_fx * $3):2 notitle with steps lc rgb "dark-orange"  lw 0.3, \
+    '' i 3 + 1 using (0 +  2 +       barHtScale_fx * $3):2 notitle with steps lc rgb "magenta"      lw 0.3, \
+\
+    '' i 0 + 0 using (0):(0):( 5 + 0):( 5 + 0 +       barHtScale_fx * $3):1:2 title columnheader(1) with boxxyerror fc rgb "blue"        fs transparent solid 0.15 noborder, \
+    '' i 0 + 2 using (0):(0):( 5 + 1):( 5 + 1 +       barHtScale_fx * $3):1:2 title columnheader(1) with boxxyerror fc rgb "dark-orange" fs transparent solid 0.15 noborder, \
+    '' i 0 + 1 using (0):(0):( 5 + 2):( 5 + 2 +       barHtScale_fx * $3):1:2 title columnheader(1) with boxxyerror fc rgb "magenta"     fs transparent solid 0.15 noborder, \
+    '' i 0 + 0 using ( 5 + 0 +       barHtScale_fx * $3):2 notitle with steps lc rgb "blue"         lw 0.3, \
+    '' i 0 + 2 using ( 5 + 1 +       barHtScale_fx * $3):2 notitle with steps lc rgb "dark-orange"  lw 0.3, \
+    '' i 0 + 1 using ( 5 + 2 +       barHtScale_fx * $3):2 notitle with steps lc rgb "magenta"      lw 0.3, \
+\
+    '' i 6 + 0 using (0):(0):(10 + 0):(10 + 0 +       barHtScale_fx * $3):1:2 title columnheader(1) with boxxyerror fc rgb "blue"        fs transparent solid 0.15 noborder, \
+    '' i 6 + 2 using (0):(0):(10 + 1):(10 + 1 +       barHtScale_fx * $3):1:2 title columnheader(1) with boxxyerror fc rgb "dark-orange" fs transparent solid 0.15 noborder, \
+    '' i 6 + 1 using (0):(0):(10 + 2):(10 + 2 +       barHtScale_fx * $3):1:2 title columnheader(1) with boxxyerror fc rgb "magenta"     fs transparent solid 0.15 noborder, \
+    '' i 6 + 0 using (10 + 0 +       barHtScale_fx * $3):2 notitle with steps lc rgb "blue"         lw 0.3, \
+    '' i 6 + 2 using (10 + 1 +       barHtScale_fx * $3):2 notitle with steps lc rgb "dark-orange"  lw 0.3, \
+    '' i 6 + 1 using (10 + 2 +       barHtScale_fx * $3):2 notitle with steps lc rgb "magenta"      lw 0.3, \
+\
+   INDIR."/plot-list-histo-rel-viii-java.sum.dat" \
+       i 3 + 0 using ( 0 + 0):1:( 0 + 0):( 0 + 0 + .8) notitle with xerrorbars lc rgb "blue"        pt  7  ps 1.0, \
+    '' i 3 + 2 using ( 0 + 1):1:( 0 + 1):( 0 + 1 + .8) notitle with xerrorbars lc rgb "dark-orange" pt  9  ps 1.2, \
+    '' i 3 + 1 using ( 0 + 2):1:( 0 + 2):( 0 + 2 + .8) notitle with xerrorbars lc rgb "magenta"     pt  11 ps 1.2, \
+\
+    '' i 0 + 0 using ( 5 + 0):1:( 5 + 0):( 5 + 0 + .8) notitle with xerrorbars lc rgb "blue"        pt  7  ps 1.0, \
+    '' i 0 + 2 using ( 5 + 1):1:( 5 + 1):( 5 + 1 + .8) notitle with xerrorbars lc rgb "dark-orange" pt  9  ps 1.2, \
+    '' i 0 + 1 using ( 5 + 2):1:( 5 + 2):( 5 + 2 + .8) notitle with xerrorbars lc rgb "magenta"     pt  11 ps 1.2, \
+\
+    '' i 6 + 0 using (10 + 0):1:(10 + 0):(10 + 0 + .8) notitle with xerrorbars lc rgb "blue"        pt  7  ps 1.0, \
+    '' i 6 + 2 using (10 + 1):1:(10 + 1):(10 + 1 + .8) notitle with xerrorbars lc rgb "dark-orange" pt  9  ps 1.2, \
+    '' i 6 + 1 using (10 + 2):1:(10 + 2):(10 + 2 + .8) notitle with xerrorbars lc rgb "magenta"     pt  11 ps 1.2
Index: doc/theses/mike_brooks_MMath/plots/list-legend-rel-i-swift.d
===================================================================
--- doc/theses/mike_brooks_MMath/plots/list-legend-rel-i-swift.d	(revision bf7360823d8caf05936e704d204551885b32d5d6)
+++ doc/theses/mike_brooks_MMath/plots/list-legend-rel-i-swift.d	(revision bf7360823d8caf05936e704d204551885b32d5d6)
@@ -0,0 +1,1 @@
+plots/list-legend-rel-i-swift.gp.INPUTS: build/plot-list-histo-rel-i-swift.sum.dat build/plot-list-histo-rel-i-swift.det.dat | build
Index: doc/theses/mike_brooks_MMath/plots/list-legend-rel-i-swift.gp
===================================================================
--- doc/theses/mike_brooks_MMath/plots/list-legend-rel-i-swift.gp	(revision bf7360823d8caf05936e704d204551885b32d5d6)
+++ doc/theses/mike_brooks_MMath/plots/list-legend-rel-i-swift.gp	(revision bf7360823d8caf05936e704d204551885b32d5d6)
@@ -0,0 +1,85 @@
+set terminal pdfcairo color enhanced size 6.5in,2.0in font "Times,17"
+
+set size 1.0, 1.0    # scale of plot area inside terminal
+set origin 0.0, 0.0  # bottom-left corner
+
+INDIR="build"
+OUTDIR="build"
+
+set macros
+set output OUTDIR."/plot-list-legend-rel-i-swift.pdf"
+
+set grid
+set nokey
+
+set logscale y (2**0.2)
+set yrange [0.47:2.1];
+set format y ""
+set ytics (0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0) scale 0
+
+set logscale y2 (2**0.2)
+set y2range [0.47:2.1];
+set format y2 ""
+set y2tics (0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0) nomirror
+
+# Draw fake x axis at y=1.0; use vertical-only bounding 'H'
+unset border
+set arrow from graph 0, first 1 to graph 1, first 1 nohead lt -1 lw 2
+set arrow 101 from graph 1, graph 0 to graph 1, graph 1 nohead lw 1 front
+
+set xrange [-0.75:16.5];
+set xlabel "Size Zone;  Prevalence"
+set xtics ( \
+   ""              0, \
+   "Small (/4)"    1, \
+   ""              2, \
+   ""              3, \
+\
+   ""              6, \
+   "Medium (/4)"   7, \
+   ""              8, \
+   ""              9, \
+\
+   ""             12, \
+   "Both (/8)"    13, \
+   ""             14, \
+   ""             15, \
+) scale 0 offset first 0.5,0
+
+#set bmargin 0
+#set tmargin 0.1
+set lmargin 0
+set rmargin 0.1
+
+barHtScale_fx = 0.30
+
+
+#---------------------
+
+# legend, augmented
+set key outside top center horizontal maxrows 1 samplen 2 width +1 # offset -10,0
+set object 2 rect from first  2.62, screen 0.882 to first  3.42, screen 0.972 fc rgb "blue"        fs transparent solid 0.20 border lc rgb "blue"        lw 0.3
+set object 3 rect from first  5.5,  screen 0.882 to first  6.3 , screen 0.972 fc rgb "dark-orange" fs transparent solid 0.25 border lc rgb "dark-orange" lw 0.3
+set object 4 rect from first  8.4,  screen 0.882 to first  9.2 , screen 0.972 fc rgb "magenta"     fs transparent solid 0.20 border lc rgb "magenta"     lw 0.3
+set object 5 rect from first 11.3,  screen 0.882 to first 12.1 , screen 0.972 fc rgb "dark-violet" fs transparent solid 0.25 border lc rgb "dark-violet" lw 0.3
+# word "mean" is title of a data series plotted froom $Singleton
+set arrow 99 from first 12.2, screen 0.925 to first 12.8, screen 0.925  nohead lw 1 dt 2
+#---------------------
+
+set errorbars 0 linewidth 4
+set pointintervalbox 0
+
+# One row, to plot one-off points
+$Singleton <<EOD
+0
+EOD
+
+
+plot INDIR."/plot-list-histo-rel-i-swift.sum.dat" \
+       i 4 + 0 using ( 0 + 0):1:( 0 + 0):( 0 + 0 + .8) title "{/Helvetica=15 C{/Symbol \42}}" with xerrorbars lc rgb "blue"        pt  7  ps 1.0, \
+    '' i 4 + 3 using ( 0 + 1):1:( 0 + 1):( 0 + 1 + .8) title "{/Symbol \155}C++"              with xerrorbars lc rgb "dark-orange" pt  9  ps 1.2, \
+    '' i 4 + 2 using ( 0 + 2):1:( 0 + 2):( 0 + 2 + .8) title "LQ {/Helvetica=15 tailq}"       with xerrorbars lc rgb "magenta"     pt  11 ps 1.2, \
+    '' i 4 + 1 using ( 0 + 3):1:( 0 + 3):( 0 + 3 + .8) title "LQ {/Helvetica=15 list}"        with xerrorbars lc rgb "dark-violet" pt  13 ps 1.4, \
+    $Singleton \
+       using (0):(0.1):("This text is placed offscrean-low") title "↕ mean" with labels, \
+   
Index: c/theses/mike_brooks_MMath/plots/list-zoomin-abs-i-java.d
===================================================================
--- doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-i-java.d	(revision 534188b1b812a577e95ed51a3635cd28f1cfd3a6)
+++ 	(revision )
@@ -1,2 +1,0 @@
-plots/list-zoomin-abs-i-java.gp.INPUTS: build/plot-list-zoomin-abs-i-java.dat | build
-plots/list-zoomin-abs-i-java.py.INPUTS: benchmarks/list/results-java-general.csv
Index: c/theses/mike_brooks_MMath/plots/list-zoomin-abs-i-java.gp
===================================================================
--- doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-i-java.gp	(revision 534188b1b812a577e95ed51a3635cd28f1cfd3a6)
+++ 	(revision )
@@ -1,34 +1,0 @@
-set terminal pdfcairo color enhanced size 3.0in,2.0in font "Times,17"
-
-set size 1.0, 1.0    # scale of plot area inside terminal
-set origin 0.0, 0.0  # bottom-left corner
-
-set size 1.0, 1.0    # scale of plot area inside terminal
-set origin 0.0, 0.0  # bottom-left corner
-
-INDIR="build"
-OUTDIR="build"
-
-set macros
-set output OUTDIR."/plot-list-zoomin-abs-i-java.pdf"
-
-set grid
-unset key
-set logscale x 2
-set logscale y
-set yrange [1:15];
-set ytics (1,2,3,4,5,6,7,8,10,12,14)
-set format y ""
-set xrange [0.75:180];
-# set xlabel "List length (item count)" offset 2,0
-set format x ""
-# set ylabel "Duration (ns)" offset -1.0,0
-set format y ""
-set errorbars 2.0
-set pointintervalbox 0
-
-plot INDIR."/plot-list-zoomin-abs-i-java.dat" \
-       i 0 using ($1 * 0.98):8:4:5 title columnheader(1) with yerrorbars lt rgb "blue" 	      pt  6  ps 0.85 lw 1, \
-    '' i 4 using ($1 * 0.94):8:4:5 title columnheader(1) with yerrorbars lt rgb "dark-orange"	pt  8  ps 0.75 lw 1, \
-    '' i 3 using ($1 * 1.02):8:4:5 title columnheader(1) with yerrorbars lt rgb "magenta"	      pt  10 ps 0.85 lw 1, \
-    '' i 2 using ($1 * 1.06):8:4:5 title columnheader(1) with yerrorbars lt rgb "purple"	      pt  12 ps 1.0  lw 1
Index: c/theses/mike_brooks_MMath/plots/list-zoomin-abs-i-java.py
===================================================================
--- doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-i-java.py	(revision 534188b1b812a577e95ed51a3635cd28f1cfd3a6)
+++ 	(revision )
@@ -1,20 +1,0 @@
-import pandas as pd
-import numpy as np
-import os
-import sys
-
-sys.path.insert(0, os.path.dirname(__file__))
-from ListCommon import *
-
-printSingleDetail(
-    machines=['java'],
-    tgtMovement = 'stack',
-    tgtPolarity = 'insfirst',
-    tgtAccessor = 'allhead'
-
-
-    # tgtMovement = 'all',
-    # tgtPolarity = 'all',
-    # tgtAccessor = 'remelem',
-    # tgtInterleave = 0.5
-    )
Index: doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-i-swift.gp
===================================================================
--- doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-i-swift.gp	(revision 534188b1b812a577e95ed51a3635cd28f1cfd3a6)
+++ doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-i-swift.gp	(revision bf7360823d8caf05936e704d204551885b32d5d6)
@@ -1,3 +1,3 @@
-set terminal pdfcairo color enhanced size 3.625in,2.0in font "Times,17"
+set terminal pdfcairo color enhanced size 3.4375in,2.5in font "Times,17"
 
 set size 1.0, 1.0    # scale of plot area inside terminal
@@ -10,22 +10,45 @@
 set output OUTDIR."/plot-list-zoomin-abs-i-swift.pdf"
 
-set lmargin 10
+set lmargin screen (0.5/3.4375) # half inch
 
 set grid
-unset key
-set logscale x 2
+set key bottom right
+
 set logscale y
 set yrange [1:15];
-set ytics (1,2,3,4,5,6,7,8,10,12,14)
+set ytics (1,2,3,4,5,6,7,8,10,12,14) nomirror
+set ylabel "Duration (ns)"
+
+set logscale x 2
 set xrange [0.75:180];
-# set xlabel "List length (item count)" offset 2,0
-set format x ""
-set ylabel "Duration (ns)" offset -3.0,0
+set xlabel "List length (item count)"
+# set format x ""
+
+# "drop" page-centre side of bounding box (drop whole box, re-draw desired three)
+unset border
+set arrow from graph 0, graph 0 to graph 0, graph 1 nohead lw 1 front  # left
+set arrow from graph 0, graph 1 to graph 1, graph 1 nohead lw 1 front  # top
+set arrow from graph 0, graph 0 to graph 1, graph 0 nohead lw 1 front  # bot
+
+# labelled boxes around size zones
+set object rect from first  6, first 2.5 to first 23,   first 10 fc rgb "black"       fs empty         lw 2.0
+set object rect from first 45, first 3.5 to graph 0.99, first 12 fc rgb "black"       fs empty         lw 2.0
+set label "small"                        at first 23,   first (2.5 * 0.9) right
+set label "medium"                       at graph 0.99, first (3.5 * 0.9) right
+
+
+#set bmargin 0
+set tmargin 0.1
+#set lmargin 0
+set rmargin 0.1
+
+set label "{/Times-Bold= Use Case I,}\n{/Times-Bold= AMD}"                           at first 1, graph  0.9 left
+
 set errorbars 2.0
 set pointintervalbox 0
 
 plot INDIR."/plot-list-zoomin-abs-i-swift.dat" \
-       i 0 using ($1 * 0.98):8:4:5 title columnheader(1) with yerrorbars lt rgb "blue" 	      pt  6  ps 0.85 lw 1, \
-    '' i 4 using ($1 * 0.94):8:4:5 title columnheader(1) with yerrorbars lt rgb "dark-orange"	pt  8  ps 0.75 lw 1, \
-    '' i 3 using ($1 * 1.02):8:4:5 title columnheader(1) with yerrorbars lt rgb "magenta"	      pt  10 ps 0.85 lw 1, \
-    '' i 2 using ($1 * 1.06):8:4:5 title columnheader(1) with yerrorbars lt rgb "purple"	      pt  12 ps 1.0  lw 1
+       i 0 using ($1 * 0.98):8:4:5 notitle                         with yerrorbars lt rgb "blue" 	      pt  6  ps 0.85 lw 1, \
+    '' i 4 using ($1 * 0.94):8:4:5 notitle                         with yerrorbars lt rgb "dark-orange"	pt  8  ps 0.75 lw 1, \
+    '' i 3 using ($1 * 1.02):8:4:5 notitle                         with yerrorbars lt rgb "magenta"	      pt  10 ps 0.85 lw 1, \
+    '' i 2 using ($1 * 1.06):8:4:5 title "LQ {/Helvetica=15 list}" with yerrorbars lt rgb "purple"	      pt  12 ps 1.0  lw 1
Index: doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-viii-java.gp
===================================================================
--- doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-viii-java.gp	(revision 534188b1b812a577e95ed51a3635cd28f1cfd3a6)
+++ doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-viii-java.gp	(revision bf7360823d8caf05936e704d204551885b32d5d6)
@@ -1,3 +1,3 @@
-set terminal pdfcairo color enhanced size 3.0in,2.5in font "Times,17"
+set terminal pdfcairo color enhanced size 2.9375in,2.5in font "Times,17"
 
 set size 1.0, 1.0    # scale of plot area inside terminal
@@ -11,19 +11,48 @@
 
 set grid
-unset key
-set logscale x 2
+set key bottom right
+set key noopaque
+
 set logscale y
 set yrange [1:15];
-set ytics (1,2,3,4,5,6,7,8,10,12,14)
+set ytics (1,2,3,4,5,6,7,8,10,12,14) scale 0
+#set ylabel "Duration (ns)" offset -3.0,0
 set format y ""
+
+set logscale y2
+set y2range [1:15];
+set y2tics (1,2,3,4,5,6,7,8,10,12,14) nomirror
+set format y2 ""
+
+set logscale x 2
 set xrange [0.75:180];
-set xlabel "List length (item count)" offset 2,0
-# set ylabel "Duration (ns)" offset -1.0,0
-set format y ""
+set xlabel "List length (item count)"
+# set format x ""
+
+# "drop" page-centre side of bounding box (drop whole box, re-draw desired three)
+unset border
+set arrow from graph 1, graph 0 to graph 1, graph 1 nohead lw 1 front  # right
+set arrow from graph 0, graph 1 to graph 1, graph 1 nohead lw 1 front  # top
+set arrow from graph 0, graph 0 to graph 1, graph 0 nohead lw 1 front  # bot
+
+# labelled boxes around size zones
+set object rect  from first  6, first 1.4 to first 23,   first 4.8 fc rgb "black"       fs empty         lw 2.0
+set object rect  from first 45, first 3.5 to graph 0.99, first 6.5 fc rgb "black"       fs empty         lw 2.0
+set label "small"  at first  6,                          first (4.8 * 1.15) left
+set label "medium" at first 45,                          first (6.5 * 1.15) left
+
+
+#set bmargin 0
+set tmargin 0.1
+set lmargin 0
+set rmargin 0.1
+
+set label "{/Times-Bold= Use Case VIII,}\n{/Times-Bold= Intel}"                           at first 1, graph  0.9 left
+
 set errorbars 2.0
 set pointintervalbox 0
 
 plot INDIR."/plot-list-zoomin-abs-viii-java.dat" \
-       i 0 using ($1 * 0.98):8:4:5 title columnheader(1) with yerrorbars lt rgb "blue" 	      pt  6  ps 0.85 lw 1, \
-    '' i 3 using ($1 * 0.94):8:4:5 title columnheader(1) with yerrorbars lt rgb "dark-orange"	pt  8  ps 0.75 lw 1, \
-    '' i 2 using ($1 * 1.02):8:4:5 title columnheader(1) with yerrorbars lt rgb "magenta"	      pt  10 ps 0.85 lw 1
+       i 0 using ($1 * 0.98):8:4:5 title "{/Helvetica=15 C{/Symbol \42}}"  with yerrorbars lt rgb "blue" 	      pt  6  ps 0.85 lw 1, \
+    '' i 3 using ($1 * 0.94):8:4:5 title "{/Symbol \155}C++"               with yerrorbars lt rgb "dark-orange"	pt  8  ps 0.75 lw 1, \
+    '' i 2 using ($1 * 1.02):8:4:5 title "LQ {/Helvetica=15 tailq}"        with yerrorbars lt rgb "magenta"	      pt  10 ps 0.85 lw 1
Index: c/theses/mike_brooks_MMath/plots/list-zoomin-abs-viii-swift.d
===================================================================
--- doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-viii-swift.d	(revision 534188b1b812a577e95ed51a3635cd28f1cfd3a6)
+++ 	(revision )
@@ -1,2 +1,0 @@
-plots/list-zoomin-abs-viii-swift.gp.INPUTS: build/plot-list-zoomin-abs-viii-swift.dat | build
-plots/list-zoomin-abs-viii-swift.py.INPUTS: benchmarks/list/results-swift-general.csv
Index: c/theses/mike_brooks_MMath/plots/list-zoomin-abs-viii-swift.gp
===================================================================
--- doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-viii-swift.gp	(revision 534188b1b812a577e95ed51a3635cd28f1cfd3a6)
+++ 	(revision )
@@ -1,29 +1,0 @@
-set terminal pdfcairo color enhanced size 3.625in,2.5in font "Times,17"
-
-set size 1.0, 1.0    # scale of plot area inside terminal
-set origin 0.0, 0.0  # bottom-left corner
-
-INDIR="build"
-OUTDIR="build"
-
-set macros
-set output OUTDIR."/plot-list-zoomin-abs-viii-swift.pdf"
-
-set lmargin 10
-
-set grid
-unset key
-set logscale x 2
-set logscale y
-set yrange [1:15];
-set ytics (1,2,3,4,5,6,7,8,10,12,14)
-set xrange [0.75:180];
-set xlabel "List length (item count)" offset 2,0
-set ylabel "Duration (ns)" offset -3.0,0
-set errorbars 2.0
-set pointintervalbox 0
-
-plot INDIR."/plot-list-zoomin-abs-viii-swift.dat" \
-       i 0 using ($1 * 0.98):8:4:5 title columnheader(1) with yerrorbars lt rgb "blue" 	      pt  6  ps 0.85 lw 1, \
-    '' i 3 using ($1 * 0.94):8:4:5 title columnheader(1) with yerrorbars lt rgb "dark-orange"	pt  8  ps 0.75 lw 1, \
-    '' i 2 using ($1 * 1.02):8:4:5 title columnheader(1) with yerrorbars lt rgb "magenta"	      pt  10 ps 0.85 lw 1
Index: c/theses/mike_brooks_MMath/plots/list-zoomin-abs-viii-swift.py
===================================================================
--- doc/theses/mike_brooks_MMath/plots/list-zoomin-abs-viii-swift.py	(revision 534188b1b812a577e95ed51a3635cd28f1cfd3a6)
+++ 	(revision )
@@ -1,20 +1,0 @@
-import pandas as pd
-import numpy as np
-import os
-import sys
-
-sys.path.insert(0, os.path.dirname(__file__))
-from ListCommon import *
-
-printSingleDetail(
-    machines=['swift'],
-    tgtMovement = 'queue',
-    tgtPolarity = 'insfirst',
-    tgtAccessor = 'remelem'
-
-
-    # tgtMovement = 'all',
-    # tgtPolarity = 'all',
-    # tgtAccessor = 'remelem',
-    # tgtInterleave = 0.5
-    )
Index: doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-i-swift.d
===================================================================
--- doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-i-swift.d	(revision bf7360823d8caf05936e704d204551885b32d5d6)
+++ doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-i-swift.d	(revision bf7360823d8caf05936e704d204551885b32d5d6)
@@ -0,0 +1,2 @@
+plots/list-zoomin-rel-i-swift.gp.INPUTS: build/plot-list-zoomin-rel-i-swift.dat | build
+plots/list-zoomin-rel-i-swift.py.INPUTS: benchmarks/list/results-java-general.csv
Index: doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-i-swift.gp
===================================================================
--- doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-i-swift.gp	(revision bf7360823d8caf05936e704d204551885b32d5d6)
+++ doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-i-swift.gp	(revision bf7360823d8caf05936e704d204551885b32d5d6)
@@ -0,0 +1,49 @@
+set terminal pdfcairo color enhanced size 2.75in,2.0in font "Times,17"
+
+set size 1.0, 1.0    # scale of plot area inside terminal
+set origin 0.0, 0.0  # bottom-left corner
+
+INDIR="build"
+OUTDIR="build"
+
+set macros
+set output OUTDIR."/plot-list-zoomin-rel-i-swift.pdf"
+
+# Draw fake x axis at y=1.0; use vertical-only bounding 'H'
+unset border
+set arrow from graph 0, first 1 to graph 1, first 1 nohead lt -1 lw 2
+set arrow 100 from graph 0, graph 0 to graph 0, graph 1 nohead lw 1 front
+
+set grid
+unset key
+
+set logscale x 2
+set xrange [0.75:250];
+set xlabel "List length (item count)"
+
+
+#set bmargin 0
+set tmargin 0.1
+set lmargin 10
+set rmargin 0.1
+
+set ylabel "Duration (relative)" offset -1.0,0
+set logscale y (2**0.2)
+set yrange [0.47:2.1];
+set format y "%.1f {/Symbol \264}"
+set ytics (0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0) nomirror
+
+# labelled boxes around size zones
+set object rect  from first  6, first 0.6 to first  23,  first 2.0 fc rgb "black"       fs empty         lw 2.0
+set object rect  from first 45, first 0.6 to first 181, first 1.8 fc rgb "black"       fs empty         lw 2.0
+set label "small"                         at first  23,  first (0.6 * 0.9) right
+set label "medium"                        at first 181, first (0.6 * 0.9) right
+
+set errorbars 2.0
+set pointintervalbox 0
+
+plot INDIR."/plot-list-zoomin-rel-i-swift.dat" \
+       i 0 using ($1 * 0.98):8:4:5 title columnheader(1) with yerrorbars lt rgb "blue" 	      pt  6  ps 0.85 lw 1, \
+    '' i 4 using ($1 * 0.94):8:4:5 title columnheader(1) with yerrorbars lt rgb "dark-orange"	pt  8  ps 0.75 lw 1, \
+    '' i 3 using ($1 * 1.02):8:4:5 title columnheader(1) with yerrorbars lt rgb "magenta"	      pt  10 ps 0.85 lw 1, \
+    '' i 2 using ($1 * 1.06):8:4:5 title columnheader(1) with yerrorbars lt rgb "purple"	      pt  12 ps 1.0  lw 1
Index: doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-i-swift.py
===================================================================
--- doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-i-swift.py	(revision bf7360823d8caf05936e704d204551885b32d5d6)
+++ doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-i-swift.py	(revision bf7360823d8caf05936e704d204551885b32d5d6)
@@ -0,0 +1,24 @@
+import pandas as pd
+import numpy as np
+import os
+import sys
+
+sys.path.insert(0, os.path.dirname(__file__))
+from ListCommon import *
+
+printSingleDetail(
+    machines=['swift'],
+    tgtMovement = 'stack',
+    tgtPolarity = 'insfirst',
+    tgtAccessor = 'allhead',
+
+
+    # tgtMovement = 'all',
+    # tgtPolarity = 'all',
+    # tgtAccessor = 'remelem',
+    # tgtInterleave = 0.5,
+
+
+    measureBase='OpDurRel',
+    marginalizeOn= list( set(explanations) - set(['NumNodes', 'SizeZone']) )
+)
Index: c/theses/mike_brooks_MMath/plots/list-zoomin-rel-java.d
===================================================================
--- doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-java.d	(revision 534188b1b812a577e95ed51a3635cd28f1cfd3a6)
+++ 	(revision )
@@ -1,2 +1,0 @@
-plots/list-zoomin-rel-java.gp.INPUTS: build/plot-list-zoomin-rel-java.dat | build
-plots/list-zoomin-rel-java.py.INPUTS: benchmarks/list/results-java-general.csv
Index: c/theses/mike_brooks_MMath/plots/list-zoomin-rel-java.gp
===================================================================
--- doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-java.gp	(revision 534188b1b812a577e95ed51a3635cd28f1cfd3a6)
+++ 	(revision )
@@ -1,45 +1,0 @@
-set terminal pdfcairo color enhanced size 3.0in,2.5in font "Times,17"
-
-set size 1.0, 1.0    # scale of plot area inside terminal
-set origin 0.0, 0.0  # bottom-left corner
-
-INDIR="build"
-OUTDIR="build"
-
-set macros
-set output OUTDIR."/plot-list-zoomin-rel-java.pdf"
-
-set grid
-set key bottom right
-set logscale x 2
-set logscale y 2
-set yrange [0.3:1.8];
-set ytics ( \
-   "" 1.666666667, \
-   "" 1.428571429, \
-   "" 1.25, \
-   "" 1.111111111, \
-   "" 1, \
-   "" 0.833333333, \
-   "" 0.714285714, \
-   "" 0.625, \
-   "" 0.555555556, \
-   "" 0.5, \
-   "" 0.434782609, \
-   "" 0.384615385, \
-   "" 0.333333333 \
-)
-set xrange [0.75:180];
-set xlabel "List length (item count)" offset 2,0
-unset ylabel
-set errorbars 2.0
-set pointintervalbox 0
-
-# Draw axis-like line at speedup=0% (y=1.0)
-set arrow from graph 0, first 1 to graph 1, first 1 nohead lt -1 lw 2
-
-plot INDIR."/plot-list-zoomin-rel-java.dat" \
-       i 0 using ($1 * 0.98):8:4:5 title columnheader(1) with yerrorbars lt rgb "blue" 	      pt  6  ps 0.85 lw 1, \
-    '' i 4 using ($1 * 0.94):8:4:5 title columnheader(1) with yerrorbars lt rgb "dark-orange"	pt  8  ps 0.75 lw 1, \
-    '' i 3 using ($1 * 1.02):8:4:5 title columnheader(1) with yerrorbars lt rgb "magenta"	      pt  10 ps 0.85 lw 1, \
-    '' i 2 using ($1 * 1.06):8:4:5 title columnheader(1) with yerrorbars lt rgb "purple"	      pt  12 ps 1.0  lw 1
Index: c/theses/mike_brooks_MMath/plots/list-zoomin-rel-java.py
===================================================================
--- doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-java.py	(revision 534188b1b812a577e95ed51a3635cd28f1cfd3a6)
+++ 	(revision )
@@ -1,24 +1,0 @@
-import pandas as pd
-import numpy as np
-import os
-import sys
-
-sys.path.insert(0, os.path.dirname(__file__))
-from ListCommon import *
-
-printSingleDetail(
-    machines=['java'],
-    tgtMovement = 'stack',
-    tgtPolarity = 'insfirst',
-    tgtAccessor = 'allhead',
-
-
-    # tgtMovement = 'all',
-    # tgtPolarity = 'all',
-    # tgtAccessor = 'remelem',
-    # tgtInterleave = 0.5,
-
-
-    measureBase='OpDurRel',
-    marginalizeOn=['fx']
-)
Index: c/theses/mike_brooks_MMath/plots/list-zoomin-rel-swift.d
===================================================================
--- doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-swift.d	(revision 534188b1b812a577e95ed51a3635cd28f1cfd3a6)
+++ 	(revision )
@@ -1,2 +1,0 @@
-plots/list-zoomin-rel-swift.gp.INPUTS: build/plot-list-zoomin-rel-swift.dat | build
-plots/list-zoomin-rel-swift.py.INPUTS: benchmarks/list/results-swift-general.csv
Index: c/theses/mike_brooks_MMath/plots/list-zoomin-rel-swift.gp
===================================================================
--- doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-swift.gp	(revision 534188b1b812a577e95ed51a3635cd28f1cfd3a6)
+++ 	(revision )
@@ -1,47 +1,0 @@
-set terminal pdfcairo color enhanced size 3.625in,2.5in font "Times,17"
-
-set size 1.0, 1.0    # scale of plot area inside terminal
-set origin 0.0, 0.0  # bottom-left corner
-
-INDIR="build"
-OUTDIR="build"
-
-set lmargin 10
-
-set macros
-set output OUTDIR."/plot-list-zoomin-rel-swift.pdf"
-
-set grid
-unset key
-set logscale x 2
-set logscale y 2
-set yrange [0.3:1.8];
-set ytics ( \
-   "+40%%" 1.666666667, \
-   "+30%%" 1.428571429, \
-   "+20%%" 1.25, \
-   "+10%%" 1.111111111, \
-   "0" 1, \
-   "-20%%" 0.833333333, \
-   "-40%%" 0.714285714, \
-   "-60%%" 0.625, \
-   "-80%%" 0.555555556, \
-   "-100%%" 0.5, \
-   "-130%%" 0.434782609, \
-   "-160%%" 0.384615385, \
-   "-200%%" 0.333333333 \
-)
-set xrange [0.75:180];
-set xlabel "List length (item count)" offset 2,0
-set ylabel "Duration (tailq-Relative)" offset -1.0,0
-set errorbars 2.0
-set pointintervalbox 0
-
-# Draw axis-like line at speedup=0% (y=1.0)
-set arrow from graph 0, first 1 to graph 1, first 1 nohead lt -1 lw 2
-
-plot INDIR."/plot-list-zoomin-rel-swift.dat" \
-       i 0 using ($1 * 0.98):8:4:5 title columnheader(1) with yerrorbars lt rgb "blue" 	      pt  6  ps 0.85 lw 1, \
-    '' i 4 using ($1 * 0.94):8:4:5 title columnheader(1) with yerrorbars lt rgb "dark-orange"	pt  8  ps 0.75 lw 1, \
-    '' i 3 using ($1 * 1.02):8:4:5 title columnheader(1) with yerrorbars lt rgb "magenta"	      pt  10 ps 0.85 lw 1, \
-    '' i 2 using ($1 * 1.06):8:4:5 title columnheader(1) with yerrorbars lt rgb "purple"	      pt  12 ps 1.0  lw 1
Index: c/theses/mike_brooks_MMath/plots/list-zoomin-rel-swift.py
===================================================================
--- doc/theses/mike_brooks_MMath/plots/list-zoomin-rel-swift.py	(revision 534188b1b812a577e95ed51a3635cd28f1cfd3a6)
+++ 	(revision )
@@ -1,24 +1,0 @@
-import pandas as pd
-import numpy as np
-import os
-import sys
-
-sys.path.insert(0, os.path.dirname(__file__))
-from ListCommon import *
-
-printSingleDetail(
-    machines=['swift'],
-    tgtMovement = 'stack',
-    tgtPolarity = 'insfirst',
-    tgtAccessor = 'allhead',
-
-
-    # tgtMovement = 'all',
-    # tgtPolarity = 'all',
-    # tgtAccessor = 'remelem',
-    # tgtInterleave = 0.5,
-
-
-    measureBase='OpDurRel',
-    marginalizeOn=['fx']
-)
