Ballistics validation: our solver vs. Hornady 4DOF
The full methodology, the actual numbers, and what we do not claim. If you find an error, we want it: alex@shootyonder.com
The claim
Yonder's trajectory solver reproduces the come-up (elevation) predicted by Hornady 4DOF (a solver built on Doppler-radar-measured drag for specific bullets) to within 0.02 mil at every 100-yard increment from 300 to 1,100 yards (0.03 mil at 1,200, the transonic edge) for three validated match loads. The tables below show every number.
This is an end-to-end output comparison: same load, same atmosphere, same zero in both solvers; we compare the dial-up each one tells you to put on the turret.
Method
Ground truth: current Hornady 4DOF (Doppler CDM) output, pulled in a real browser session (June–July 2026), not from a stale capture. When Hornady refines their drag model we re-pull and re-true — their 2026 revisions have moved their own long-range numbers by up to 0.24 mil for the same inputs (and the 6.5 CM 140 moved again in July, so we re-trued it), which is why "current" matters.
Our solver: a modified point-mass model — 3-DOF RK4 integration, G7 reference drag with BC scaling, humid-air density (ICAO atmosphere or direct station pressure), bisection zero calibration, Miller stability, Litz spin drift, Coriolis/Eötvös, and aerodynamic jump.
BC truing: the published G7 BC is refined against a single 1,000-yard truing point from 4DOF, the same way you'd true a solver against observed drops. The trued BC then has to match the whole curve from 300 to 1,200. That's the test, and the tables below are its output. The same truing tool ships in the app — free, on the reference load, against your own drops.
Enforcement: these comparisons are pinned in the automated test suite (2,037 tests as of July 2026). The come-up assertions block every merge. The app cannot deploy with a solver that has drifted from these tables.
The numbers
6.5 CM 140 ELD-M handload — MV 2604 fps, 100 yd zero, 1.5″ sight height
4,700 ft · 59°F · 50% RH · published G7 BC 0.314 → trued 0.3098 · worst |Δ| 0.007 mil (0.014 at 1,200)
yd
Hornady 4DOF (mil)
Yonder (mil)
Δ
300
1.34
1.34
+0.00
400
2.21
2.20
-0.01
500
3.15
3.15
+0.00
600
4.18
4.17
-0.01
700
5.29
5.28
-0.01
800
6.49
6.49
+0.00
900
7.80
7.80
+0.00
1000
9.23
9.23
+0.00
1100
10.79
10.79
+0.00
1200
12.50
12.51
+0.01
6.5 CM 147 ELD-M factory — MV 2695 fps, 100 yd zero, 1.5″ sight height
ICAO sea level · 59°F · 50% RH · published G7 BC 0.351 → trued 0.3217 · worst |Δ| 0.02 mil to 1,100 (0.03 at 1,200)
yd
Hornady 4DOF (mil)
Yonder (mil)
Δ
200
0.53
0.53
+0.00
300
1.26
1.26
+0.00
400
2.09
2.08
-0.01
500
3.00
3.00
+0.00
600
4.00
4.00
+0.00
700
5.11
5.10
-0.01
800
6.31
6.31
+0.00
900
7.65
7.65
+0.00
1000
9.12
9.12
+0.00
1100
10.75
10.77
+0.02
1200
12.56
12.59
+0.03
.308 Win 178 ELD-M factory — MV 2600 fps, 100 yd zero, 1.5″ sight height
ICAO sea level · 59°F · 50% RH · published G7 BC 0.272 → trued 0.2706 · worst |Δ| 0.01 mil to 1,100 (0.02 at 1,200)
yd
Hornady 4DOF (mil)
Yonder (mil)
Δ
200
0.61
0.61
+0.00
300
1.44
1.43
-0.01
400
2.39
2.38
-0.01
500
3.46
3.45
-0.01
600
4.67
4.66
-0.01
700
6.02
6.01
-0.01
800
7.55
7.54
-0.01
900
9.28
9.27
-0.01
1000
11.24
11.25
+0.01
1100
13.49
13.50
+0.01
1200
16.05
16.07
+0.02
What we do not claim
32 of 36 loads are Doppler-validated; the rest say so. The three golden loads (6.5 CM 140/147 ELD-M, .308 178 ELD-M) are trued and test-pinned at the tightest tolerance, and as of July 2026 the rest of the library — Hornady, Berger, Sierra, and more — is trued against 4DOF’s Doppler-derived drag data to within 0.05 mil, each load with its recorded pull. The four without a Doppler entry (.223 55gr V-MAX, .204 32gr V-MAX, .300 BLK 125gr TGK, 7.62x39 123gr SST) ship published numbers and are labeled as such. Any load trues in-app against your own drops — a published BC is a decent start, not a promise.
Windage / spin drift: trued to the same Doppler model (2026-07). Come-up was the first validated axis; the spin-drift channel is now trued against current Hornady 4DOF for the same three validated loads — within ~0.01 mil from 300 to 1,200 yards. What changed: the standard Miller stability estimate reads low for long match bullets (up to ~23% on the .308 178 ELD-M), so validated loads carry a stability correction trued to 4DOF's own gyroscopic output, with the Litz drift coefficient re-fit to match. Loads we haven't trued still use the published Litz model and will read somewhat higher than 4DOF — true your own data if the margin matters.
The transonic edge is real. Past ~1,200 yards a single trued BC starts to peel away from the Doppler curve; that's why the 1,200-yd tolerance is 0.03 mil. Deep transonic and subsonic flight need measured drag, not a BC. We don't pretend otherwise.
Audit us
Run a validated load in the app against your DOPE — for free you can true the reference .308 to your own velocity, conditions, and drops — or check it against 4DOF/your solver of choice, and tell us where we're off: alex@shootyonder.com. Reproducible discrepancies get fixed and credited.