An earlier revision said Core ML fp16 is slower than its own fp32 for this model (9.7 vs 9.2 ms). That was a single run and did not reproduce; a repeat gave 9.6 fp32 vs 9.5 fp16. Both gaps are inside ~0.5 ms run-to-run variance. The correct statement is that fp16 buys no speed here.
Root cause added: the ANE is a net loss for this model. Pinning compute_unit=CPU_ONLY gives 7.2 ms vs 9.5 ms for the default ALL, a 24% gain, which also makes the MLX margin 2.4x rather than 1.75x.
Remove MLX artifacts: slower than Core ML on device
MLX measured slower than Core ML on an iPhone 16 for this model, at matched fp32 precision and against the shipped Core ML fp16 build. These exporters only ever declared an MLX fp32 variant, so fp32-vs-fp32 is the fair and conservative comparison, and MLX still loses it.
The .pte and config.json are removed; each mlx/ dir keeps a NOTES.md with this model's own measurements. The exporter is retained in export-scripts so this can be re-tested against a future ExecuTorch/MLX release.
MLX for these models was only ever published on main / v0.10.0; no tag at v0.9.0 or below carried it. v0.9.0 and below are untouched.