§3.1 and Tables 2-3 of the canonical .md brought to current data (Valeri's request). §3.1 said the projection's doubling 'is not a tuning constant' and that zero slack 'behaves as bisection'; both are refuted by measurement (stage12 part 3, rerun as measure_budget_factor.py): the canonical total is 2806 for every multiplier >= 1.25, but the wide-bracket total moves monotonically, 2752 at 1.25 to 4006 at 4, and multiplier 1 costs 4817/2997, nowhere near bisection's 7530/3090. So the proposed safeguard is the EARNED projection (credit, C0 = 1 bit: bisection + 1 step, the cheapest endowment within that promise, 8395 -> 7658 -> 6588), as code and verifier had already fixed but no text said; the scheduled projection stays as the one-constant end of the trade. The text says openly that this choice was made after a question, and that it was not made for the numbers - on the canonical set it costs 762 more.
Tables 2-3 regenerated from sweep_full.json by tables_for_md.py with the verifier's own ranking: Chandrupatla's method, missing from both, is FIRST on the canonical set (2785) and second on the wide-bracket set (2423); the proposed rule is 29th (3568) and 10th (3020); Brent 2889/4099 (was 2890/4101). The abstract, §5 text, §5.1, §5.2 (timed configuration named), §7 (records 2527/2523 are under the scheduled projection: 2523 flat for every multiplier 1.25-4, 2527 becomes 2541 at 1.25; under credit the readings give far less, best constant-free total 6494 by 'defect'), §8.4, §8.11 and the conclusion now say so: parity with the tuned methods at the price of one constant, or a constant-free rule with a tighter guarantee that trails on the canonical set. verify_article.py: 279 checks, measured tables recomputed from fresh runs; 762 tests pass twice.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Bisection places the next iterate at the midpoint because it uses no information about the function's value. We replace that rule with a *similarity* rule: the step is proportional to how *dissimilar* the current outcome $f(x)$ is to the expectation $0$, measured by a similarity function $S:\mathbb{R}\to[0,1]$ with $S(0)=1$. We derive the contraction factor of the resulting iteration in closed form; it predicts a linear rate to four digits when $1-S$ has a non-zero slope at the origin, and a sublinear $e_n\sim C/n$ with a predicted $C$ when it does not, both confirmed. Three consequences follow. First, with the *ratio* similarity scaled by the far end — and with that combination only, of the five tested — the rule reproduces the false-position formula identically; so does the truncated linear similarity scaled by a divided difference over the *bracket ends*, which shows that the boundary of novelty runs through which points the difference is taken over. Second, any similarity fixed in advance with the scale also fixed yields at best linear convergence at a rate that is a property of the problem rather than of the method; on the eight standard problems of §2.2, five to eight of them fail. Third, the rate vanishes exactly when the 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. What results is, explicitly, a Newton step with a three-point divided-difference derivative, clipped to the bracket and projected onto the bisection budget; the similarity function is scaffolding of the derivation and does not appear in the final rule. It carries a proven worst case of twice bisection plus one step and contains no constant calibrated on a problem or on the benchmark. 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. For every data-derived scale, the ranking of the nine similarity functions matches the derived law without exception.
The derivation fixes the similarity and the scale before any benchmark is consulted — one whose approach to 1 is linear, and the finest available data-derived scale — and one requirement fixes the safeguard: it must carry a bound without a free constant, which leaves a projection of the step onto the admissible interval with the bisection budget *earned* step by step rather than scheduled in advance. What results is, explicitly, a Newton step with a three-point divided-difference derivative, clipped to the bracket and projected onto an earned bisection budget; the similarity function is scaffolding of the derivation and does not appear in the final rule. It carries a proven worst case of bisection plus one step and contains no free constant. On the 154 problems of Alefeld, Potra and Shi it needs 3568 evaluations of $f$, 29th of 264 configurations, against 2785 for Chandrupatla's method, 2820 for TOMS 748 and 2889 for Brent. The variant whose budget is scheduled at twice bisection needs 2806 — level with TOMS 748 and 0.75% behind Chandrupatla — but its multiplier is a free constant, and a load-bearing one: on the wide-bracket set its value moves the total from 2752 to 4006. On the 45 problems of Chandrupatla the proposed rule needs 3020, ahead of TOMS 748 (4000) and Brent (4099) and behind Chandrupatla (2423) and ITP (2857). For every data-derived scale, the ranking of the nine similarity functions 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, and 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.
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 under the scheduled projection, below every method measured here including Chandrupatla's 2785; reading it instead on the choice of far end gives 5511 over both sets, and reading it in the decision to trust the model or halve lowers the canonical count further, to 2523. Those records carry the projection's multiplier, although on the canonical set they barely feel it — 2523 is the same for every multiplier from 1.25 to 4, 2527 for every one from 1.5 to 4 and 2541 at 1.25; under the constant-free earned budget the same readings gain far less (6494 over both sets against 6588). 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.
That is the false-position formula. Two things must be said about how far it reaches, because the obvious generalisation is false.
It is specific to that similarity. On $f=x^2-2$ over $[1,4]$, where false position gives 1.200000, the same construction gives 1.206812 for $e^{-|z|}$, 1.015228 for $1/(1+z^2)$, 1.007624 for $1/\sqrt{1+z^2}$ and 1.214286 for the truncated linear form: one of five reproduces it. So "a similarity rule scaled by the bracket is not a new method" would be too broad a conclusion, and this paper's own Table 3 refutes it — bracket-scaled configurations take first and third place on Chandrupatla and one of them solves 41 of 45, where false position solves 6.
It is specific to that similarity. On $f=x^2-2$ over $[1,4]$, where false position gives 1.200000, the same construction gives 1.206812 for $e^{-|z|}$, 1.015228 for $1/(1+z^2)$, 1.007624 for $1/\sqrt{1+z^2}$ and 1.214286 for the truncated linear form: one of five reproduces it. So "a similarity rule scaled by the bracket is not a new method" would be too broad a conclusion, and this paper's own Table 3 refutes it — bracket-scaled configurations take first and fourth place on Chandrupatla and one of them solves 41 of 45, where false position solves 6.
**Proposition 1'.** It is, however, specific to the *bracket ends* rather than to the ratio form. Take the truncated linear similarity $S(z)=\max(0,1-|z|)$ and the divided difference over the two ends, $\sigma=|f[a,b]|\cdot|b-a|=|f(b)-f(a)|=|f(a)|+|f(b)|$. Then $1-S=|f(a)|/(|f(a)|+|f(b)|)$, which is false position again, and the agreement is exact to the last bit.
@@ -90,7 +90,7 @@ Empirically, with $\sigma$ taken as $|f|$ at the starting point, five to eight o
## 3. The method
Corollaries 1–3 fix every choice in the method before any benchmark is consulted. We record them here as a prediction, and Section 5.2 tests it against the full grid.
Corollaries 1–3 fix the similarity and the scale before any benchmark is consulted; the safeguard is fixed by one requirement, that it carry a bound without a free constant (§3.1). We record the first two as a prediction, and Section 5.3 tests it against the full grid.
**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 **truncated linear** or tent form $S(z)=\max(0,1-|z|)$. It is not the ratio form $1/(1+|z|)$, which is a separate row of every table here; the two are distinguished throughout because Proposition 1 applies to the ratio form and Table 1's last row to the tent.
@@ -110,7 +110,7 @@ We state this ourselves rather than leave it to be discovered, because it locate
evaluate fa = f(a), fb = f(b)
A, B <- a, b the proven bracket
x <- the endpoint with the smaller |f|; xp <- the other; xp2 <- none
f' <- derivative at x of the parabola through (x,xp,xp2)
@@ -119,15 +119,18 @@ while |B - A| > xtol:
if sigma is 0 or not finite: xn <- midpoint(A,B)
else:
xn <- x + min(1, |f(x)|/sigma) * (far - x) # the step, eq (4)
xn <- clamp(xn, hi - allow, lo + allow) # projection, eq (3)
if C < 1: # earned projection, eq (3')
allow <- |B - A| * 2^(C - 1)
xn <- clamp(xn, hi - allow, lo + allow) # the midpoint if empty
if xn outside (A,B) or already evaluated: xn <- midpoint(A,B)
evaluate fn = f(xn); allow <- allow / 2
evaluate fn = f(xn); w <- |B - A|
xp2, xp, x <- xp, x, xn
update the bracket: whichever of A,B keeps the sign change
C <- max(0, C + log2(w / |B - A|) - 1) # bank what beat a halving
return midpoint(A,B)
```
Every quantity in it is either an evaluation of $f$, a divided difference of evaluations, or the halving that defines bisection. There is no line in which a value was chosen.
Every quantity in it is either an evaluation of $f$, a divided difference of evaluations, or the halving that defines bisection. The one number in it, the endowment of one bit, is the bound being promised rather than a setting (§3.1).
The next bracket is at most $\max(x-\ell,\,h-x)$, so (3) 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.
**The doubling is a free constant, and it is load-bearing.** An earlier version of this section argued that it is "the factor already claimed in the bound". That is circular — the bound is twice bisection because two was chosen — and measurement settles it (`measure_budget_factor.py`, Linux):
**Table 1a.** The scheduled projection at budget multiplier $c$, i.e. $n_\max=\lceil c\cdot\log_2(w_0/\varepsilon_x)\rceil$. Total evaluations, failures charged.
| $c$ | APS-154 | CHA-45 | both |
|---|---|---|---|
| 1 | 4817 | 2997 | 7814 |
| 1.25 | 2806 | 2752 | 5558 |
| 1.5 | 2806 | 2889 | 5695 |
| 2 | 2806 | 3220 | 6026 |
| 3 | 2806 | 3756 | 6562 |
| 4 | 2806 | 4006 | 6812 |
On the canonical set the projection never binds once $c\ge1.25$, so the total does not move. On the wide-bracket set it moves monotonically with $c$, and 2 is not even the best value. Nor is zero slack ($c=1$) the degenerate case it was claimed to be, "a worst case of exactly bisection" under which "the guard behaves as bisection": it costs 4817 and 2997, far from bisection's 7530 and 3090, and on the wide-bracket set it beats $c=2$. The multiplicative family has no member that the bound singles out, so its multiplier is a genuinely free constant.
**The budget earned rather than scheduled.** The proposed safeguard removes that constant. Let $s_j=\log_2(w_j/w_{j+1})$ be the shrink a step delivers in bits — bisection delivers exactly 1 — and keep a credit
leaving the step alone while $C\ge1$. A step may under-deliver only by what earlier steps banked, and since $C$ never goes negative the shrinks over $j$ steps sum to at least $j-C_0$: the run costs at most bisection plus $\lceil C_0\rceil$ steps. The endowment $C_0$ is therefore the promise, not a setting. $C_0=0$ makes the allowance exactly half the bracket on the first step, which forces the midpoint and makes the method bisection; every $C_0\in(0,1]$ promises the same single extra step; and among those, 1 is the most permissive and — measured — the cheapest:
**Table 1b.** The earned projection at endowment $C_0$. Total evaluations, failures charged.
A looser promise buys evaluations, as it must; within one promise the cheapest endowment is determined. So the proposed method is the earned projection with $C_0=1$, whose guarantee — $\lceil\log_2(w_0/\varepsilon_x)\rceil+4$ evaluations, bisection plus one step with one more for the floating-point boundary — is verified on all 199 problems. The scheduled projection with $c=2$ is kept as the other end of a stated trade: one free constant, and on the canonical set 762 evaluations cheaper (2806 against 3568).
This is the one choice in the method that was *not* fixed before a benchmark was consulted: the earned budget replaced the scheduled one after the question whether the multiplier was load-bearing. The reason for the replacement is structural — it removes a free constant — and not its cost, which on the canonical set is higher; a replacement chosen by the numbers would have gone the other way.
Two remarks apply to both forms.
- **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 *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.
- **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.
- **Writing the clamp in the form (3) 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.
@@ -167,62 +204,70 @@ Three remarks on why this introduces nothing.
## 5. Results
The grid is nine similarity functions × four scales × 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.
The grid is nine similarity functions × four scales × seven safeguards = 252 configurations, plus twelve baselines: 264 in all. The configuration proposed in Section 3 — tent similarity, three-point scale, earned projection — is one entry of that grid, fixed by the theory and by the requirement of §3.1 rather than chosen from the ranking; the scheduled projection is shown beside it as the other end of the trade. Chandrupatla's own method and Dekker's are among the baselines; an earlier version of these tables was drawn up before either was added, and did not show that Chandrupatla's method is first on the canonical set.
**Table 2.** Alefeld–Potra–Shi, 154 problems, out of 226 configurations.
**Table 2.** Alefeld–Potra–Shi, 154 problems, out of 264 configurations. Places by failures first, then total.
| 244 | false position | no | 127/154 | 10560 | — |
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.
On the problems both solve, the proposed configuration goes 79/3/71 (wins/ties/losses) against Chandrupatla, 77/9/67 against TOMS 748, 78/5/70 against Brent, 103/10/40 against ITP at its recommended constants, 86/6/61 against the per-problem ITP oracle and 122/1/30 against bisection: it wins more problems than it loses against every competitor, and still loses on the total to Chandrupatla, TOMS 748, Brent and the ITP oracle, because its losses are the larger ones. The scheduled projection goes 86/25/42 against Chandrupatla, 86/16/51 against TOMS 748, 102/11/40 against Brent, 132/3/18 against ITP, 121/4/28 against the oracle and 152/1/0 against bisection. Its total, 2806 against TOMS 748's 2820, is a margin of 0.5% and should be read as a tie; against Chandrupatla's 2785 it is 0.75% behind.
**Table 3.** Chandrupatla, 45 problems, brackets up to $10^{12}$ wide.
**Table 3.** Chandrupatla, 45 problems, brackets up to $10^{12}$ wide, out of 264 configurations.
| 228 | the same rule with no safeguard at all | no | 35/45 | 4104 | 10 |
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.
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 a proposal. The proposed configuration is tenth, and here the earned budget is the cheaper form: 3020 against the scheduled projection's 3220. Problem by problem it goes 24/0/16 against TOMS 748 and 18/0/20 against Brent — both of which exceed the $2\times$ bound on 15 and 18 problems — and loses clearly to Chandrupatla (5/0/35) and to the ITP oracle (2/3/35); to ITP it loses on the total but not on problems (12/20/8, and 3020 against 2857); and problem by problem it loses even to bisection (5/0/35), whose total of 3090 it nonetheless beats. Over both sets the proposed rule needs 6588 and the scheduled projection 6026, against 5208 for Chandrupatla, 5871 for the ITP oracle, 6820 for TOMS 748 and 6988 for Brent.
### 5.1 What the guarantee costs
Nothing on one set, and less than nothing on the other. Against the identical rule with no safeguard at all:
It depends on which bound is bought. Against the identical rule with no safeguard at all:
| | solved | total evals | runs over the $2\times$ bound |
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.
The scheduled projection never binds on the canonical set, so its totals are identical to the last evaluation; on the wide-bracket set it solves five more problems for 21% fewer evaluations. The earned projection promises twice as much — a worst case of bisection plus one step instead of twice bisection — and pays for it on the canonical set, 762 evaluations or 27%, while on the wide-bracket set it is the cheapest of the three. Both are the opposite of the usual trade on at least one set, and that is the point of projecting rather than replacing: the two safeguards that replace cost 7260 and 7239 on Alefeld–Potra–Shi, against 2806.
### 5.2 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 **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.
On the 199 problems as they stand, every $f$ being a formula of a few operations, the scheduled projection (the configuration timed) is the **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.
Those evaluation counts are *raw*: they are what the timing loop actually spent, and a failed run contributes only the evaluations it made before the budget ran out. They are therefore not the totals of §5, where a failure is charged the full 200-evaluation budget so that no method can buy a low score by giving up — 4991 raw against 6026 charged for the proposed rule, 5932 against 6991 for Brent, 9474 against 10620 for bisection. Wall-clock time can only be compared against what was really executed, so the raw counts are the right companions to the milliseconds; every comparison in §5 uses the charged ones. Both are stated to avoid the appearance of two incompatible sets of numbers for the same methods.
Those evaluation counts are *raw*: they are what the timing loop actually spent, and a failed run contributes only the evaluations it made before the budget ran out. They are therefore not the totals of §5, where a failure is charged the full 200-evaluation budget so that no method can buy a low score by giving up — 4991 raw against 6026 charged for the scheduled projection, 5932 against 6991 for Brent, 9474 against 10620 for bisection. Wall-clock time can only be compared against what was really executed, so the raw counts are the right companions to the milliseconds; every comparison in §5 uses the charged ones. Both are stated to avoid the appearance of two incompatible sets of numbers for the same methods.
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 µs and Brent at about 20 µs, which on this machine is of the order of a hundred arithmetic operations. Below that the ranking is decided by per-step overhead; above it, by evaluations.
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 scheduled projection overtakes ITP once one call to $f$ costs about 9 µs and Brent at about 20 µs, which on this machine is of the order of a hundred arithmetic operations. Below that the ranking is decided by per-step overhead; above it, by evaluations.
Three caveats, all of them 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 therefore 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 *negative* overheads for four of six methods — an impossibility that condemned the estimator, and the reason nothing is subtracted here.
@@ -269,7 +314,8 @@ Where a safeguard other than the projection of §3.1 appears, it is one of the g
| configuration (all with the guarantee, 193/199) | APS-154 | CHA-45 | both |
| (1)+(3) far end by dissimilarity, projection | 2726 | **2785** | **5511** |
@@ -278,10 +324,12 @@ Where a safeguard other than the projection of §3.1 appears, it is one of the g
| TOMS 748 | 2820 | 4000 | 6820 |
| ITP, per-problem oracle | 3260 | 2611 | 5871 |
Two results here are worth stating plainly. First, the canonical set improves from 2806 to **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 (reading (3) under *safe*).
Two results here are worth stating plainly. First, the canonical set improves from 2806 to **2527**, which is below every method measured, including Chandrupatla's 2785, with the worst-case guarantee intact. It is obtained under the scheduled projection, whose multiplier §3.1 shows to be a free constant, although this total hardly feels it: 2527 for every multiplier from 1.5 to 4, 2541 at 1.25 (`measure_records_vs_multiplier.py`). 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 (reading (3) under *safe*).
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.
Under the constant-free earned projection the same readings gain far less. Reading (1) gives 3507 and 2997, (1)+(2) 3755 and 3021, (1)+(3) 3857 and 3002, all three together 4354 and 3037, against 3568 and 3020 for the proposed rule itself: the earned budget binds early on the canonical problems, and what the readings buy under the scheduled projection is mostly room that the earned budget does not grant.
### 7.1 The similarity function belongs to the place, not to the method
Everything above varies *where* the similarity is read while keeping one function $S$ for the whole method. That is itself an assumption, and it is measurable. Proposition 1 says that the ratio similarity scaled by the far end is false position; what it does not say is *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,
@@ -314,7 +362,7 @@ Three readings of that place were measured, each on quantities already in hand a
In total, no. With Chandrupatla's band in our step, the wide-bracket set costs 3066 under the projection and 2899 under *credit*, against his 2423, while the canonical set rises from 2806 to 5432. The band is not idle — it refuses 63.6% of steps — so this is a decision that was taken and did not pay *in total*. Per family it did pay, and where: it closes almost the whole gap on the flat families and gives back more than that on the families where our step is good. §7.4 takes this apart; the short form is that the decision place does hold most of the gap, but no reading measured so far makes that decision correctly for *our* step.
Our own readings do not close it either (best 2868 on the wide-bracket set), but "defect" sets a new best on the canonical set: **2523** at 153/154 under the projection, below the 2527 of reading (2) and below every method measured, with the guarantee intact and no constant. It refuses only 7.0% of steps, the fewest of the three. Over both sets it costs 5733 against the 5511 of reading (3), because it gives back on the wide brackets (3210) what it gains on the canonical problems — so it is a second point on the same trade, not a replacement.
Our own readings do not close it either (best 2868 on the wide-bracket set), but "defect" sets a new best on the canonical set: **2523** at 153/154 under the scheduled projection, below the 2527 of reading (2) and below every method measured, with the guarantee intact — and, unlike 2527, the same for every multiplier from 1.25 to 4. Under the earned projection it gives 3545 and 2949, the best total over both sets of any constant-free configuration measured (6494 against 6588). It refuses only 7.0% of steps, the fewest of the three. Over both sets it costs 5733 against the 5511 of reading (3), because it gives back on the wide brackets (3210) what it gains on the canonical problems — so it is a second point on the same trade, not a replacement.
### 7.3 Six problems of the two sets are scored unsolved for every method
@@ -327,7 +375,7 @@ The consequence is arithmetic. Each such problem charges the full budget of 200
| method | APS as scored | APS re-scored | CHA as scored | CHA re-scored |
@@ -364,7 +412,7 @@ Every statement in §§7.3–7.4 is reproduced by `diag_rescore_cha.py`, `diag_r
3.**Zero slack in the projection is degenerate.** A worst case of exactly bisection demands a halving at every step and leaves the projection no freedom at all.
4.**Regimes exist, at the level of a function family, and cannot be exploited by a switch.** The cube-root similarity beats the proposed rule on all five members of Chandrupatla's `fun4` — 32/32/40/47/59 against 89/93/113/125/153, a factor of 2.6 — and consistency across a family at different parameters is the signature of structure rather than luck. But the same similarity over the whole Chandrupatla set costs 4099 against 3220, so a switch chosen per benchmark is worse than no switch at all: 6905 against 6026 over both sets. The scale axis offers only 5.3% headroom even to an oracle handed the best scale per problem, two thirds of it inside a single problem family, and the winners are not separated by anything the method can see before it commits — the proposed scale wins on bracket widths from $10^0$ to $10^{12}$.
4.**Regimes exist, at the level of a function family, and cannot be exploited by a switch.** The cube-root similarity beats the scheduled projection on all five members of Chandrupatla's `fun4` — 32/32/40/47/59 against 89/93/113/125/153, a factor of 2.6 — and consistency across a family at different parameters is the signature of structure rather than luck. But the same similarity over the whole Chandrupatla set costs 4099 against 3220, so a switch chosen per benchmark is worse than no switch at all: 6905 against 6026 over both sets. The scale axis offers only 5.3% headroom even to an oracle handed the best scale per problem, two thirds of it inside a single problem family, and the winners are not separated by anything the method can see before it commits — the proposed scale wins on bracket widths from $10^0$ to $10^{12}$.
5.**The phase detector: derivation sound, estimator not.** Redoing the contraction law without the assumption $|f|\approx|f'(r)|e$ — taking $|f|\approx K e^m$ instead — does produce the march exponent on its own, $p = L/(L-\ln m)$ with $L=\ln(e/D)$, giving $p=1$ at a simple root and dropping to 0.50 and 0.23 as the approach flattens, which is the neighbourhood of the cube root that wins those families. Substituted back it collapses to the multiplier $m$, measurable as $m = 1/(1-\theta)$ with $\theta = f f''/(f')^2$ from three divided differences and no constant. It preserves the order (2.001) and improves the eight standard problems (82 against 84) — and loses on the full benchmark, 6304 against 6026. The estimator is the failure: on Alefeld–Potra–Shi, where almost every root is simple and the truth is $m=1$, it reports $m>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.
@@ -378,15 +426,15 @@ Every statement in §§7.3–7.4 is reproduced by `diag_rescore_cha.py`, `diag_r
10.**Reading the similarity at the measured order does not cure false position.** Since false position's stall is a similarity read at order one (§7.1), the obvious hope is that reading it at the measured order is the parameter-free version of the classical fix. It is not. Unguarded, the correction takes the far-end reading from 127/154 and 10676 to 128/154 and 10043 — one problem and six per cent — where Illinois, at the price of one constant (halve the stale ordinate), reaches 153/154 and 7045. A sixth of the gap is not the gap. The correction is real and it is in the right place; it is simply much smaller than a constant that was chosen for exactly this failure. *Our* 10676 and the 10560 of Table 2 are not the same algorithm — our iterate starts at the midpoint of the bracket, plain false position at an end — and the two must not be differenced.
11.**A logarithmic change of variable does not buy the wide brackets.** Working in $u=\operatorname{sign}(x-c)\log(1+|x-c|/\varepsilon_x)$ makes the step multiplicative, which looked like the right diagnosis of the flat families — for the same similarity, scale and safeguard ($(1+|z|)^{-2}$, two-point, *safe*) the wide-bracket set improves from 3643 to 3474 — but the canonical set gets worse, 5822 to 6940, against the 2806 of the proposed rule. An earlier version compared the 3474 with 4516, which is the total of a different configuration. A march needs a *ratio* of distances while an identity on narrow brackets needs an *absolute* unit, and no parameter-free unit provides both. §7.4 shows the diagnosis itself was wrong: on the flat families the right move is to halve, not to march.
11.**A logarithmic change of variable does not buy the wide brackets.** Working in $u=\operatorname{sign}(x-c)\log(1+|x-c|/\varepsilon_x)$ makes the step multiplicative, which looked like the right diagnosis of the flat families — for the same similarity, scale and safeguard ($(1+|z|)^{-2}$, two-point, *safe*) the wide-bracket set improves from 3643 to 3474 — but the canonical set gets worse, 5822 to 6940, against the 2806 of the scheduled projection. An earlier version compared the 3474 with 4516, which is the total of a different configuration. A march needs a *ratio* of distances while an identity on narrow brackets needs an *absolute* unit, and no parameter-free unit provides both. §7.4 shows the diagnosis itself was wrong: on the flat families the right move is to halve, not to march.
---
## 9. 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 *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.
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 *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 onto a budget scheduled in advance costs nothing on one benchmark and improves the method on the other, but the schedule carries a free, load-bearing multiplier; projecting onto a budget the steps earn removes it, and the price of removing it is measured rather than hidden.
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.
The resulting rule has no free constant and carries a worst case of bisection plus one step. It is not level with the best methods. On the canonical Alefeld–Potra–Shi set it needs 3568 evaluations, 29th of 264, against 2785 for Chandrupatla's method, 2820 for TOMS 748 and 2889 for Brent — though it wins more problems than it loses against each of them. On the wide-bracket set it needs 3020, ahead of TOMS 748 and Brent and behind Chandrupatla and ITP. Accept one free constant, the scheduled budget of twice bisection, and the same rule needs 2806 on the canonical set, a tie with TOMS 748 (0.5%) and 0.75% behind Chandrupatla. The claim the measurements support is therefore a trade stated in numbers: parity with the tuned methods at the price of one constant, or a constant-free rule with a tighter guarantee that trails them on the canonical set — not superiority either way.
This is the same movement as in parameter-free similarity control [6], 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.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.