Inputs
Derived
| Tolerance T (B9) | - |
| TUR / Cm (B17) | - |
| GB multiplier r (B15) | - |
| GB width w (B16) | - |
| Acceptance upper AL (B20) | - |
| Acceptance lower AL (B21) | - |
| Decision (B26) | - |
| pc at AL (B28) | - |
| Process Yield, ITP (B37) | - |
| Cpk (B38) | - |
| Worst-case specific risk (B39) | - |
Specific Risk Detail (at measured value)
| P(true > Tu | xm) (B71) | - |
| P(true < Tl | xm) (B72) | - |
| Total Specific PFA (B73) | - |
| Category (B74) | - |
| Usable Spec Range % (B79) | - |
Guard-Band Width by Method (k=2 U)
| Decision Rule | GB Width (w) | Accept ± |
|---|---|---|
| 1. Simple Acceptance | - | - |
| 2. Specific Risk | - | - |
| 3. ILAC G8 (95%) | - | - |
| 4. Dobbert M6 | - | - |
| 5. RSS / M5 | - | - |
| 6. Fixed 0.98xU | - | - |
| 7. k=2 Subtraction | - | - |
Worked Example - UKAS LAB 48: Why Simple Acceptance is Problematic
| Measured Value | U (k=2) | Simple Accept? | Specific PFA | Risk Level | 3-Outcome Verdict |
|---|
PFA Sensitivity by TUR
| TUR | PFA at x=0.9 T (Simple) | Max PFA | Dobbert M6 GB Width | GB vanishes? |
|---|
Conformance Probability → Guard-Band Multiplier
r = NORM.S.INV(pc) / 2, applied as AL = TL − r × U95.
| Conf. Probability (pc) | Max Risk per Side | GB Multiplier (r) |
|---|
Bias Impact Analysis
Illustrative scenario: known bias = |NV − xm|, DUT reading = NV + 0.8 T. Same equipment and TUR, with vs without correcting the bias.
| Quantity | Without Bias Correction | With Bias Correction |
|---|---|---|
| Known Bias | - | n/a |
| DUT Reading (uncorrected) | - | n/a |
| Measurement Error | - | - |
| TUR | - | - |
| LSL | - | - |
| USL | - | - |
| Corrected Measured Value | - | - |
| PFA (Lower Limit) | - | - |
| PFA (Upper Limit) | - | - |
| Total PFA | - | - |
| Decision (Simple Acceptance) | - | - |
| Decision (2.5 % Guard Banded) | - | - |
| PFA reduction from bias correction | - | n/a |
PFA Calculation for an Entire Loading Range
Instrument Readings (editable)
| Applied | Reading 1 | Reading 2 | Reading 3 | Reading 4 | Reading 5 | Avg |
|---|
Method 5 (RSS / Z540.3) - per-reading PFA & acceptance
| Applied | Avg | Req Tol | LSL | USL | U (k=2) | TUR | PFA Total | Accept ± | Pass/Fail |
|---|
Method 6 (Dobbert managed guard band)
| Applied | Avg | Dobbert M | Accept ± | Lower | Upper | Pass/Fail |
|---|
Difference in Acceptance Limits - Method 5 vs Method 6
| Applied | Avg | M6 Accept ± | M6 P/F | M5 Accept ± | M5 P/F | % Diff in AL |
|---|
Metrology Cost Model - Production Inputs
Equipment Comparison (guard band sized to the PFA target)
| Equipment | Price ($) | 1σ Unc. | TUR | Global PFR | Global PFA | Falsely Rej. | Falsely Acc. | FR Cost ($) | FA Cost ($) | Total Risk ($) |
|---|
Total Cost Analysis
| Equipment | Equip Cost | Production Cost | False Reject Cost | False Accept Cost | Total Cost | Budget vs Baseline | Payback (days) |
|---|
Cumulative Total Cost Over Time
| DMM | Annual Op. Cost | Equip. Cost | Year 1 | Year 2 | Year 3 | Year 4 | Year 5 | Year 7 | Year 10 |
|---|
Sample Size Determination
Calibration History (Clopper-Pearson exact)
Sample Size for Zero Failures (n = ⌈ln(1−conf)/ln(reliability)⌉)
| Target EOPR | 80 % Conf. | 90 % Conf. | 95 % Conf. | 99 % Conf. |
|---|
EOPR Sensitivity (point estimate = 1 − c/n)
| Failures ↓ / n → | 5 | 10 | 20 | 50 | 100 |
|---|
Coverage Factor (k) Reference - Normal Distribution
| k | Coverage Probability | Target Coverage | k for target |
|---|
Decision Rules & Statements of Conformity
Simplified guidance for calibration laboratories - ISO/IEC 17025:2017, UKAS LAB 48, ILAC-G8:09/2019, JCGM 106:2012.
1. Key Definitions
| Term | Definition | Source |
|---|---|---|
| Decision Rule | A rule describing how measurement uncertainty is accounted for when stating conformity with a specified requirement. | ISO 17025, Cl. 3.7 |
| Guard Band (w) | An interval between a tolerance limit (TL) and a corresponding acceptance limit (AL), used as a buffer for measurement uncertainty. w = |TL - AL|. | ILAC-G8:09/2019 |
| Tolerance Limit (TL) | The specified upper or lower bound of permissible values (the specification limit). | ILAC-G8:09/2019 |
| Acceptance Limit (AL) | The specified bound of permissible measured values after applying a guard band. | ILAC-G8:09/2019 |
| PFA | Probability of False Accept - a non-conforming item is accepted (consumer's risk). | JCGM 106:2012 |
| PFR | Probability of False Reject - a conforming item is rejected (producer's risk). | JCGM 106:2012 |
| TUR | Test Uncertainty Ratio = Tolerance / Expanded Measurement Uncertainty. TUR = T / (2u). | ANSI Z540.3 |
| Simple Acceptance | AL = TL (no guard band). Carries significant PFA near limits; must be paired with a TUR or U constraint to satisfy Cl. 3.7. | ILAC-G8, Def. 1.9 |
2. ISO/IEC 17025:2017 Requirements
| Clause | Requirement | Key Implication |
|---|---|---|
| 3.7 - Definition | A decision rule describes how measurement uncertainty is accounted for; any conformity statement must be accompanied by a defined decision rule. | No uncertainty = no metrological traceability |
| 7.1.3 - Customer Agreement | The specification, standard, and decision rule shall be clearly defined and, unless inherent in the specification, agreed with the customer. | Proactive communication before measurement |
| 7.8.6.1 - Documentation & Risk | Document the decision rule employed, taking into account the level of risk (PFA, PFR, statistical assumptions). | Must document risk level, not just pass/fail |
| 7.8.6.2 - Reporting | The certificate identifies: (a) which results the statement applies to, (b) which specs met/not met, (c) the decision rule applied. | All three elements on every certificate |
3. Decision Rule Comparison - Core Approaches + Variants
| Decision Rule | Guard Band Formula | Risk Framework | Target Risk | Reference |
|---|---|---|---|---|
| 1. Simple Acceptance (Shared Risk) | GB = 0 (AL = TL) | Neither - risk ignored | None (shared) | ASME B89.7.3.1; ILAC-G8 6.1 |
| 2. Specific Risk Guard Band | AL = TL - (GB_mult x U); GB_mult = NORM.S.INV(1-risk)/2 | Specific (conditional) | ≤ 2.5 % PFA per side | ILAC-G8; JCGM 106 |
| 3. ILAC G8 (95 %, bilateral) | w = u x 1.96 | Specific (conditional) | Pc ≥ 98 % | ILAC-G8; ISO 14253-1 |
| 4. Dobbert Method 6 (Z540.3) | GB = U x M(TUR); M = max(0, 1.04-e^(0.38 ln(TUR)-0.54)) | Global (unconditional) | PFA ≤ 2 % | ANSI/NCSL Z540.3 |
| 5. RSS / Method 5 (Z540.3) | GB = U x TUR x (1 - √(1 - 1/TUR²)) | Global (unconditional) | PFA ≤ 2 % | ANSI/NCSL Z540.3 |
| 6. Fixed 0.98 x U Guard Band | GB = 0.98 x U | Specific-equivalent (fixed) | Conservative (pc ≈ 0.975) | ILAC-G8 (simplified) |
| 7. k=2 Subtraction (AL = T - U) | GB = U | Producer-biased | Conservative | MIL-STD-45662A |
4. Non-Binary Decision Rules (3-Outcome Model)
| Outcome | Condition | Specific PFA | Action |
|---|---|---|---|
| PASS | Measured value within acceptance limits (AL) | ≤ agreed threshold (e.g. 2.5 %) | State conformity with confidence |
| POSSIBLE PASS | Within tolerance (TL) but outside acceptance (AL) | > threshold but < 50 % | Report MV, U, calculated PFA; customer decides |
| FAIL | Specific PFA ≥ 50 %, or outside TL by more than U | ≥ 50 % | State non-conformity |
9. Sizing Rules & Quick Math (DRG V1.42)
Rule of thumb: at shared risk (no guard band), TUR ≥ 4.6:1 keeps PFA ≤ 2 % (program-level). Required U = Tolerance / 4.6.
| Device Tolerance (T) | Required U (k=2) | Resulting TUR | Global Risk |
|---|---|---|---|
| 0.0001 | - | 4.6 : 1 | PFA ≤ 2 % |
| 0.0005 | - | 4.6 : 1 | PFA ≤ 2 % |
| 0.001 | - | 4.6 : 1 | PFA ≤ 2 % |
| 0.005 | - | 4.6 : 1 | PFA ≤ 2 % |
| 0.01 | - | 4.6 : 1 | PFA ≤ 2 % |
10. Decision Rule Selection Framework
"Start With the End in Mind" - work backward from the risk target to the equipment:
| Step | Action |
|---|---|
| A | Set the risk target and decision rule (e.g. PFA ≤ 2 %); state it on POs and calibration instructions. |
| B | Convert the risk target to required capability (TUR ≥ 4.6:1 at shared risk, or EOPR ≥ 89 %). |
| C | Translate capability to equipment and provider requirements (U_exp ≤ Tolerance / 4.6). |
| D | Validate with reliability data and control charts; see the Reliability tab for EOPR estimation. |
12. Five Rules to Reduce Measurement Risk
| # | Rule |
|---|---|
| 1 | Know the Right Requirements - engage metrology before purchase. |
| 2 | Use the Right Equipment - match CMC and traceability to tolerance; look beyond sticker price. |
| 3 | Follow the Right Processes - training, adapters, environment, SOPs. |
| 4 | Check Your Work - checklists, cross-checks, measurement assurance. |
| 5 | Stay Vigilant - SPC charts, interval review, reliability tracking. |
References: ISO/IEC 17025:2017 - UKAS LAB 48 - ILAC-G8:09/2019 - JCGM 106:2012 - ANSI/NCSL Z540.3 - ASME B89.7.3.1 / B89.7.4.1 - ISO 14253-1 - Decision Rule Guidance (Morehouse) V1.42. Morehouse Instrument Company - www.mhforce.com
JCGM 106:2012 Formula Validation
The app's engine benchmarked against JCGM 106:2012 worked examples. The full 182k-cell workbook grid (incl. 40,000 Halton NORM.S.INV samples) is validated headlessly; this tab shows the headline checks.
Table 1 - Resistor Example (Global Consumer & Producer Risk)
JCGM 106 9.5.3: TU=1500.2, TL=1499.8, u=0.04, u₀=0.12, AU=1500.18, AL=1499.82.
| Quantity | Engine (BVN) | Exact analytic | JCGM published | Δ (engine-exact) | Status |
|---|---|---|---|---|---|
| Global consumer risk RC (PFA) | - | - | 1.0 % | - | - |
| Global producer risk RP (PFR) | - | - | 6.9 % | - | - |
Identity Checks (closed form)
| Quantity | Computed | Δ | Status |
|---|---|---|---|
| Cm = (TU-TL)/(4u) | - | - | - |
| Cp = (TU-TL)/(6u₀) | - | - | - |
| Guard-band mult r = (TU-AU)/(2u) | - | - | - |
| Specific-risk Pc (eq.14, two-sided) | - | - | - |
Engine Identity vs Risk Calc & Curves
| Quantity | Engine value | Recomputed | Δ | Status |
|---|---|---|---|---|
| Half-width T = (TU-TL)/2 | - | - | - | - |
| TUR = T/(2u) | - | - | - | - |
| 1-ITP at xm | - | - | - | - |
Guard-Band Width vs TUR (T=10 reference)
| TUR | u = T/(2·TUR) | U = 2u | 0.98·U | Acceptance frac. | Spec PFA @ AU |
|---|
About This Tool
Standalone, single-file web port of the Decision Rules Guidance Worksheets For Web workbook. Every shown value matches the workbook cell to the IEEE-754 floor (HARD ≤ 1e-12 relative; exact for integer/rational; character-identical for TEXT). One math engine on window.DRG; the UI computes nothing.
Explore Further
Workbook Metadata
| Reference workbook | Decision Rules Guidance Worksheets For Web .xlsx |
| App version | V1.8.1 |
| Authors | Henry Zumbrun - Morehouse Instrument Company · Greg Cenker - IndySoft · Dilip Shah - E = mc3 Solutions |
| Web port | Harrison Zumbrun - Morehouse Instrument Company |
| Standards | ISO/IEC 17025:2017 · ILAC-G8:09/2019 · JCGM 106:2012 · ANSI/NCSL Z540.3 |
Changes Log
| Rev | Date | Author | Sections | Summary |
|---|---|---|---|---|
| V1.8.1 | 2026-06-11 | Harrison Zumbrun | Risk Calc layout | Risk Calc tab restructured for a faster what-if loop: the dropdown-driven Specific Risk chart now sits directly beside the Inputs card, with a colored verdict banner (active rule, PASS / POSSIBLE PASS / FAIL, total specific PFA) under the rule selector; charts are paired two-across on desktop and co-located with the tables they illustrate (Guard-Band table beside its stacked bar; UKAS worked example beside the PFA-vs-position curve; TUR-impact beside the PFA sensitivity table). The right-side legends on the Global Risk curves and the two JCGM charts drop to the bottom on narrow screens. The percent inputs' boxes now align with the other input fields. Presentation only - no calculation changes. |
| V1.8 | 2026-06-11 | Harrison Zumbrun | Chart visual parity; percent inputs; workbook comments | Full visual-parity pass over all 9 charts against the workbook's rendered charts (exported from Excel): the Specific Risk chart now uses the workbook's dropdown-driven dynamic title (Q2: the active rule name) and its exact series set and colors (blue PDF; red LSL/USL, gray Nominal, green LAL/UAL limit lines); the Guard Band chart is now the workbook's horizontal stacked bar with the full rule names; the Global Risk distribution chart gained the workbook's red TL/TU limit lines (new D92:G93 marker cells, validated cell-by-cell) and plots the product pdf on its workbook grid; the JCGM risk-curve dash semantics were corrected (RC dashed, RP solid - previously inverted); titles, series names, colors, dash patterns, axis titles, axis bounds (0-55 PFA clamp), legend positions, and percent tick formats now follow the workbook chart definitions throughout. Maximum Allowable Risk (PFA) and In-Tolerance Probability (ITP) are now percent-style inputs (2 / 95 instead of 0.02 / 0.95, with a visible % suffix); the engine still receives the workbook's decimals, so no calculated value changed. Saved-session JSONs from V1.7 and earlier carry decimals for these two fields and are not auto-migrated (testing-phase break); the autosave key was bumped so stale autosaves are not restored. The workbook's cell comments (the red triangles) are now hover help on the Risk Calc and Cost inputs, the Guard-Band method table, and the UKAS worked-example rows. No calculation changes. |
| V1.7 | 2026-06-10 | Harrison Zumbrun | All workbook charts | Added the six workbook charts missing from the port - Risk Calc: Specific Risk PFA vs measurement position, Guard Band Width & Usable Range by Decision Rule, TUR Impact on Measurement Distribution; Method tab: Acceptance Limit Method 5 vs Method 6; JCGM tab: the global-risk-curve and specific-risk-curve charts (the 241-node Simpson integration ported operation-for-operation; Excel's 15-significant-digit fuzzy comparison reproduced at the mask boundary via a new engine helper). All 9 workbook charts are now present, with every underlying data array validated cell-by-cell (248 new cells). |
| V1.6 | 2026-06-10 | Harrison Zumbrun | Authorship; E = mc3 Solutions | Added Dilip Shah - E = mc3 Solutions to the workbook authors: logo in the letterhead and share card, credit in Workbook Metadata and the validation report. No calculation changes. |
| V1.5 | 2026-06-10 | Harrison Zumbrun | SEO head; share card | Added the SEO head block: canonical URL, meta description, Open Graph tags, a descriptive page title, and a favicon (Morehouse compass mark, inlined). No calculation changes. |
| V1.4.2 | 2026-06-10 | Harrison Zumbrun | CSV templates; italic k | Added Download CSV Template buttons next to the Method readings and Cost equipment importers - each template is pre-filled from the current inputs in exactly the format the importer parses, so it round-trips losslessly. Italicized the remaining upright k in the Guard-Band Width by Method (k=2 U) heading. No calculation changes. |
| V1.4.1 | 2026-06-10 | Harrison Zumbrun | Charts on mobile; italic k | Charts now keep a sensible height at every viewport (fixed-height responsive containers with maintainAspectRatio:false - previously the aspect ratio locked at first render and collapsed the charts to ~40 px tall on phones, in every browser). Coverage-factor k italicized everywhere it appears as a symbol (k-value column, Method summaries, the k=2 Subtraction rows, Changes Log). No calculation changes. |
| V1.4 | 2026-06-10 | Harrison Zumbrun | Mobile layout | Responsive fixes for phones: the letterhead wraps (logos centered on one row, title beneath; long subtitle hidden), logos scale down, tab pills and table type tighten, inputs narrow, the guide banner goes full-width, and wide tables scroll horizontally inside their cards instead of stretching the page. No calculation changes. |
| V1.3.1 | 2026-06-10 | Harrison Zumbrun | Guide banner correction | The toolbar banner and the top Explore Further entry now link the Decision Rule Guidance document (the companion guide behind this tool); Start With the End in Mind remains listed as an additional resource. No calculation changes. |
| V1.3 | 2026-06-10 | Harrison Zumbrun | About; resources; guide banner | About This Tool: removed the EndInMind cross-reference and added an Explore Further section (Start With the End in Mind guide, the Quality Magazine decision-rules article, the free Force Calibration eBook, and the Morehouse technical blog). Added a site-wide banner in the toolbar linking the Start With the End in Mind guide. No calculation changes. |
| V1.2 | 2026-06-10 | Harrison Zumbrun | UI; authorship | Moved the title and subtitle into the letterhead, centered between the Morehouse and IndySoft logos; the navigation is now a full-width green strip. Fixed table header/column misalignment on all results tables (the table class name collided with Tailwind's .grid utility, which set display:grid; display:table restored). Workbook authorship corrected: authors Henry Zumbrun (Morehouse Instrument Company) and Greg Cenker (IndySoft); web port by Harrison Zumbrun (Morehouse Instrument Company). No calculation changes. |
| V1.1 | 2026-06-10 | Harrison Zumbrun | Risk Calc sheet complete; tab scenario gates | Ported the last Risk Calc regions: the specific-risk chart scaffolding (D2:E82 measurement-pdf grid, R/S product pdfs, TL/TU/NV/AL markers, P/Q TEXT labels) rendered as a new Specific Risk chart, and the UKAS LAB 48 worked-example table (exact strings incl. the workbook's verdict glyphs). Risk Calc Layer 2 now 957 cells, 593 bit-identical. Added Excel-COM alternate-input scenario gates for Method/Cost/Reliability (layer2_excel_scenarios_tabs.py): 11 scenarios, 2,588 cells, zero failures. |
| V1.0.1 | 2026-06-10 | Harrison Zumbrun | Single-sourcing; verifier pass | Two-independent-verifier adversarial pass (both PASS; each tab's gate confirmed to catch a 1 % corruption). Routed the two UI Dobbert-M sites that match the engine formula through E.dobbertM() (bit-identical; Method 6 keeps its distinct clamped-TUR/no-max variant, documented). Tightened the check_engine.js smoke floor to 1e-12. |
| V1.0 | 2026-06-09 | Harrison Zumbrun | IO layer; all tabs complete | Added the import/export/session layer: per-tab CSV export, CSV import for the Method reading grid and Cost equipment list, session JSON save/load, continuous localStorage autosave, and chart PNG export (graceful offline fallback). Validated by validators/test_io.py (12/12). All six workbook tabs now ported and exactly validated. |
| V0.9 | 2026-06-09 | Harrison Zumbrun | JCGM 106 Validation | Ported the JCGM 106 Validation report tab: the resistor worked-example global risk (PFA_L/PFR_L vs exact analytic vs JCGM published), identity checks, specific-risk example, engine-vs-Risk-Calc identity, and the guard-band-width-vs-TUR risk-curve table. Layer 2 (layer2_jcgm.py): 81 cells, 70 numeric within 1e-12 + 11 string-exact, 69 bit-identical. The 40,000 Halton NORM.S.INV grid samples are covered by Layer 0. |
| V0.8 | 2026-06-09 | Harrison Zumbrun | Guidance Summary | Ported the Guidance Summary reference tab: definitions, ISO 17025 requirements, the 7-method decision-rule comparison, the 3-outcome model, the sizing-rules table with the Required-U = Tolerance/4.6 formulas + custom-sizing input, the selection framework, and the five rules. Layer 2 (layer2_guidance.py): 6/6 sizing cells bit-exact. |
| V0.7 | 2026-06-09 | Harrison Zumbrun | Reliability | Ported the Reliability tab: zero-failure sample size (CEILING(ln(1-conf)/ln(reliability))), Clopper-Pearson exact bounds (BETA.INV), observed EOPR / failure rate, additional-samples-needed (AdditionalSamplesNeeded), the zero-failure reference grid, the EOPR sensitivity grid, and the coverage-factor k table. Layer 2 (layer2_reliability.py): 74 cells, all within 1e-12, 65 bit-identical. |
| V0.6 | 2026-06-09 | Harrison Zumbrun | Cost Model | Ported the Cost Model tab: production inputs, the 7-DMM equipment comparison (guard band sized by PFA_GB_SOLVER_ASYM to the PFA target, global PFA/PFR via PFA_L/PFR_L, ROUND-based false-reject/accept costs), total-cost analysis with budget-vs-baseline and payback, key-insight figures, and cumulative-cost projections. Layer 2 (layer2_cost.py): 192 cells, 173 numeric within 1e-12 + 19 string-exact, 161 bit-identical; the guard-band bisection solver reproduced exactly. |
| V0.5 | 2026-06-09 | Harrison Zumbrun | Method 5 & 6 & TL | Ported the full Method 5 & 6 & TL tab: config + editable 10-point reading grid, per-reading Method 5 (RSS, NORM.INV acceptance) and Method 6 (Dobbert, TUR clamped to 4) tables with summaries, the M5-vs-M6 comparison, and the inlined Method-6 acceptance-limit diagram. Layer 2 (layer2_methods.py): 429 cells, 389 numeric within 1e-12 + 40 string-exact, 374 bit-identical. |
| V0.4 | 2026-06-09 | Harrison Zumbrun | Risk Calc - methods/sensitivity/reference/bias | Added the 7-method Accept-± column, the PFA sensitivity-by-TUR table, the conformance→guard-band-multiplier reference table, and the bias-impact analysis block (all derived from the main inputs). Layer 2 extended to 592 cells, all within 1e-12, 353 bit-identical. |
| V0.3 | 2026-06-09 | Harrison Zumbrun | Risk Calc - curves & charts | Wired the distribution chart-data arrays (A92:A171 product/measurement/biased pdfs) and the Global Risk Curves (PFA vs ITP at TUR 1:1-4.6:1 via PFA_SYMMETRIC); rendered both with Chart.js (graceful offline). Layer 2 extended to 460 cells (44 scalar + 416 array), all within 1e-12, 244 bit-identical. |
| V0.2 | 2026-06-09 | Harrison Zumbrun | Branding | Added the Morehouse and IndySoft logos (extracted from the workbook) as an inlined base64 letterhead in the app header, matching the spreadsheet's top-of-sheet placement. |
| V0.1 | 2026-06-09 | Harrison Zumbrun | Engine, Risk Calc core | v1 scaffold: single-sourced engine on window.DRG (Cephes-grade normal CDF/inverse, incomplete-beta inverse, both bivariate-normal quadratures, the 11 reachable LAMBDAs, Excel-faithful ROUND/INT/CEILING/TEXT); Risk Calc & Curves scalar calculator wired with cell-keyed instrumentation. |
Web Port Notes
| Item | Web app | Workbook | Agreement |
|---|---|---|---|
| Standard normal CDF | Hart/West cumulative normal | NORM.S.DIST / NORM.DIST | ≤ 1e-12 (Excel is true-accurate; Layer 0) |
| Inverse normal | Acklam + Halley refinement | NORM.S.INV / NORM.INV | bit-identical on tested cells (Layer 0) |
| Inverse incomplete beta | Numerical-Recipes incbi | BETA.INV | bit-identical on tested cells (Layer 0) |
| Bivariate normal CDF | same Genz 6-pt & 5-term split LAMBDAs, ported op-for-op | BIVARIATE_NORMCDF / BIVAR | algorithm-identical |
| Chart presentation | titles, series names, colors, dash patterns, legend positions, axis titles and bounds ported from the workbook chart definitions (theme accents resolved to RGB); percent axes render the raw engine values with percent-formatted ticks | 9 embedded charts | data arrays validated cell-by-cell (Layer 2); pixels match the Excel renders |
| PFA-vs-position chart x axis | plots the true position values 0.74–1.30 (I83:I111) | chart range starts at 37 blank padding rows (I46:I82 = ""), so Excel renders point indices 1–66 on the x axis | same J-column data; deliberate presentation correction |
| Method 5 vs 6 AL chart | plots the AL columns (E/C 53:62) against applied load, % Diff on the secondary axis | chart also plots the 'Applied' load column as a data series and its Method-6 series range is shifted one row (starts at the K50 load link) | same C/E/G column data; deliberate presentation correction |