docs: refine Q4 finding — residual cost is intermediate bindings, not output relation

ober

a6ed135de17f5c0267938dd2c824da6def43b5b0

diff --git a/docs/datomic-comparison.md b/docs/datomic-comparison.md
index d7ecadf..d6a6cba 100644
--- a/docs/datomic-comparison.md
+++ b/docs/datomic-comparison.md
@@ -72,10 +72,13 @@ alist bindings with O(1) extension. Before that work Q4 was 1885 ms and Q8
 jerboa-db is **competitive with Datomic across the board at this scale**: faster
 on load and OLTP/index queries, **faster on the Q8 join+aggregate** after the
 join-engine work, and within ~2.2× on the one remaining query (Q4, a wide
-428k-row result — a materialization cost, not a join-algorithm one). Its DuckDB
-columnar fallback still leads on the analytical shapes, the same way Datomic
-leans on Presto. The remaining lever is Q4-style result materialization
-(tuple/columnar result relations); the join algorithm and analytics are handled.
+428k-row result). Its DuckDB columnar fallback still leads on the analytical
+shapes, the same way Datomic leans on Presto. A dedup-disabled probe pins Q4's
+residual cost: the output relation is only ~15% (~126 ms), and the rest (~685 ms)
+is the join materializing ~435k **intermediate per-row bindings**. The single
+remaining lever is therefore tuple/column **intermediate** join relations (a
+relational-engine rewrite) — weighed against Q4 already being covered by the
+DuckDB fallback.
 
 ## Reproduce