%% ===================================================================== %% STALE. This file lags behind article/sim_numerics.md, which is the %% current text. Do not build a PDF from it and do not send it out. %% %% The .md has taken the first pass of revision corrections; this file %% still contains statements that pass showed to be wrong: %% - the proposed similarity called "ratio" (it is the truncated %% linear / tent form; the ratio form is a different row) %% - Proposition 1 stated for similarity rules in general (it holds %% for the ratio form scaled by the far end, and for no other of %% the five tested) %% - Table 1's c = 0 rows given a "measured rate" (there is no rate; %% the behaviour is sublinear, e_n ~ C/n with a predicted C) %% - the three-point order given as 1.84 (it is 2) %% - section 5.2 evaluation counts not reconciled with section 5 %% %% It will be regenerated from the .md once the text settles. %% ===================================================================== \documentclass[11pt,a4paper]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{amsmath,amssymb,amsthm} \usepackage{booktabs} \usepackage[margin=2.5cm]{geometry} \usepackage{hyperref} \newtheorem{proposition}{Proposition} \newtheorem{corollary}{Corollary} \theoremstyle{definition} \newtheorem{definition}{Definition} \title{Similarity as a Step Rule:\\ Parameter-Free Root Finding Derived from a Similarity Function} \author{V. Sitnikov} \date{} \begin{document} \maketitle \begin{abstract} Bisection places the next iterate at the midpoint because it uses no information about the function's value. We replace that rule with a \emph{similarity} rule: the step is proportional to how \emph{dissimilar} the current outcome $f(x)$ is to the expectation $0$, measured by a similarity function $S\colon\mathbb{R}\to[0,1]$ with $S(0)=1$. We derive the contraction factor of the resulting iteration in closed form and confirm it numerically to four digits. Three consequences follow and are all verified. First, the two-point normalisation of $S$ over the bracket reproduces the false-position formula identically, so a similarity rule calibrated by the bracket is not a new method. Second, any similarity function fixed in advance yields at best linear convergence at a rate that is a property of the problem rather than of the method; on eight standard problems, five to eight of them fail. Third, the rate vanishes exactly when the similarity's scale equals the local scale of the value axis; reading that scale off the data --- a divided difference, not a fitted coefficient --- turns the step into $|f|/|f'|$ and the convergence superlinear. The derivation fixes the method completely, before any benchmark is consulted: a similarity whose approach to $1$ is linear, the finest available data-derived scale, and a safeguard that projects the step onto the admissible interval rather than replacing it. That configuration carries a proven worst case of twice bisection plus one step and contains no tuning constant of any kind. On the $154$ problems of Alefeld, Potra and Shi it needs $2806$ evaluations of $f$ against $2820$ for TOMS\,748 --- a margin of $0.5\%$, which is a tie --- and $2890$ for Brent, whom it beats on $102$ problems to $40$ head to head. On the $45$ problems of Chandrupatla it beats Brent $30$ to $4$ and TOMS\,748 $31$ to $8$, and loses to ITP. The result is parity with methods built on tuned constants, obtained without any. The ranking of the nine similarity functions across the whole grid matches the derived law without exception. Reading the same similarity in one more place --- which three points the local model is built on, selected by the shape of their configuration rather than by recency --- lowers the Alefeld--Potra--Shi count to $2527$, below every method measured here including Chandrupatla's $2785$, with the guarantee intact and still no tuning constant; reading it instead on the choice of far end gives $5511$ over both sets. Reading it in the decision to trust the model or halve lowers the canonical count further, to $2523$. Where the similarity is read turns out to matter more than which similarity it is. The gap that remains on the wide-bracket set is taken apart on the same evaluations: a third of it is the order of the model --- a convex two-point step cannot carry the negative weight of quadratic interpolation --- and two thirds is not a model at all but the decision when to give the model up, which Chandrupatla takes by bisecting on up to all of his steps and which no reading measured here takes correctly for ours. \end{abstract} \section{Introduction} A bracketing root finder must decide, at every step, where inside the bracket to evaluate next. Bisection answers ``in the middle'', which is the correct answer when nothing is known. Every improvement since has answered ``where a local model of $f$ says the root is'': a secant in false position, an inverse quadratic in Brent~\cite{brent}, a cubic in TOMS\,748~\cite{aps}, an interpolate--truncate--project cycle in ITP~\cite{itp}. Each of those answers carries constants: Illinois halves the stale ordinate, Brent accepts an interpolation subject to three empirical inequalities, ITP is governed by $\kappa_1,\kappa_2,n_0$. This paper asks a different question. Suppose the only thing available is a \emph{similarity function} --- a map $S$ from an outcome to $[0,1]$, where $1$ means ``identical to what was wanted'' and $0$ means ``not similar at all'', in the sense used for parameter-free control in~\cite{sim}. Can a root finder be built out of $S$ alone, and how does it compare with methods built out of polynomial models and tuned constants? The answer is sharp in both directions, and the negative half is as informative as the positive half. \section{The similarity step rule} \begin{definition}[Similarity step] Let $[a,b]$ bracket a root, $x$ be the current iterate and $x_{\mathrm{far}}$ the opposite end. Let $S\colon\mathbb{R}\to[0,1]$ with $S(0)=1$ be a similarity function and $\sigma>0$ a scale. The next iterate is \begin{equation} \label{eq:step} x' \;=\; x \;+\; \bigl(1 - S(f(x)/\sigma)\bigr)\,(x_{\mathrm{far}} - x). \end{equation} \end{definition} The rule is exactly the informal statement ``step further when the outcome is dissimilar to the expectation, and less far when it is similar''. Bisection is the degenerate member $S\equiv\tfrac12$: a similarity function that carries no information about $f$. \subsection{The two-point normalisation is false position} The most obvious way to make~\eqref{eq:step} scale-free is to normalise the similarity by the two ends of the bracket, $S(a)=|f(b)|/(|f(a)|+|f(b)|)$ and $S(b)=1-S(a)$, and to place the next iterate at the similarity-weighted average of the ends. \begin{proposition} \label{prop:falsi} $S(a)\,a + S(b)\,b \;=\; \dfrac{a f(b) - b f(a)}{f(b)-f(a)}$. \end{proposition} That is the false-position formula. The identity is elementary but decisive: a similarity rule whose scale is taken from the bracket is not a new method, and it inherits false position's stalling failure. In our measurements plain false position solves $127$ of the $154$ Alefeld--Potra--Shi problems, against $153$ for bisection. \subsection{The contraction law} Write $e_n = x_n - r$ for the error, $D = x_{\mathrm{far}} - r$, and let $c$ be the slope of $1-S$ at the origin, $1-S(z) = c\,z + O(z^2)$. \begin{proposition}[Contraction law] \label{prop:law} For a simple root and $e_n$ small, rule~\eqref{eq:step} satisfies \begin{equation} \label{eq:law} e_{n+1} \;=\; e_n\left(1 - \frac{c\,|f'(r)|\,D}{\sigma}\right) + O(e_n^2), \qquad \text{rate} = \left|1 - \frac{c\,|f'(r)|\,D}{\sigma}\right| . \end{equation} \end{proposition} \begin{proof}[Derivation] $|f(x_n)| = |f'(r)|\,|e_n| + O(e_n^2)$, hence $1-S(f(x_n)/\sigma) = c\,|f'(r)|\,|e_n|/\sigma + O(e_n^2)$, and $x_{\mathrm{far}}-x_n = D - e_n$. Substituting into~\eqref{eq:step} and discarding second-order terms gives~\eqref{eq:law}. \end{proof} Table~\ref{tab:law-check} checks~\eqref{eq:law} against measurement on $f(x)=x^2-2$ over $[0,2]$ with $\sigma=|f(0)|$, for which $|f'(r)|=2\sqrt2$, $D=2-\sqrt2$ and $\sigma=2$. \begin{table}[h] \centering \caption{The contraction law against measurement. $c$ is the slope of $1-S$ at the origin. Similarities that approach $1$ quadratically have $c=0$ and are predicted to stagnate.} \label{tab:law-check} \begin{tabular}{lrrr} \toprule $S(z)$ & $c$ & predicted rate & measured rate\\ \midrule $1/(1+|z|)$ & $1$ & $0.1716$ & $0.1716$\\ $e^{-|z|}$ & $1$ & $0.1716$ & $0.1716$\\ $1/(1+z^2)$ & $0$ & $1.0000$ & $0.9357$\\ $e^{-z^2}$ & $0$ & $1.0000$ & $0.9444$\\ $1/\sqrt{1+z^2}$ & $0$ & $1.0000$ & $0.9327$\\ $\max(0,1-|z|)$ & $1$ & $0.1716$ & $1.0000$ (saturates)\\ \bottomrule \end{tabular} \end{table} \begin{corollary}[A chosen similarity is not enough] \label{cor:chosen} For fixed $S$ and fixed $\sigma$ the rate in~\eqref{eq:law} depends on $|f'(r)|$, $D$ and $\sigma$, none of which is under the method's control. Convergence is at best linear and occurs only when the product lands in $(0,2)$. \end{corollary} Empirically, with $\sigma$ taken as $|f|$ at the starting point, five to eight of eight standard problems fail outright for the six similarity functions tested. \begin{corollary}[Faster is not better] \label{cor:faster} Increasing $c$ moves the rate away from $1$ in either direction. Similarities with unbounded slope --- $1-\sqrt{|z|}$ has $c\approx3.2\cdot10^{3}$ at the resolution used, $1-|z|^{1/3}$ has $c\approx4.6\cdot10^{4}$ --- overshoot as readily as flat ones stagnate, and fail on five and six of the eight problems respectively. \end{corollary} \begin{corollary}[The scale must come from the data] \label{cor:derived} The rate is zero exactly when $c\,|f'(r)|\,D/\sigma = 1$, i.e. $\sigma = c\,|f'(r)|\,D$. Substituting this $\sigma$ back into~\eqref{eq:step} with $c=1$ gives $x' - x = |f(x)|/|f'|$, the Newton step. The similarity rule is therefore superlinear precisely when its scale is the \emph{local scale of the value axis}, and that scale is not available a priori: it must be read off the evaluations. \end{corollary} \section{The method} \label{sec:method} Corollaries~\ref{cor:chosen}--\ref{cor:derived} fix every choice in the method before any benchmark is consulted. We record them here as a prediction, and Section~\ref{sec:grid} tests it against the full grid. \paragraph{Similarity: any with $c\neq0$.} The law makes the shape of $S$ almost irrelevant and its slope at the origin decisive. We take the plainest member, the ratio form $S(z)=\max(0,1-|z|)$. \paragraph{Scale: the finest data-derived one.} We set $\sigma = |\hat f'|\cdot|x_{\mathrm{far}}-x|$ with $\hat f'$ a divided difference of the most recent evaluations. A divided difference is a computation, not a fitted coefficient: nothing is chosen, regressed or tuned. The two-point difference has slope error $O(h)$ and gives the secant order $\varphi\approx1.618$; the three-point difference --- the derivative at $x_n$ of the parabola through the last three evaluations, $\hat f' = f[x_{n-1},x_n] + f[x_{n-2},x_{n-1},x_n](x_n-x_{n-1})$ --- has error $O(h^2)$ and lifts it. Measured medians are $1.584$ and $1.944$, against $1.809$ for Brent and $2.654$ for TOMS\,748. \subsection{The safeguard: project, do not replace} \label{sec:guard} An interpolation-only rule has no worst-case bound. The obvious safeguards \emph{replace} the computed step with a midpoint whenever some progress test fails, and all of them are ruinous here, for a reason that is specific to a fast method: a step that collapses the \emph{error} need not halve the \emph{bracket}, so a bracket-based test fires on exactly the steps that were best. With the three-point scale, replacing on that test drops the observed order from $1.94$ to $1.00$ and the Alefeld--Potra--Shi total from $2806$ to $7260$ --- worse than bisection. The remedy is to keep as much of the computed step as the budget allows. Let $n_{\max}=2\lceil\log_2(w_0/\varepsilon_x)\rceil$ be twice the bisection step count for the initial width $w_0$ and $x$-tolerance $\varepsilon_x$, and let $\epsilon=\varepsilon_x/2$. At step $j$, with the bracket $[\ell,h]$, define the allowance and the projection \begin{equation} \label{eq:proj} \alpha_j = 2^{\,n_{\max}-j}\epsilon, \qquad x \;=\; \operatorname{clamp}\bigl(x_{\mathrm{sim}},\; h-\alpha_j,\; \ell+\alpha_j\bigr). \end{equation} The next bracket is at most $\max(x-\ell,\,h-x)$, so~\eqref{eq:proj} gives $w_{j+1}\le\alpha_j$ directly, and induction bounds the run by $n_{\max}$ steps in exact arithmetic. In floating point the bracket can land exactly on the boundary, and the termination test then asks for one more; the guarantee stated and verified is therefore $2\lceil\log_2(w_0/\varepsilon_x)\rceil+3$ evaluations. Three remarks on why this introduces nothing. \begin{itemize} \item \textbf{The doubling is not a tuning constant.} It is the factor already claimed in the bound. Zero slack --- $n_{\max}=\lceil\log_2(w_0/\varepsilon_x)\rceil$, a worst case of exactly bisection --- is degenerate and was measured as such: a worst case of exactly bisection demands a halving at \emph{every} step, so the projection has no freedom, the radius on a unit bracket is $0.05$ from the first step, and the guard behaves as bisection. \item \textbf{This is ITP's projection stage without ITP's truncation stage.} All three of ITP's constants live in the truncation, whose purpose is to repair regula falsi; the similarity step needs no repair, so the truncation and every constant with it are dropped. \item \textbf{Writing the clamp in the form~\eqref{eq:proj} rather than as a radius $\alpha_j-w_j/2$ about the midpoint is not cosmetic.} That radius is a difference of two nearly equal numbers; the cancellation made the computed radius too large by a relative $8.9\cdot10^{-5}$, which broke the invariant on eleven Chandrupatla problems. \end{itemize} \section{Experimental protocol} \paragraph{Problem sets.} The $154$ problems of Alefeld, Potra and Shi~\cite{aps} and the $45$ of Chandrupatla~\cite{chandrupatla}, taken programmatically from SciPy's \texttt{scipy.optimize.\_tstutils} so that no bracket or root is transcribed by hand. \paragraph{Cost model.} Evaluations of $f$. A run counts as solved when it reports convergence and lands within $10^{-6}$ of the published root; $x$-tolerance $10^{-12}$; budget $200$ evaluations. \emph{Failures are charged the full budget}, so no method can buy a low total by giving up early, and totals are reported over all problems rather than over the subset a method happened to solve. Rankings are by failures first, then by total. \paragraph{Fairness to the competitors.} Three deliberate concessions. (i)~ITP is natively written against a half-width $\epsilon$ and terminates on $b-a\le2\epsilon$; feeding the common tolerance in as $\epsilon$ would let it stop at twice its competitors' bracket width, so $\epsilon=\varepsilon_x/2$ is used. (ii)~ITP is reported both at the authors' recommended constants and as a \emph{per-problem oracle}, the best of a $(\kappa_1,n_0)$ grid chosen separately for every problem --- not an achievable method, included so that the state of the art cannot be said to have been handicapped. (iii)~Our implementation of ITP is validated against the method's own theorem, that it never needs more than $n_{1/2}+n_0$ iterations, on all $154$ problems for $n_0\in\{0,1,2,5\}$. \paragraph{Reproducibility.} All numbers come from a single Linux run. The test functions call \texttt{libm}, whose last digit differs between platforms; the same SciPy version scores $2819$ for TOMS\,748 on Windows and $2820$ on Linux for the same set. Every number stated in this paper is checked against the run data by a script that is part of the test suite. \section{Results} The grid is nine similarity functions $\times$ four scales $\times$ six safeguards $=216$ configurations, plus ten baselines. The configuration proposed in Section~3 --- ratio similarity, three-point scale, projection safeguard --- is one entry of that grid, fixed by the theory rather than chosen from the ranking. \begin{table}[h] \centering \caption{Alefeld--Potra--Shi, $154$ problems, out of $226$ configurations.} \label{tab:aps} \begin{tabular}{rlccrr} \toprule \# & configuration & tuned & solved & total evals & $>2\times$\\ \midrule 1 & \textbf{proposed: ratio, 3-point, projection} & \textbf{no} & 153/154 & \textbf{2806} & 0\\ 3 & TOMS\,748 & yes & 153/154 & 2820 & 0\\ 4 & Brent & yes & 153/154 & 2890 & 0\\ 11 & ITP, per-problem oracle & yes & 153/154 & 3260 & 0\\ 18 & Ridders & no & 153/154 & 3313 & 0\\ 31 & ITP, recommended constants & yes & 153/154 & 3957 & 0\\ 61 & Illinois & yes & 153/154 & 7045 & 0\\ 65 & bisection & no & 153/154 & 7530 & 0\\ 206 & false position & no & 127/154 & 10560 & --\\ \bottomrule \end{tabular} \end{table} On the problems both solve, the proposed configuration beats Brent $102/11/40$ (wins/ties/losses), TOMS\,748 $86/16/51$, ITP at its recommended constants $132/3/18$, the per-problem ITP oracle $121/4/28$, and bisection $152/1/0$. \begin{table}[h] \centering \caption{Chandrupatla, $45$ problems, brackets up to $10^{12}$ wide.} \label{tab:cha} \begin{tabular}{rlccr} \toprule \# & configuration & tuned & solved & total evals\\ \midrule 1 & similarity, $1-\sqrt{|z|}$, bracket scale, projection & no & \textbf{41/45} & 4516\\ 2 & ITP, per-problem oracle & yes & 40/45 & 2611\\ 3 & similarity, $e^{-|z|}$, bracket scale, both guards & no & 40/45 & 2733\\ 5 & ITP, recommended constants & yes & 40/45 & 2857\\ 6 & bisection & no & 40/45 & 3090\\ 10 & \textbf{proposed: ratio, 3-point, projection} & \textbf{no} & 40/45 & \textbf{3220}\\ 127 & TOMS\,748 & yes & 40/45 & 4000\\ 189 & Brent & yes & 38/45 & 4101\\ \bottomrule \end{tabular} \end{table} The set's nominal winner is a similarity configuration that solves one problem more than anything else, $41$ of $45$, at a worse total; ranking by failures first puts it on top, and we report it as such rather than by the total that would flatter our proposal. The proposed configuration is tenth by total and beats Brent $30/4/4$ and TOMS\,748 $31/1/8$, while losing to ITP $17/0/23$ and to the ITP oracle $16/0/24$. \subsection{What the guarantee costs} Nothing on one set, and less than nothing on the other. Against the identical rule with no safeguard at all: \begin{center} \begin{tabular}{lrrr} \toprule & solved & total evals & runs over the $2\times$ bound\\ \midrule APS, no safeguard & 153/154 & 2806 & 0\\ APS, projection & 153/154 & 2806 & 0\\ Chandrupatla, no safeguard & 35/45 & 4104 & 10\\ Chandrupatla, projection & \textbf{40/45} & \textbf{3220} & \textbf{0}\\ \bottomrule \end{tabular} \end{center} On the canonical set the projection never binds and the totals are identical to the last evaluation. On the wide-bracket set it solves five more problems for $21\%$ fewer evaluations. This is the opposite of the usual trade, and it is the point of projecting rather than replacing: the two safeguards that replace cost $7260$ and $7239$ on Alefeld--Potra--Shi, against $2806$. \subsection{Wall-clock time, and why it is not the cost model} Evaluations of $f$ are the cost model because in any real problem $f$ is the expensive part. Wall-clock time measures something narrower --- the method's own arithmetic per step --- and it is implementation- and language-bound. We report it because a reader will ask, and because what it shows is instructive. On the $199$ problems as they stand, every $f$ being a formula of a few operations, the proposed rule is the \emph{slowest} of the pure-Python methods compared, at $32.8$\,ms against $18.4$ for Brent, $21.1$ for ITP, $14.2$ for Ridders and $22.9$ for bisection --- while using the fewest evaluations of all of them, $4991$ against $5932$, $5675$, $6421$ and $9474$. Bisection, needing nearly twice the evaluations, finishes in two thirds of our time. That inversion is the point. Making $f$ progressively more expensive by a controlled amount of arithmetic and timing the sweep directly --- nothing subtracted, nothing modelled --- the proposed rule overtakes ITP once one call to $f$ costs about $9\,\mu$s and Brent at about $20\,\mu$s, of the order of a hundred arithmetic operations on this machine. Below that the ranking is decided by per-step overhead; above it, by evaluations. Three caveats, all limitations of the measurement rather than of the methods. Timings vary by tens of percent between runs even on an idle machine. An attempt to separate our per-step cost into ``algorithm'' and ``Python call overhead'', by timing a flattened rewrite of the same rule, produced a variant that diverged from the original on $42$ of the $199$ problems and was discarded rather than quoted; the question stays open. And an earlier version of this measurement estimated a per-evaluation overhead by subtracting the measured cost of $f$, which returned \emph{negative} overheads for four of six methods --- an impossibility that condemned the estimator, and the reason nothing is subtracted here. \subsection{The law across the whole grid} \label{sec:grid} Corollaries~\ref{cor:chosen}--\ref{cor:derived} predict an ordering of the nine similarity functions and of the four scales. Table~\ref{tab:grid} reports it. The prediction holds without exception for every data-derived scale: the three similarities with $c=1$ occupy the top three places and the three with $c=0$ the bottom three. For the chosen scale the two groups are indistinguishable ($16102$ against $15345$), which is consistent --- with a chosen scale nothing converges well and the ordering carries no information. \begin{table}[h] \centering \caption{Mean total evaluations over both sets, step guard, grouped by the slope $c$ of $1-S$ at the origin.} \label{tab:grid} \begin{tabular}{lrr} \toprule scale & $c=1$ (linear approach) & $c=0$ (quadratic approach)\\ \midrule 3-point derived & \textbf{6809} & 22294\\ 2-point derived & 6906 & 22167\\ bracket & 10263 & 19137\\ start (chosen) & 16102 & 15345\\ \bottomrule \end{tabular} \end{table} Ranked individually and best over scales, the similarities come out $1-|z|$ ($6496$), $e^{-|z|}$ ($6822$), $1/(1+|z|)$ ($7038$), $(1+|z|)^{-2}$ ($9502$), $1-\sqrt{|z|}$ ($10497$), $1-|z|^{1/3}$ ($11941$), $e^{-z^2}$ ($14314$), $1/(1+z^2)$ ($15102$), $1/\sqrt{1+z^2}$ ($16394$); the scales come out 3-point ($6496$), 2-point ($6628$), bracket ($9081$), start ($14540$). Both orderings are those the law predicts, and both were predicted before the grid was run. \section{Where the evaluations go} Splitting each run at the geometric mean of the initial width and the attainable tolerance --- the log-midpoint of the journey, at which bisection by construction has spent half its evaluations --- separates the \emph{approach} from the \emph{endgame}. On Alefeld--Potra--Shi the two-point rule spends $2235$ on the approach and $668$ on the endgame against Brent's $2175$ and $515$: its deficit is almost entirely the endgame, i.e.\ the order, which is what motivated the three-point scale. On Chandrupatla it spends $1068$ and $1161$ against Brent's $1343$ and $1358$, winning both phases. Two natural explanations of the Chandrupatla advantage were tested and \emph{refuted}. Brent discards $53.3\%$ of its interpolations to its safeguard on the set it wins and only $34.0\%$ on the set it loses, so safeguard rate is not the mechanism; and on Chandrupatla Brent is the bolder of the two --- $56.3\%$ of its probes land in the outer tenths of the bracket against our $41.8\%$ --- so step length is not the mechanism either. The mechanism is step \emph{quality}. Reconstructing each method's bracket from the signs it observed, the median probe removes $0.500$ of the bracket for every method on Alefeld--Potra--Shi, but on Chandrupatla it removes $0.275$ for the similarity rule against $0.058$ for Brent and $0.068$ for TOMS\,748 --- and that comparison already flatters them, since $69$ and $141$ of their probes respectively fall outside the proven bracket and are excluded, against none of ours. High-order interpolation is a wager that $f$ is locally polynomial. When the wager pays, order $1.84$ or $2.65$ wins the endgame; when it fails, the probes are wasted. The similarity rule makes the weakest available assumption --- a single local slope --- and degrades gracefully. \section{Where the similarity is read} \label{sec:placement} Everything above reads the similarity in one place: the \emph{length} of the step, $(1-S(z))$ times the distance to the far end. But a bracketing iteration takes several decisions per step, and the similarity was not consulted in any of the others: which end counts as far (decided by distance), which points the local slope is estimated from (decided by recency), and whether the step is worth taking at all (decided after the fact, by the safeguard). Each of those is a place where a similarity can be read, and the placement turns out to matter more than the form of $S$. Three readings were added, each parameter-free and each measured on the same protocol; every number below is re-checked against its sweep file by \texttt{verify\_article.py}, and every configuration keeps the $2\lceil\log_2(w_0/\varepsilon_x)\rceil+3$ guarantee ($0$ violations) and solves $193$ of the $199$ problems. \begin{enumerate} \item \textbf{Trust before the step.} The step trusts a local slope, so the question of trust is whether that slope has settled: if two consecutive estimates have opposite signs the local model is not established, and the evaluation is spent halving instead. A sign is compared, not a magnitude. \item \textbf{Which points the model uses.} For a linear $f$ the ratio of positions $\xi=(x-u)/(v-u)$ and the ratio of values $\varphi=(f(x)-f(u))/(f(v)-f(u))$ coincide, so $|\varphi-\xi|$ measures how unlike a linear configuration a triple is. Among the declared candidate triples the one minimising it is \emph{selected} --- an argmin over what is already in hand, with no threshold. \item \textbf{Which end is far.} Read by dissimilarity instead of distance: the end whose $|f|$ is larger is the one less similar to the target. \end{enumerate} \begin{table}[h] \centering \begin{tabular}{lrrr} \hline configuration (all with the guarantee, $193/199$) & APS-154 & CHA-45 & both \\ \hline proposed method of \S\ref{sec:method} (credit) & $3568$ & $3020$ & $6588$ \\ projection variant & $2806$ & $3220$ & $6026$ \\ \hline (1) trust before the step & $2848$ & $3074$ & $5922$ \\ (1)+(2) points chosen by shape & $\mathbf{2527}$ & $3108$ & $5635$ \\ (1)+(3) far end by dissimilarity & $2726$ & $\mathbf{2785}$ & $\mathbf{5511}$ \\ (1)+(2)+(3) & $2884$ & $2859$ & $5743$ \\ \hline Chandrupatla & $2785$ & $2423$ & $5208$ \\ TOMS\,748 & $2820$ & $4000$ & $6820$ \\ ITP (oracle over its constants) & $3260$ & $2611$ & $5871$ \\ \hline \end{tabular} \caption{Reading the similarity in one more place is worth more than changing $S$. Evaluations of $f$; failures charged the full budget.} \end{table} Two results here are worth stating plainly. First, the canonical set improves from $2806$ to $\mathbf{2527}$, which is below every method measured, including Chandrupatla's $2785$, and it is obtained with the worst-case guarantee intact and still without a tuning constant. Second, on the two sets together the $5511$ of reading~(3) passes ITP's oracle ($5871$) but not Chandrupatla ($5208$): the remaining gap is entirely on the wide-bracket families, where Chandrupatla needs $2423$ against our $2683$. The readings do not compose. Taken together, (2) and (3) give $2884$ and $2859$ --- worse than either alone. Two selections that are each an improvement interfere, which is a reason to measure composition rather than assume it. \subsection{The similarity function belongs to the place, not to the method} \label{sec:perplace} Everything above varies \emph{where} the similarity is read while keeping one function $S$ for the whole method. That is itself an assumption, and it is measurable. Proposition~\ref{prop:falsi} says the two-point normalisation is false position; what it does not say is \emph{why} false position stalls. Write $|f|\sim K e^m$ near the current point, $e=|x-r|$. Then the residual ratio against the far end needs no slope at all, \begin{equation} \label{eq:orderz} z \;=\; \frac{|f(x)|}{|f(x_{\mathrm{far}})|} \;=\; \Bigl(\frac{e}{E}\Bigr)^{m}, \qquad\text{so}\qquad z^{1/m} \;=\; \frac{e}{E}, \end{equation} and under $S=1/(1+z)$ the step fraction is $z/(1+z)$, which is exactly inverse linear interpolation. False position therefore reads a dimensionless ratio \emph{at order one} on an approach of order $m$: its three-century-old stall is a mismatch between the similarity function and the place it is read in. The exponent $1/m$ is not a constant --- $m=1/(1-ff''/f'^2)$ comes from three evaluations already paid for, and is $1$ whenever the power model does not apply. Measured over the $252$ cells of the grid, the correction behaves exactly as that reading predicts and not at all as a universal improvement. Paired inside each (function, safeguard) cell of the far reading it is cheaper in $29$ of $60$ cells --- indistinguishable from a coin. But in the one pairing where the far reading \emph{is} exact inverse interpolation, $S=1/(1+z)$, it is cheaper in all seven safeguards: \begin{table}[h] \centering \begin{tabular}{lrrrr} \toprule safeguard & APS $m{=}1$ & APS measured $m$ & CHA $m{=}1$ & CHA measured $m$\\ \midrule both & 4522 & \textbf{3675} & 3387 & \textbf{3216}\\ bracket & 4606 & \textbf{3542} & 3571 & \textbf{3303}\\ credit & 5190 & \textbf{4686} & 3013 & \textbf{2884}\\ project & 6932 & \textbf{6364} & 4794 & \textbf{4559}\\ safe & 5987 & \textbf{5229} & 4108 & \textbf{3923}\\ step & 6435 & \textbf{5551} & 4257 & \textbf{4022}\\ none & 10676 & \textbf{10043} & 8265 & \textbf{7794}\\ \bottomrule \end{tabular} \caption{The measured order in the step place, on the far reading. Cheaper in $7$ of $7$ safeguards for the similarity that matches the place, and in $29$ of $60$ cells over all nine functions.} \end{table} Two limits must be stated with it. The estimator is \emph{biased low}: on a pure cube, with no noise at all, it returns $2.830$ rather than $3$, because a parabola through three points carries only the second difference. The bias is towards $m=1$, that is towards the uncorrected reading, which is the harmless direction, but it is a bias. And the correction does not rescue the bracket reading as a method: the best cell it reaches on the wide-bracket set is $2884$, against $2683$ for reading~(3) above and $2423$ for Chandrupatla. In the \emph{slope} reading the same exponent is harmful, $2806\to2854$, which is the same statement read from the other side --- a function that does not belong to a place does not become right by being applied there. \subsection{The decision place, and the one test that settles the gap} \label{sec:decision} Three places have now been measured: the step length, the far end, and the points the model is built on. The fourth is the \emph{decision} --- whether the local model deserves this evaluation or halving is the better use of it. Chandrupatla's method is strong exactly there: it refuses its model on most steps by the acceptance band $1-\sqrt{1-\xi}<\varphi<\sqrt{\xi}$, where $\xi=(x-u)/(v-u)$ and $\varphi=(f(x)-f(u))/(f(v)-f(u))$ are ratios of positions and of values, equal for a linear $f$. Our method has no similarity in this place at all: a sign gate and a projection that repairs \emph{after} the step. Three readings of that place were measured, each on quantities already in hand and each without a constant. Two are ours: refuse when the configuration is less like a linear one than the iterate is off-centre, $|\varphi-\xi|>\min(\xi,1-\xi)$ (``defect''); and refuse when the configuration's similarity to linear falls below the iterate's similarity to the root, $S(|\varphi-\xi|)1$ on $27.9\%$ of steps with excursions to $m=34.8$, against $35.8\%$ on the flat families. $27.9$ against $35.8$ is no separation. A cruder variant, correcting by the fraction of its own promise the previous step kept, fails everything: the order collapses to $0.904$ and the standard problems double to $161$. \item \textbf{One problem defeats every method}, \texttt{aps.13.00}, $f(x)=x e^{-1/x^2}$, all of whose derivatives vanish at the root and which underflows to exactly zero throughout $|x|<0.086$; every method returns a machine zero at distance up to $0.086$ from the root. \item \textbf{The symmetric ratio similarity degenerates.} For $S(x,y)=\min(|x|,|y|)/\max(|x|,|y|)$ with $y$ the target $0$, $S\equiv0$; the only usable reading is $1-|f|/\sigma$, which saturates and stagnates (Table~\ref{tab:law-check}, last row). \end{enumerate} \section{Conclusion} A root finder can be derived from a similarity function alone, and the derivation shows where the content of such a method actually sits. It is not in the shape of $S$ --- nine shapes were tried and their ranking is dictated by a single number, the slope of $1-S$ at the origin. It is not in making the similarity change faster --- that overshoots exactly as readily as flatness stagnates. It is in the \emph{scale} against which similarity is judged: chosen, the method is brittle and merely linear; taken from the bracket, it is false position and three centuries old; read off the data, it is superlinear. And the safeguard that makes such a method safe must project the step, not replace it: replacing costs the order, projecting costs nothing on one benchmark and improves the method on the other. The resulting rule has no tuning constant and carries a worst case of twice bisection plus one step. On the canonical Alefeld--Potra--Shi set it is level with TOMS\,748 --- $2806$ evaluations against $2820$ is a margin of $0.5\%$ and should be read as a tie --- and ahead of Brent by $2.9\%$, which it also beats $102$ problems to $40$ head to head. The claim the measurements support is parity with methods that carry tuned constants, not superiority over them. This is the same movement as in parameter-free similarity control~\cite{sim}, where membership functions are eliminated by normalising the input space from the data rather than by choosing widths. Here the object normalised is the value axis, and the price of choosing it by hand is measured rather than asserted. \subsection*{Future work} The diagnosis of \S\ref{sec:widelimit} leaves one question, and it is narrower than the one this section used to pose. An earlier version proposed a logarithmic change of variable to turn an additive step into a geometric march; that was measured and refuted (\S\ref{sec:widelimit} and the negative results), and the step turned out to be a fraction of the bracket already. What is open is a decision, not a model. On two thirds of the remaining gap the right move is to halve, and Chandrupatla halves; our guarantee permits a step that is slower than halving, and nothing we have measured tells our step when it is. The condition itself is known exactly --- a tangent step on an approach of local order $m$ lands at $e(1-1/m)$ and loses to a halving when $m\ge2$ --- so the constant is bisection's $\tfrac12$ and not a choice. What is missing is a reading of $m$ that sees it: the three-point estimator reports $m\ge2$ on $0.2\%$ of canonical states, which is the right silence, and on $5.8\%$ of states of pure powers of order $3$ to $19$, which is blindness. Two successive residuals of the run itself carry the order more directly than a parabola through three points --- on an order-$m$ approach under tangent steps their ratio settles at $(1-1/m)^m$, while at a simple root it goes to zero --- and that is the reading we would test next, under the same rule as every other here: pre-registered, with the canonical set as the price it must not charge. \begin{thebibliography}{9} \bibitem{aps} G.~E. Alefeld, F.~A. Potra and Y.~Shi, ``Algorithm 748: Enclosing zeros of continuous functions,'' \emph{ACM Trans.\ Math.\ Softw.}, vol.~21, no.~3, pp.~327--344, 1995. \bibitem{brent} R.~P. Brent, \emph{Algorithms for Minimization without Derivatives}. Englewood Cliffs, NJ: Prentice-Hall, 1973. \bibitem{chandrupatla} T.~R. Chandrupatla, ``A new hybrid quadratic/bisection algorithm for finding the zero of a nonlinear function without using derivatives,'' \emph{Adv.\ Eng.\ Software}, vol.~28, no.~3, pp.~145--149, 1997. \bibitem{itp} I.~F.~D. Oliveira and R.~H.~C. Takahashi, ``An enhancement of the bisection method average performance preserving minmax optimality,'' \emph{ACM Trans.\ Math.\ Softw.}, vol.~47, no.~1, pp.~1--24, 2021. \bibitem{ridders} C.~Ridders, ``A new algorithm for computing a single root of a real continuous function,'' \emph{IEEE Trans.\ Circuits Syst.}, vol.~26, no.~11, pp.~979--980, 1979. \bibitem{sim} V.~Sitnikov, ``Parameter-free similarity control,'' preprint, 2026. \bibitem{dowell} M.~Dowell and P.~Jarratt, ``A modified regula falsi method for computing the root of an equation,'' \emph{BIT}, vol.~11, pp.~168--174, 1971. \end{thebibliography} \end{document}