Pith. sign in

REVIEW 5 major objections 7 minor 21 references

Iterative decoding of short BCH codes and its post-processing

T0 review · 5 major / 7 minor · reviewed 2026-08-12 · deepseek-v4-flash

Pith's one-line read A four-iteration hybrid decoder approaches the maximum-likelihood lower bound for short BCH codes.

desk verdict A plausible hybrid decoder for short BCH codes with a genuinely new undetected-error characterization, undone by missing DIA training details and a broken code link. read the letter →

arxiv 2411.13876 v1 pith:KKWOMYPJ submitted 2024-11-21 cs.IT math.IT

classification cs.ITmath.IT MSC 94B3594B15
keywords BCHcodesiterativedecodingnormalizedmin-sumparity-checkmatrixoptimizationrandompermutationsorderedstatisticsneuralnetworkundetectederrors
verification ladder T0 review T1 audit T2 compute T3 formal

The pith

A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.

The reading

This paper proposes a decoding chain for short BCH codes that combines a revised normalized min-sum (NMS) decoder with a neural-network reliability booster and a low-order ordered-statistics decoder (OSD). The authors claim that this hybrid, called N-D-O(4,1), reaches the lower bound set by the maximum-likelihood (ML) curve and the undetected-error curve across the SNR range of interest, while using only four NMS iterations and an order-1 OSD post-processor. They further claim that this gives the best performance-versus-complexity trade-off among existing iterative decoders for these codes. The practical stake is that short BCH codes could be decoded near optimally without the latency of full OSD or the many iterations of earlier permuted belief-propagation schemes.

What carries the argument

The central mechanism is the N-D-O(4,1) chain: an optimized parity-check matrix H_s, a revised NMS that applies three types of permutations (even-odd interleaving, Frobenius mapping 2i mod N, and cyclic shifts with step 21) to each received block per iteration, a DIA neural network that turns failed NMS trajectories into improved bit reliabilities, and an order-1 OSD that performs the final correction. The optimized H_s reduces density and column-weight spread while raising redundancy; the concurrent permutations let four NMS iterations mimic the diversity that earlier schemes obtained with hundreds of iterations; DIA supplies OSD with better soft inputs than the raw LLRs.

What would settle it

Reproduce N-D-O(4,1) on the BCH(63,36) code by training the DIA model from scratch with a disclosed procedure and compare the FER at Eb/N0 = 3 dB to the published curve; if the curve cannot be matched, or if the undetected-FER lower bound is crossed, the central claim is false.

Watch

Extended reading notes

Core claim

The central claim is that iterative decoding of short BCH codes does not need many iterations or high-order OSD if the parity-check matrix is optimized, the message-passing is diversified with automorphism permutations each iteration, and the failed-decoding trajectories are re-weighted by a trained neural network. Concretely, the authors construct a redundant, low-density parity-check matrix H_s with balanced column weights by binary-summing and cyclically shifting rows of the standard H, then run four iterations of NMS in which each iteration processes nine permuted versions of the input (interleaved, Frobenius, and cyclic-shifted). On NMS failures, a decoding-information-aggregation (DIA) neural network converts the per-iteration LLR trajectories into enhanced reliability measurements, and an order-1 OSD then re-decodes using those measurements. The resulting N-D-O(4,1) FER curves track the lower bound formed by the undetected FER and ML curves for BCH(63,36), BCH(63,39), and BCH(63,45), and the paper reports that it outperforms existing permuted BP decoders at a fraction of their complexity.

Load-bearing premise

The load-bearing premise is that the DIA neural network is well-trained and generalizes across SNRs, since the paper only specifies its input and output shapes and gives no training procedure; if the trained model cannot be reproduced or does not transfer, the hybrid's gain over plain order-1 OSD collapses.

Editorial extensions

If this is right

  • For the three BCH codes tested, N-D-O(4,1) approaches the lower bound set by undetected FER and ML curves over the whole SNR range; for BCH(63,36) the hybrid adds about 0.8 dB over NMS alone.
  • The hybrid matches or beats the BER/FER of mRRD with multiple subdecorators and of RRD, while running at 0.088 of the mRRD(1) complexity ratio shown in Table II.
  • Undetected errors of the NMS decoder set a real floor: for these short codes the undetected FER intersects the ML curve, so any decoder that relies on parity checks alone cannot go below that floor.
  • The DIA reliability boosting, originally designed for LDPC codes, carries over to HDPC codes such as BCH, improving the number of correct bits in OSD's most reliable basis.
  • The paper anticipates that longer BCH codes and binary images of Reed-Solomon codes are natural extensions, with more NMS iterations and higher OSD order.

Reading between the lines

Editorial extensions of the paper, not claims the author makes directly.

  • Beyond the paper's claims: if the undetected-error floor is fundamental rather than an artifact of the specific NMS decoder, then any future iterative decoder for short BCH codes must either supply soft information that OSD can refine or accept a hard floor above ML; the paper's own complexity comparison suggests the floor is worth measuring as a standard benchmark.
  • Beyond the paper's claims: the same H_s construction could be tested on q-ary alphabets or other cyclic structures, since the row-shift and binary-sum operations only use the cyclic automorphism, and a natural experiment is to check whether the complexity gain persists for Reed-Solomon codes.
  • Beyond the paper's claims: the DIA model's lack of training details means a direct reproducibility test would be to train it on the same trajectory format with different random seeds and see whether the pre-CDF advantage over the I-th iteration remains, separating the method from the particular trained instance.
  • Beyond the paper's claims: because the paper assumes a well-trained DIA model, a reader should treat the near-ML FER curves as conditional on that assumption; reporting the model's training data and loss would let others verify whether the curves are reproducible.
Share X Bluesky LinkedIn Reddit HN

Editorial analysis

A structured set of objections, weighed in public.

Desk editor's note, referee report, and a circularity audit.

Referee Report

5 major / 7 minor

Summary. The paper proposes an iterative decoding framework for short BCH codes based on three components: a heuristic optimization of the parity-check matrix (H_s) with reduced density and more regular column weights, a revised normalized min-sum (NMS) decoder that concurrently applies three types of permutations per iteration, and a neural-network-based reliability enhancement (DIA) followed by order-1 ordered statistics decoding (OSD). Simulation results for the BCH (63,36), (63,39), and (63,45) codes are presented, claiming that the hybrid N-D-O(4,1) decoder approaches the maximum-likelihood lower bound with lower complexity than competing iterative decoders. The paper also reports the undetected error rate of NMS for these codes and argues that it forms a performance floor for any decoder that uses parity-check-based stopping.

Significance. If the claims hold, the paper would make a useful contribution to iterative decoding of short BCH codes: the optimized parity-check matrix construction, the convergence acceleration by concurrent permutations, and the DIA-based reliability boosting for OSD are all potentially valuable. The explicit reporting of undetected FER as a floor for iterative decoders is a useful observation. Strengths include the use of external ML benchmarks from [19], comparison with several published decoders, an explicit complexity table, and a promise of source code on GitHub. However, the central decoder as described has a theoretical gap (the interleaving permutation is not an automorphism of the codes used), and the DIA model is not reproducible from the manuscript because no training procedure is given. These issues affect the validity of the main performance and complexity claims and need to be addressed before the paper can be accepted.

major comments (5)
  1. [Section III-B, Algorithm 2] The paper states that the three types of permutations are drawn from the automorphism group of cyclic codes, but the interleaving permutation (concatenating bits at even indices with those at odd indices) is not an automorphism of the primitive BCH(63,k) codes used in the simulations. For these codes, the permutation automorphism group is the affine group on GF(64), consisting of permutations of the form x -> a x + b, while the even/odd interleaving does not have this form and is not shown to preserve the code. In Algorithm 2, each permuted input is decoded using the same unpermuted H_s, and the parity check in (5) is applied after inverse permutation and averaging; this is only justified if every applied permutation maps codewords to codewords. As written, the per-permutation NMS updates are decoding under a different code, so the theoretical basis for the convergence and parity-check termination of Algorithm 2 is invalid. Please either prove that the interleaving permutation preserves each of the BCH codes considered, replace it with a third automorphism, or explicitly permute H_s accordingly and rerun the simulations. This is load-bearing for the reported performance of the revised NMS.
  2. [Section IV-A and Appendix A] The DIA model is a central component of the hybrid decoder, yet the manuscript only specifies its input and output shapes (6300×5×1 to 100×63) and states 'Assuming a well-trained DIA model'. No training procedure is given: the training data set (which SNR values, which code, how failures are collected), the labels, the loss function, the optimizer, the hyperparameters, and the validation strategy are all absent. Since [17] is cited for the rationale, the reader cannot determine whether the DIA model used here is trained on BCH failures, on LDPC failures, or on a mixture, and whether it generalizes over the entire SNR range. The performance gain attributed to DIA in Figs. 1-3 and the ablation claim in Section IV-A therefore are not reproducible from the manuscript. Please provide complete training details and, ideally, release the trained model weights.
  3. [Section IV-A, Eq. (6) and Figs. 1-3] The central claim that N-D-O(4,1) 'approaches the lower bound determined by the undetected FER and ML curves' rests entirely on simulation curves, but the paper reports no number of simulated frames, no seeds, and no confidence intervals. For FER values around 1e-5 and below, which are shown in several figures, the absence of statistical uncertainty makes it impossible to judge whether the curves truly approach the claimed floor. Please report the number of trials, the stopping rule for the simulations, and error bars or a bootstrap confidence band, at least for the proposed decoder and the ML benchmark.
  4. [Section III-A, Table I] For the BCH (63,36) code, the optimized H_s increases the number of length-4 cycles from 5,909 to 114,196, and the paper asserts that 'the adverse effects of the increased number of length-4 cycles are mitigated by the row redundancy'. No evidence is provided for this assertion; a direct comparison with a redundant parity-check matrix that has a comparable number of rows but fewer 4-cycles would be needed. Without such a comparison, the advantage of the proposed optimization for this code is not established.
  5. [Section IV-B, Table II] The complexity comparison ignores the DIA model and the OSD component of the hybrid, stating only that they are 'safely ignored due to their relatively minor workload'. This is not justified quantitatively: order-1 OSD requires sorting the LLRs and performing Gaussian elimination, and the DIA neural network adds inference cost per failed NMS frame. Since the paper's headline claim is the best trade-off between performance and complexity, the complexity ratio for N-D-O(4,1) should include these contributions or be rephrased as the complexity of the NMS component only.
minor comments (7)
  1. [Section IV-A] In the discussion of the BCH (63,45) code, the text refers to 'Fig. 6' for the FER and BER curves, but the corresponding figures are Fig. 3(a) and Fig. 3(b).
  2. [Section IV-A and Fig. 3] The decoder name is written inconsistently as 'MBBD' in Fig. 3 and 'MBBP' in Table II and the text; please unify the notation.
  3. [Section IV-B] The text says 'except for BP-RDD' when comparing complexity ratios; this appears to be a typo for 'BP-RNN'.
  4. [Section IV-A] The phrase 'the maxima of the ML and undetected FER curves serve as a lower bound' is imprecise; a lower bound is the pointwise maximum (upper envelope) of the two curves, not 'maxima'.
  5. [Section IV] The statement that alpha = 0.78 was 'optimized based on the shape of the dilated input and I = 4' does not describe how the optimization was performed; please state the search procedure and the criterion used.
  6. [GitHub link in Section IV] The URL 'https://github.com/lgw-frank/Short BCH Decoding OSD' contains spaces; use a URL-encoded or clickable link so that the promised source code is accessible.
  7. [Section V] The concluding sentence of the abstract and Section IV-B claim the 'best trade-off among existing decoders for short BCH codes'; given that only three BCH codes and specific parameter settings are tested, this statement should be qualified to avoid overgeneralization.

Circularity Check

1 steps flagged · score 2.0 of 10

Minor definitional lower-bound statement; the core decoding gains are externally benchmarked and not circular.

  1. self definitional [Section IV-1 (Decoding Performance), Eq. (6), discussion of Fig. 1(a)]
    "The comprehensive FER 𝐹𝑐 of the hybrid is calculated as follows: 𝐹𝑐 =𝐹𝑢+( 𝐹1−𝐹𝑢)· 𝐹2. (6) ... Interestingly, the undetected FER ... intersects with the simulated ML curves at an SNR of 3.2 dB, indicating that the maxima of the ML and undetected FER curves serve as a lower bound for the hybrid approach across the entire SNR range."

    Equation (6) defines the hybrid FER Fc as the undetected FER Fu plus the nonnegative term (F1-Fu)*F2, so Fc ≥ Fu holds identically for any OSD FER F2 in [0,1]. Likewise, Fc ≥ ML FER holds by the definition of maximum-likelihood decoding. Thus the 'lower bound determined by the undetected FER and ML curves' is not an independent prediction; it is a mathematical consequence of how the hybrid FER is constructed. The empirical content is only that the measured N-D-O curve approaches this tautological bound, which does not make the bound itself a derived result. The main decoder gains, however, are still evaluated against external ML curves and published decoders.

full rationale

The paper's central derivation chain is largely self-contained against external benchmarks. The optimized parity-check matrix Hs is obtained by explicit row operations and a heuristic annealing step, not by fitting to the target FER curves; the revised NMS performance is compared with published decoders such as RRD, mRRD, PBP, and MBBD, and the ML curves are taken from the external database [19]. The DIA model is imported from the authors' prior work [17], which is a self-citation, but the present paper provides its own validation for BCH codes in Appendix C (cross-entropy improvement and MRB error-count CDFs) and the hybrid gain is measured in simulation, so the self-citation is not the sole load-bearing evidence. The missing DIA training details and the questionable status of the 'interleaving' permutation as an automorphism of BCH codes are important correctness and reproducibility concerns, but they are not circularity: they do not reduce a claimed prediction to an input by construction. The one genuine definitional reduction is the lower-bound statement built into Eq. (6), which is true by construction rather than by empirical discovery. Because that statement is peripheral to the main complexity-performance claim, the overall circularity is minor.

Assumptions & free parameters 4 free parameters · 5 assumptions · 0 invented entities

The central performance claims rest on a few tuned constants (alpha, I, permutation parameters) and on two unshipped trained or tuned artifacts (the DIA weights and the simulated-annealing schedule). No new physical entities are introduced. The main content is an empirical hybrid decoder, so the ledger is dominated by algorithm-design choices rather than new axioms or entities.

free parameters (4)
  • NMS normalization factor alpha = 0.78
    Optimized based on the shape of the dilated input and I=4 (Section IV, first paragraph); all NMS and hybrid results depend on this single tuned constant.
  • Maximum NMS iterations I = 4
    Chosen by the authors for the performance-latency tradeoff; complexity comparisons and convergence claims use this value.
  • Cyclic permutation step d_p and offset range = d_p=21, s in {0,1,2}, d_o in [0,21)
    Heuristically chosen permutation set for length-63 codes; the number of permutations per iteration (3|S_p|=9) directly sets the complexity ratio in Table II.
  • DIA trained model weights = Not provided
    The hybrid N-D-O relies on a neural network trained on NMS failures; architecture is described (two Conv1D plus one Dense) but trained weights and training protocol are not shipped.
assumptions (5)
  • domain assumption The parity-check matrix optimization heuristic (row echelon form, binary sums, cyclic shifts, simulated annealing) yields an H_s that improves NMS decoding despite sometimes increasing the count of length-4 cycles.
    For the (63,36) code, Table I shows H_s raises length-4 cycles from 5,909 to 114,196; the paper asserts the added row redundancy mitigates this, but provides no proof or ablation isolating this effect.
  • standard math The automorphism group of cyclic BCH codes includes cyclic shifts, Frobenius permutations (2i mod N), and interleaving; applying and inverting these per iteration preserves codeword validity.
    This is standard for cyclic codes, cited [20], and is used to construct the dilated inputs in Algorithm 2.
  • domain assumption An undetected NMS error (wrong codeword passing H_s c_hat^T=0) cannot be corrected by the OSD stage, so the hybrid FER is F_c = F_u + (F1-Fu)*F2.
    This equation in Section IV-A is an exact accounting if F2 is the conditional OSD FER given a detected NMS failure; it assumes the OSD is never invoked on undetected errors, which is true by design.
  • ad hoc to paper The DIA model trained on NMS failure trajectories provides reliability measurements that improve OSD performance across the SNR range.
    The paper states 'Assuming a well-trained DIA model' and validates on one SNR (2.6 dB) for the (63,45) code in the appendix; there is no evidence of cross-SNR generalization or reproducible training.
  • domain assumption Comparison curves from prior literature (e.g., ML curves from [19], BP-RNN [13]) are correctly calibrated and representative.
    The paper says curves are 'calibrated according to their respective sources' but does not show the raw calibration data or simulation setups.

how reviews work

0 comments
Cite this review

Pith. "Pith review of Iterative decoding of short BCH codes and its post-processing." pith.science (2026). https://pith.science/paper/KKWOMYPJ

@misc{pith2026241113876,
  author       = {Pith},
  title        = {Pith review of: Iterative decoding of short BCH codes and its post-processing},
  year         = {2026},
  howpublished = {\url{https://pith.science/paper/KKWOMYPJ}},
  note         = {Machine review of arXiv:2411.13876}
}
read the original abstract

Effective iterative decoding of short BCH codes faces two primary challenges: identifying an appropriate parity-check matrix and accelerating decoder convergence. To address these issues, we propose a systematic scheme to derive an optimized parity-check matrix through a heuristic approach. This involves a series of binary sum and row shift operations, resulting in a low-density, quasi-regular column weight distribution with a reduced number of shortest cycles in the underlying redundant Tanner graph. For the revised normalized min-sum decoder, we concurrently integrate three types of random permutations into the alternated messages across iterations, leading to significantly faster convergence compared to existing methods. Furthermore, by utilizing the iterative trajectories of failed normalized min-sum decoding, we enhance the reliability measurement of codeword bits with the assistance of a neural network model from prior work, which accommodates more failures for the post-processing of ordered statistics decoding. Additionally, we report the types of undetected errors for the design of iterative decoders for short BCH codes, which potentially challenge efforts to approach the maximum likelihood limit. Extensive simulations demonstrate that the proposed hybrid framework achieves an attractive balance between performance, latency, and complexity.

Figures

Figures reproduced from arXiv: 2411.13876 by the authors.

Figure 2
Figure 2. Comparison of various decoders for the BCH (63,39) [PITH_FULL_IMAGE:figures/full_fig_p004_2.png] view at source ↗
Figure 3
Figure 3. Comparison of various decoders for the BCH (63,45) [PITH_FULL_IMAGE:figures/full_fig_p004_3.png] view at source ↗
Figure 4
Figure 4. DIA model to enhance bit reliability measurement for [PITH_FULL_IMAGE:figures/full_fig_p005_4.png] view at source ↗
Figures from the paper (2 more)
Figure 5
Figure 5. Figure 5: The decoding framework of the BCH (63, 45) code, [PITH_FULL_IMAGE:figures/full_fig_p006_5.png]
Figure 6
Figure 6. Figure 6: Impact of DIA on the soft information and hard [PITH_FULL_IMAGE:figures/full_fig_p006_6.png]

Discussion (0). Continue with ORCID to comment.

Reference graph

Works this paper leans on

21 extracted references · 3 canonical work pages

  1. [19]

    Database of Channel Codes and ML Simulation Results,

    M. Helmling, S. Scholl, F. Gensheimer, T. Dietz, K. Kraft, S. Ruzika, and N. Wehn, “Database of Channel Codes and ML Simulation Results,” www.uni-kl.de/channel-codes, 2019

  2. [17]

    Boosting ordered statistics decoding of short LDPC codes with simple neural network models,

    G. Li and X. Yu, “Boosting ordered statistics decoding of short LDPC codes with simple neural network models,” IEEE Commun. Lett. , 2024

  3. [1]

    Low-density parity-check codes,

    R. Gallager, “Low-density parity-check codes,” IRE Trans. Inf. Theory , vol. 8, no. 1, pp. 21–28, 1962

  4. [2]

    Near shannon limit performance of low density parity check codes,

    D. J. MacKay and R. M. Neal, “Near shannon limit performance of low density parity check codes,” Electron. Lett. , vol. 32, no. 18, p. 1645, 1996

  5. [3]

    Iterative soft decoding of Reed-Solomon codes,

    J. Jiang and K. R. Narayanan, “Iterative soft decoding of Reed-Solomon codes,” IEEE Commun. Lett. , vol. 8, no. 4, pp. 244–246, 2004

  6. [4]

    Iterative soft-input soft-output decoding of Reed–Solomon codes by adapting the parity-check matrix,

    ——, “Iterative soft-input soft-output decoding of Reed–Solomon codes by adapting the parity-check matrix,” IEEE Trans. Inf. Theory , vol. 52, no. 8, pp. 3746–3756, 2006

  7. [5]

    Random redundant soft-in soft-out decoding of linear block codes,

    T. R. Halford and K. M. Chugg, “Random redundant soft-in soft-out decoding of linear block codes,” in Int. Symp. Inf. Theory . IEEE, 2006, pp. 2230–2234

  8. [6]

    Improved random redundant iterative hdpc decoding,

    I. Dimnik and Y . Be’ery, “Improved random redundant iterative hdpc decoding,” IEEE Trans. Commun. , vol. 57, no. 7, pp. 1982–1985, 2009

Show all 21 references
  1. [7]

    Multiple-bases belief-propagation decoding of high-density cyclic codes,

    T. Hehn, J. B. Huber, O. Milenkovic, and S. Laendner, “Multiple-bases belief-propagation decoding of high-density cyclic codes,” IEEE Trans. Commun., vol. 58, no. 1, pp. 1–8, 2010

  2. [8]

    Efficient decoding of short length linear cyclic codes,

    M. Ismail, S. Denic, and J. Coon, “Efficient decoding of short length linear cyclic codes,” IEEE Commun. Lett. , vol. 19, no. 4, pp. 505–508, 2015

  3. [9]

    A generalized parity- check transformation for iterative soft-decision decoding of binary cyclic codes,

    O. P. Babalola, O. Ogundile, and D. J. Versfeld, “A generalized parity- check transformation for iterative soft-decision decoding of binary cyclic codes,” IEEE Commun. Lett. , vol. 24, no. 2, pp. 316–320, 2019

  4. [10]

    On iterative soft-decision decoding of linear binary block codes and product codes,

    R. Lucas, M. Bossert, and M. Breitbach, “On iterative soft-decision decoding of linear binary block codes and product codes,” IEEE J. Sel. Areas Commun., vol. 16, no. 2, pp. 276–296, 1998

  5. [11]

    Generating code representa- tions suitable for belief propagation decoding,

    J. S. Yedidia, J. Chen, and M. P. Fossorier, “Generating code representa- tions suitable for belief propagation decoding,” in Proc. Annu. Allerton Conf. Commun. Control and Comput. , vol. 40, no. 1. IEEE, 2002, pp. 447–456

  6. [12]

    Low-density parity-check codes based on finite geometries: a rediscovery and new results,

    Y . Kou, S. Lin, and M. P. Fossorier, “Low-density parity-check codes based on finite geometries: a rediscovery and new results,” IEEE Trans. Inf. Theory , vol. 47, no. 7, pp. 2711–2736, 2001

  7. [13]

    Deep learning methods for improved decoding of linear codes,

    E. Nachmani, E. Marciano, L. Lugosch, W. J. Gross, D. Burshtein, and Y . Be’ery, “Deep learning methods for improved decoding of linear codes,” IEEE J. Sel. Topics Signal Process. , vol. 12, no. 1, pp. 119–131, 2018

  8. [14]

    Learned belief- propagation decoding with simple scaling and SNR adaptation,

    M. Lian, F. Carpi, C. H ¨ager, and H. D. Pfister, “Learned belief- propagation decoding with simple scaling and SNR adaptation,” in Int. Symp. Inf. Theory (ISIT) . IEEE, 2019, pp. 161–165

  9. [15]

    Soft-decision decoding of linear block codes based on ordered statistics,

    M. P. Fossorier and S. Lin, “Soft-decision decoding of linear block codes based on ordered statistics,” IEEE Trans. Inf. Theory , vol. 41, no. 5, pp. 1379–1396, 1995

  10. [16]

    On hard and soft decision decoding of BCH codes,

    M. Bossert, R. Schulz, and S. Bitzer, “On hard and soft decision decoding of BCH codes,” IEEE Trans. Inf. Theory , vol. 68, no. 11, pp. 7107–7124, 2022

  11. [18]

    L. P. Lugosch, Learning algorithms for error correction . McGill University (Canada), 2018

  12. [20]

    Iterative soft-decision decoding of binary cyclic codes,

    M. Baldi, G. Cancellieri, and F. Chiaraluce, “Iterative soft-decision decoding of binary cyclic codes,” J. Commun. Softw. Syst. , vol. 4, no. 2, pp. 142–149, 2008

  13. [21]

    Chollet et al

    F. Chollet et al. , “Keras,” https://keras.io, 2015. 6

Pith tools

Reviewed August 12, 2026 · model on record in the stance chip above.