A shaft carries a radial load at a speed; pick a ball bearing off the catalog. The number stamped on the box — the load rating — is not the answer. The life equation is, and you can check it by hand in one line.
A shaft turns at n rpm carrying a steady radial load Fr, and the machine has to run for a target service life — say 20,000 hours before the bearings are expected to fail. From a tray of standard 6000-series deep-groove ball bearings, pick the smallest (cheapest, lightest, lowest-friction) one that makes the life target.
The tempting move is to read the catalog's dynamic load rating C, see that it's many times bigger than Fr, and call it done. That rating is a reference number, not a survival promise — it's the load at which the bearing lasts exactly one million revolutions. Real life runs on a cube law, and that changes everything.
One equation, one catalog column, one check. The bearing's basic rating life (the L10 — the life 90% of bearings exceed) is
L10 = (106 / 60n) · (C / P)3 hourswhere C is the catalog dynamic rating, P the actual load (here just Fr), and n the speed. Claude will pull the C values, compute the life for every candidate, and rank them — but the answer lives or dies on that exponent of 3, and you check it yourself.
Drag the load and speed. Each bar is one bearing's L10 life (log scale); the dashed line is your target. Green clears it, red doesn't. The catalog C ratings are real — 6000-series, from the Emerson Bearing listing.
Two things to feel. First, the bars are steep: stepping up one bearing size barely raises C but multiplies life, because life goes as the cube of (C/P). Second, doubling the load doesn't halve life — it cuts it by eight. The rating margin you need isn't 1.2×; it's whatever the cube law demands for your hours.
You don't trust the green bar; you re-derive it. Selection has a clean oracle: plug your chosen bearing back into the L10 formula by hand and confirm the number. Three rungs:
C is defined at one million revolutions. At 1200 rpm that's under 14 hours. A bearing run continuously at its full C rating dies almost immediately — which is why you work back from the life you need, not from a multiple of the load.
You don't have to guess and check. Solve for the C that hits your target: C = P·(60n·L10/10⁶)^(1/3), then pick the smallest catalog bearing whose C clears it. The tool's recommendation should match.
Two free levers worth setting. Turn the reasoning effort up
for the hard part — Claude Code's /effort (see
Feed it documents for the
model and effort controls); a transcription wants it low, an analysis like
this one wants it high. And end your prompt with an explicit
self-check — “before you finish, recompute the L10 life for the bearing you pick and confirm it clears the target”
— which is exactly why the prompt above asks Claude to verify itself.
Naming the oracle is the highest-value line in the prompt. And keep the
expensive model's context light — route transcription and formatting
to cheaper tools (see Spend
tokens well).
At the defaults (Fr=900 N, n=1200 rpm, target 20,000 h): the required C is about 10.2 kN, so the 6004 (9.36 kN) falls just short at ~15,600 h and the 6006 (13.3 kN) clears it comfortably at ~45,000 h. Hand-check the winner:
L10 = (10⁶ / (60·1200)) · (13300/900)³
= 13.9 · (14.78)³ ≈ 13.9 · 3,230 ≈ 44,900 h ✓
Note the gap between 6004 and 6006: a 42% bump in C nearly tripled the life. That's the cube law, and it's why “the rating is 10× my load, surely it's fine” is a trap — and why over-sizing one step is often nearly free insurance.
Same two moves — see explore in HTML, deliver in PDF.