{"block_close_oss.c33fd1fe9c":"Community and ecosystem","core-extras.96d330537a":"Base IR","core-extras.bee831a169":"Substrate","core-extras.61a0822826":"Apps on Core","core-extras.15438cc098":"not supported","core-extras.ad565d9d01":"Feature","core-extras.0155bf03e5":"Segment legend","core-extras.8b7110078e":"Algorithm groups by data type","core-extras.25ab4276a6":"Scrollable capability matrix","open-source-numerus.f9743247fa":"Read the documentation","open-source-numerus.cd84197771":"Numerus","open-source-numerus.ff10f01ee1":"CORDIC","open-source-numerus.2956ef9ad6":"Determinism","open-source-numerus.1d197d39c5":"Where it runs","open-source-numerus.3d353c49dd":"OLD OR NEW","open-source-numerus.704869f20f":"In plain words","open-source-numerus.44ab85a252":"Origin","open-source-numerus.c69a1c8277":"Where it is from","open-source-numerus.ca032b5844":"What it does","open-source-numerus.c3cc0999c8":"See it in plain words","open-source-numerus.79073eaaf2":"The Netherlands","open-source-numerus.89b86ab0e6":"Language","open-source-numerus.942587e61e":"Project sheet","open-source-numerus.ff5bf20b56":"The same answer,","open-source-numerus.8795426d9a":"The record of what happened, kept so it can be read back.","open-source-numerus.1aa2f31ee7":"Ledger","open-source-numerus.6cc3364a24":"Foundation release","open-source-numerus.1a70d41766":"An SMT solver, with a certificate attached to the answer.","open-source-numerus.df84637182":"AION","open-source-numerus.bdd8d905c8":"Rules as named artefacts, with the reason a check failed.","open-source-numerus.03f923bd0d":"Lattice","open-source-numerus.d5d6e83bf2":"Continue exploring","open-source-numerus.47d70bc3da":"Ask about the release","open-source-numerus.1e4f127515":"Choose the numeric contract before the first calculation, keep the reasoning that went with it, and hand anybody who asks a record they can re-run on their own machine.","open-source-numerus.0c881365f1":"The same numbers","open-source-numerus.90e40d5043":"Get started","open-source-numerus.2fc904c1fc":"What you get is the sum done exactly, the same figure everywhere, and a record of how it was reached.","open-source-numerus.3c62a67416":"SECOND RELEASE ROUND","open-source-numerus.0842713d99":"NOT A JUDGE","open-source-numerus.db13d3b9eb":"EXACT SUMS","open-source-numerus.17be4bfff3":"It is built in Europe, under European rules, and its source publishes under Apache-2.0 terms in the second round of Dweve's foundation release programme. Regulators and consumer bodies will be able to inspect the arithmetic directly, the day it goes live.","open-source-numerus.b5126af781":"Whether a rule is right stays a question for people, and you are entitled to raise it. What this gives you is something solid to raise it with: a figure that comes out the same when anybody checks it, a written record of how it was reached that does not rest on anyone's memory, and a check that says whether that record was altered afterwards.","open-source-numerus.b07176feed":"The boundary","open-source-numerus.12530c4e1f":"If the rule being applied to you is unfair, this will apply it exactly, to the cent, to everybody, every time. It does not make the rule fair, and it cannot tell that the rule is unfair. All it does is make sure the figure is not wrong as well, which is a smaller promise than you were hoping for and one that is actually kept.","open-source-numerus.9c98b08f3d":"not the rule behind it","open-source-numerus.a449e6078f":"It will get the sum right","open-source-numerus.60893a6564":"Being straight with you","open-source-numerus.615ad57c1b":"None of which changes the one thing you should hear straight.","open-source-numerus.9b97b8c6df":"NEVER GUESSED","open-source-numerus.cde835222f":"OR LEFT BLANK","open-source-numerus.144fbc96c6":"COUNTED","open-source-numerus.d54bebbae5":"So what reaches you is a figure with its own margin attached, or a blank where a made up number would have gone. Where the machine sits matters as well, and by more than people expect. The same work done in France and in Germany comes out at very different carbon figures, because the electricity is made differently.","open-source-numerus.7ecfd3559d":"The count is not perfect, and the software says so without being asked. Jobs too small to register leave no trace on it at all. The same job run twice comes back a little different depending on how warm the machine was. On some rented computers it can see nothing, and it says so instead of guessing.","open-source-numerus.166e721638":"And the honest part","open-source-numerus.c70dcb6135":"Computers use electricity to think. Everybody knows that, and nobody has ever been able to tell you how much of it went on any one job. Processors keep their own running count of the energy they have spent, and that count can be read. So a piece of work can come back with the electricity it took written beside it, and where the machine cannot say, with nothing rather than a guess.","open-source-numerus.a7ba4d0886":"and the power can be counted","open-source-numerus.eb1d4fd6f1":"A calculation uses power","open-source-numerus.aa217754ad":"Something you can now ask","open-source-numerus.de49644807":"It can also answer something nobody could ask a few years ago: what the sum cost in electricity.","open-source-numerus.862920f7a9":"SAME AS A BANK","open-source-numerus.b47a7b97e1":"NOTHING LEAVES","open-source-numerus.5361085d04":"YOUR METER","open-source-numerus.ce3cafb730":"And none of it needs to phone anywhere. The reading, the dose, the braking distance: the figure is worked out where it is measured, so there is no copy of it sitting on somebody else's computer, and nothing is waiting on a connection. That matters rather more when the number is about your body than when it is about your water.","open-source-numerus.c9976e2c4a":"A meter is cheap partly because it cannot handle fractions at all, so it counts in whole numbers. That happens to be the same counting that gives an identical answer on every machine. So the sum in your cupboard is not a rougher version of the bank's sum because the box was small. It is the same sum.","open-source-numerus.43ae31fe50":"Why the cheap ones can","open-source-numerus.538209ea8e":"The meter in your cupboard decides what you owe for water. A pump on a hospital ward decides how much of a drug goes in. A box behind a car's wheel decides how hard to brake. Nobody is watching any of them, and every one is doing the same kind of arithmetic a bank does with your money. It can be done to the same standard, and the answer never has to leave the room it was worked out in.","open-source-numerus.d79f03e28e":"is doing sums about you","open-source-numerus.1d54db8fea":"Something in your cupboard","open-source-numerus.ce4b08a13d":"Where you would meet it","open-source-numerus.40484d4426":"an organisation that kept the working can hand it over the same afternoon","open-source-numerus.3e0e7b562c":"you are asking for the working, and that is a normal thing to ask for","open-source-numerus.ab9692a4be":"and in each case, the working, not a summary of it","open-source-numerus.8baba2806c":"a public body, for a decision about your money","open-source-numerus.c2392d1e9e":"a hospital, for a dose that was calculated","open-source-numerus.68a6ba054c":"your energy supplier, for a bill you dispute","open-source-numerus.55153f93c5":"your bank, for a figure on your statement","open-source-numerus.3df7a15a84":"Who you can ask","open-source-numerus.4c153f0d67":"Done this way, the answer is not somebody's best recollection. The numbers it started from were kept, and so was what was done to them and in what order. Run it again and it comes out identical rather than close. If the record was altered in between, that shows up first, before anybody re-runs anything.","open-source-numerus.557d1ae6cb":"You have probably asked it, and got a poor answer back. Somebody looks up the current version of the calculation, runs it on today's numbers and tells you it comes out about right. Nobody is being evasive. The thing that produced your figure last spring does not exist any more, so there is nothing left to point at.","open-source-numerus.3cb2cd1ee0":"A fair thing to ask.","open-source-numerus.8bc5d154ff":"How did you get that number?","open-source-numerus.d79cce547d":"The question","open-source-numerus.22a05c5072":"None of which answers the question anybody would ask next.","open-source-numerus.781305ee00":"KEPT","open-source-numerus.e72d571cea":"NOTHING TO EXPLAIN","open-source-numerus.9a7be42cbd":"STILL MATCHES","open-source-numerus.c503c104b1":"Last March comes out of the new system exactly as it came out of the old one, so the return you filed still stands and there is no afternoon to lose. Ask how a figure was reached and you get the working rather than a shrug. You do not have to take on trust that the working was left alone either, because anything altered afterwards shows up.","open-source-numerus.643832327b":"None of the answer comes from the machine. There is no rounding that goes one way on one chip and another way on the next, and no shortcut a faster computer takes that a slower one does not. Change the machine and the figure does not move, and neither does the form you filed with it or the letter that quoted it.","open-source-numerus.1dccc412c1":"Why it still matches","open-source-numerus.9433f5a003":"Somewhere behind your bank, your energy supplier or the tax office, the software gets replaced. Nobody tells you, and normally you would not care. You care on the day the new system adds last year up and gets a different answer, because the form you already filed no longer matches the system that produced it, and the person who has to explain that is you.","open-source-numerus.e2a7c792b4":"as the ones already filed","open-source-numerus.fbd5ad602f":"New machine, same figures","open-source-numerus.c7af78e1d3":"A year later","open-source-numerus.824362c5c0":"A bill gets settled in a week. The paperwork gets read again a year later.","open-source-numerus.2c42efa850":"NO PHONE CALL","open-source-numerus.7ab127c23f":"EVERY COPY","open-source-numerus.8389f44e1d":"ONE RULE","open-source-numerus.15cbd3731f":"Here the rounding point is written down once, before anything is added up, and every copy of your bill follows it. So there is no phone call, no hold on the account and no three weeks. The copies match because they were worked out the same way, not because somebody sat down afterwards and made them agree.","open-source-numerus.9567b66858":"The reason is smaller than it sounds. Tax comes out in fractions of a cent, and somebody has to decide where those fractions get rounded off. One system rounds on every line. The other rounds once, on the total. Both are reasonable, and they can finish a cent apart without either of them being wrong.","open-source-numerus.46cfb3934a":"In practice","open-source-numerus.fde98ab004":"One bill, three copies: the receipt in your hand, the shop's till, and your bank's. Every so often two of them end on a different cent. Nothing was stolen and nobody was careless, and it is still you who takes the phone call, and you who waits three weeks while somebody decides which copy was right.","open-source-numerus.48e797bf84":"that do not quite agree","open-source-numerus.664f83ff83":"Two copies of one bill","open-source-numerus.08d1240af5":"Where you would notice","open-source-numerus.17762578c6":"Small enough to ignore, right up until the figure is what you owe.","open-source-numerus.18e302e772":"ANY MACHINE","open-source-numerus.b00a146670":"SAME ANSWER","open-source-numerus.03229817a4":"This counts in whole numbers instead, the way you would count coins, so nothing is left over and nothing drifts. What that buys you is dull and worth having. Your phone, the card reader on the shop counter and a computer in another country all finish on the same figure, and the oldest of the three is no less right than the newest.","open-source-numerus.b1f4a3a6b7":"A computer writes a tenth the way you would write a third as a decimal, which is to say not quite. On its own the gap is far too small to see. It does not stay on its own: a bill has lines, a year has twelve bills, and every one of those gaps is still sitting in the total at the bottom, which is the figure you are asked to pay.","open-source-numerus.750c2096f3":"Why it matters","open-source-numerus.2a58856c3b":"The figure you were handed came out of a machine, and a different machine might have handed you a slightly different one. Ask a computer for a tenth plus two tenths and, if you make it show every digit it is holding, the answer ends in a stray four. Every machine does that, so nobody notices. Each one tidies the stray four away in its own way, and that is how one sum, worked out here and worked out in another country, finishes in two different places.","open-source-numerus.fad3c1e94d":"twice, in two countries","open-source-numerus.3e24b82417":"The same sum, worked out","open-source-numerus.b10d0a3e50":"What you get is a figure that answers for itself, and a decision about it with a date on it.","open-source-numerus.fe453a5f12":"HONEST","open-source-numerus.4db4bac423":"ONE PLATFORM","open-source-numerus.cc3d831522":"EVIDENCE NOT PROOF","open-source-numerus.4bdb13e4d3":"The certification package starts the conversation with an auditor, and what closes it is your submission against your own product, which nobody can hand you. And if no figure your organisation produces ever has to be defended to somebody outside it, the honest answer is that none of this is worth the change.","open-source-numerus.39ad2daee6":"The energy meter covers one operating system on one architecture, and elsewhere it declines rather than estimating. Proving a property needs an external solver installed, and without it you get bounds and intervals, which are useful and are not proofs.","open-source-numerus.717bf50cee":"Nothing does. It produces evidence, and a person assesses evidence. It will hold a badly chosen numeric contract with total consistency and produce an immaculate record of having done so, and the record is the useful part rather than a promise of correctness, because a promise is not checkable and a record is.","open-source-numerus.1c7f626e84":"compliant with anything","open-source-numerus.22ee731589":"This does not make you","open-source-numerus.6fe6f64f57":"What you will still be asked","open-source-numerus.54b672c8c4":"And it is worth being equally plain about what this does not buy you.","open-source-numerus.34aab83fa6":"NO RENEWAL","open-source-numerus.742e2afe8c":"NO SERVICE","open-source-numerus.5de401956d":"PERMISSIVE LICENCE","open-source-numerus.8aa7f71723":"None of those four is being waived. They do not apply, which is a considerably stronger position than a waiver, and it is the difference between a library and a service dressed as one. Your release artefact pins the version and the licence, and a known build can be kept for an incident without asking anybody.","open-source-numerus.8af4e5fc1f":"No processing agreement for a calculation, because there is no processor. No transfer assessment, because nothing leaves. No availability dependency on a supplier, because no endpoint of ours is on the path. And no version arriving underneath you on somebody else's release schedule, because you decide when to move.","open-source-numerus.1d5128a2ed":"What that removes from your paperwork","open-source-numerus.492baad258":"It is a library under a permissive licence, authored by a Dutch company, and it becomes part of your binary. Nothing sits in the path of a calculation, so there is nothing to be unavailable during your incident, no per-call price, no renewal date, and nothing to renegotiate when your volumes change or your procurement policy does. The dependency is the code you ship, not an endpoint you rent. Your release artefact can pin the version and licence, while your team chooses when to update and can keep a known build for an incident. Procurement gets a controlled component with an exit path rather than recurring access to a supplier.","open-source-numerus.2db8725eaa":"and nothing bills you later","open-source-numerus.597a40a361":"It compiles into your build","open-source-numerus.d80849eca1":"The commercial shape","open-source-numerus.3c8834f313":"All of which you can only rely on if nobody can take it away from you.","open-source-numerus.cd842b07fe":"SIXFOLD GAP","open-source-numerus.f853507f1b":"BY REGION","open-source-numerus.0c15ab01ff":"MEASURED","open-source-numerus.180930bdef":"That makes placement a reportable decision rather than an operational preference, and it makes an efficiency programme that ignores placement mostly theatre. The regions are named in the software with their intensities, so the conversion is not a spreadsheet somebody maintains and quietly stops updating after the first report.","open-source-numerus.fabaa01167":"France sits at 60 grams of carbon dioxide per kilowatt hour. Germany sits at 380. The Netherlands sits at 350, and the European Union average at 275. The same computation, unchanged, moved from a German region to a French one is a sixfold reduction in reported emissions, and nobody touched a line of code.","open-source-numerus.cb5b02dea1":"Where it ran matters more than how long","open-source-numerus.0dc46c994a":"A measured energy figure is a different kind of claim from a modelled one, and the processor keeps the count. Turning that into carbon takes one more thing, the grid intensity of the region the work actually ran in, and that is where these numbers stop being a rounding difference and start being a decision somebody in your organisation makes.","open-source-numerus.158728dd38":"and so is what it emitted","open-source-numerus.1dcd18d7dd":"Electricity is measurable","open-source-numerus.ba3e8eb5b3":"Reported, not modelled","open-source-numerus.f07918db47":"Those documents describe what the arithmetic does. They say nothing about what it costs to run.","open-source-numerus.bc385b715b":"SBOM","open-source-numerus.add552a5a4":"BOTH DIRECTIONS","open-source-numerus.82cb2940a1":"GENERATED","open-source-numerus.fd24ab9718":"The set carries an identifier, a version, a date and a status, so a reviewer can tell which release they are holding without asking anybody: the specification committed today reads version 0.2.0, dated 19 January 2026, status released. The instruction in the generator is blunt about why: generate from code, not duplicated documentation. That is the difference between evidence and paperwork, and it is the difference a second audit finds.","open-source-numerus.76afe31322":"The requirements specification, the design description, the verification and validation report, a requirements traceability matrix that reads in both directions, and a software bill of materials in the standard interchange form your own supply chain tooling already consumes. Five documents, produced by the same command that builds the library, so none of them can be older than the code it describes.","open-source-numerus.7f5c087d66":"What comes out","open-source-numerus.a38db0969b":"A requirements specification, a design description and a bill of materials are all statements about code, and all three stop being true the moment the code moves. Everybody knows this and everybody maintains them by hand anyway, because the alternative is work. Here they are generated from the source, which is the only arrangement under which they are still accurate after the next release.","open-source-numerus.ef9807e84f":"is true for one release","open-source-numerus.8fdd901c0e":"A document written by hand","open-source-numerus.489ef3c9d4":"Why they stay true","open-source-numerus.fa841bf136":"Documents like these go stale the day after they are written, unless nobody writes them.","open-source-numerus.223eef62ff":"ARGUED","open-source-numerus.dd4e43b880":"STATED LEVEL","open-source-numerus.c488ee8b5a":"NUMBERED SPEC","open-source-numerus.487cfedc64":"The automotive and functional safety standards addressed by name. An integration guide for whoever folds this into a submission, a qualification plan and a checklist to complete, and a set of answers written around the questions an auditor actually opens with, so the first meeting is about the evidence rather than about whether any exists.","open-source-numerus.4615680891":"A numbered requirements specification in which each requirement carries its reasoning, the methods meant to verify it and the clause of the standard it answers to. A tool qualification level for the aerospace standard, argued rather than asserted, on the grounds that the output is verified by the application's own tests, which is the reasoning an auditor will interrogate and therefore the reasoning worth publishing.","open-source-numerus.18ce26d67e":"What it contains","open-source-numerus.275148395e":"Put a numeric library inside an aircraft, a vehicle or an infusion pump and the library is in scope along with everything else. What most libraries offer at that point is a permissive licence and goodwill. There is a package here addressed to the certification auditor rather than to the developer, so the conversation starts from documents instead of from nothing.","open-source-numerus.51b0f08d7f":"with the argument attached","open-source-numerus.b48558c699":"A stated qualification level","open-source-numerus.0ed20cfb60":"For regulated products","open-source-numerus.ed39078ac5":"Keeping the evidence is one problem. Being allowed to put the arithmetic in the product is another.","open-source-numerus.5fa3a083a0":"IN THE SOFTWARE","open-source-numerus.4f7ef597bc":"MIFID II","open-source-numerus.a6a96136e1":"SOX 404","open-source-numerus.75d2d7e92b":"Three named regimes with their real requirements written into the software rather than one general promise of compliance, and the line is worth drawing precisely: what the software holds is the period, the condition and a check that says the set has not been altered. It holds no opinion about whether you have complied, and the documents an auditor reads are produced separately, which is the next section but one.","open-source-numerus.9709c0c648":"Sarbanes-Oxley section 404 wants seven years and storage that cannot be rewritten. MiFID II wants five to seven years and synchronised clocks, because a record whose timestamps cannot be relied on is not a record. The pharmaceutical electronic records rule has its own conditions again.","open-source-numerus.c52628d02f":"Which regimes, and what each one demands","open-source-numerus.dce4c2b523":"Financial and pharmaceutical rules specify how long a record is kept, in what state, and against whose clock. In most organisations all three land on whoever owns log rotation, which means they land on a default chosen for disk space. Here the period and the condition each named regime asks for are properties of the record set itself, and the set is checkable on any day inside that period rather than only when somebody asks.","open-source-numerus.353d08fbce":"it is somebody else's rule","open-source-numerus.805dc53d0e":"Seven years is not a setting","open-source-numerus.23fcfb2f26":"Clocks somebody else set","open-source-numerus.5b0a824a89":"A record answers one question once. A regime asks the same question for seven years.","open-source-numerus.12f7fedd6a":"LAST DIGIT","open-source-numerus.304bb1ee20":"THEIR MACHINE","open-source-numerus.dd2bdb8281":"Comes back identical and the question closes on a verdict instead of on a conversation about how close is close enough. Comes back different and you have a finding with a line of code attached to it, which is a considerably better position than a disagreement about tolerance. One caution, because a supplier will eventually overstate it: what keeps the record honest is a keyed hash and not a digital signature.","open-source-numerus.c73f142dd7":"The useful part is that the checking does not have to happen here. The record is the same object at your desk and at the desk of whoever is asking, so a reviewer holding a copy produces the figure themselves rather than accepting yours. Every operation in it carries its inputs, its outputs, the flags it raised and the line of source it came from.","open-source-numerus.154e6464e4":"Who gets to check it","open-source-numerus.572a5a6ca5":"Somebody asks how the February figure was produced. Today that starts a reconstruction: the current calculation run on today's inputs, a note somebody made at the time if it survives, two people asked what they remember. All of it can be true and none of it is a record. Here the question is a command, and the answer it comes back with is identical or it is not.","open-source-numerus.9616e2f3c6":"and compare the last digit","open-source-numerus.329293a96a":"Re-run it, do not rebuild","open-source-numerus.98fc729dc7":"From reconstruction to re-run","open-source-numerus.63ed2c2e27":"A recorded decision answers what you chose. It does not answer what you actually computed.","open-source-numerus.e1814a04c0":"REVIEWABLE","open-source-numerus.e3bfbabaec":"WITH REASONS","open-source-numerus.2bf4fc7308":"NAMED PROFILE","open-source-numerus.054f50534b":"That turns a numeric choice into the same kind of artefact as any other controlled decision: reviewable, dated, attributable to a person, and comparable against what was in force last year. The alternatives it rejected travel with it, so a reviewer sees what was considered rather than only what was picked, and can say whether the trade-off still holds.","open-source-numerus.313867de6f":"Here they are selected from a named profile before the calculation runs, and the profile is not a constant somebody chose once. It can be asked. Give it the requirement and it returns a recommendation, the reasoning behind it, the alternatives it rejected with a reason for each rejection, and an analysis of the trade-off you are accepting by taking it.","open-source-numerus.0ccfcd0de4":"What changes","open-source-numerus.c1578d1bdb":"Precision, rounding policy and behaviour on overflow are decisions with consequences that reach a reported figure. In most organisations they were made by whoever wrote the first version, never written down, and never reviewed, and that person has since moved on. There is no control over them because there is no record that they were ever made.","open-source-numerus.faf005322f":"or it was simply inherited","open-source-numerus.8dc743ecfa":"Somebody chose the precision","open-source-numerus.1c259a310e":"A decision, not a default","open-source-numerus.fd8be8331a":"Getting the total right is arithmetic. Somebody still chose the arithmetic, and nobody wrote it down.","open-source-numerus.850917de35":"ONE TOTAL","open-source-numerus.8c1bbec5bf":"NAMED POLICY","open-source-numerus.594b8b7859":"ONE ROUNDING POINT","open-source-numerus.242e63f659":"So the rounding point is stated in the contract along with the policy that decides a tie, in advance, in one place, and every system bound to that contract lands on the same total for the same reason rather than by coincidence. That is a governance change dressed as an arithmetic one: the cent stops being a thing you reconcile and becomes a thing you specified.","open-source-numerus.b5b601224c":"The difference is not in the amounts, which are held exactly to the cent. It is in the moment each system chose to round, and none of the three was ever told which moment that should be. Each inherited a rounding point from whatever library it was built on, and each is behaving correctly by the rule it was given, which is why the reconciliation never finds a fault to fix.","open-source-numerus.047ee38694":"Three lines at 12,99 and tax at 21 per cent. The billing platform works the tax out per line and rounds it there. The ledger works it out on the subtotal and rounds once. Both are defensible, both are exact, and the two totals are 47,16 and 47,15. Nobody made an error, and somebody still writes off a cent every month and says why.","open-source-numerus.720b04ee7d":"and a cent between them","open-source-numerus.bcc3fb71f3":"Three systems, one total","open-source-numerus.82b723034b":"Where it surfaces first","open-source-numerus.1a37eb740e":"Nobody looks at a cent for long, because there is a control that says a cent does not matter.","open-source-numerus.2f01132c9b":"EXACT","open-source-numerus.75cc13e4b6":"RECORDED","open-source-numerus.993398440b":"NO LAST DIGIT CHASE","open-source-numerus.2689fd1cef":"Choosing them before the calculation runs does not make the week shorter. It removes the place people look last, which means every disagreement that survives is a disagreement in the logic, and that is a finding rather than noise. The choice is written down as well, so the next person to open the calculation is not left working out what was inherited and what somebody meant.","open-source-numerus.17e2bb2279":"The reason it is looked at last is that nobody chose it. The arithmetic came with the language. The precision, the rounding policy and the behaviour on overflow were inherited, they differ between one processor and another and between one compiler decision and another, and no document anywhere in the organisation records what they are.","open-source-numerus.b0180a2c0c":"Two supposedly identical runs disagree. The investigation starts in the logic, which is usually innocent. It moves to the data, which is often the answer. It reaches the infrastructure. If the cause is the arithmetic it is found last, or never, and the finding is written up as a rounding difference and filed.","open-source-numerus.7d4bfe8a6e":"and a note nobody can act on","open-source-numerus.6b62086c92":"A week spent looking for it","open-source-numerus.8583d443b5":"The cost nobody budgets","open-source-numerus.a74a5f3a41":"Where it does fit, the reason is almost always that somebody has to answer for the figure.","open-source-numerus.cc2534707a":"YOUR CHOICE","open-source-numerus.40d9c10d58":"ONE ARCHITECTURE","open-source-numerus.7e026dfac8":"FINITE RANGE","open-source-numerus.1fbb8b105a":"Proving a property needs the solver installed, and without it you get bound propagation and interval arithmetic, which are genuinely useful and are not proofs. The energy meter is one operating system on one architecture and declines elsewhere rather than estimating. And where reproducibility is not your constraint, an external floating-point baseline is less work to write; that is a boundary comparison, not a Numerus arithmetic path.","open-source-numerus.bc25c1dc90":"Circular and hyperbolic functions belong to the binary and adaptive integer/fixed-point families. Decimal is for figures settled in base ten, and a sine is not something anybody asks of a currency amount.","open-source-numerus.9c3a3874c7":"Fixed point has a hard range and choosing it badly is your error to make. The library will not guess for you, which is the whole trade: a floating-point baseline outside the contract hides the decision and this makes you take it. Take it wrong and you get an overflow policy applied faultlessly to a calculation that should never have been in that format.","open-source-numerus.c769af5a04":"with perfect consistency","open-source-numerus.fafda068a8":"It will hold a wrong scale","open-source-numerus.9b8111568e":"Being straight about it","open-source-numerus.0df9273eaa":"Which is a good place to be equally plain about what none of this gives you.","open-source-numerus.bacf60b132":"KEYED HASH","open-source-numerus.50eb98e0ab":"BIT EXACT","open-source-numerus.9743b5cc69":"INPUTS AND FLAGS","open-source-numerus.0a75670fbf":"Integrity is a keyed hash over the record, so an altered record fails its check before replay is attempted rather than replaying to a different answer. That is a keyed hash and not a signature, and the difference is worth keeping straight: it shows the record has not changed since somebody holding the key wrote it, which is what a retention regime asks for and is not the same thing as attribution to a person.","open-source-numerus.a57070b11a":"Replay is validated bit for bit rather than to a tolerance, which is only possible because the arithmetic is exact: with a floating-point baseline outside the contract, the same record on a different machine gives you a discussion about acceptable difference. Here the two match to the bit or they do not, and the record names the operation where they parted.","open-source-numerus.da31acc450":"Bit for bit, and what integrity means here","open-source-numerus.7cde8cd571":"Show me how you got this figure is answered today by a reconstruction, assembled after the fact by the people being asked. Every arithmetic operation here can instead be recorded with its inputs, its outputs, the flags it raised, the error bounds carried with the result, and the source location down to the line, and the record replays to the same figure.","open-source-numerus.4bef68b98c":"the line that produced it","open-source-numerus.358d27ad84":"Every operation can carry","open-source-numerus.4026a081fa":"Not a log, a record","open-source-numerus.23b77c7475":"A figure with a band around it is still one figure. What survives a year is a record.","open-source-numerus.61c83704fe":"WITH LIMITS","open-source-numerus.74772486e0":"OWN COUNTERS","open-source-numerus.564e627d43":"LINUX X86_64","open-source-numerus.43b6fc4afc":"So is the table of virtualised environments where the counters return nothing usable, which is the part most tools leave out. A measurement that tells you when not to trust it is the only kind worth quoting in a report somebody signs.","open-source-numerus.abd05e243c":"The counters have a resolution, an update interval and a floor below which a reading is noise, and all three are published alongside the processor vendor's own accuracy specification and the run-to-run spread that thermal state alone produces.","open-source-numerus.109d69aa34":"What it says about itself","open-source-numerus.e1bea87f6b":"Any claim that an integer implementation costs less energy than an external floating-point baseline is a stopwatch and an assumption until something measures it. The processor keeps its own energy counters and they can be read directly, which makes it a measurement. It is also narrow: the meter is Linux on x86_64, and on every other target it reports that it is unsupported rather than offering a guess.","open-source-numerus.19704480fd":"energy, and it can be read","open-source-numerus.9dc559cb08":"The processor counts its own","open-source-numerus.03bb41e579":"Measured, and narrowly","open-source-numerus.a6b216691d":"Every one of those shifts is an integer. Floating point only gets in and out at the explicit boundary.","open-source-numerus.12636233e1":"YOUR BUDGET","open-source-numerus.ded02cd7a1":"PER LAYER","open-source-numerus.701cc690ee":"SHIFTS AND ADDS","open-source-numerus.e0de97bd40":"Greedy, binary search and Pareto return a front of options rather than one opinion, and each layer carries a signal-to-quantisation-noise score in decibels with documented quality bands. The post-training workflow includes per-channel calibration, a mixed-precision plan, sensitivity analysis, magnitude, LAMP and geometric-median pruning, and a post-pruning requantiser.","open-source-numerus.a0d37c6022":"The same argument runs one level up. Uniform precision across a network pays for the layers that needed it in the layers that did not, so the width per layer is a search, and the constraint is the thing you supply: a memory budget in bytes, or the largest accuracy drop you will accept. The search answers with a width for each layer rather than one width for all of them.","open-source-numerus.6ce9a74d7d":"And the width is a search","open-source-numerus.00906f8001":"On a part with no multiplier, or where the multiplier is the energy budget, a weight multiply is the wrong operation to be performing several million times a second. Write the weight as a sum of powers of two and it becomes shifts and additions: times one and a half is the value plus itself shifted right once. The matrix kernels are built on that identity rather than around it.","open-source-numerus.54b3776f25":"so take the multiply out","open-source-numerus.875fcfed33":"The multiply is the cost","open-source-numerus.ac9117671a":"Where the energy actually goes","open-source-numerus.dea18e9035":"An exponent per value still leaves the multiply, and the multiply is where the cost is.","open-source-numerus.b07e6974b1":"PUBLISHED","open-source-numerus.18745fb931":"LEARNED","open-source-numerus.8819f3462a":"EXPONENT PER VALUE","open-source-numerus.690241fedd":"And the exponent list itself need not come from a preset tuned on somebody else's model: histogram the leading zeros across your own values, cluster the magnitude ranges that actually occur, select, then validate on held-out data. The format itself is not ours. It is an implementation of Variable Point, published by Mirfarshbafan, Filliol, Castaneda and Studer at ETH Zurich, and the citation belongs on the page a reader is standing on rather than in a comment they would have to go and find.","open-source-numerus.41730382f8":"Which is a better position than a compromise nobody wrote down. Per-value strata keep the adaptivity and give up lane uniformity. A shared exponent across a whole tensor keeps the lanes and gives up per-value range. Shift-only additive powers of two keep both and constrain what a value may be. All three ship, with a table of which to use when, so the trade-off is chosen for a part and a workload rather than inherited from whichever one was written first.","open-source-numerus.3df58fd6a2":"Three answers, not one compromise","open-source-numerus.cb3e30b5eb":"The set of magnitude bands a tensor is allowed to use. A preset ships one. This can derive the one your own data needs.","open-source-numerus.445e3bff6d":"Exponent list","open-source-numerus.5ceafb2975":"The format this family implements. Mirfarshbafan, Filliol, Castaneda and Studer, ETH Zurich, arXiv:2511.17786, November 2025.","open-source-numerus.5fbac884af":"Variable Point","open-source-numerus.a8424ac21e":"A weight tensor spans several orders of magnitude, and one fixed scale either clips the large values or loses the small ones. An exponent per value fixes that and breaks something else: uniform lanes, value independence and adaptive precision cannot all hold at once, and the library says so.","open-source-numerus.491f4125f1":"so it ships three answers","open-source-numerus.8870da803c":"You cannot have all three","open-source-numerus.dc18428cfb":"The adaptive integer/fixed-point family","open-source-numerus.ca78a0e237":"Fixing the unit fixes the meaning. The exponent is a separate problem, and machine learning made it urgent.","open-source-numerus.4224db587b":"SI DERIVED","open-source-numerus.6b25425715":"NO RUNTIME COST","open-source-numerus.178c636980":"COMPILE ERROR","open-source-numerus.52a43cc6b4":"The unit exists only while the code is being compiled, so there is no check at run time to skip and nothing to pay for having it. Quantities print themselves with SI prefixes from nano to tera, and conversions go through factors that compose, so a chain of three conversions is one factor and one rounding rather than three.","open-source-numerus.6bf801370d":"Seven SI base units and fifteen named derived ones, and the algebra composes on its own: divide a length by a time and you are holding a velocity without having asked for one, multiply a mass by an acceleration and you are holding a force. Adding two of them is a compilation error rather than a plausible number.","open-source-numerus.8eaaac391f":"The cost, which is none","open-source-numerus.f28ac6eccc":"Unit errors do not fail loudly. They produce a plausible number, and the number travels. The famous ones destroyed hardware and not one of them was an arithmetic mistake. Here the unit rides in the type, so a length added to a duration is a compilation error, and that exact case is kept as a test which is required to fail the build.","open-source-numerus.491d3801d3":"and the build refuses it","open-source-numerus.5f0c35eac9":"Add a length to a time","open-source-numerus.d33287d9fe":"Dimensions, checked by the compiler","open-source-numerus.801bda057b":"A number can be accurate to the last bit and still be added to the wrong kind of thing.","open-source-numerus.4e0af55321":"COUNTEREXAMPLE","open-source-numerus.8e351f6ac8":"PROVEN IN RANGE","open-source-numerus.46473dcca3":"256 BITS","open-source-numerus.9f7d52dda0":"The other half of the evidence is not measurement at all. Commutativity, associativity, distributivity and freedom from overflow are proven over every input in a range you declare where the solver is installed, and where it is not you get bound propagation and interval arithmetic, which are useful and are not proofs. Either way, a property that does not hold comes back with the input that breaks it.","open-source-numerus.c7bf712742":"The reference is 256 bits and correctly rounded, which is what makes the comparison a measurement rather than a second opinion: five binary formats from an eight-bit part to a 128-bit accumulator, three decimal precisions, four adaptive integer/fixed-point configurations including a dense one. Be wary of any library that hands you an accuracy figure without saying what it was measured against.","open-source-numerus.bab45bd119":"The two halves","open-source-numerus.7fe96ac73f":"Every integer maths library claims accuracy in a doc comment, and a doc comment is not evidence. The way to know is to compute the same function at much higher precision, correctly rounded, and compare the two. That harness is here, and it sweeps all three numeric families rather than the convenient one.","open-source-numerus.ba7813ff98":"and algebra is a proof","open-source-numerus.b3048413ce":"Accuracy is a measurement","open-source-numerus.c825d610aa":"Where an accuracy claim comes from","open-source-numerus.70829c9269":"A converging sequence is not an accuracy claim, and the difference between them is a measurement.","open-source-numerus.4f82052cd9":"NORMAL INVERSE","open-source-numerus.98c3450c52":"NO FLOAT PATH","open-source-numerus.4694a5764f":"Large arguments get Payne-Hanek reduction, because naive reduction throws away the low bits of exactly the inputs where somebody notices. The rotation primitive, the reduction and the mode selection are public rather than hidden behind the friendly functions, so you can drive the machinery yourself when you are building something the library does not have.","open-source-numerus.fa775f17a2":"The circular and hyperbolic families are computed by successive rotations, each one a shift and an addition against a stored angle, with polynomial and lookup paths where rotation alone will not reach the accuracy. Shifts and additions are exact, which is what keeps a sine inside the same contract as the addition after it.","open-source-numerus.f626b7a7da":"Under the surface","open-source-numerus.b20d5ebed7":"Taking floating point out of addition is easy. The moment a project needs a sine, a logarithm or an inverse hyperbolic function, almost all of them call the standard library, and the determinism the whole project was built for leaves through that one call. This is where the work actually is.","open-source-numerus.207ce64352":"and a small table of angles","open-source-numerus.d9dca2b59e":"Sine, from shifts and adds","open-source-numerus.9f538d1a9e":"The part everyone else delegates","open-source-numerus.cd30284dbe":"Three of the eight stop being reproducible the moment a compiler reorders your loop.","open-source-numerus.a73ff7e10a":"UNBIASED","open-source-numerus.7073b6ede1":"BANKERS","open-source-numerus.58b50d5e46":"EIGHT MODES","open-source-numerus.db5a2d4626":"That is usually where reproducibility ends, because the draw comes from the operating system. Not here. It is derived from the seed mixed with the value's own bits, so the sequence is unbiased and repeatable at the same time, which is the pair people assume they have to choose between.","open-source-numerus.e374548852":"Seven of the eight are what you would expect, including the banker's rounding financial reporting asks for by name. The eighth is stochastic: round up with probability equal to the fractional part, so the expected value equals the input and a long accumulation does not lean in one direction.","open-source-numerus.5b2e492a62":"The unobvious one","open-source-numerus.81a8fb484b":"Division and rescaling land between two representable values, and something has to choose. In most languages that choice was made for you by the hardware, and it is not the same choice everywhere. Here it is eight named policies, fixed per contract, and all eight belong to every numeric family rather than to the decimal one with the others inheriting whatever the word size does.","open-source-numerus.1fd478de95":"and not a library default","open-source-numerus.cf57959b90":"Rounding is a policy here","open-source-numerus.9949b2820e":"At the last place","open-source-numerus.47ca1c6127":"Exactness runs out at the last place, and something has to decide what happens there.","open-source-numerus.7197b75be7":"18 PLACES","open-source-numerus.572cea4fb5":"NAMED TYPES","open-source-numerus.95046ea2da":"EXACT CENTS","open-source-numerus.65d9136c66":"Two places over a 64-bit word covers plus or minus 92,233,720,368,547,758.07 at one cent, which is more money than exists, so range is not the constraint people arrive expecting. Money, price, rate, tax and a precise variant are named types over that same storage, so a rate cannot be added to an amount by accident.","open-source-numerus.91051a358a":"So the decimal family scales by powers of ten, and one generic type covers the whole of it: two places behind the point or eighteen, over storage from eight bits up to a hundred and twenty eight, so the choice you make is how many places the figures need rather than which type to reach for. The scale is part of the type, not a convention.","open-source-numerus.0a67062b3f":"Add one cent to a running total a thousand times in an external ordinary floating-point baseline and you are holding 9.999999999999831 euro rather than ten. Nothing failed. A tenth has no exact binary representation, in the same way a third has no exact decimal one, and a thousand invisible errors is a visible one.","open-source-numerus.0d6bd52c95":"and it stays a whole number","open-source-numerus.7a1e604683":"A cent is a whole number","open-source-numerus.00b6ae6a9e":"Base ten, deliberately","open-source-numerus.94d3621acd":"Powers of two are the wrong denominator for money, and money is where this gets noticed first.","open-source-numerus.ca331d8521":"EXPLAINED","open-source-numerus.50060efcf9":"NO DEFAULT","open-source-numerus.24707b906b":"8 TO 1024 BITS","open-source-numerus.a79b7e8919":"At 128 bits three variants differ only in how much of the word is fractional, because a physics accumulator and a currency total want the split in different places. Beyond the machine word, big fixed-point aliases run at 128, 256, 512 and 1024 bits. Choosing between them is the one arithmetic decision the profile registry helps explain.","open-source-numerus.15008a34e6":"Widths run from eight bits, which suits a motor controller with room for nothing larger, up to a thousand and twenty four. The same operations exist at every width, so widening a calculation changes one declaration and nothing else, and the recorded fractional split lets the same contract be rebuilt later rather than guessed at.","open-source-numerus.ee0adac20d":"A control loop runs for two years, then a sensor's range changes and the values start clipping at a boundary nobody documented. An external floating-point baseline hid that boundary by choosing it for you, automatically, badly, and differently on different hardware. Fixed point makes you state it, which is the cost, and then holds you to it, which is the point. Width is part of that profile, from 8 to 1024 bits. Widening changes a declaration but also changes storage and throughput; the recorded fractional split lets the same contract be rebuilt rather than guessed.","open-source-numerus.5c6e1e9089":"before anything is added","open-source-numerus.0cd2ff5432":"The precision is chosen","open-source-numerus.3353bcf7b0":"How much room the number gets","open-source-numerus.eeda4aa3d2":"The mode fixes what the answer will be. It says nothing about how much room the answer has.","open-source-numerus.7a5ffa714b":"SAME BITS","open-source-numerus.b6ade28fc6":"STRICT BY DEFAULT","open-source-numerus.51e884a154":"INTEGER ONLY","open-source-numerus.e916511f51":"That mode refuses the rounding policies that stop being reproducible once an optimiser reorders a loop, and it refuses them at the call, naming the policy and the mode that rejected it, rather than logging a warning somebody reads next quarter. Loosening it is one scope, one deliberate act, and a seed written down.","open-source-numerus.093f899b71":"Here it is chosen, and then enforced. Three modes exist and the strict one is the default, so reproducible behaviour is what you get for not thinking about it rather than what you get for reading the manual. The contract covers precision, the rounding policy and the behaviour on overflow, which are the three decisions nobody wrote down before.","open-source-numerus.896b2f37be":"The mechanism","open-source-numerus.ea7dce9c2c":"Same figures, same code, two machines, and a total that differs in the last place. There is no mistake to find, which is why finding it takes a week. The additions rounded in a different order, and rounding order is not a thing anybody wrote down. The arithmetic is the last place people look because it is the one part nobody chose.","open-source-numerus.7d80a8c051":"and two different answers","open-source-numerus.c27a810444":"Two runs, the same inputs","open-source-numerus.4ad3d92fcf":"Before the first calculation","open-source-numerus.2776f33d7e":"Permissive licence, no service","open-source-numerus.b48513e4d1":"Commercial","open-source-numerus.1cc470bc66":"A package for the auditor","open-source-numerus.c9e5cafa69":"Certification","open-source-numerus.90968abe9d":"The periods the rules specify","open-source-numerus.c7199d9e95":"Retention","open-source-numerus.9d437a92cc":"A record that re-runs","open-source-numerus.6e91802366":"The evidence","open-source-numerus.b01daef492":"Stated once, in the contract","open-source-numerus.91af116d0f":"The rounding point","open-source-numerus.65450f4351":"Recorded before the calculation","open-source-numerus.55acf508d8":"The decision","open-source-numerus.81e5fad7a2":"Operating sheet","open-source-numerus.2774b25b4c":"What it costs to keep","open-source-numerus.8162b5640b":"Where the week goes","open-source-numerus.84e9a242c7":"Numerus is a deterministic fixed-point arithmetic library in Rust under Apache-2.0. The precision, rounding point and retention period are chosen before the calculation, recorded with the reasoning, and rerun on a reviewer's own machine to the last digit.","open-source-numerus.ccfe4aea6e":"year after year","open-source-numerus.71efe0ab52":"answers for itself,","open-source-numerus.3a5bd18e81":"Fixed-point arithmetic that","open-source-numerus.6278dddc6d":"People, not the arithmetic","open-source-numerus.adc5999ef1":"Who decides","open-source-numerus.4ebb98d4c8":"The change shows up","open-source-numerus.83c0ca5350":"If it is altered","open-source-numerus.e4928b59e8":"Nothing has to leave","open-source-numerus.fbe935e139":"What it sends","open-source-numerus.ba2da699b3":"How the figure was reached","open-source-numerus.791236e2aa":"What it keeps","open-source-numerus.e7c14145c9":"Your meter, your phone, a bank","open-source-numerus.9b64207523":"The same sum, the same answer","open-source-numerus.8e639f755b":"What it does not fix","open-source-numerus.620cbb12c8":"Numerus is a library for calculations that must come out the same every time. Your bill, your meter reading and a dose on a ward are all sums. It works in whole numbers, so the answer is the same on a phone, on a server in another country and on a card reader nobody has updated in years.","open-source-numerus.a3285469a8":"everywhere","open-source-numerus.bd5e3bee59":"worked out the same way","open-source-numerus.dfa24d86c3":"A sum about you,","open-source-numerus.61223da4a3":"Rust, from 1.70","open-source-numerus.594b056c06":"Strict mode, by default","open-source-numerus.6791b6a404":"Eight named policies","open-source-numerus.905cc37924":"Rounding","open-source-numerus.3b1dbc2888":"Eight bits to 1024","open-source-numerus.d8e4d9f41d":"Widths","open-source-numerus.de933a6a39":"Binary, decimal, adaptive and integer","open-source-numerus.37e616d405":"Families","open-source-numerus.cad860a08a":"Integer only, no float path","open-source-numerus.45f053dc73":"Arithmetic","open-source-numerus.6447528d87":"Start at the contract","open-source-numerus.7d566de623":"Numerus is a Rust library for arithmetic that has to survive review. Precision and the rounding policy are chosen before the calculation runs, properties are proven over a range you declare, and every operation can carry the line that produced it. Apache-2.0, publishing in the second round of the foundation release programme.","open-source-numerus.4c4089c6a1":" on every supported machine","open-source-numerus.5c56ec9b87":"to the last bit,","open-source-numerus.76f4e3b6fe":"RE-RUN","open-source-numerus.68c46e84d7":"plain","open-source-numerus.e62a8de84b":"The shared foundation","open-source-numerus.54fcf6ae0e":"One core, three families","open-source-numerus.c311b9ca81":"and seven build targets","open-source-numerus.a79222eae9":"Underneath the three numeric families, Numerus keeps interval arithmetic, exact rationals, a differentiation tape and an error model under one numeric contract. Capabilities that usually arrive as separate libraries share the same deterministic arithmetic here.","open-source-numerus.0a4abf33e5":"Numerus is a Rust library under Apache-2.0 with a minimum supported Rust version of 1.70. Every crate root enables no_std when the standard library feature is off, so the same arithmetic runs on a microcontroller and on a server, and the answer is the same on both.","open-source-numerus.b888e4aff6":"Continuous integration exercises seven targets: x86_64 Linux, aarch64 Linux, wasm32, riscv64 Linux, x86_64 macOS, aarch64 macOS and x86_64 Windows. Fuzzing stresses conversion, division, CORDIC, overflow detection, quantisation, learned exponents and expression inputs.","open-source-numerus.93123bfb91":"NO_STD","open-source-numerus.3728b5ec6c":"SEVEN TARGETS","open-source-numerus.1d1377b957":"APACHE-2.0","open-source-numerus.5933d65e0d":"Every target runs the same numeric contract, which is what the business case is built on.","open-source-numerus.6cd275b9b0":"What comes off the list","open-source-numerus.103f3af7b7":"One component, seven jobs","open-source-numerus.e0f9e3f160":"and one thing to review","open-source-numerus.8fc6fe8733":"Exact money arithmetic, a recorded numeric decision, a replayable record, retention against named regimes, measured energy, carbon by region and a certification package are usually separate purchases, spreadsheets or internal work. Numerus supplies all seven from one library, under one licence, with one bill of materials.","open-source-numerus.de2e81cfc5":"What that consolidates","open-source-numerus.79a52ddc94":"Five compliance artefacts are generated from the source instead of maintained by hand. Nine grid regions replace the emissions spreadsheet, three retention regimes replace a rotation setting, and a queryable profile registry replaces the numeric standards note nobody wrote.","open-source-numerus.a12d118e35":"The whole of it arrives as one dependency in your build. The supply chain review, licence check and version decision happen once rather than seven times, and the bill of materials that lists it is generated from the same source as everything else in the set.","open-source-numerus.543e8aa8fc":"ONE DEPENDENCY","open-source-numerus.60d652d00c":"ONE REVIEW","open-source-numerus.7d9f22aec8":"ONE SBOM","open-source-numerus.1c2f0e3028":"And every one of those seven ends up in the hands of somebody who never reads a specification.","open-source-numerus.3d7125630c":"Repository","open-source-numerus.310a841317":"Publishes in round two of the","open-source-numerus.1f88fd37f7":"foundation release programme","open-source-numerus.3c8f84ea1d":"The instructions Numerus follows to work out a sum publish under Apache-2.0 terms in that round. Read, use and check them the day the repository goes live.","open-source-numerus.058cac8a2a":"Why that matters to you","open-source-numerus.d3b0193224":"Most of what decides a figure about you is closed. Numerus publishes its source under Apache-2.0 terms in the second round of Dweve's foundation release programme. A regulator will be able to inspect how a rounding was done, a consumer organisation will be able to check the arithmetic behind a tariff, and your bank's auditors will be able to read the same lines your statement came out of.","open-source-numerus.5572410810":"Because the same code produces the same answer everywhere, what they read is what ran rather than a description of what ran written by somebody who wanted it to look reasonable. A rounding they disagree with can be pointed at by line, and a figure they work out on their own machine comes out the same as the one on your statement.","open-source-numerus.769ea0f20e":"ROUND TWO","open-source-numerus.b396600e58":"EUROPEAN","open-source-numerus.3f0a3c5adf":"INSPECTABLE","open-source-numerus.267c735754":"The sum is exact, the working is kept, and the method can be inspected once the repository publishes.","open-source-numerus.6c7509f834":"See who can check it","open-source-numerus.650fabe787":"Open Source","open-source-numerus.0c881365f2":"wherever they are worked out","open-source-numerus.close.panel.title":"Project sheet","open-source-numerus.close.panel.tag":"NUMERUS","open-source-numerus.close.panel.foot":"Publication is planned in fortnightly rounds. Numerus and its documentation go live together, in the second round.","oss-numerus-band-banner.2ec24105df":"published in the library’s own documentation, not extracted from us","oss-numerus-band-banner.0a77c20603":"The energy figures here come from the processor’s own counters, and they arrive with\n          their limits published: the resolution of a single count, how often the counter moves, the\n          floor below which a reading is noise, and the spread between two runs caused by nothing\n          more than how warm the machine was. The same documentation lists the virtualised\n          environments where the counters return nothing usable at all. A figure that tells you when\n          to ignore it is the only kind you can put in a report.","oss-numerus-band-banner.a6b6dafd48":"Sustainability and efficiency reporting mostly runs on models. A rate per hour, multiplied\n          by hours, signed off. Nobody is being dishonest, and nobody can tell you what the actual\n          figure was either, because nothing measured it. When a real measurement does turn up, it\n          usually arrives as a single number with no indication of how much to trust it, which is the\n          same problem wearing better clothes.","oss-numerus-band-banner.447c05d49f":"Most reports omit it.","oss-numerus-band-banner.bdd3db6770":"Every measurement has a band.","oss-numerus-band-banner.cc61349d16":"The honesty test","oss-numerus-band-banner.2d4acdf970":"a figure you can actually quote","oss-numerus-band-banner.92f017dcd5":"the figure a report would carry, and everything it has to carry with it","oss-numerus-band-banner.6ff8277fb0":"energy for this workload","oss-numerus-band-banner.997e4c7e81":"with its band","oss-numerus-band-banner.420da93ef3":"One energy reading","oss-numerus-band-banner.7b622aa6b2":"and the machines where it means nothing","oss-numerus-band-banner.d676a41ee3":"the spread between runs","oss-numerus-band-banner.a3b93e1e4c":"the floor under which it is noise","oss-numerus-band-banner.18cfd1b36d":"how often it advances","oss-numerus-band-banner.a24cc0ef15":"counter resolution","oss-numerus-bill-copies.66b3215738":"and nothing said they had to match","oss-numerus-bill-copies.e0651abf64":"three copies of one bill","oss-numerus-bill-copies.94727909fd":"Two copies","oss-numerus-bill-copies.399b4495ea":"(of a bill you thought was one)","oss-numerus-bill-copies.037a7fb80c":"Three copies","oss-numerus-bill-copies.98ea09ff2d":"Whichever a person looks at first. Then you get the call.","oss-numerus-bill-copies.79091c8174":"The one that wins","oss-numerus-bill-copies.1f4862cd59":"Worked out again from the same items, by different software.","oss-numerus-bill-copies.84ac82d9e9":"Your bank's","oss-numerus-bill-copies.7881e5c0a3":"The till's own total, which is the figure that gets banked.","oss-numerus-bill-copies.22845b1c34":"The shop's","oss-numerus-bill-copies.78ae5a9bb2":"A receipt or a line in an app. The one you would check.","oss-numerus-bill-copies.8fe766d863":"The one you hold","oss-numerus-boundary-banner.20f86c290c":"the design philosophy, stated in the source rather than discovered afterwards","oss-numerus-boundary-banner.d93ff78a49":"every float in the program is one call","oss-numerus-boundary-banner.a74cb00543":"explicit conversion out","oss-numerus-boundary-banner.bff6be22be":"nothing implicit between them","oss-numerus-boundary-banner.c303038ef4":"integer arithmetic throughout","oss-numerus-boundary-banner.9ab5c9a091":"explicit conversion in","oss-numerus-boundary-banner.90367e89aa":"two calls","oss-numerus-boundary-banner.2f45a2aafc":"The float boundary","oss-numerus-boundary-banner.df224c7aff":"So the boundary is a stated rule rather than an emergent property. Convert in, explicitly,\n          at the edge. Do the whole calculation in integers. Convert out, explicitly, at the other\n          edge. Nothing between the two touches a float, which means every place floating point\n          meets your program is a call you can find, count and review, and the ones that should not\n          be there stand out because they are the only ones.","oss-numerus-boundary-banner.66992e2b63":"Most projects that set out to remove floating point end up with it distributed everywhere\n          in small amounts: a conversion here for convenience, a standard library call there for a\n          function nobody wanted to write, a comparison that was easier as a double. The determinism\n          does not fail loudly. It simply is not there when somebody finally checks.","oss-numerus-boundary-banner.d4ced69744":"One conversion out.","oss-numerus-boundary-banner.f594c669f3":"One conversion in.","oss-numerus-boundary-banner.567c2090fc":"The design, stated as a rule","oss-numerus-break-file.dfd69d2a5a":"Reconciliation note review","oss-numerus-break-file.128aa4495a":"Four closed notes show the same rounding decision without an owner.","oss-numerus-break-file.7e5927fab3":"the days are invented, the two filled fields are not","oss-numerus-break-file.8d22ec1e3e":"one cause, no action","oss-numerus-break-file.0c9e4e5397":"four notes,","oss-numerus-break-file.8743324c35":"Every field above this one is blank, because there is no amount, no quarter and no number of\n          days attached to a decision that was never taken.","oss-numerus-break-file.6f9670d6b3":"The rounding point was never chosen by anybody.","oss-numerus-break-file.201af420b8":"the note nobody wrote","oss-numerus-break-file.972837b890":"after the fourth","oss-numerus-break-file.957086adb7":"raised again","oss-numerus-break-file.61373dc6d5":"after the third, on the grounds that the amount was immaterial","oss-numerus-break-file.84e428fcb1":"after the second note","oss-numerus-break-file.3b0e6b1b69":"closed, no further work raised","oss-numerus-break-file.26256f2776":"rounding difference","oss-numerus-break-file.7dd4c80df6":"days taken","oss-numerus-break-file.e23d0b8ee8":"cause identical on all four","oss-numerus-break-file.59ba10d23f":"reconciliation notes / four quarters","oss-numerus-break-file.d7df892f80":"5 days","oss-numerus-break-file.e9e093df32":"Q1 2025","oss-numerus-break-file.f69677afe7":"9 days","oss-numerus-break-file.6d939e36de":"Q4 2024","oss-numerus-break-file.8948b448fd":"4 days","oss-numerus-break-file.0f0065184d":"Q3 2024","oss-numerus-break-file.6447375004":"6 days","oss-numerus-break-file.33e3cd2f00":"Q2 2024","oss-numerus-break-hunt.c55381d08e":"the order is the problem","oss-numerus-break-hunt.00428e091c":"each step is reasonable","oss-numerus-break-hunt.7dffc25fc2":"Typical","oss-numerus-break-hunt.220309272d":"in the order people look","oss-numerus-break-hunt.8162b5640b":"Where the week goes","oss-numerus-break-hunt.53558ece16":"Last, if at all, because nobody chose it and nobody owns it.","oss-numerus-break-hunt.e9959dc24a":"The arithmetic","oss-numerus-break-hunt.3912d0d7fa":"Versions, images, hosts. Plausible, and hard to rule out.","oss-numerus-break-hunt.90a2a394df":"The infrastructure","oss-numerus-break-hunt.abcf52c028":"Looked at second, and often the answer. So this is where habit sends you.","oss-numerus-break-hunt.3eaad00bc0":"The data","oss-numerus-break-hunt.6fbd775722":"Looked at first, and usually innocent. It is also the cheapest to rule out.","oss-numerus-break-hunt.31d2458be6":"The logic","oss-numerus-business-glyph.efab757f4f":"Q-format","oss-numerus-business-glyph.4412ffc031":"Binary fixed-point","oss-numerus-business-glyph.e4c3a2d0cc":"Decimal","oss-numerus-business-glyph.c6908c3bf8":"Base-10 fixed-point","oss-numerus-business-glyph.464a2d44fc":"AXIOM","oss-numerus-business-glyph.d2e8d492a3":"Adaptive eXponent Integer-Only Math","oss-numerus-business-glyph.05fc94b014":"Engineer","oss-numerus-business-glyph.6c3b378e82":"Auditor","oss-numerus-business-glyph.b2efeaa1a7":"Cloud","oss-numerus-business-glyph.2621c6fd51":"Archive","oss-numerus-business-glyph.916ab027d4":"Three families, one engine","oss-numerus-business-glyph.7d52f9bd83":"Deterministic arithmetic","oss-numerus-business-glyph.f6798670ec":"Deterministic","oss-numerus-business-glyph.8946a066ff":"Numeric families","oss-numerus-business-glyph.93b9e289e2":"Types","oss-numerus-business-glyph.3477f4d91d":"Same answer","oss-numerus-business-glyph.9178e55001":"Same profile, same replay path","oss-numerus-business-glyph.6d1af2eb43":"Tolerance-scoped transcendentals","oss-numerus-business-glyph.21ad91a615":"Integer-oriented CORDIC","oss-numerus-business-glyph.e85dd9eeda":"Scoped dependencies","oss-numerus-cent-ledger.a5f896c4ed":"the 434 is the row to reproduce first","oss-numerus-cent-ledger.9244d29b8c":"one cent gone","oss-numerus-cent-ledger.930b4484ba":"three rows,","oss-numerus-cent-ledger.af6dd52481":"A reconciliation process can be built on the right hand column. On the left, every figure is\n          a display of something slightly else, and the difference reaches the ledger the moment a\n          value is moved into the units it is settled in.","oss-numerus-cent-ledger.a46ca58a30":"ten euro, to the cent","oss-numerus-cent-ledger.8194407c06":"ten euro was the intention","oss-numerus-cent-ledger.73881967e5":"the same error, at scale","oss-numerus-cent-ledger.2beee8d358":"one cent, a thousand times","oss-numerus-cent-ledger.ee5d354a3a":"no conversion, nothing to truncate","oss-numerus-cent-ledger.1cf4a36cea":"435 cents","oss-numerus-cent-ledger.861e286f41":"one cent, lost on a line no reviewer stops at","oss-numerus-cent-ledger.9444579bbc":"multiplied by a hundred, whole part taken","oss-numerus-cent-ledger.b45051395a":"4,35 moved into cents","oss-numerus-cent-ledger.4082e4bb95":"point placed at the end, 38,97","oss-numerus-cent-ledger.b4978010bb":"the value actually held","oss-numerus-cent-ledger.0f3ebc4a64":"added, then displayed","oss-numerus-cent-ledger.f278b24eac":"three items at 12,99","oss-numerus-cent-ledger.5b584cdbcc":"nothing behind the point","oss-numerus-cent-ledger.3521540d15":"held as whole cents","oss-numerus-cent-ledger.147e826a6e":"the total looks right","oss-numerus-cent-ledger.5e4be73b29":"held as a binary fraction","oss-numerus-cent-ledger.482b0a6343":"the case","oss-numerus-cent-ledger.2b3c05a394":"reproducible in a console","oss-numerus-cent-ledger.7dd7098885":"one cent booked short","oss-numerus-cent-ledger.2061ee7cd2":"one basket / two representations","oss-numerus-consumer-glyph.1d12bdc1eb":"the very same figure","oss-numerus-consumer-glyph.1948bf2dfa":"Tomorrow","oss-numerus-consumer-glyph.bb2f078f93":"A computer far away","oss-numerus-consumer-glyph.6fb8eb6f63":"They match","oss-numerus-consumer-glyph.d070144394":"your shopping bill","oss-numerus-consumer-glyph.24345a1437":"Today","oss-numerus-consumer-glyph.f811e564d9":"Your computer at home","oss-numerus-consumer-glyph.3ee878c805":"The way a good ruler always measures the same","oss-numerus-consumer-glyph.ae07774871":"The same answer, every time","oss-numerus-consumer-glyph.821a2d6873":"Safe and built in Europe","oss-numerus-consumer-glyph.94d828e1de":"The result does not drift","oss-numerus-consumer-glyph.e371ff0a33":"A person stays in charge","oss-numerus-cordic-walk.7cf480691a":"a drawing of only the convergence draws the part that works","oss-numerus-cordic-walk.4b2da57350":"two reductions","oss-numerus-cordic-walk.8f942afd3b":"eight swings,","oss-numerus-cordic-walk.b3b9dd6fd6":"256-bit reference","oss-numerus-cordic-walk.2a2e3022a1":"sine returned","oss-numerus-cordic-walk.def537169a":"reduced argument","oss-numerus-cordic-walk.c3a4597d63":"Payne-Hanek reduction","oss-numerus-cordic-walk.c409977aaf":"Each multiple carries an error of about two and a half millionths, and there are one and\n              a half million of them. The low bits of the reduced argument are gone, and the answer is\n              not close.","oss-numerus-cordic-walk.ddb2fd82a8":"multiples removed","oss-numerus-cordic-walk.c3829b3eba":"2 pi to sixteen fractional bits","oss-numerus-cordic-walk.798e461187":"the constant used","oss-numerus-cordic-walk.95881ce546":"naive reduction","oss-numerus-cordic-walk.390cfa727d":"taken twice, on the same input","oss-numerus-cordic-walk.4c7dc68481":"the sine of 10 000 000 radians","oss-numerus-cordic-walk.d9b149d8e7":"Nothing happened here but shifts and additions against a stored angle, so the iteration\n            count is a design parameter rather than a mystery.","oss-numerus-cordic-walk.dab659e3a4":"four more, below the scale","oss-numerus-cordic-walk.c1ad35c716":"three places","oss-numerus-cordic-walk.03b552038f":"two places","oss-numerus-cordic-walk.0a67800d69":"one place","oss-numerus-cordic-walk.51c1c79b72":"no shift","oss-numerus-cordic-walk.9f7d786127":"0,7 target","oss-numerus-cordic-walk.f9487e636d":"each one a shift and an addition","oss-numerus-cordic-walk.f532f15c41":"eight swings onto 0,7 radians","oss-numerus-cordic-walk.f4de296635":"the easy reduction is wrong here","oss-numerus-cordic-walk.dd9aaff072":"rotation / argument reduction","oss-numerus-core-parts.70abdb1a8f":"one numeric contract","oss-numerus-core-parts.8ab8bee195":"One core, four capabilities","oss-numerus-core-parts.68836c550e":"Core","oss-numerus-core-parts.e45b9b9e2d":"under all three families","oss-numerus-core-parts.59b714b966":"In the core","oss-numerus-core-parts.49de0a166e":"Error distributions and laws make a bound derived rather than assumed.","oss-numerus-core-parts.c248db977b":"Error model","oss-numerus-core-parts.2380009c51":"Variables and gradients remain attached to the expression.","oss-numerus-core-parts.6ae37d1c5d":"Differentiation tape","oss-numerus-core-parts.46cdc361d6":"A third remains a ratio rather than a decimal that stops.","oss-numerus-core-parts.a49b62e167":"Exact rationals","oss-numerus-core-parts.7436294aed":"A range travels with the calculation, together with a verification result.","oss-numerus-core-parts.bbe87bbc48":"Interval arithmetic","oss-numerus-counterexample.9c7e4ac62c":"a doc comment never tells you the range","oss-numerus-counterexample.7e993adbc8":"one broken","oss-numerus-counterexample.e7f3438b4b":"one proven,","oss-numerus-counterexample.b79ade37e5":"The solver is an optional install. Without it the same two questions come back as bounds\n            rather than as verdicts, which is useful and is not a proof.","oss-numerus-counterexample.9fa5eb6694":"Nothing about that pair is unusual, which is why a test written by a person walks straight\n            past it.","oss-numerus-counterexample.dfa9a03913":"7 232 past it","oss-numerus-counterexample.c59e5ffa10":"32 767,99998, the format ceiling","oss-numerus-counterexample.a9485eb99f":"second, bounded at 400","oss-numerus-counterexample.f10b2aa73b":"first, bounded at 100","oss-numerus-counterexample.30320fda03":"the solver returned the pair that breaks it","oss-numerus-counterexample.234db57fa3":"Two values, the first bounded at 100 and the second at 400. Can their product overflow a\n            format whose largest value is a little under 32 768?","oss-numerus-counterexample.fb25b45e6a":"question two","oss-numerus-counterexample.84fe024819":"outside that range, nothing was claimed","oss-numerus-counterexample.f2205866fc":"-1024,0 to 1024,0","oss-numerus-counterexample.d12d8b0f67":"for every pair in","oss-numerus-counterexample.5f6216a86a":"Addition is associative over a format with sixteen fractional bits, for every input inside\n            a stated range.","oss-numerus-counterexample.00e91fde18":"question one","oss-numerus-counterexample.954a53db68":"range declared","oss-numerus-counterexample.3a445f7755":"proven in range","oss-numerus-counterexample.328124ec44":"algebraic properties / two questions","oss-numerus-energy-scope.9e6a3aff50":"a measurement that says when not to trust it","oss-numerus-energy-scope.2c1471c590":"one band","oss-numerus-energy-scope.3904fb7e77":"one figure,","oss-numerus-energy-scope.673e853fc2":"the meter reports that it is unsupported instead of estimating","oss-numerus-energy-scope.04ae3c2fb8":"Hyper-V","oss-numerus-energy-scope.33fee39b98":"VMware","oss-numerus-energy-scope.c8a9cd540a":"nothing comes back at all","oss-numerus-energy-scope.5eb73d011d":"Reads exactly as well as the host underneath it, and no better.","oss-numerus-energy-scope.fdc366f96b":"a container","oss-numerus-energy-scope.d392725798":"Returns a figure, and it covers only part of what the counters cover.","oss-numerus-energy-scope.ee8445bbb3":"a virtual machine without passthrough","oss-numerus-energy-scope.5630d51a50":"virtual machine, counters passed through","oss-numerus-energy-scope.cb8a3620fc":"bare metal","oss-numerus-energy-scope.72fdbf7018":"counters present, to specification","oss-numerus-energy-scope.de4e452ed7":"where the counters stop existing","oss-numerus-energy-scope.e6db870cf7":"The band is what leaves the panel. The single figure sits inside it, because the figure\n              is the least reliable thing on the drawing.","oss-numerus-energy-scope.32effebef3":"23 J","oss-numerus-energy-scope.67a1c3e9cc":"18,6 J","oss-numerus-energy-scope.5815001b51":"14 J","oss-numerus-energy-scope.b7c16138e3":"plus or minus 10 per cent from the vendor, and 5 to 15 per cent a warm machine adds\n              between one run and the next","oss-numerus-energy-scope.33643d10ab":"Three orders of magnitude clear of the floor under which a reading stops meaning\n              anything, which is why the workload was chosen large.","oss-numerus-energy-scope.bbaac5245f":"uJ, running total","oss-numerus-energy-scope.3b28bbc4c1":"the tens and units sit below the counter's own step of 15 to 32 uJ, so they are\n                decoration","oss-numerus-energy-scope.8da5012076":"run long enough to cross the counter's update interval, which is the condition short\n              measurements quietly fail","oss-numerus-energy-scope.76e137f73c":"forty million sine evaluations at Q15_16","oss-numerus-energy-scope.e34ededdc4":"the workload","oss-numerus-energy-scope.8be6fdb906":"platform limited","oss-numerus-energy-scope.014a75b7a7":"one reading / where it exists","oss-numerus-every-digit.7d8c33d6c1":"you can check the upper one on the machine you are holding","oss-numerus-every-digit.ce9c10241f":"two answers","oss-numerus-every-digit.ee6ea2c998":"one sum,","oss-numerus-every-digit.f37b9999cd":"Every machine working this way lands on the lower line, including the one on the shop\n          counter that nobody has touched in a decade.","oss-numerus-every-digit.8ee216bfcb":"and the comma put back at the end: 0,30","oss-numerus-every-digit.b1d81f2c6a":"the same sum, in whole numbers","oss-numerus-every-digit.9ff855827f":"Far too small to matter once. Nothing on a bill happens once.","oss-numerus-every-digit.bda0a1e6df":"This is not a fault, and almost every machine does it. A fraction has to be built out of\n              halves and quarters, and a tenth cannot be.","oss-numerus-every-digit.5e4228edda":"what a person would have written","oss-numerus-every-digit.79c2f9afcf":"it answers, with every digit it is holding","oss-numerus-every-digit.eb6dfb12f8":"you type","oss-numerus-every-digit.fc44931681":"a calculator, anywhere","oss-numerus-every-digit.3bc6336070":"true on almost every machine","oss-numerus-every-digit.6937439ae0":"nothing here is broken","oss-numerus-every-digit.120862b993":"a tenth plus two tenths","oss-numerus-exponent-learn.6043b794d9":"Variable Point, implemented as published, credited here","oss-numerus-exponent-learn.db652f5e8c":"one fits this layer","oss-numerus-exponent-learn.f7da1c6278":"two lists,","oss-numerus-exponent-learn.e81c6af33c":"The check runs on values neither list was derived from, which is what makes the choice\n            between them a measurement rather than a preference.","oss-numerus-exponent-learn.14c89cbace":"and one occupied band with no level to represent it","oss-numerus-exponent-learn.8dcec40739":"2 of 5","oss-numerus-exponent-learn.61e25f8b6f":"preset list","oss-numerus-exponent-learn.16a28dece2":"levels landing inside a band the layer actually occupies","oss-numerus-exponent-learn.0e100508fa":"5 of 5","oss-numerus-exponent-learn.e773dfab3d":"derived list","oss-numerus-exponent-learn.934c008829":"step four, validate on held-out data","oss-numerus-exponent-learn.656d04c188":"leading zeros across the layer weights","oss-numerus-exponent-learn.28e38688bd":"preset level\n              with nothing under it","oss-numerus-exponent-learn.a10499c2ec":"preset level","oss-numerus-exponent-learn.14bc4c2aac":"derived level","oss-numerus-exponent-learn.ea3c8d3177":"band two","oss-numerus-exponent-learn.d6ee0c37a8":"band one","oss-numerus-exponent-learn.8aac94ad27":"steps one and two, histogram then cluster","oss-numerus-exponent-learn.94115127c7":"has\n                no level near it","oss-numerus-exponent-learn.9bf554b6e6":"three of five spent where the layer has nothing, and the band at 2","oss-numerus-exponent-learn.3f83d4dca3":"no values here","oss-numerus-exponent-learn.a13961193e":"a preset, tuned on other data","oss-numerus-exponent-learn.ec639e78a0":"five levels, all where the mass is","oss-numerus-exponent-learn.ec53c9ff75":"derived from this layer","oss-numerus-exponent-learn.f810bb1b97":"step three, select","oss-numerus-exponent-learn.81ab93bd5d":"arXiv:2511.17786","oss-numerus-exponent-learn.f2b6ad29a5":"three preset levels unused","oss-numerus-exponent-learn.9a6d83330f":"one attention projection layer","oss-numerus-fit-test.a537ddc1a0":"a page that cannot name where it does not fit has not been honest","oss-numerus-fit-test.c3dd687f9d":"five not","oss-numerus-fit-test.7dd9f4256b":"five worth it,","oss-numerus-fit-test.c60ab1dfe6":"Where it fits, the reason is almost always that a figure leaves the building and comes back\n          as a question. Where it does not, an external floating-point baseline is less work and we would say so.","oss-numerus-fit-test.ca67156c4c":"nobody is going to ask","oss-numerus-fit-test.8223fbc828":"Not worth the change","oss-numerus-fit-test.be66a9cc6a":"somebody has to answer for the figure","oss-numerus-fit-test.18bb938008":"Worth the change","oss-numerus-fit-test.114b96abc9":"the test is who re-runs it","oss-numerus-fit-test.9b05d53c51":"five of ten say no","oss-numerus-fit-test.f61e5ae1a5":"ten situations / two answers","oss-numerus-fit-test.0bca1678a2":"Choosing the range is real work, and an external floating-point baseline is genuinely less of it.","oss-numerus-fit-test.4f07d7d07e":"Anything you would rather ship than scale by hand","oss-numerus-fit-test.de989459ed":"If the difference cannot reach a decision, the exactness cannot either.","oss-numerus-fit-test.31936e531c":"Anything where the fifteenth digit is nobody's problem","oss-numerus-fit-test.47e025c255":"Produced once, read once. A record of how it was reached buys nothing.","oss-numerus-fit-test.8b4b56e488":"A one-off report","oss-numerus-fit-test.8d3d996b34":"Read at a glance, refreshed hourly, and nobody will re-run it next year.","oss-numerus-fit-test.1600d99079":"A dashboard","oss-numerus-fit-test.63c1932063":"The next question changes the calculation, so nothing is being defended yet.","oss-numerus-fit-test.7ae0995d9a":"Exploratory analysis","oss-numerus-fit-test.ba6abf577a":"Two runs that differ in the last place cannot be told apart from two runs that differ.","oss-numerus-fit-test.618b2c2546":"A long simulation whose runs must compare a year apart","oss-numerus-fit-test.9382c57186":"Shifts and adds are what the part has, and the energy budget is the design.","oss-numerus-fit-test.3410d9e10b":"A model on a part with no maths unit and a five year battery","oss-numerus-fit-test.32a92d3aef":"The auditor reads the numeric contract, so it has to be a document rather than a habit.","oss-numerus-fit-test.83f5bf9fd9":"A certification submission where the arithmetic is in scope","oss-numerus-fit-test.54d88cf2a4":"A behaviour that differs between the two makes the bench worthless as evidence.","oss-numerus-fit-test.bad43d8f85":"A control loop that runs on the bench and in the vehicle","oss-numerus-fit-test.49b834828b":"Both sides compute it, and the answer has to be the same cent or somebody writes it off.","oss-numerus-fit-test.574baa5ebe":"A settlement figure two institutions have to agree on","oss-numerus-function-reach.a8ba898bfe":"and the primitives publish in round two","oss-numerus-function-reach.dd2a7deaa3":"no floating point in any of it","oss-numerus-function-reach.f38263319f":"Reach","oss-numerus-function-reach.a5f20b6361":"where a float library is usually reached for","oss-numerus-function-reach.408992609a":"Past trigonometry","oss-numerus-function-reach.d7ab3873f7":"Density, cumulative, and the inverse cumulative. Also hazard and Mills.","oss-numerus-function-reach.b31e5420bb":"Normal distribution","oss-numerus-function-reach.805b208067":"First and second kind, at first order.","oss-numerus-function-reach.2d1f48b765":"Bessel","oss-numerus-function-reach.fb8549c58b":"The error function and its complement, gamma, log gamma, beta, digamma.","oss-numerus-function-reach.84cd40f23a":"Error and gamma","oss-numerus-function-reach.3681ac0e16":"Both families, and both sets of inverses, by rotation.","oss-numerus-function-reach.a3dfc3abee":"Circular and hyperbolic","oss-numerus-gen-set.bd189b8cf6":"in the form your tooling reads","oss-numerus-gen-set.7b16ae02d9":"the bill of materials completes the five","oss-numerus-gen-set.8eefdd52ad":"Generated","oss-numerus-gen-set.d7df63241a":"one source","oss-numerus-gen-set.40d9c2c679":"Five artefacts","oss-numerus-gen-set.c31e6c6952":"Requirement to test and test to requirement. Both directions, or neither.","oss-numerus-gen-set.61d2e70b54":"Traceability","oss-numerus-gen-set.f4f31cc828":"What was exercised, and what the result was.","oss-numerus-gen-set.03128bed90":"Verification","oss-numerus-gen-set.571dbb7c44":"How it does it, kept in step because it is produced from the same source.","oss-numerus-gen-set.59b0353672":"Design","oss-numerus-gen-set.b4074c2441":"What it must do, numbered, so a finding can cite a line.","oss-numerus-gen-set.09a428f93e":"Requirements","oss-numerus-grid-intensity.05a3927a6e":"and a custom figure is accepted","oss-numerus-grid-intensity.86a970ea3d":"eight regions are named","oss-numerus-grid-intensity.6097563751":"Carbon","oss-numerus-grid-intensity.bd97b0a4fc":"four of the named regions","oss-numerus-grid-intensity.c8e0978b15":"Grams per kilowatt hour","oss-numerus-grid-intensity.96feee15ae":"The highest of the four, and a common default for a European workload.","oss-numerus-grid-intensity.17d53e0e6a":"Germany","oss-numerus-grid-intensity.275a56a8ae":"Nearly six times France, in the same market and the same currency.","oss-numerus-grid-intensity.fb61c8a8eb":"Netherlands","oss-numerus-grid-intensity.300898ffa8":"What a European figure defaults to when the region is unknown.","oss-numerus-grid-intensity.bbe05576d1":"EU average","oss-numerus-grid-intensity.4a4ce59071":"The lowest of the named European regions, by a wide margin.","oss-numerus-grid-intensity.e3772ac4b4":"France","oss-numerus-harness-sweep.bff4917448":"not against the previous release","oss-numerus-harness-sweep.ce843af321":"the comparison is against a reference","oss-numerus-harness-sweep.2b7cfd597f":"Harness","oss-numerus-harness-sweep.72da9fd564":"and what it compares against","oss-numerus-harness-sweep.ba754f344d":"What the sweep covers","oss-numerus-harness-sweep.8448cb8ecc":"256 bits, correctly rounded. Not another approximation.","oss-numerus-harness-sweep.db1c784524":"Reference","oss-numerus-harness-sweep.79db8bf47a":"Four configurations, including a dense variant.","oss-numerus-harness-sweep.6976f7beef":"Adaptive integer/fixed-point","oss-numerus-harness-sweep.5a28ad4b18":"Three precisions, from two places behind the point to six.","oss-numerus-harness-sweep.e4c3a2d0cc":"Decimal","oss-numerus-harness-sweep.52a6bc2b29":"Five formats, from an eight-bit part to a 128-bit accumulator.","oss-numerus-harness-sweep.66639f7d45":"Binary","oss-numerus-hero-glyph.brandLabel":"Numerus","oss-numerus-hero-glyph.6b5eb5323e":"Deterministic arithmetic","oss-numerus-hero-glyph.69df2e5e2b":"Rust 1.70+","oss-numerus-hero-glyph.3db11ca544":"MPFR 256-bit oracle","oss-numerus-hero-glyph.51e884a154":"INTEGER CORE","oss-numerus-hero-glyph.5c8c0cf29f":"same profile, bounded","oss-numerus-hero-glyph.8f71e0ad46":"Same bits, every ISA","oss-numerus-hero-glyph.17fd5b9282":"Crate modules","oss-numerus-hero-glyph.93a23cb0e0":"scoped deps, no_std","oss-numerus-hero-glyph.1b290eb385":"Cargo.toml","oss-numerus-hero-glyph.a9271aa0b4":"rust analyzer","oss-numerus-hero-glyph.ce93c6d9c4":"same replay path","oss-numerus-hero-glyph.aeab5f7e11":"0.30 exact, no drift","oss-numerus-hero-glyph.9d9fdd6b7e":"Dec64_2","oss-numerus-hero-glyph.194d18cf7b":" total = ","oss-numerus-hero-glyph.4b561e088e":"0.47943  bounded","oss-numerus-hero-glyph.ac1550d5ca":" s = b.","oss-numerus-hero-glyph.18fba1651b":"1.5  shift, not float","oss-numerus-hero-glyph.6e047fd5d0":" c = a.","oss-numerus-hero-glyph.3cf8bfbc1d":"0.5  raw 0x0000_8000","oss-numerus-hero-glyph.6b704b708e":" b = ","oss-numerus-hero-glyph.d25ef5ab79":"3.0  raw 0x0003_0000","oss-numerus-hero-glyph.a56f721ce6":" a = ","oss-numerus-meter-band.5d6cb216b2":"so the figure can be quoted","oss-numerus-meter-band.56b6dd0022":"the band is published","oss-numerus-meter-band.697edbe4ac":"Narrow","oss-numerus-meter-band.543beeb7bc":"before yours","oss-numerus-meter-band.35e00fdd27":"Four numbers","oss-numerus-meter-band.923463c9f6":"Between runs, from thermal state, before the vendor's own 10 per cent.","oss-numerus-meter-band.2bde101117":"Spread","oss-numerus-meter-band.15aefee714":"5 to 15 %","oss-numerus-meter-band.b0ad074bfc":"Under this, a reading is noise rather than a measurement.","oss-numerus-meter-band.7db82f7409":"Floor","oss-numerus-meter-band.1720fb7c87":"1 to 10 mJ","oss-numerus-meter-band.0d4b4c2336":"How often the counter advances at all.","oss-numerus-meter-band.7c0e8a38c1":"Update interval","oss-numerus-meter-band.c12a7a9804":"100 to 1000 ms","oss-numerus-meter-band.5e6776996b":"One count. Below this the counter does not move.","oss-numerus-meter-band.516aae5295":"Resolution","oss-numerus-meter-band.b125b6cae4":"15 to 32 uJ","oss-numerus-modes.613a908065":"loosening it is a decision","oss-numerus-modes.4faf0ab897":"the default is the strict one","oss-numerus-modes.93ff909ce2":"Enforced","oss-numerus-modes.48a989e714":"strict is the default","oss-numerus-modes.9a570a7cba":"Three modes and a refusal","oss-numerus-modes.95d7cfb667":"Ask for a policy the mode forbids and the call comes back refusing it, by name.","oss-numerus-modes.6d4685a6dc":"Refusal","oss-numerus-modes.932514182e":"Anything goes, and you asked for it in one scope, in writing.","oss-numerus-modes.cf9b77061f":"Open","oss-numerus-modes.9302e31061":"Carries its seed, so even a random draw reproduces from the record.","oss-numerus-modes.51095bb5db":"Seeded","oss-numerus-modes.e174f1d807":"Permits only the rounding a reordered loop cannot change.","oss-numerus-modes.47ed8fde8f":"Strict","oss-numerus-money-names.c06de96bfe":"one storage, four guards","oss-numerus-money-names.dab16fdb1c":"a precise variant completes the five","oss-numerus-money-names.2b3a5e307c":"Semantic","oss-numerus-money-names.d4a3426aea":"one storage","oss-numerus-money-names.69380dca5b":"Five names","oss-numerus-money-names.449560f05e":"Derived, and derived from something. Never the source figure.","oss-numerus-money-names.9be70f66f8":"Tax","oss-numerus-money-names.ac73aa1029":"A proportion. Adding one to a total is the mistake this name prevents.","oss-numerus-money-names.3a9c736b31":"Rate","oss-numerus-money-names.5845f61f53":"A unit figure, which is multiplied rather than added.","oss-numerus-money-names.3e8248e32e":"Price","oss-numerus-money-names.146faa3ef4":"An amount. Two places. What a total is, and what a rate is not.","oss-numerus-money-names.1dc043bb8e":"Money","oss-numerus-multiply-gone.5ecf2d75e2":"the removed block is still the largest object","oss-numerus-multiply-gone.18378ed37a":"one figure","oss-numerus-multiply-gone.57fffecb72":"two paths,","oss-numerus-multiply-gone.88d8fe8398":"Fewer operations ought to cost less energy, and ought to is not a measurement, so no energy\n          figure appears on this drawing.","oss-numerus-multiply-gone.90f432662c":"the digits step sideways, the vacated place stays empty","oss-numerus-multiply-gone.4ddd130991":"weight, rewritten","oss-numerus-multiply-gone.90868d31ca":"which is all a cheap microcontroller has","oss-numerus-multiply-gone.f0ba71c584":"a shifter and an adder","oss-numerus-multiply-gone.62f2383893":"the part needs","oss-numerus-multiply-gone.8f4b2ab638":"both paths arrive here","oss-numerus-multiply-gone.c7e60aff5a":"six partial products, shifted and summed inside one operation","oss-numerus-multiply-gone.dc1ccaedcb":"a multiplier unit","oss-numerus-multiply-gone.f127c09db1":"no energy figure here","oss-numerus-multiply-gone.79944a89ec":"same figure, one operation gone","oss-numerus-multiply-gone.bb191f5038":"one weight multiply / two paths","oss-numerus-multiply-gone.995be17c12":"weight bit 5","oss-numerus-multiply-gone.a544acef18":"weight bit 4","oss-numerus-multiply-gone.68488b9d32":"weight bit 3","oss-numerus-multiply-gone.f5133246a3":"weight bit 2","oss-numerus-multiply-gone.181fc17ce6":"weight bit 1","oss-numerus-multiply-gone.b7f182b0a8":"weight bit 0","oss-numerus-no-supplier.4aba274095":"there is nothing for them to apply to","oss-numerus-no-supplier.054bdc658a":"none of these is waived","oss-numerus-no-supplier.f671cd5062":"you do not have to produce","oss-numerus-no-supplier.0b45556197":"Four documents","oss-numerus-no-supplier.b4d1e1bdf7":"not applicable","oss-numerus-no-supplier.a5842e9b78":"Behaviour cannot change beneath you between one week and the next.","oss-numerus-no-supplier.dd0bfaebd5":"Somebody's release schedule","oss-numerus-no-supplier.07c20cf262":"No endpoint of ours can be down during your incident.","oss-numerus-no-supplier.e24693b2e6":"Availability dependency","oss-numerus-no-supplier.a9df5e3a4d":"Nothing leaves, so there is no transfer to assess.","oss-numerus-no-supplier.de257f5c3b":"Transfer assessment","oss-numerus-no-supplier.9ed5f497c4":"There is no processor in the path of a calculation to agree with.","oss-numerus-no-supplier.5cc8f833fa":"Processing agreement","oss-numerus-not-in-scope.00918203df":"is how to judge what it does","oss-numerus-not-in-scope.8bea17ac16":"what it will not claim","oss-numerus-not-in-scope.61a0ae3b84":"Limits","oss-numerus-not-in-scope.3ee27efa3c":"and deliberately so","oss-numerus-not-in-scope.d9a5f9046a":"Not in scope","oss-numerus-not-in-scope.49ec938b0d":"One operating system, one architecture. Elsewhere it declines.","oss-numerus-not-in-scope.359bf3e833":"Energy anywhere else","oss-numerus-not-in-scope.9c4183256d":"Bounds and intervals, yes. A proof needs the solver installed.","oss-numerus-not-in-scope.5d4198235e":"Proof without a solver","oss-numerus-not-in-scope.df50e1d256":"Circular and hyperbolic belong to the binary and adaptive integer/fixed-point families.","oss-numerus-not-in-scope.e3b1f1fe76":"Decimal transcendentals","oss-numerus-not-in-scope.acec7a5b9a":"Stated by you, held exactly. A wrong choice is held exactly too.","oss-numerus-not-in-scope.39c6af14c7":"Choosing your scale","oss-numerus-not-in-scope-biz.3062a4a65b":"and none of them is arithmetic","oss-numerus-not-in-scope-biz.4d1fc29179":"four things that stay with you","oss-numerus-not-in-scope-biz.bfca330ce4":"Not included","oss-numerus-not-in-scope-biz.706e6c5531":"after this is in","oss-numerus-not-in-scope-biz.c135faa6ee":"Still yours","oss-numerus-not-in-scope-biz.2d2d7f88de":"The package starts the conversation. It does not close it.","oss-numerus-not-in-scope-biz.2c260e1c8c":"Finishing a submission","oss-numerus-not-in-scope-biz.c515116583":"Which differences matter is a line you draw. It is not in the software.","oss-numerus-not-in-scope-biz.a7857fd5d9":"Setting the threshold","oss-numerus-not-in-scope-biz.bc8a3f3d53":"A dated decision can be reviewed. Nothing here puts one in a diary.","oss-numerus-not-in-scope-biz.487fc85b6e":"Scheduling the review","oss-numerus-not-in-scope-biz.a9a1f35eba":"Nothing here raises an alert. The record waits until a person reads it.","oss-numerus-not-in-scope-biz.b1ad2c0419":"Watching it for you","oss-numerus-one-list.93a08b1573":"one supply chain review","oss-numerus-one-list.90bb0f06b0":"One library, one licence","oss-numerus-one-list.3e2c570409":"Included","oss-numerus-one-list.067fc063fa":"Consolidated","oss-numerus-one-list.bc6ddb62db":"that stop being line items","oss-numerus-one-list.da52d4da84":"Four line items","oss-numerus-one-list.a96342154a":"Five generated artefacts and the certification package.","oss-numerus-one-list.43f43cd6d0":"The documents","oss-numerus-one-list.71b27f2ce1":"Measured joules and carbon at named grid intensities.","oss-numerus-one-list.0373984bce":"The reporting","oss-numerus-one-list.7e9c496301":"Replay, integrity and retention against named regimes.","oss-numerus-one-list.5c82441a97":"The record","oss-numerus-one-list.cc9acc4648":"Cent-exact decimals and five named money types.","oss-numerus-one-list.a6595797ea":"Exact money","oss-numerus-open-to-read.cae70665e5":"the working stays inspectable once it publishes","oss-numerus-open-to-read.7a8c8db30e":"Publishes in round two","oss-numerus-open-to-read.748874022f":"Every checker listed here can reach both the record and the code.","oss-numerus-open-to-read.9e50bc5c66":"Apache-2.0","oss-numerus-open-to-read.21ef438c61":"Publishes in the second round, then read and download.","oss-numerus-open-to-read.bc97abc1d9":"The source code","oss-numerus-open-to-read.822acaa296":"re-runs to the same result","oss-numerus-open-to-read.da96fe14ea":"Inputs, order, and answer.","oss-numerus-open-to-read.5c82441a97":"The record","oss-numerus-open-to-read.1676f01649":"date and reference","oss-numerus-open-to-read.43dc8532f7":"Amount","oss-numerus-open-to-read.13e6daab24":"One line on a bill","oss-numerus-open-to-read.b84997f6be":"A figure with its working","oss-numerus-open-to-read.905cb326c7":"You","oss-numerus-open-to-read.6c3b378e82":"Auditor","oss-numerus-open-to-read.8b9fb9370e":"Consumer body","oss-numerus-open-to-read.129714a2a8":"Regulator","oss-numerus-open-to-read.c2807535f2":"Round two","oss-numerus-order-pair.e433e30355":"the refusal is what makes the first two rows a guarantee","oss-numerus-order-pair.25c32fd380":"one below","oss-numerus-order-pair.bcbc37c257":"two answers above,","oss-numerus-order-pair.bb6c10980d":"Half up is not reproducible once an optimiser reorders the loop, so the mode names the\n            policy and refuses it here, rather than logging a warning somebody reads next quarter.","oss-numerus-order-pair.1cd661a7ee":"policy half up rejected by mode strict","oss-numerus-order-pair.92cad7d4de":"strict, the default, nobody set it","oss-numerus-order-pair.2d62c8604c":"mode in force","oss-numerus-order-pair.03f390e689":"the same sum, rounding policy half up","oss-numerus-order-pair.4e95e8d71a":"strict mode","oss-numerus-order-pair.84464e4ca4":"refused at the call","oss-numerus-order-pair.a2adcdb664":"point back at the end, 0,60","oss-numerus-order-pair.87d407a489":"whole cents, either order","oss-numerus-order-pair.30902a210d":"external floating-point baseline, one bracket moved","oss-numerus-order-pair.3938ccfd68":"Nothing changed except the order. One bracket moved.","oss-numerus-order-pair.26e1e37c4c":"external floating-point baseline, added left to right","oss-numerus-order-pair.5961684268":"check it in a console","oss-numerus-order-pair.918ace6641":"two totals from one sum","oss-numerus-order-pair.e098103e21":"numeric contract / two orders","oss-numerus-own-copy.7e60c72aef":"nothing of ours sits in the path of a calculation","oss-numerus-own-copy.c921ff0dbc":"eight named entries","oss-numerus-own-copy.d9e8485794":"four places,","oss-numerus-own-copy.0de9593928":"Names a reviewer can check are worth more than a number they cannot.","oss-numerus-own-copy.5e2f5bf49f":"Generated from the build in the standard interchange form, so your own supply chain\n                tooling reads it without anybody translating anything. The list beside it is that\n                document, in words.","oss-numerus-own-copy.7d845314d1":"The bill of materials","oss-numerus-own-copy.22bca60d09":"the list is short, every entry on it is named, and the build produced it rather than us","oss-numerus-own-copy.02aa047c78":"What it brings with it","oss-numerus-own-copy.c4f190cc7f":"and what has to be true for it","oss-numerus-own-copy.7135154ef8":"Where a copy can run","oss-numerus-own-copy.2104d6023e":"from the generated bill of materials","oss-numerus-own-copy.c64bf97dc8":"every entry named","oss-numerus-own-copy.75bb70ce25":"where it runs / what it brings with it","oss-numerus-own-copy.aa610e3146":"spreading a sweep across cores, where you want that","oss-numerus-own-copy.6731feaff8":"writing a record out in a form something else can read","oss-numerus-own-copy.c8e4d5ec30":"Linux on x86_64 only","oss-numerus-own-copy.65f38bdadd":"reading the processor energy counters, and identifying the part first","oss-numerus-own-copy.18379fbe0d":"with quantisation","oss-numerus-own-copy.d832239095":"fixed-capacity collections for quantisation, so no allocator is required","oss-numerus-own-copy.28870d5c33":"heapless, bitvec","oss-numerus-own-copy.6a02d3069f":"with the audit subsystem","oss-numerus-own-copy.33d48c2c7b":"the keyed hash over an audit record, and the check that verifies it","oss-numerus-own-copy.ae4a25f5ea":"sha2, hmac","oss-numerus-own-copy.e682186d07":"with units","oss-numerus-own-copy.1deb6f42a0":"one-time initialisation of the unit registry","oss-numerus-own-copy.277a466386":"typed errors, so a refusal arrives with a name rather than a string","oss-numerus-own-copy.7a016713c9":"the lock behind the global determinism mode, so the mode works with no standard library","oss-numerus-own-copy.3f8b305675":"no allocator and no operating system, on the core numeric path","oss-numerus-own-copy.99085ac5cf":"A device that never had a network","oss-numerus-own-copy.0b0fa7b2b0":"nothing further, because nothing is fetched at run time","oss-numerus-own-copy.143e4220f7":"A machine with the network unplugged","oss-numerus-own-copy.ad9f0fa970":"a region you chose, and nothing that calls out of it","oss-numerus-own-copy.bcfcb10b33":"A European region","oss-numerus-own-copy.f362f99fba":"a compiler, and the build you already run","oss-numerus-own-copy.1f200f6013":"Your own servers","oss-numerus-penny-bill.6682065a4e":"not agreed afterwards, the same to begin with","oss-numerus-penny-bill.25c32fd380":"one below","oss-numerus-penny-bill.48bda7622b":"two copies above,","oss-numerus-penny-bill.6e28bde094":"One receipt, because there is no second figure to hold it up against.","oss-numerus-penny-bill.33fe50a0ce":"every copy","oss-numerus-penny-bill.4bf357bb28":"The rounding happens once, on the whole bill, and every copy follows it.","oss-numerus-penny-bill.b543dc38fd":"the rule","oss-numerus-penny-bill.e47ef8752b":"a correction, three weeks later","oss-numerus-penny-bill.4bc6446830":"somebody checking which copy was right","oss-numerus-penny-bill.b489a27a2d":"a hold placed on the account","oss-numerus-penny-bill.7faadb64b4":"a phone call, on a Tuesday","oss-numerus-penny-bill.a262dcd21e":"what happens next, to you","oss-numerus-penny-bill.accc6dc97d":"tax worked out on the whole bill","oss-numerus-penny-bill.38b2c46066":"your bank's copy","oss-numerus-penny-bill.778b3117d1":"Both receipts are right. That is the whole of it.","oss-numerus-penny-bill.875d3ea9e6":"tax worked out on each line","oss-numerus-penny-bill.176f42b7e9":"the shop's copy","oss-numerus-penny-bill.e17a5bea8b":"one cent apart","oss-numerus-penny-bill.44184d5b08":"both receipts are right","oss-numerus-penny-bill.aa02afc65b":"two receipts / one basket","oss-numerus-penny-bill.64af5c91ea":"Filter papers","oss-numerus-penny-bill.70cf165e2e":"Coffee, 500 g","oss-numerus-penny-bill.ee625f86c3":"Kettle descaler","oss-numerus-placement-case.2277427317":"the four intensities are the ones named in the software","oss-numerus-placement-case.0d3616b029":"a factor of six in the report","oss-numerus-placement-case.1099b6acbc":"one reading,","oss-numerus-placement-case.e2f225b7a4":"Who in this organisation decides which region a batch runs in, and is that person aware\n              it is a reporting decision?","oss-numerus-placement-case.0d5e771542":"the decision this implies","oss-numerus-placement-case.d33004dd31":"Not a line of code, not a compiler flag, not an hour of engineering. The entire\n              reportable difference came from where the machine was.","oss-numerus-placement-case.e774716811":"the energy","oss-numerus-placement-case.52a319bd57":"what did not change","oss-numerus-placement-case.92500c83d9":"reported carbon, at each of the named intensities","oss-numerus-placement-case.e8632b3624":"74,4 MJ, which is 20,7 kilowatt hours","oss-numerus-placement-case.a8d9a82e57":"electricity for the month","oss-numerus-placement-case.7628a0c60c":"a band, not a point, before anything is converted","oss-numerus-placement-case.32effebef3":"23 J","oss-numerus-placement-case.67a1c3e9cc":"18,6 J","oss-numerus-placement-case.5815001b51":"14 J","oss-numerus-placement-case.c2f0c40deb":"measured, per run","oss-numerus-placement-case.62e338fd21":"one settlement batch, run four million times in a month","oss-numerus-placement-case.e34ededdc4":"the workload","oss-numerus-placement-case.21ad3858b8":"energy identical in all four","oss-numerus-placement-case.529a45bdac":"one workload / four reportable answers","oss-numerus-placement-case.f0a0cda058":"a common default for a European workload","oss-numerus-placement-case.49101fec78":"7,85 kg","oss-numerus-placement-case.17d53e0e6a":"Germany","oss-numerus-placement-case.2d65e67ce1":"the same market, the same currency","oss-numerus-placement-case.4a1330f161":"7,23 kg","oss-numerus-placement-case.fb61c8a8eb":"Netherlands","oss-numerus-placement-case.0aab3bef8f":"what an unknown region defaults to","oss-numerus-placement-case.21a767d1de":"5,68 kg","oss-numerus-placement-case.bbe05576d1":"EU average","oss-numerus-placement-case.c0f17a183c":"the same work, reported at a sixth of the German figure","oss-numerus-placement-case.0282485ab5":"1,24 kg","oss-numerus-placement-case.e3772ac4b4":"France","oss-numerus-power-asked.98362997ea":"you are told what it could not see, not only what it could","oss-numerus-power-asked.9cda13b2ed":"three refusals","oss-numerus-power-asked.3904fb7e77":"one figure,","oss-numerus-power-asked.d8bf0983bc":"words, where the others have numbers","oss-numerus-power-asked.7341f0aa2b":"On some rented machines the count is not passed through at all, and the software says\n                so instead of estimating.","oss-numerus-power-asked.b17a7d0d45":"It cannot see.","oss-numerus-power-asked.cd74a53d4d":"a rented computer","oss-numerus-power-asked.e70d86d134":"two answers, a little apart","oss-numerus-power-asked.b58de92451":"The machine was warmer the second time. Both figures are shown, because picking one of\n                them would be the dishonest move.","oss-numerus-power-asked.219dabca90":"21 J","oss-numerus-power-asked.0630b0b63f":"18 J","oss-numerus-power-asked.2aff7ca2f2":"the same job, run twice","oss-numerus-power-asked.ac33eb2cba":"no figure at all","oss-numerus-power-asked.a7e960ecbd":"The machine only updates its own count now and then. This job started and finished in\n                between, so there is nothing behind it to read.","oss-numerus-power-asked.948702a39f":"a job that finished too quickly","oss-numerus-power-asked.e3dcc4319a":"a figure, with the slack around it","oss-numerus-power-asked.11506188d8":"A ten watt reading lamp uses this much in about two seconds, so what came back is the\n                lamp for anything from under a second and a half to a little over two.","oss-numerus-power-asked.32effebef3":"23 J","oss-numerus-power-asked.5815001b51":"14 J","oss-numerus-power-asked.f6228eb26d":"a job big enough to register","oss-numerus-power-asked.f51171104b":"How much electricity did this piece of work use?","oss-numerus-power-asked.5232150a13":"three of four stop","oss-numerus-power-asked.b087c0c689":"one question / four ways it can end","oss-numerus-power-count.ceed43b121":"and what it cannot","oss-numerus-power-count.59507fd79d":"it says what it can see","oss-numerus-power-count.c079098c3d":"What it sees","oss-numerus-power-count.5deadc60a6":"What it can see","oss-numerus-power-count.680c363cf5":"On some of them it can see nothing, and it says nothing.","oss-numerus-power-count.53350c330a":"A rented machine","oss-numerus-power-count.a916c09f37":"Same job, slightly different figure. You are told the spread.","oss-numerus-power-count.f17e1eed46":"A warm machine","oss-numerus-power-count.7973df321d":"Too small to register at all. No figure, rather than a made up one.","oss-numerus-power-count.1d784a7059":"A tiny job","oss-numerus-power-count.72cd51c35a":"Big enough to register on the count. This is the case it is for.","oss-numerus-power-count.93664d5ab9":"A real job","oss-numerus-profile-sheet.1999f4bd2e":"Fixes precision, rounding, overflow and purpose before any calculation runs.","oss-numerus-profile-sheet.3e3e17a880":"and it is the one a reviewer reads first","oss-numerus-profile-sheet.6745eab443":"one of the four is a sentence","oss-numerus-profile-sheet.ff4fc0276e":"Profile","oss-numerus-profile-sheet.7b382f8c6d":"four fields","oss-numerus-profile-sheet.17b9d5e2a8":"What a profile records","oss-numerus-profile-sheet.730a3dd406":"The description that says what the profile is for, in words.","oss-numerus-profile-sheet.96d79c3d34":"Why this one","oss-numerus-profile-sheet.2ed82bd589":"Saturate, wrap or refuse. Stated in advance, not discovered live.","oss-numerus-profile-sheet.822b3c4f44":"On overflow","oss-numerus-profile-sheet.14a9a30181":"Which of the eight, named, rather than whatever the hardware does.","oss-numerus-profile-sheet.f3fe8d0597":"Rounding policy","oss-numerus-profile-sheet.f57d7a3416":"How large a figure fits, and how many places behind the point.","oss-numerus-profile-sheet.7cc5132d02":"Width and places","oss-numerus-qual-kit.a5d650d84d":"the submission is still yours","oss-numerus-qual-kit.de664192ab":"it starts from documents","oss-numerus-qual-kit.91bf6f557e":"Kit","oss-numerus-qual-kit.539218408b":"[ written for the auditor ]","oss-numerus-qual-kit.47e00207e5":"What arrives","oss-numerus-qual-kit.1f54a52980":"Answered in the order an auditor asks them, not in the order we built it.","oss-numerus-qual-kit.e7c9f332ba":"The questions first","oss-numerus-qual-kit.06382a1947":"An integration guide, a qualification plan and a checklist to complete.","oss-numerus-qual-kit.3cb203bfdd":"Guide and templates","oss-numerus-qual-kit.ec880e456f":"With the reasoning for it, which is the part an auditor argues with.","oss-numerus-qual-kit.59a9a4a38d":"A stated level","oss-numerus-qual-kit.1ce18f789d":"Numbered, in families, so a finding can cite one rather than a chapter.","oss-numerus-qual-kit.09a428f93e":"Requirements","oss-numerus-record-fields.88828edd79":"not a description of it","oss-numerus-record-fields.4bbfd86488":"the record is the evidence","oss-numerus-record-fields.1c54132b8e":"Record","oss-numerus-record-fields.38addf41eb":"beyond the two numbers","oss-numerus-record-fields.11234a16b5":"One record","oss-numerus-record-fields.289d608eba":"File and line. The answer to which code did this.","oss-numerus-record-fields.7242f5a879":"The source location","oss-numerus-record-fields.88b6f8d130":"Carried with the value, so a tolerance is a fact and not a guess.","oss-numerus-record-fields.1aaf3f3784":"The error bounds","oss-numerus-record-fields.9db82b1c4c":"What the operation raised, kept with the result rather than beside it.","oss-numerus-record-fields.8475b1dcbe":"The flags","oss-numerus-record-fields.1a7739a873":"As stored, with the type and the scale that interpret them.","oss-numerus-record-fields.d739910b70":"The operands","oss-numerus-record-ledger.3d4fd43d23":"no memory, no reconstruction","oss-numerus-record-ledger.a75dc6180a":"no interviews","oss-numerus-record-ledger.7ea014de7b":"Evidence","oss-numerus-record-ledger.17ae26dfb9":"instead of a narrative","oss-numerus-record-ledger.30a1799668":"What a reviewer gets","oss-numerus-record-ledger.dfe96db0bb":"Identical to the last digit, or not. There is no close enough in it.","oss-numerus-record-ledger.5715be5638":"The verdict","oss-numerus-record-ledger.7aa1f44d8a":"Which precision and rounding policy were in force at the time.","oss-numerus-record-ledger.c82ea674f0":"The contract","oss-numerus-record-ledger.3901668b59":"Which operation ran when. The thing a reconstruction always guesses.","oss-numerus-record-ledger.8208f3f27b":"The order","oss-numerus-record-ledger.23ddb51247":"As they were, not as the current system would produce them today.","oss-numerus-record-ledger.9eb1262764":"The inputs","oss-numerus-rejection-sheet.eab9fa9545":"a rejection with a reason is what survives a review","oss-numerus-rejection-sheet.20b488b199":"three reasoned refusals","oss-numerus-rejection-sheet.8ad203638a":"one recommendation,","oss-numerus-rejection-sheet.e655fec945":"There is no control over this decision, because there is no record that it was ever made.","oss-numerus-rejection-sheet.43c08919c7":"author still here","oss-numerus-rejection-sheet.1f3c1fb6a9":"reviewed since","oss-numerus-rejection-sheet.196b566c07":"reason recorded","oss-numerus-rejection-sheet.5fa03891ee":"let total: f64 = 0.0;","oss-numerus-rejection-sheet.58969449d1":"pull request 214, merged 6 march 2022","oss-numerus-rejection-sheet.ca33e3389e":"The same decision, as most organisations hold it","oss-numerus-rejection-sheet.3fa0c78a91":"No sine, no logarithm and no hyperbolic function on this profile. Nobody asks a currency\n              amount for its sine, and the registry says so rather than letting you find out.","oss-numerus-rejection-sheet.286e2418a8":"the trade-off you are accepting","oss-numerus-rejection-sheet.76683f1943":"rejected, with the reason for each","oss-numerus-rejection-sheet.9bfb3fcba8":"Base ten holds a cent exactly, the policy is the one financial reporting asks for by\n                name, and the stated ceiling is nowhere near the range.","oss-numerus-rejection-sheet.e532c2c308":"why this one","oss-numerus-rejection-sheet.14dc034805":"on overflow","oss-numerus-rejection-sheet.22b38bdac7":"half even","oss-numerus-rejection-sheet.f1d3ed8bb2":"rounding policy","oss-numerus-rejection-sheet.ba039daf5d":"sixty four bits, two places","oss-numerus-rejection-sheet.e71c60d883":"width and places","oss-numerus-rejection-sheet.e4dfe690fd":"A settlement calculation in euro, exact to the cent, with a rounding policy an auditor will\n              recognise by name, on figures that will not exceed fifty million.","oss-numerus-rejection-sheet.52c11e723e":"the request, in business terms","oss-numerus-rejection-sheet.d54e2450be":"the registry answers, it does not publish a table","oss-numerus-rejection-sheet.8bc918aaf6":"each rejection has a reason","oss-numerus-rejection-sheet.3811e267fd":"one request / one recommendation / three refusals","oss-numerus-rejection-sheet.d993048230":"The exponent moves with the value, so two records of the same amount need not be held the same way. A settlement record must not.","oss-numerus-rejection-sheet.8181fd09cf":"an exponent carried per value","oss-numerus-rejection-sheet.00a7d8c881":"An adaptive integer/fixed-point profile","oss-numerus-rejection-sheet.df4882ede9":"The largest amount the requester stated overflows it. Saturating a settlement figure is worse than refusing to compute one.","oss-numerus-rejection-sheet.5adc87cd1d":"two places behind the point, over a thirty two bit word","oss-numerus-rejection-sheet.781bd19a64":"A narrower decimal profile","oss-numerus-rejection-sheet.d2c82df8e1":"A tenth is not exact in it, and these figures are money. Range was never the constraint here; exactness at the cent is.","oss-numerus-rejection-sheet.e7de4fb22d":"thirty two places behind the point, over sixty four bits","oss-numerus-rejection-sheet.da5c370d96":"A wider binary profile","oss-numerus-replay.a4d2bb3922":"Audit replay","oss-numerus-replay.0e69977422":"Compares the written record, a later replay and an altered record that is refused.","oss-numerus-replay.b62d52018e":"a keyed hash shows the record has not changed, not who wrote it","oss-numerus-replay.91d65d0460":"one of them a refusal","oss-numerus-replay.aa5cd994d6":"three states,","oss-numerus-replay.ac8e520c9e":"The record does not match the hash written with it, so replay is not attempted. The\n                answer is a refusal and not a second plausible figure.","oss-numerus-replay.d8257a8d60":"integrity check failed","oss-numerus-replay.608d9eca56":"c1a8 07f4 5b2e 9d60","oss-numerus-replay.87a7c1a489":"hash recomputed now","oss-numerus-replay.fe8ccc4ed7":"9f2c 4d81 a067 be35","oss-numerus-replay.4d0a9b2dba":"hash on the record","oss-numerus-replay.31c7fc8120":"one digit, in one operand","oss-numerus-replay.a88c699056":"operand a","oss-numerus-replay.4388dac6e3":"replay never starts","oss-numerus-replay.3ac9577b69":"The record, altered by one digit","oss-numerus-replay.f732b18544":"Different architecture, different year, same integers. There is no acceptable difference to\n            negotiate, because the arithmetic never produced one.","oss-numerus-replay.dbc2424913":"aarch64, mar 2027","oss-numerus-replay.b9a35b0c8f":"not within a tolerance","oss-numerus-replay.c0ab88030b":"bit for bit","oss-numerus-replay.21dc507a10":"x86_64, feb 2026","oss-numerus-replay.08dc5e7705":"as recorded","oss-numerus-replay.c36e37e98e":"18 mar 2027, aarch64 Linux","oss-numerus-replay.85b2390153":"The replay, elsewhere and later","oss-numerus-replay.23eb801ffe":"keyed hash over the record","oss-numerus-replay.15adf2e70f":"the mode in force when this ran","oss-numerus-replay.7e2cbd55ac":"strict, half even","oss-numerus-replay.21e591d2b1":"exact, carried with the value","oss-numerus-replay.b3fb222c59":"error bound","oss-numerus-replay.d0f25348e1":"no saturation, no inexact result","oss-numerus-replay.dfc11b4918":"none raised","oss-numerus-replay.4c48645b75":"Dec64_2, scale 10⁻² → 38,97","oss-numerus-replay.8e07a2815e":"integer, no scale","oss-numerus-replay.418e73ef35":"operand b","oss-numerus-replay.7b580cd936":"Dec64_2, scale 10⁻² → 12,99","oss-numerus-replay.179ac94f19":"12 feb 2026, 09:41:06 UTC","oss-numerus-replay.99f6b08d5b":"The record, as it is written","oss-numerus-replay.e6c85e8154":"keyed hash, not a signature","oss-numerus-replay.6bc9e6f2d6":"refused before replay","oss-numerus-replay.f1ec574b35":"one record / written, replayed, refused","oss-numerus-replay-desk.bb3edd78c8":"Replay reconstruction","oss-numerus-replay-desk.3e80673592":"Separates the unavailable source system from the record a reviewer can replay.","oss-numerus-replay-desk.4b8da39b89":"the right is what exists instead of the left, not what it turns into","oss-numerus-replay-desk.099701f119":"one on the right","oss-numerus-replay-desk.0d5f4d2647":"four things on the left,","oss-numerus-replay-desk.ec9131c3b7":"a figure","oss-numerus-replay-desk.4beb9be2a0":"what leaves this side","oss-numerus-replay-desk.dc70d0d219":"to the last digit","oss-numerus-replay-desk.bcb85f0a57":"numerus replay REC-2026-02-0117","oss-numerus-replay-desk.c3ea3ec464":"replayed on the reviewer's own machine","oss-numerus-replay-desk.7e2cbd55ac":"strict, half even","oss-numerus-replay-desk.def31e7cb5":"as they were","oss-numerus-replay-desk.32727e4b3f":"as it was written","oss-numerus-replay-desk.6bcbbbadde":"one document, and one command","oss-numerus-replay-desk.5c82441a97":"The record","oss-numerus-replay-desk.075efd2fc6":"nothing crosses","oss-numerus-replay-desk.c050f65622":"an account","oss-numerus-replay-desk.b4c5cbb11d":"gives nothing, and this is the one item on this side that trying harder does not fix","oss-numerus-replay-desk.8cc1804eb4":"decommissioned, april 2025","oss-numerus-replay-desk.9728c70341":"The system that actually produced the figure","oss-numerus-replay-desk.22bb12be8a":"cannot be a document, because there is no document","oss-numerus-replay-desk.c847d68c5a":"gives the shape of what was done, and agreement on most of it","oss-numerus-replay-desk.aaa09d6879":"Two people asked what they remember","oss-numerus-replay-desk.03fe684495":"left in september","oss-numerus-replay-desk.f7393b36b9":"cannot say what else was on the screen, or which version produced it","oss-numerus-replay-desk.cb8317e8ee":"gives the two figures whoever wrote it thought mattered","oss-numerus-replay-desk.65564cb059":"last opened 14 march 2025","oss-numerus-replay-desk.9ef023e139":"A note somebody made at the time","oss-numerus-replay-desk.8eafced619":"cannot be the code that produced February, because it has moved eleven times since","oss-numerus-replay-desk.3df1be5b49":"gives a figure that looks about right, on today's inputs","oss-numerus-replay-desk.0f4932c5d8":"The current version of the calculation","oss-numerus-replay-desk.6e178761f9":"four things reached for, assembled this week","oss-numerus-replay-desk.40e97418c9":"The reconstruction","oss-numerus-replay-desk.e6c85e8154":"keyed hash, not a signature","oss-numerus-replay-desk.1184ecd603":"one side has no figure on it","oss-numerus-replay-desk.f7ec96ff61":"how was the february figure produced","oss-numerus-req-trace.cfedda7e06":"the upward direction is the one a specification does not give you","oss-numerus-req-trace.83523ec204":"three things it resolves to","oss-numerus-req-trace.0195ee86e6":"one requirement,","oss-numerus-req-trace.3a7701e094":"a finding that can cite both is a finding that can be answered","oss-numerus-req-trace.9f2048b648":"IEEE 754-2019, section 5.12","oss-numerus-req-trace.243077bba1":"discharges REQ-GEN-001","oss-numerus-req-trace.f47a84331f":"read upward, which is how a finding travels","oss-numerus-req-trace.f67b73483c":"three named methods, all three below","oss-numerus-req-trace.3741770a87":"verified by","oss-numerus-req-trace.d3d9eefc84":"Verification needs bit-exact reproducibility. A result that varies cannot be evidence\n              of anything.","oss-numerus-req-trace.894c9ddfb4":"reason given","oss-numerus-req-trace.cb8e57c7cc":"Every operation shall produce identical results from identical inputs, whatever the\n            platform, the optimisation level or the execution context.","oss-numerus-req-trace.d73bfbcf03":"general, determinism","oss-numerus-req-trace.30f7510149":"read downward, which is how it was written","oss-numerus-req-trace.89762aef19":"the clause it answers to","oss-numerus-req-trace.fa1eb184e5":"traced both ways","oss-numerus-req-trace.5940eb9b35":"one requirement / read both ways","oss-numerus-req-trace.c5a4685b82":"generated inputs, shrunk to the smallest failing case","oss-numerus-req-trace.85353bfd1b":"Property-based testing","oss-numerus-req-trace.f06c89f525":"over every input in the declared range, not a sample of them","oss-numerus-req-trace.e84be213fa":"A proof of determinism","oss-numerus-req-trace.0c69c4d63a":"the same inputs on every target, compared bit for bit","oss-numerus-req-trace.3200129cf7":"Cross-platform suite","oss-numerus-retention-clocks.8e688f4161":"ninety days is the common default, not a figure from your estate","oss-numerus-retention-clocks.1dae901182":"and ninety days","oss-numerus-retention-clocks.916ec993cf":"three regimes,","oss-numerus-retention-clocks.f45a6edb8e":"everything to the right of this line is what a default quietly decided to destroy","oss-numerus-retention-clocks.07a46b308d":"ninety days, chosen for disk space","oss-numerus-retention-clocks.20af490e64":"A rotation default","oss-numerus-retention-clocks.4df08afe10":"audit trail kept with the record, copies producible for inspection, access controlled","oss-numerus-retention-clocks.01236a8255":"as long as the underlying rule says","oss-numerus-retention-clocks.27a8c8dd24":"Electronic records, pharmaceutical","oss-numerus-retention-clocks.000121a26e":"synchronised, or the timestamps are decoration","oss-numerus-retention-clocks.b84f4f9b41":"and to seven, where a competent authority asks","oss-numerus-retention-clocks.b42679ac7b":"five years, required","oss-numerus-retention-clocks.639f95634c":"five years, and up to seven","oss-numerus-retention-clocks.2554541f10":"MiFID II","oss-numerus-retention-clocks.61a564b486":"storage that cannot be rewritten, for the whole period","oss-numerus-retention-clocks.512aad9142":"seven years, write once","oss-numerus-retention-clocks.b4c9005422":"Sarbanes-Oxley, section 404","oss-numerus-retention-clocks.8f02002b78":"the default is the sliver","oss-numerus-retention-clocks.f39299361e":"retention periods / one axis, one scale","oss-numerus-retention-clocks.345f9a5182":"7 years","oss-numerus-retention-terms.a49a7dc847":"and conditions are what estates miss","oss-numerus-retention-terms.283c69d0e6":"three of the four are conditions","oss-numerus-retention-terms.c7199d9e95":"Retention","oss-numerus-retention-terms.a2e1020c27":"and only one is a duration","oss-numerus-retention-terms.7757db858f":"Four things a rule fixes","oss-numerus-retention-terms.0a3edb0bda":"Checkable on any day in the period, not reconstructed at the end of it.","oss-numerus-retention-terms.3bdd80875c":"Still unaltered","oss-numerus-retention-terms.90f4b82ca2":"Synchronised, for another. Timestamps nobody trusts are decoration.","oss-numerus-retention-terms.e51f319ea1":"Against whose clock","oss-numerus-retention-terms.97b165a96a":"Write once, for one of the three. A rewritable copy is not the record.","oss-numerus-retention-terms.3c2feebdaa":"In what state","oss-numerus-retention-terms.395629c987":"The part everybody knows, and the only part a rotation setting covers.","oss-numerus-retention-terms.e060745b03":"How long","oss-numerus-reviewer-questions.6c8c6fb3a5":"evidence is produced here, and a person assesses evidence","oss-numerus-reviewer-questions.8f54992d1e":"one left open","oss-numerus-reviewer-questions.a85f92f710":"three answered,","oss-numerus-reviewer-questions.555842e02c":"Nothing goes under the fourth question, and nothing was ever going to. The point of leaving\n          it empty is that the other three have real answers.","oss-numerus-reviewer-questions.807246f362":"Are we compliant?","oss-numerus-reviewer-questions.3370b700a4":"what stays with a person","oss-numerus-reviewer-questions.c26d8c3798":"what the software supplies","oss-numerus-reviewer-questions.f7a0f87731":"second line of defence","oss-numerus-reviewer-questions.ae3f40efe5":"the fourth is left empty","oss-numerus-reviewer-questions.ba566e485a":"four questions / three answers","oss-numerus-reviewer-questions.742d67f738":"The assessment against the rule. That is professional judgement, and it stays professional judgement.","oss-numerus-reviewer-questions.198acd9e08":"The record and the generated documents go in the pack, stamped with their version, date and status.","oss-numerus-reviewer-questions.aa74acb354":"Can we evidence this to the regulator?","oss-numerus-reviewer-questions.c7aa193b2f":"Who was allowed to choose it. That is your delegated authority framework, and nothing here touches it.","oss-numerus-reviewer-questions.64cf333506":"What was chosen, when, and with which alternatives rejected and why. Dated, and comparable against last year.","oss-numerus-reviewer-questions.e38343fad5":"Was the numeric decision behind it authorised?","oss-numerus-reviewer-questions.975eac0f55":"Nothing. This one does not need you.","oss-numerus-reviewer-questions.31eca6c21c":"Answered in full. The record replays and the verdict is identical to the last digit or it is not.","oss-numerus-reviewer-questions.5ebc619df0":"Is this figure reproducible?","oss-numerus-right-sum-wrong-rule.b06c444a30":"a smaller promise than fairness, and a real one","oss-numerus-right-sum-wrong-rule.a4eae30c96":"one unfair charge","oss-numerus-right-sum-wrong-rule.f3cd35ecba":"two columns,","oss-numerus-right-sum-wrong-rule.a8bbc0bcb1":"The charge is exactly as unfair in both columns. This does not fix that, and it cannot tell\n          that it needs fixing. What changes is whether you can see what was done and take it to\n          somebody.","oss-numerus-right-sum-wrong-rule.18206f9851":"what you have now","oss-numerus-right-sum-wrong-rule.dd4dacd285":"Worked out roughly","oss-numerus-right-sum-wrong-rule.82dfb9503b":"what this gives you","oss-numerus-right-sum-wrong-rule.c53b87381a":"Worked out exactly","oss-numerus-right-sum-wrong-rule.6e02a16d1d":"A monthly fee of 4,50 on any account whose balance falls below two hundred euro.","oss-numerus-right-sum-wrong-rule.a2e0a7f98c":"the charge","oss-numerus-right-sum-wrong-rule.988f33f640":"the sum, not the rule","oss-numerus-right-sum-wrong-rule.ef6fa6600d":"unfair in both columns","oss-numerus-right-sum-wrong-rule.2fdfd605f0":"one charge / two ways of working it out","oss-numerus-right-sum-wrong-rule.ff0a05c905":"Asking gets you somebody's reconstruction.","oss-numerus-right-sum-wrong-rule.087b40e127":"There is nothing to point at.","oss-numerus-right-sum-wrong-rule.ef70e50b05":"It might be a different amount on a different machine.","oss-numerus-right-sum-wrong-rule.89334119e8":"The amount might be a cent out.","oss-numerus-right-sum-wrong-rule.db1a5319f4":"You can ask, and get an answer.","oss-numerus-right-sum-wrong-rule.f05ac4a0b4":"There is a record of how it was reached.","oss-numerus-right-sum-wrong-rule.36edd0cc85":"It is the same amount for everybody in the same position.","oss-numerus-right-sum-wrong-rule.13231750ca":"The amount is right, to the cent.","oss-numerus-rounding-drift.bcce67bfb3":"unbiased and repeatable at the same time","oss-numerus-rounding-drift.10312c36c5":"one lands","oss-numerus-rounding-drift.09cf972120":"three lines,","oss-numerus-rounding-drift.862e0e1bfb":"Floor and ceiling swapped sides the moment the sign changed, and nothing in the code said\n            so.","oss-numerus-rounding-drift.b7c4280a8a":"with its seed","oss-numerus-rounding-drift.fc435f0f2b":"refused in strict","oss-numerus-rounding-drift.e489814c18":"once, through all eight policies","oss-numerus-rounding-drift.15a3ed723b":"The stochastic line came from a stated seed. The next run draws it in exactly the same place,\n          which is the property people assume they have to trade away to get the unbiased one.","oss-numerus-rounding-drift.1c2e3234ec":"the true value","oss-numerus-rounding-drift.f9bb888a39":"near it, not on it","oss-numerus-rounding-drift.22b38bdac7":"half even","oss-numerus-rounding-drift.60e1ef416b":"up to 1,53 short, all one way","oss-numerus-rounding-drift.832286e860":"seed stated, same every run","oss-numerus-rounding-drift.fdbcaf1fc2":"one line ends on the true value","oss-numerus-rounding-drift.b0e79ca2be":"one third / a hundred thousand times","oss-numerus-rounding-drift.c88b5516c7":"-2 or -3","oss-numerus-rounding-drift.928dfad73a":"half odd","oss-numerus-rounding-drift.96bea9787f":"half down","oss-numerus-rounding-drift.e77a1e3765":"half up","oss-numerus-rounding-modes.148385b4e6":"the contract names one","oss-numerus-rounding-modes.f1a8c242e9":"four more complete the eight","oss-numerus-rounding-modes.905cc37924":"Rounding","oss-numerus-rounding-modes.2b39c56e36":"on the same halfway value","oss-numerus-rounding-modes.e894fad509":"Four of eight","oss-numerus-rounding-modes.3a441bf0ec":"Up with probability equal to the fraction. Unbiased, and still repeats.","oss-numerus-rounding-modes.5f8a5bbd51":"Stochastic","oss-numerus-rounding-modes.7428f9b4fb":"Toward zero, unconditionally. Cheap, biased, and predictable.","oss-numerus-rounding-modes.48c20240aa":"Truncate","oss-numerus-rounding-modes.54b3b978e1":"2,5 becomes 3, always away from zero. Not reproducible under reordering.","oss-numerus-rounding-modes.26c094c617":"Half up","oss-numerus-rounding-modes.5558451c19":"2,5 becomes 2 and 3,5 becomes 4. What financial reporting asks for.","oss-numerus-rounding-modes.c82eb28e3a":"Half even","oss-numerus-rounding-moments.85889d903d":"which is exactly the problem","oss-numerus-rounding-moments.6eba9f9380":"none of the three is wrong","oss-numerus-rounding-moments.525f61b672":"Where","oss-numerus-rounding-moments.b1d088ea3c":"and nothing chose between them","oss-numerus-rounding-moments.f78c678b49":"Three moments","oss-numerus-rounding-moments.0f4f17725e":"One moment, one policy for a tie, fixed before anything runs.","oss-numerus-rounding-moments.f2150b95c5":"Stated in the contract","oss-numerus-rounding-moments.ce430de060":"Later again, by which time two systems have already disagreed.","oss-numerus-rounding-moments.2908f149be":"At the total","oss-numerus-rounding-moments.eef3b7cbda":"One rounding, on the basket. A different last cent, honestly reached.","oss-numerus-rounding-moments.a31fbe020c":"At the subtotal","oss-numerus-rounding-moments.491fb7faaf":"Tax on each item, rounded there, then added up. Three roundings.","oss-numerus-rounding-moments.a86942112c":"At the line","oss-numerus-rounding-points.da0136c765":"12,99 at 21 per cent is 2,7279, and 38,97 is 8,1837","oss-numerus-rounding-points.25c32fd380":"one below","oss-numerus-rounding-points.52228643b4":"three trails above,","oss-numerus-rounding-points.1aca72e821":"1 january 2026","oss-numerus-rounding-points.76cf711734":"in force from","oss-numerus-rounding-points.22b38bdac7":"half even","oss-numerus-rounding-points.957e13eb79":"on a tie","oss-numerus-rounding-points.117ba4bd62":"at the subtotal, once","oss-numerus-rounding-points.ca07595995":"rounding point","oss-numerus-rounding-points.d1221cc8a9":"Reporting extract","oss-numerus-rounding-points.1aa2f31ee7":"Ledger","oss-numerus-rounding-points.0652c29938":"Billing platform","oss-numerus-rounding-points.87df7f3a2e":"one trail, because there is no longer a choice","oss-numerus-rounding-points.6dde5b1c23":"The same invoice, with the moment stated","oss-numerus-rounding-points.2526724317":"produced every month, by the half above","oss-numerus-rounding-points.26256f2776":"rounding difference","oss-numerus-rounding-points.99262d092e":"reconciliation entry","oss-numerus-rounding-points.0f1fdedea5":"These two agree by coincidence. Nothing told either of them where to round, so nothing\n              would have stopped the next release moving one of them.","oss-numerus-rounding-points.be69e55ded":"tax total","oss-numerus-rounding-points.897c4cbcc0":"rounded on output","oss-numerus-rounding-points.512a53b111":"tax carried","oss-numerus-rounding-points.4fcc8fb4ad":"rounds later still","oss-numerus-rounding-points.01576180a0":"rounded, once","oss-numerus-rounding-points.eada772848":"tax on 38,97","oss-numerus-rounding-points.ed6da61a64":"rounds at the subtotal","oss-numerus-rounding-points.61637ebddf":"rounded, three times","oss-numerus-rounding-points.1006a73ca3":"the trails part here","oss-numerus-rounding-points.87a9a18563":"tax per line","oss-numerus-rounding-points.bec80b7068":"rounds at the line","oss-numerus-rounding-points.88984f4c25":"tax rate","oss-numerus-rounding-points.30fd68adea":"line 3","oss-numerus-rounding-points.ec761a6b93":"line 2","oss-numerus-rounding-points.04e3324670":"line 1","oss-numerus-rounding-points.a57d56ce9f":"the same invoice, sent to all three","oss-numerus-rounding-points.17d66496b0":"checkable with a pen","oss-numerus-rounding-points.672ca7b729":"two agree by coincidence","oss-numerus-rounding-points.898f2b5a43":"one invoice / three rounding points","oss-numerus-same-on-seven.e6660f0c43":"conversion, division, overflow","oss-numerus-same-on-seven.87db792d38":"Fuzzing holds the boundaries","oss-numerus-same-on-seven.8c296ed11b":"Seven targets print the same 64-bit result.","oss-numerus-same-on-seven.b6ebbdd03d":"The build matrix","oss-numerus-same-on-seven.3df0c01efc":"kept as the reference","oss-numerus-same-on-seven.2e43072172":"Exact rational","oss-numerus-same-on-seven.7a7d871453":"carried with the result","oss-numerus-same-on-seven.011efcd591":"Interval","oss-numerus-same-on-seven.978093eef8":"returned by the tape","oss-numerus-same-on-seven.36463cf838":"Gradient","oss-numerus-same-on-seven.e899c1f7c5":"The calculation","oss-numerus-same-on-seven.8593570b82":"no_std, Rust 1.70","oss-numerus-same-on-seven.8133542693":"same result","oss-numerus-same-on-seven.1044546148":"One expression, seven targets","oss-numerus-shift-identity.1be5521f88":"four covers the rest","oss-numerus-shift-identity.83bc840c89":"two terms covers most weights","oss-numerus-shift-identity.249697f8de":"Apot","oss-numerus-shift-identity.4bf5edaf12":"[ weights as sums of shifts ]","oss-numerus-shift-identity.d2652e27d7":"The identity","oss-numerus-shift-identity.7d25c570b1":"One shift. The case that needs no addition at all.","oss-numerus-shift-identity.99c362cc53":"times 0,5","oss-numerus-shift-identity.46a74e9565":"Shifted left once, plus shifted right twice.","oss-numerus-shift-identity.ccf4c9514f":"times 2,25","oss-numerus-shift-identity.fdc6393c4c":"Shifted right once, plus shifted right twice.","oss-numerus-shift-identity.e20596e00b":"times 0,75","oss-numerus-shift-identity.46d09acd56":"The value, plus itself shifted right once. No multiplier involved.","oss-numerus-shift-identity.e757d821b8":"times 1,5","oss-numerus-silent-banner.f43afb73c7":"the call that leaves most quietly is a sine, which is where the next section starts","oss-numerus-silent-banner.a3a9389ba9":"every test passed on every one of those days","oss-numerus-silent-banner.1837e87273":"nothing failed","oss-numerus-silent-banner.a464309aa3":"One property, eighteen months","oss-numerus-silent-banner.af2b6607a4":"So the question is not whether it can drift. It is where in time you find out. A property\n          nobody enforces is discovered missing by whoever re-runs the figure, which is somebody\n          outside your organisation, on a number you published, in a meeting whose date you did not\n          choose. A property the arithmetic enforces is discovered on the afternoon somebody writes\n          the line, by the person writing it, before it has an audience.","oss-numerus-silent-banner.f36ab61ae0":"The usual way to hold a property like this is to read the release notes, avoid the traps\n          you know about, set a flag in one place and write a test that compares two runs to six\n          decimal places. That arrangement holds for as long as nobody touches the build. Then a\n          shared profile picks up a vectoriser, or a library gains a fused multiply-add on one\n          target and not another, or a fleet is refreshed onto newer processors, and the property\n          leaves. No build fails, because nothing in the build was ever asked to check. The test\n          still passes, because six decimal places was always the wrong number of decimal places.","oss-numerus-silent-banner.1e80e3f23a":"It stopped being true anyway.","oss-numerus-silent-banner.5557f57d4d":"Nothing in the build failed.","oss-numerus-silent-banner.33a75b801d":"Eighteen months later","oss-numerus-silent-banner.2314ff5d1d":"somebody else re-runs a published figure and gets a different last digit","oss-numerus-silent-banner.4729581cb1":"month 18","oss-numerus-silent-banner.120c74cebe":"the fleet is refreshed onto newer processors","oss-numerus-silent-banner.a3b193bef2":"month 14","oss-numerus-silent-banner.3e63556903":"a shared profile turns on a vectoriser","oss-numerus-silent-banner.a4a6d02706":"month 9","oss-numerus-silent-banner.5cbb4d2bcd":"a compiler upgrade lands across every build","oss-numerus-silent-banner.4b7b18a655":"month 4","oss-numerus-silent-banner.4f54d87fd1":"the flag is set and a test compares two runs","oss-numerus-silent-banner.d4eb798460":"month 0","oss-numerus-silent-banner.bridge.format.eyebrow":"The contract before the value","oss-numerus-silent-banner.bridge.format.lead":"The type fixes the arithmetic.","oss-numerus-silent-banner.bridge.format.accent":"The domain fixes what it means.","oss-numerus-silent-banner.bridge.format.body":"Signedness, width and overflow behaviour can be exact while a value still lacks the scale, unit and rounding rule that make it usable. Those choices belong in the same contract as the bits.","oss-numerus-silent-banner.bridge.format.detail":"The worked comparison separates the machine representation from the domain profile. A reviewer can see both the operations the type permits and the interpretation the application chose before the first value is stored.","oss-numerus-silent-banner.bridge.format.instrument":"One value, two halves of its contract","oss-numerus-silent-banner.bridge.format.tag":"EXPLICIT","oss-numerus-silent-banner.bridge.format.left":"Arithmetic type","oss-numerus-silent-banner.bridge.format.right":"Domain profile","oss-numerus-silent-banner.bridge.format.item1":"Width and signedness","oss-numerus-silent-banner.bridge.format.item2":"Overflow behaviour","oss-numerus-silent-banner.bridge.format.item3":"Unit and scale","oss-numerus-silent-banner.bridge.format.item4":"Rounding rule","oss-numerus-silent-banner.bridge.format.status":"COMPLETE","oss-numerus-silent-banner.bridge.format.verdictLabel":"Numeric contract","oss-numerus-silent-banner.bridge.format.verdict":"the same stored bits carry one declared interpretation everywhere","oss-numerus-silent-banner.bridge.format.footer":"With the contract named, base-ten values and rounding become engineering decisions rather than defaults.","oss-numerus-silent-banner.bridge.evidence.eyebrow":"The evidence boundary","oss-numerus-silent-banner.bridge.evidence.lead":"A passing function is not enough.","oss-numerus-silent-banner.bridge.evidence.accent":"The contract needs a witness.","oss-numerus-silent-banner.bridge.evidence.body":"A numeric implementation earns confidence by exposing its input range, generating cases across that range and retaining the smallest counterexample when a property fails. A headline accuracy claim cannot replace that record.","oss-numerus-silent-banner.bridge.evidence.detail":"The same evidence should cover semantic errors as well as numerical ones. A unit mismatch refused by the type system is a useful result, just like a transcendental case that lands outside its stated bound.","oss-numerus-silent-banner.bridge.evidence.instrument":"Qualification evidence","oss-numerus-silent-banner.bridge.evidence.tag":"REPRODUCIBLE","oss-numerus-silent-banner.bridge.evidence.item1":"Input range declared","oss-numerus-silent-banner.bridge.evidence.item2":"Generated cases retained","oss-numerus-silent-banner.bridge.evidence.item3":"Counterexample reduced","oss-numerus-silent-banner.bridge.evidence.item4":"Unit mismatch refused","oss-numerus-silent-banner.bridge.evidence.status":"CHECKED","oss-numerus-silent-banner.bridge.evidence.verdictLabel":"Release evidence","oss-numerus-silent-banner.bridge.evidence.verdict":"a reviewer can repeat the check and inspect the case that failed","oss-numerus-silent-banner.bridge.evidence.footer":"The next family changes representation at runtime, so its transition rules need the same scrutiny.","oss-numerus-silent-banner.bridge.record.eyebrow":"The figure and its record","oss-numerus-silent-banner.bridge.record.lead":"Keep the number.","oss-numerus-silent-banner.bridge.record.accent":"Keep how it was reached.","oss-numerus-silent-banner.bridge.record.body":"A reported figure is hard to defend when its precision, rounding mode and intermediate values have disappeared. The result and the numeric profile that produced it need to remain one reviewable record.","oss-numerus-silent-banner.bridge.record.detail":"That record supports replay against the same inputs and keeps the retention decision beside the evidence. A later reviewer can reproduce the calculation without rebuilding the operating environment from meeting notes.","oss-numerus-silent-banner.bridge.record.instrument":"Calculation record","oss-numerus-silent-banner.bridge.record.tag":"REPLAYABLE","oss-numerus-silent-banner.bridge.record.item1":"Numeric profile attached","oss-numerus-silent-banner.bridge.record.item2":"Inputs and steps replayed","oss-numerus-silent-banner.bridge.record.item3":"Review date carried","oss-numerus-silent-banner.bridge.record.item4":"Archive remains readable","oss-numerus-silent-banner.bridge.record.status":"RETAINED","oss-numerus-silent-banner.bridge.record.verdictLabel":"Review result","oss-numerus-silent-banner.bridge.record.verdict":"the figure can be reproduced for as long as its obligation requires","oss-numerus-silent-banner.bridge.record.footer":"A durable record is the foundation for the qualification package that follows.","oss-numerus-small-things.6a2b96738b":"and none of them is a data centre","oss-numerus-small-things.5c9861141a":"each answer has somewhere to be","oss-numerus-small-things.0d6c606b6b":"Never far","oss-numerus-small-things.89b38a317c":"and it is never far","oss-numerus-small-things.40ac7ae025":"Where the answer goes","oss-numerus-small-things.610504790c":"The only one of the four whose answer is written down for somebody.","oss-numerus-small-things.fecc9ba77c":"What you owe","oss-numerus-small-things.3f76a09d04":"A statement","oss-numerus-small-things.9fc126434b":"The answer leaves as a movement, and there is no time to send it.","oss-numerus-small-things.4e99b97145":"How hard to brake","oss-numerus-small-things.d2dba223e0":"A wheel","oss-numerus-small-things.8b3e784af2":"Read by the person holding it, in the room it was worked out in.","oss-numerus-small-things.f92a011fd1":"What you need","oss-numerus-small-things.e3ad4fadca":"Bedside","oss-numerus-small-things.c980e543eb":"A total, once a quarter. The readings behind it stay on the wall.","oss-numerus-small-things.6a888a61f1":"What you used","oss-numerus-small-things.9f46bd801d":"Cupboard","oss-numerus-stack-before.a304f9f201":"the build stays yours","oss-numerus-stack-before.ea9dc71638":"Seven lines converge","oss-numerus-stack-before.7bf00996a5":"One licence, one generated SBOM, one supply chain review.","oss-numerus-stack-before.4060198f0a":"one dependency","oss-numerus-stack-before.cd84197771":"Numerus","oss-numerus-stack-before.1eaec89500":"Your build","oss-numerus-stack-before.9e50bc5c66":"Apache-2.0","oss-numerus-stack-before.96e59df48b":"one review","oss-numerus-stack-before.6e10caae7e":"Seven jobs, one dependency","oss-numerus-stack-before.f8275858b3":"An effort from nothing","oss-numerus-stack-before.9d7f2e30c0":"Certification package","oss-numerus-stack-before.36280b3e16":"A spreadsheet","oss-numerus-stack-before.a49a53039b":"Carbon by region","oss-numerus-stack-before.259c4aa018":"A model","oss-numerus-stack-before.d8e9f0a0eb":"Measured energy","oss-numerus-stack-before.23e5089db7":"A rotation setting","oss-numerus-stack-before.265e846453":"Retention against rules","oss-numerus-stack-before.33322054a3":"A bespoke replay script","oss-numerus-stack-before.4f6a36b4a7":"Replayable record","oss-numerus-stack-before.38c1e9197b":"A note nobody wrote","oss-numerus-stack-before.058ee737b5":"Numeric decision record","oss-numerus-stack-before.30f06d7132":"A library and a review","oss-numerus-stack-before.d410845a78":"Exact money arithmetic","oss-numerus-stamped.bb175b3278":"the stamped header is the one committed today","oss-numerus-stamped.e51bc95b49":"two removed on the record","oss-numerus-stamped.990d6c303b":"three changed, one added,","oss-numerus-stamped.aecfb400e5":"A set maintained by hand cannot produce this comparison at all. There is no earlier version\n          of it to compare against, only an earlier belief about what the code did.","oss-numerus-stamped.2b59c35211":"What two stamped releases allow","oss-numerus-stamped.ae42a98956":"whether it can be cited in a finding at all","oss-numerus-stamped.807c5169f0":"whether it predates the change under discussion","oss-numerus-stamped.b8d80682dc":"19 january 2026","oss-numerus-stamped.f9385f9d37":"which release a reviewer is holding, without asking","oss-numerus-stamped.6d0e015ff7":"which of the five artefacts this is","oss-numerus-stamped.52573e8dd2":"two removals, both visible","oss-numerus-stamped.f11be831e6":"generated set / stamped, then compared","oss-numerus-stamped.1e4aa1ae4c":"bill of materials","oss-numerus-stamped.72bf5df575":"Carbon intensity defaulted when a region is unknown","oss-numerus-stamped.7bee0449c2":"Energy estimated where counters are unavailable","oss-numerus-stamped.8d7b278c1e":"Retention condition asserted per named regime","oss-numerus-stamped.1085e42e9e":"Integrity checked before replay is attempted","oss-numerus-stamped.3a7ba8bc1d":"Scale carried in the type, not alongside it","oss-numerus-stamped.52b557efbf":"Rounding policy fixed per contract, never inherited","oss-numerus-stamped.afe5542f37":"Identical results from identical inputs, on any platform","oss-numerus-still-people.57d6e00b00":"the rule is somebody's decision","oss-numerus-still-people.1e20cf1534":"the sum is exact","oss-numerus-still-people.430a6d1208":"Still people","oss-numerus-still-people.6a960ec78e":"and always will be","oss-numerus-still-people.86fc89a286":"Still up to people","oss-numerus-still-people.13b92607d2":"Because the record exists, the answer is not somebody's guess.","oss-numerus-still-people.a9d3261fc4":"And get an answer","oss-numerus-still-people.3562777bc6":"Ask","oss-numerus-still-people.f54dac2414":"Anything that matters is held for somebody to look at.","oss-numerus-still-people.e7c1655a11":"A person steps in","oss-numerus-still-people.769bb19e61":"When","oss-numerus-still-people.a22ac245b9":"A question for people, and one you are entitled to raise.","oss-numerus-still-people.44987e14bb":"It is fair","oss-numerus-still-people.20f2e9f1a3":"Whether","oss-numerus-still-people.db954710aa":"An organisation, answerable for it. Never the arithmetic.","oss-numerus-still-people.2bb7238804":"Writes the rule","oss-numerus-still-people.7d531617dd":"Who","oss-numerus-still-true.958f057ec0":"the answer did not","oss-numerus-still-true.ffa77d7620":"the machine changed","oss-numerus-still-true.618bf8dfcf":"A year on","oss-numerus-still-true.2985aa9bd6":"and what does not need to","oss-numerus-still-true.15d9ba981a":"What survives the move","oss-numerus-still-true.493d233562":"Which is the point. None of the answer was ever the machine's.","oss-numerus-still-true.eea3ad2430":"Not the machine","oss-numerus-still-true.bd12473bc2":"How the figure was reached, in a form somebody can read back.","oss-numerus-still-true.a7dc07c061":"The reason","oss-numerus-still-true.e3ea0a392e":"What was worked out first. Kept, because it changes the answer.","oss-numerus-still-true.8208f3f27b":"The order","oss-numerus-still-true.8525b2705c":"The same numbers out, from the same numbers in, on a different machine.","oss-numerus-still-true.f8a0418161":"The figures","oss-numerus-threshold-banner.7106de7824":"the line is doing its job, which is why the cause has to be removed rather than caught","oss-numerus-threshold-banner.041e215d67":"nothing was breached, and nothing was found","oss-numerus-threshold-banner.738ecd3481":"the threshold, working as specified","oss-numerus-threshold-banner.0986f78b4a":"materiality threshold","oss-numerus-threshold-banner.5fd87f8077":"by design","oss-numerus-threshold-banner.cb2d642413":"Under the line","oss-numerus-threshold-banner.d0a9396022":"Which is why the arithmetic is the last place anybody looks and usually the last place\n          anybody looks twice. Fix the numeric contract and the small differences stop arriving, and\n          the ones that arrive after that are no longer the kind of thing a threshold was written\n          for. That is the quiet benefit and it is worth stating plainly: not that the exceptions get\n          investigated better, but that the population of exceptions changes, and what is left in it\n          means something.","oss-numerus-threshold-banner.6a5442942f":"Every finance function has a line under which a difference is not worth the cost of\n          finding. That line is deliberate, it is signed off, and without it nothing would ever\n          close. It also has a side effect nobody designed: a cause that only ever produces small\n          differences is invisible to it, permanently, however many times it fires. The threshold is\n          not failing when that happens. It is doing exactly what it was built to do.","oss-numerus-threshold-banner.fefd241d8d":"So nobody looked.","oss-numerus-threshold-banner.408b7a1b22":"It was below the threshold.","oss-numerus-threshold-banner.0f3db31739":"The control that absorbs it","oss-numerus-threshold-banner.0b9a669b18":"the cause, never once examined","oss-numerus-threshold-banner.de1f45b7a7":"the same cent every quarter, still below it","oss-numerus-threshold-banner.717ecd2b01":"the same cent on every invoice, still below it","oss-numerus-threshold-banner.06806ccdbf":"one cent on one invoice, below the line","oss-numerus-trilemma.03e59f80be":"and a table of which to use when","oss-numerus-trilemma.f3261ad6d3":"three strategies, one trilemma","oss-numerus-trilemma.b0811e470d":"Trade","oss-numerus-trilemma.57c7ec8d7f":"the third is the price","oss-numerus-trilemma.1f21629841":"Pick two","oss-numerus-trilemma.16b018430b":"Nobody has this. The library says so rather than implying it.","oss-numerus-trilemma.45971e1ddb":"All three","oss-numerus-trilemma.b697dd615a":"two of three","oss-numerus-trilemma.2de4ff8dfb":"Uniform and adaptive integer/fixed-point. What a value may be is constrained.","oss-numerus-trilemma.4d659f11f9":"Shift only","oss-numerus-trilemma.2ab780ff54":"Uniform lanes and value independent. Per-value range goes.","oss-numerus-trilemma.611b2774d7":"Shared exponent","oss-numerus-trilemma.7f12148b06":"Adaptive integer/fixed-point and value independent. Lanes stop being uniform.","oss-numerus-trilemma.4214c8d1fe":"Per-value strata","oss-numerus-two-places.2c2c7ea4b7":"and no difference in the answer","oss-numerus-two-places.f814d7c907":"four very different machines","oss-numerus-two-places.8a6d4d2d7a":"Any machine","oss-numerus-two-places.2786890add":"one answer","oss-numerus-two-places.1b4fcf28b4":"Four machines","oss-numerus-two-places.11e46fe881":"The reader on the counter, which nobody has touched in years.","oss-numerus-two-places.2b5981d410":"In a shop","oss-numerus-two-places.4d4ce73b15":"Card","oss-numerus-two-places.71d0cebeff":"Older than both, and no less exact about what you owe.","oss-numerus-two-places.6df7f9fcec":"On a wall","oss-numerus-two-places.df8fad2cc2":"Meter","oss-numerus-two-places.f4598ac092":"Faster, bigger, and it gets the same answer, not a better one.","oss-numerus-two-places.2d10154c7f":"Another country","oss-numerus-two-places.cb0cb170d1":"Server","oss-numerus-two-places.ac7196f5c8":"The one you are probably reading this on.","oss-numerus-two-places.b106e87f8e":"In your hand","oss-numerus-two-places.77064d5265":"Phone","oss-numerus-underneath.9f9e229d84":"the band is continuous, which is the whole drawing","oss-numerus-underneath.24aafecc70":"one in a bank","oss-numerus-underneath.b799650890":"three in the room,","oss-numerus-underneath.3a9764287c":"nothing goes this way","oss-numerus-underneath.994fae0bf6":"a bank ledger","oss-numerus-underneath.0ed4902133":"And not one of the four has to send anything anywhere to do it.","oss-numerus-underneath.938ff17e9c":"The same sum, done the same way, in all four.","oss-numerus-underneath.8e966d48c0":"in a car, at the wheel","oss-numerus-underneath.943be1c351":"How hard the wheel is being held.","oss-numerus-underneath.f0709d068c":"the sum it is doing","oss-numerus-underneath.fb78544d31":"brake control","oss-numerus-underneath.fb3acbc8be":"on a hospital ward","oss-numerus-underneath.93680eb120":"How much of a drug goes in.","oss-numerus-underneath.9fccccf229":"mg / h","oss-numerus-underneath.20c20e95e3":"in your cupboard","oss-numerus-underneath.0547a40465":"How many litres you will be charged for.","oss-numerus-underneath.cd2024274a":"your cupboard, a ward, a car","oss-numerus-underneath.c313599cbf":"nothing has to leave","oss-numerus-underneath.cf0f1732ca":"four things, one kind of sum","oss-numerus-unit-algebra.6d28737c5d":"and it costs nothing at run time","oss-numerus-unit-algebra.f6ff9054f3":"the algebra is the type system","oss-numerus-unit-algebra.93b9e289e2":"Types","oss-numerus-unit-algebra.8df59e53a2":"without being told","oss-numerus-unit-algebra.a607c1932c":"What division produces","oss-numerus-unit-algebra.6444247dfa":"Watts. The velocity from the first row is already a type.","oss-numerus-unit-algebra.7987de8b60":"Newtons times row one","oss-numerus-unit-algebra.a3b6e59247":"Newtons. The derived unit is the result type.","oss-numerus-unit-algebra.8c5d338fd0":"Mass times that","oss-numerus-unit-algebra.7d9ac09b1f":"Acceleration. Nothing was declared to make this happen.","oss-numerus-unit-algebra.ce9a6a9a2d":"That over time","oss-numerus-unit-algebra.ed7bc1c790":"Metres per second, as a type, produced by the division itself.","oss-numerus-unit-algebra.5567974de1":"Length over time","oss-numerus-unit-refusal.65fa4d9f73":"the refusal is the guarantee","oss-numerus-unit-refusal.1f6bdab0ea":"one cannot","oss-numerus-unit-refusal.728fcf7b9f":"one builds,","oss-numerus-unit-refusal.abd6b12e08":"No unit is written by hand anywhere along that chain, and none of it exists once the\n            binary is built.","oss-numerus-unit-refusal.06dd646da5":"the same velocity, reached again","oss-numerus-unit-refusal.6c3dfe2bd4":"force, a derived unit","oss-numerus-unit-refusal.35d0658db1":"and the algebra composes on its own","oss-numerus-unit-refusal.b330e3988a":"This exact case is a test in the library which is required to fail compilation, so the\n              guarantee is regression tested rather than asserted.","oss-numerus-unit-refusal.f607b752f8":"   = note: the units do not compose under addition\n","oss-numerus-unit-refusal.907053ef97":"   |                            Length + Time\n","oss-numerus-unit-refusal.05b2f03081":"   |                          ^ no implementation for\n","oss-numerus-unit-refusal.29e9bea027":"14 |     let wrong = distance + duration;\n","oss-numerus-unit-refusal.e59655141d":"error[E0277]: cannot add a duration to a length","oss-numerus-unit-refusal.101712716c":"wrong = distance + duration;","oss-numerus-unit-refusal.a73d390af0":"the quantity itself, prefix and symbol together","oss-numerus-unit-refusal.ef947dc4d8":"chosen by","oss-numerus-unit-refusal.f2edf0615e":"12,53 m/s","oss-numerus-unit-refusal.9d372d7d84":"metres per second","oss-numerus-unit-refusal.30e5eadd4c":"result type","oss-numerus-unit-refusal.21e37470b1":"pace = distance / duration;","oss-numerus-unit-refusal.bb1f98ea54":"checked at compile time","oss-numerus-unit-refusal.e52017ccd6":"one of the two will not build","oss-numerus-unit-refusal.0627c3d2d2":"dimensions / two expressions","oss-numerus-who-can-check.b437936999":"written in Europe","oss-numerus-who-can-check.77a54a99fe":"Publishes in round two","oss-numerus-who-can-check.cf9b77061f":"ROUND TWO","oss-numerus-who-can-check.b2fdfdebe8":"once it publishes","oss-numerus-who-can-check.85bc889794":"Who can check it","oss-numerus-who-can-check.dbe56224bc":"Once the repository publishes, inspect the same arithmetic without relying on a summary.","oss-numerus-who-can-check.905cb326c7":"You","oss-numerus-who-can-check.0669ddd7c8":"Looks at the same lines the statement came out of.","oss-numerus-who-can-check.a02d627ff7":"An auditor","oss-numerus-who-can-check.630371eaf3":"Checks the sums behind a tariff for everyone on it.","oss-numerus-who-can-check.4c8109a32b":"A consumer body","oss-numerus-who-can-check.e20366b624":"Reads the arithmetic itself, not a summary written for them.","oss-numerus-who-can-check.eb91159342":"A regulator","oss-numerus-width-cost.820297212d":"the waste is the failure nobody notices","oss-numerus-width-cost.02cf189d19":"at the top, too large at the bottom","oss-numerus-width-cost.c63e3e110e":"too small","oss-numerus-width-cost.1057b94f22":"The second and third lines cost the same to the byte and differ by a factor of two hundred\n          and fifty six in precision. Nothing in the arithmetic could have chosen between them for\n          you.","oss-numerus-width-cost.c7e6cf09e2":"1,5 mm","oss-numerus-width-cost.4334868470":"paid for twice over, never used","oss-numerus-width-cost.28a11e02a7":"off a wheel encoder, once per revolution","oss-numerus-width-cost.a13db493d9":"1523,1 m","oss-numerus-width-cost.a98cb654ad":"the reading","oss-numerus-width-cost.e78671af12":"each line on its own log scale","oss-numerus-width-cost.34428784e6":"the first line cannot hold it","oss-numerus-width-cost.35ea03b02a":"one reading / four widths","oss-numerus-width-cost.fd99e37bf1":"eight bytes","oss-numerus-width-cost.1b2bd127dc":"a millionth of a millimetre out","oss-numerus-width-cost.216e448d6e":"2 147 483 647,99 m","oss-numerus-width-cost.b71fc18885":"four bytes, the same four","oss-numerus-width-cost.a23e69c584":"six thousandths of a millimetre out","oss-numerus-width-cost.c6de0191a6":"32 767,99998 m","oss-numerus-width-cost.2e0c32e739":"four bytes","oss-numerus-width-cost.45b808292e":"one and a half millimetres out","oss-numerus-width-cost.db749975ee":"8 388 607,996 m","oss-numerus-width-cost.e948a1bbef":"the reading is not on this line","oss-numerus-width-cost.614b3fe755":"saturated at the stop","oss-numerus-width-cost.a5b6417051":"7,9375 m","oss-numerus-width-rungs.c2bb33aafd":"and the split is the decision","oss-numerus-width-rungs.8556823250":"three ways to split one word","oss-numerus-width-rungs.a58ddf50c5":"Width","oss-numerus-width-rungs.ee367258d9":"128 bits split by need","oss-numerus-width-rungs.095db15c77":"One word, three ways","oss-numerus-width-rungs.c8bdcf542a":"The everyday 32-bit choice, at a quarter of the memory of the three.","oss-numerus-width-rungs.896780afd0":"For comparison","oss-numerus-width-rungs.70c97f662e":"A very large integer part, sixteen places of fraction behind it.","oss-numerus-width-rungs.45864530d6":"Wide whole","oss-numerus-width-rungs.75d8aaca33":"Thirty two places behind the point, when neither end dominates.","oss-numerus-width-rungs.a600dc15c0":"Near enough even","oss-numerus-width-rungs.aa9f9c6057":"Forty eight places behind the point, for an hours-long accumulation.","oss-numerus-width-rungs.d6ca20680c":"Wide fraction","oss-numerus-year-later.85516a74c8":"matching is not an event, which is why two of these are quiet","oss-numerus-year-later.f4d5eba490":"one causes work","oss-numerus-year-later.8d89318c9b":"three sheets,","oss-numerus-year-later.a5b211275b":"Somebody has to explain the four cents, and the somebody is you, to the office that already\n          has your form. Nothing was stolen and nothing failed, and it is still an afternoon of your\n          life.","oss-numerus-year-later.fb340a7d85":"new software, and nothing recorded about the old","oss-numerus-year-later.0a53a87b19":"four cents different","oss-numerus-year-later.ef8302548a":"interest, for the year","oss-numerus-year-later.59ffa52b93":"the version everybody has had","oss-numerus-year-later.1af8896df1":"march 2027","oss-numerus-year-later.dad437acc0":"a system replaced twice since","oss-numerus-year-later.81c9ffb251":"the same to the last digit","oss-numerus-year-later.f956c3704b":"the same year, worked out again","oss-numerus-year-later.805470fb8a":"the original system","oss-numerus-year-later.69999a5137":"the figure on the form you filed","oss-numerus-year-later.b7deb5c908":"the statement as it was sent to you","oss-numerus-year-later.a14ed6f733":"march 2025","oss-numerus-year-later.23a1c0041d":"the figure you already filed","oss-numerus-year-later.092988aac8":"two match, one does not","oss-numerus-year-later.ae84880476":"one annual statement / three years apart","page-breadcrumb.c766e66518":"Breadcrumb","page-toc.7e439c353e":"On this page","section_st_a1_display-split.7c9a7c0610":"Detail","section_st_f1_cta-dark.90e40d5043":"Get started","toc-rail.f5cbdf6bfb":"Contents"}
