Pith. sign in

REVIEW 3 major objections 4 minor 31 references

Spend More to Save More (SM2): An Energy-Aware Implementation of Successive Halving for Sustainable Hyperparameter Optimization

T0 review · 3 major / 4 minor · reviewed 2026-08-11 · deepseek-v4-flash

Pith's one-line read An energy-aware variant of successive halving cuts hyperparameter-search energy demand by up to 47% while keeping final model quality largely intact.

desk verdict SM2 is a reasonable engineering integration of energy tracking into successive halving, but the savings are partly built into the objective and the exploratory proxy is unvalidated, so the empirical claims need stronger support. read the letter →

arxiv 2412.08526 v1 pith:D4HJC4TA submitted 2024-12-11 cs.LG

classification cs.LG
keywords hyperparameteroptimizationenergy-awaretrainingsuccessivehalvingGPUenergymonitoringsustainableAIexploratorypretraininglearningratescheduling
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

Spend More to Save More (SM2) is an energy-aware version of the successive halving algorithm for hyperparameter optimization. The paper aims to show that tuning can be made sustainable without sacrificing model performance: SM2 prunes configurations using a scalar objective that balances validation performance, energy per epoch, and learning-rate stability, rather than performance alone. In experiments on ResNet/CIFAR-10, LSTM/Energy-Household, and Transformer/WikiText2, SM2 reduced total energy demand by 8%, 47%, and 16% against a performance-only objective, matching final accuracy in the first two scenarios and incurring a roughly 15-point perplexity penalty in the third. The authors argue the brief exploratory training pass costs less than the full runs it avoids, giving a parity factor that pays off after roughly two manual hyperparameter explorations.

What carries the argument

The load-bearing mechanism is the objective function that rescales performance, energy per epoch, and learning rate into $[0,1]$ and combines them as $f(\alpha,\beta)=\alpha\cdot P+(1-\alpha)\cdot(\beta\cdot E+(1-\beta)\cdot LR)$, driving each pruning decision in the halving schedule. Around it, the exploratory training phase (one epoch on a quarter of the data) provides a cheap proxy for full training, cyclical learning-rate sweeps identify the largest stable learning rate by measuring loss curvature over a sliding window, and Carbontracker's GPU wattage sampling supplies the energy term. This lets the algorithm pick configurations that match or nearly match performance while operating the GPU in an efficient power state.

What would settle it

Retrain every configuration that SM2 prunes in early rounds for the full 5-10 epochs and compare final performance and total energy against the configuration SM2 selected; if any pruned configuration beats the survivor on both final performance and full-run energy, the exploratory ranking is not a faithful proxy.

Watch

Extended reading notes

Core claim

The paper's central claim is that energy efficiency can be folded directly into the hyperparameter optimization objective without degrading the final model. SM2 runs a short exploratory training phase (one epoch on a quarter of the dataset) for each candidate, tracking GPU energy per epoch through the Carbontracker library and sweeping learning rates cyclically. A re-scaled objective $f(\alpha,\beta)=\alpha\cdot P+(1-\alpha)\cdot(\beta\cdot E+(1-\beta)\cdot LR)$ combines rescaled performance, energy per epoch, and a stable learning rate; with $\alpha=0.75$ and $\beta=0.5$, the worse half of configurations is dropped after each exploratory round following successive halving. Only the survivor is trained thoroughly. Empirically, this yields total energy reductions of 8%, 47%, and 16% relative to $\alpha=1.0$ across the three scenarios, with equal final accuracy/$R^2$ in the first two and a perplexity penalty of about 15 percentage points in the Transformer case.

Load-bearing premise

The method assumes that one epoch of training on a quarter of the dataset, with cyclical learning-rate sweeps and real-time energy readings, ranks hyperparameter configurations the same way full multi-epoch training would; if that proxy misleads, successive halving prunes the wrong configurations and the energy savings vanish.

Editorial extensions

If this is right

  • If SM2's exploratory ranking is faithful, hyperparameter optimization can be made noticeably cheaper in energy without changing model selection for tasks where several configurations perform similarly.
  • The same energy-aware objective can be added to other pruning-based HPO algorithms such as Hyperband or ASHA by feeding energy per epoch as an extra fidelity signal.
  • The parity analysis implies that any manual HPO workflow doing two or more full training runs would recoup SM2's overhead, making the approach worthwhile for typical iterative tuning.
  • Because SM2 leaves thorough training untouched, it can be deployed as a wrapper around standard PyTorch training loops without altering the model, optimizer, or loss function.
  • The reported energy savings are hardware-dependent, but the method's ranking logic transfers across the three tested Nvidia GPUs, suggesting broad applicability within CUDA-based environments.

Reading between the lines

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

  • The decisive open question this design passes over is the fidelity of the one-epoch/quarter-data exploratory signal; if that proxy misranks configurations on harder or noisier tasks, the energy savings would come at the cost of final quality.
  • The method's energy reading is GPU-only, so on clusters where CPU, memory, or cooling dominate the power budget, SM2 could select configurations that look efficient on the GPU while wasting energy elsewhere.
  • A natural stress test would compare SM2's choices against exhaustive search on a small hyperparameter grid: if the exhaustive best configuration is pruned in the first round across repeated seeds, the proxy assumption fails.
  • The authors' parity concept could be inverted into an actionable break-even metric that tells practitioners exactly how many skipped manual runs justify adopting SM2 for a given hardware setup.
Share X Bluesky LinkedIn Reddit HN

Signed reviews

No signed human review yet.

Editorial analysis

A structured set of objections, weighed in public.

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

Referee Report

3 major / 4 minor

Summary. The paper proposes SM2, an energy-aware hyperparameter optimization method built on successive halving. SM2 alternates between a cheap exploratory phase (one epoch on a quarter of the dataset) and a thorough training phase, using an objective function that combines model performance, measured energy per epoch, and a learning-rate stability score to prune half of the configurations at each exploratory round. The method is evaluated on three scenarios (ResNet-18/CIFAR-10, LSTM/Energy-Household, Transformer/WikiText2) across three Nvidia GPUs. The paper reports total energy reductions of 8%, 47%, and 16% for alpha=0.75 relative to alpha=1.0, and parity factors of 1.76, 1.11, and 1.70 relative to vanilla training, which it interprets as evidence that SM2 cuts HPO energy cost with little or no performance loss.

Significance. The problem addressed—reducing the energy footprint of hyperparameter search—is practically important and timely. The engineering contribution, particularly the integration of real-time GPU energy tracking via Carbontracker into a successive-halving loop, is concrete and could be useful to practitioners. The paper also makes a valuable distinction between exploratory and thorough training and provides a transparent objective function. However, the central scientific claim is not yet established: the reported energy savings partly follow from the construction of the objective, the exploratory ranking that drives pruning is not validated, and the experiments lack repeats and standard HPO baselines. If the authors can supply the missing validation, the work could be a solid empirical contribution to sustainable HPO; as it stands, the evidence is suggestive but not conclusive.

major comments (3)
  1. [§4.3, Eq. (2); §5.3, Table 1] The principal quantitative claim—energy reductions of 8–47% from alpha=0.75 relative to alpha=1.0—is partly a restatement of the objective, since E appears directly in the objective function and alpha weights it. Comparing alpha=0.75 to alpha=1.0 changes the selection rule by design, so the savings do not independently demonstrate that energy awareness is beneficial. The authors should compare SM2 against a standard HPO baseline (e.g., Hyperband/ASHA or random search with an identical total budget) and report the distribution of final performance across repeated trials. The Transformer result, where alpha=1.0 yields roughly 15 percentage points better perplexity than alpha=0.75, directly contradicts the claim of "no meaningful performance loss" and needs to be addressed.
  2. [§5.1 and Algorithm 1] The entire pruning mechanism rests on the assumption that one epoch of exploratory training on one quarter of the dataset ranks configurations according to their final 5–10 epoch thorough-training performance and energy. No rank-correlation analysis, no sensitivity ablation over the exploration length or data fraction, and no comparison of exploratory versus final configuration rankings are provided. Without this, the reported savings in Table 1 could be artifacts of pruning decisions that happen to work on these three runs, and the Transformer case suggests the proxy can mislead. Please provide evidence for the predictive validity of the exploratory phase, or explicitly characterize the regime where it fails.
  3. [§5.1 and §5.2] All quantitative results are single runs per hardware setup: no seeds, repeats, or error bars are reported, and the text does not make clear whether the full SM2 procedure was executed multiple times or only once per GPU. Furthermore, alpha=0.75 and beta=0.5 were chosen based on "initial tests" (§5.1), presumably on the same scenarios, so the reported reductions may reflect tuning to the experimental setup. The authors should provide multiple trials with different seeds, report variance, and perform a sensitivity analysis over alpha (and secondarily beta) to show that the conclusions are robust to the manually selected weights.
minor comments (4)
  1. [§2.2, Eq. (1)] The text says the energy per epoch is "commonly stated in watt per hour", but the formula divides by 3600 and the Table reports Wh; the unit should be watt-hours (Wh), not "watt per hour".
  2. [§1] The claim that this is "the first work to optimize the hyperparameters while considering energy consumption" is too strong and is not supported by the related-work discussion, which already cites Zeus (You et al., 2023) and other energy-aware training methods. Please qualify the novelty claim, e.g., to "the first SHA-based implementation with real-time GPU energy feedback", and discuss the differences from existing energy-aware HPO systems.
  3. [§4.4, Algorithm 1] The pseudocode is too high-level: the "Evaluate Exploration" step is not specified, and it is unclear how the objective function in Eq. (2) is computed from the exploratory runs, how normalization is applied, and how the learning-rate score LR is derived. Adding a few lines describing these steps would greatly improve reproducibility.
  4. [§5.2, Figure 2] The figure is dense and the text says "Each column plots the three acquired attributes", but the columns are performance, energy, and learning rate; the axes are not always labeled with units, and the vertical exploratory lines are difficult to see. Please increase the figure's legibility and provide unit labels (e.g., Wh for energy).

Circularity Check

0 steps flagged · score 0.0 of 10

No significant circularity: the reported energy reductions are measured ablation results, and the exploratory proxy is an unvalidated assumption rather than a circular derivation.

full rationale

The paper makes no claim that derives its headline result from a first-principles model fitted to the same quantity. The energy saving in Table 1 is a measured comparison between two versions of the same search procedure (α=1.0 vs α=0.75); because Eq. (2) explicitly rewards low per-epoch energy when α<1, the sign of the saving is by design, but the reported magnitudes (8%, 47%, 16%), the parity factors, and the performance outcomes are empirical and not forced by the equation. This is an ablation, not a circular prediction. The only self-citation ([Geißler et al., 2024]) is used to motivate focusing on batch size and learning rate; the method's validity does not depend on that citation, and no uniqueness or ansatz is imported from it. The 1-epoch, quarter-dataset exploratory ranking in Section 5.1 is an unvalidated proxy assumption; that is a correctness/fidelity risk, as the Transformer's roughly 15 percentage-point perplexity drop suggests, but it is not circular because the ranking is not defined in terms of the final total energy or final performance it is used to produce. No step reduces by construction to its own input.

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

The central claim rests on several domain assumptions about energy measurement fidelity and the predictive power of cheap exploratory training, plus two hand-chosen objective weights. No new physical or mathematical entities are introduced.

free parameters (3)
  • alpha = 0.75
    Objective weight balancing performance against energy and learning rate; chosen after initial tests with no sensitivity analysis or separate validation.
  • beta = 0.5
    Objective weight balancing energy per epoch against learning rate score; hand-set and not varied across experiments.
  • Exploratory training budget = 1 epoch, 25% of dataset, 8 batch sizes, 20 learning rates
    Hand-chosen exploration setup that defines how much cheap signal is gathered before pruning; central to the pruning assumption.
assumptions (5)
  • domain assumption GPU SMI power readings via Carbontracker accurately reflect the energy cost of training.
    Section 3 adopts Carbontracker and assumes SMI wattage is correct and that the GPU is the dominant energy consumer; no calibration or wall-meter validation is provided.
  • domain assumption Energy per epoch is a valid proxy for total configuration efficiency.
    Section 4.1 uses energy per epoch to rank batch sizes, ignoring CPU, memory, and cooling energy and ignoring that a low per-epoch cost can be offset by more epochs.
  • domain assumption A one-epoch, quarter-dataset cyclical learning-rate scan predicts stable learning rates for full training.
    Sections 4.2 and 5.1; this is the core pruning signal and is not validated by comparing exploratory rankings to full-training rankings.
  • domain assumption Successive halving's early ranking on the SM2 objective generalizes to final performance.
    Section 4 and Algorithm 1; standard SHA relies on this, but SM2 changes the objective to include energy and learning rate, so the generalization assumption is non-trivial.
  • ad hoc to paper Objective weights alpha=0.75 and beta=0.5 chosen in initial tests transfer to all datasets and GPUs.
    Section 5.1 states alpha=0.75 'was found to yield the most promising results'; no sensitivity analysis or separate validation is provided.

how reviews work

0 comments
Cite this review

Pith. "Pith review of Spend More to Save More (SM2): An Energy-Aware Implementation of Successive Halving for Sustainable Hyperparameter Optimization." pith.science (2026). https://pith.science/paper/D4HJC4TA

@misc{pith2026241208526,
  author       = {Pith},
  title        = {Pith review of: Spend More to Save More (SM2): An Energy-Aware Implementation of Successive Halving for Sustainable Hyperparameter Optimization},
  year         = {2026},
  howpublished = {\url{https://pith.science/paper/D4HJC4TA}},
  note         = {Machine review of arXiv:2412.08526}
}
read the original abstract

A fundamental step in the development of machine learning models commonly involves the tuning of hyperparameters, often leading to multiple model training runs to work out the best-performing configuration. As machine learning tasks and models grow in complexity, there is an escalating need for solutions that not only improve performance but also address sustainability concerns. Existing strategies predominantly focus on maximizing the performance of the model without considering energy efficiency. To bridge this gap, in this paper, we introduce Spend More to Save More (SM2), an energy-aware hyperparameter optimization implementation based on the widely adopted successive halving algorithm. Unlike conventional approaches including energy-intensive testing of individual hyperparameter configurations, SM2 employs exploratory pretraining to identify inefficient configurations with minimal energy expenditure. Incorporating hardware characteristics and real-time energy consumption tracking, SM2 identifies an optimal configuration that not only maximizes the performance of the model but also enables energy-efficient training. Experimental validations across various datasets, models, and hardware setups confirm the efficacy of SM2 to prevent the waste of energy during the training of hyperparameter configurations.

Figures

Figures reproduced from arXiv: 2412.08526 by the authors.

Figure 1
Figure 1. Computational analysis of loss curvature through the slid [PITH_FULL_IMAGE:figures/full_fig_p004_1.png] view at source ↗
Figure 2
Figure 2. Evaluation of SM2 : Each row represents a different model and dataset combination; Columns represent Performance, Energy, and Learning Rate; Vertical Lines in the graph highlight exploratory epochs; Experiments were conducted on Nvidia RTX A6000. nario (LSTM), the decrease in energy consumption of 47% reflects the results depicted in [PITH_FULL_IMAGE:figures/full_fig_p007_2.png] view at source ↗

Discussion (0). Continue with ORCID to comment.

Reference graph

Works this paper leans on

31 extracted references · 17 canonical work pages

  1. [1]

    Carbontracker: Tracking and predicting the carbon footprint of training deep learning models

    Lasse F Wolff Anthony, Benjamin Kanding, and Raghavendra Selvan. Carbontracker: Tracking and predicting the carbon footprint of training deep learning models. arXiv preprint arXiv:2007.03051 , 2020

  2. [2]

    Dehb: Evolutionary hyperband for scalable, robust and efficient hyperparameter optimization

    Noor Awad, Neeratyoy Mallik, and Frank Hutter. Dehb: Evolutionary hyperband for scalable, robust and efficient hyperparameter optimization. arXiv preprint arXiv:2105.09821 , 2021

  3. [3]

    Random search for hyper-parameter optimization

    James Bergstra and Yoshua Bengio. Random search for hyper-parameter optimization. Journal of machine learning research , 13(2), 2012

  4. [4]

    Algorithms for hyper-parameter optimization

    James Bergstra, R \'e mi Bardenet, Yoshua Bengio, and Bal \'a zs K \'e gl. Algorithms for hyper-parameter optimization. Advances in neural information processing systems , 24, 2011

  5. [5]

    Hyperopt: A python library for optimizing the hyperparameters of machine learning algorithms

    James Bergstra, Dan Yamins, David D Cox, et al. Hyperopt: A python library for optimizing the hyperparameters of machine learning algorithms. In Proceedings of the 12th Python in science conference , volume 13, page 20. Citeseer, 2013

  6. [6]

    Evolution strategies--a comprehensive introduction

    Hans-Georg Beyer and Hans-Paul Schwefel. Evolution strategies--a comprehensive introduction. Natural computing , 1:3--52, 2002

  7. [7]

    Hyperparameter optimization: Foundations, algorithms, best practices and open challenges

    Bernd Bischl, Martin Binder, Michel Lang, Tobias Pielok, Jakob Richter, Stefan Coors, Janek Thomas, Theresa Ullmann, Marc Becker, Anne-Laure Boulesteix, et al. Hyperparameter optimization: Foundations, algorithms, best practices and open challenges. arxiv 2021. arXiv preprint arXiv:2107.05847 , 2021

  8. [8]

    Hyper-parameter optimization for convolutional neural network committees based on evolutionary algorithms

    Erik Bochinski, Tobias Senst, and Thomas Sikora. Hyper-parameter optimization for convolutional neural network committees based on evolutionary algorithms. In 2017 IEEE international conference on image processing (ICIP) , pages 3924--3928. IEEE, 2017

Show all 31 references
  1. [9]

    Eco2ai: carbon emissions tracking of machine learning models as the first step towards sustainable ai

    Semen Andreevich Budennyy, Vladimir Dmitrievich Lazarev, Nikita Nikolaevich Zakharenko, Aleksei N Korovin, OA Plosskaya, Denis Valer'evich Dimitrov, VS Akhripkin, IV Pavlov, Ivan Valer'evich Oseledets, Ivan Segundovich Barsola, et al. Eco2ai: carbon emissions tracking of machi...

  2. [10]

    Cloud carbon footprint

    cloud-carbon footprint. Cloud carbon footprint. https://github.com/cloud-carbon-footprint/cloud-carbon-footprint, 2023

  3. [11]

    Code carbon

    Code-Carbon. Code carbon. https://github.com/mlco2/codecarbon, 2023

  4. [12]

    The power of training: How different neural network setups influence the energy demand

    Daniel Gei ler, Bo Zhou, Mengxi Liu, Sungho Suh, and Paul Lukowicz. The power of training: How different neural network setups influence the energy demand. In International Conference on Architecture of Computing Systems , pages 33--47. Springer, 2024

  5. [13]

    Control batch size and learning rate to generalize well: Theoretical and empirical evidence

    Fengxiang He, Tongliang Liu, and Dacheng Tao. Control batch size and learning rate to generalize well: Theoretical and empirical evidence. Advances in neural information processing systems , 32, 2019

  6. [14]

    Towards the systematic reporting of the energy and carbon footprints of machine learning

    Peter Henderson, Jieru Hu, Joshua Romoff, Emma Brunskill, Dan Jurafsky, and Joelle Pineau. Towards the systematic reporting of the energy and carbon footprints of machine learning. The Journal of Machine Learning Research , 21(1):10039--10081, 2020

  7. [15]

    Hyp-rl: Hyperparameter optimization by reinforcement learning

    Hadi S Jomaa, Josif Grabocka, and Lars Schmidt-Thieme. Hyp-rl: Hyperparameter optimization by reinforcement learning. arXiv preprint arXiv:1906.11527 , 2019

  8. [16]

    Quantifying the carbon emissions of machine learning

    Alexandre Lacoste, Alexandra Luccioni, Victor Schmidt, and Thomas Dandres. Quantifying the carbon emissions of machine learning. arXiv preprint arXiv:1910.09700 , 2019

  9. [17]

    Green algorithms: quantifying the carbon footprint of computation

    Lo \" c Lannelongue, Jason Grealey, and Michael Inouye. Green algorithms: quantifying the carbon footprint of computation. Advanced science , 8(12):2100707, 2021

  10. [18]

    Gradient-based learning applied to document recognition

    Yann LeCun, L \'e on Bottou, Yoshua Bengio, and Patrick Haffner. Gradient-based learning applied to document recognition. Proceedings of the IEEE , 86(11):2278--2324, 1998

  11. [19]

    Improving multi-fidelity optimization with a recurring learning rate for hyperparameter tuning

    HyunJae Lee, Gihyeon Lee, Junhwan Kim, Sungjun Cho, Dohyun Kim, and Donggeun Yoo. Improving multi-fidelity optimization with a recurring learning rate for hyperparameter tuning. In Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision , pages 2309--2...

  12. [20]

    Hyperband: A novel bandit-based approach to hyperparameter optimization

    Lisha Li, Kevin Jamieson, Giulia DeSalvo, Afshin Rostamizadeh, and Ameet Talwalkar. Hyperband: A novel bandit-based approach to hyperparameter optimization. Journal of Machine Learning Research , 18(185):1--52, 2018

  13. [21]

    A system for massively parallel hyperparameter tuning

    Liam Li, Kevin Jamieson, Afshin Rostamizadeh, Ekaterina Gonina, Jonathan Ben-Tzur, Moritz Hardt, Benjamin Recht, and Ameet Talwalkar. A system for massively parallel hyperparameter tuning. Proceedings of Machine Learning and Systems , 2:230--246, 2020

  14. [22]

    A survey of methods for analyzing and improving gpu energy efficiency

    Sparsh Mittal and Jeffrey S Vetter. A survey of methods for analyzing and improving gpu energy efficiency. ACM Computing Surveys (CSUR) , 47(2):1--23, 2014

  15. [23]

    Pytorch: An imperative style, high-performance deep learning library

    Adam Paszke, Sam Gross, Francisco Massa, Adam Lerer, James Bradbury, Gregory Chanan, Trevor Killeen, Zeming Lin, Natalia Gimelshein, Luca Antiga, Alban Desmaison, Andreas Kopf, Edward Yang, Zachary DeVito, Martin Raison, Alykhan Tejani, Sasank Chilamkurthy, Benoit Steiner, Lu ...

  16. [24]

    Carbon emissions and large neural network training

    David Patterson, Joseph Gonzalez, Quoc Le, Chen Liang, Lluis-Miquel Munguia, Daniel Rothchild, David So, Maud Texier, and Jeff Dean. Carbon emissions and large neural network training. arXiv preprint arXiv:2104.10350 , 2021

  17. [25]

    Cyclical learning rates for training neural networks

    Leslie N Smith. Cyclical learning rates for training neural networks. In 2017 IEEE winter conference on applications of computer vision (WACV) , pages 464--472. IEEE, 2017

  18. [26]

    A disciplined approach to neural network hyper-parameters: Part 1--learning rate, batch size, momentum, and weight decay

    Leslie N Smith. A disciplined approach to neural network hyper-parameters: Part 1--learning rate, batch size, momentum, and weight decay. arXiv preprint arXiv:1803.09820 , 2018

  19. [27]

    Practical bayesian optimization of machine learning algorithms

    Jasper Snoek, Hugo Larochelle, and Ryan P Adams. Practical bayesian optimization of machine learning algorithms. Advances in neural information processing systems , 25, 2012

  20. [28]

    Supervising the multi-fidelity race of hyperparameter configurations

    Martin Wistuba, Arlind Kadra, and Josif Grabocka. Supervising the multi-fidelity race of hyperparameter configurations. Advances in Neural Information Processing Systems , 35:13470--13484, 2022

  21. [29]

    Hyperparameter optimization through context-based meta-reinforcement learning with task-aware representation

    Jia Wu, Xiyuan Liu, and Senpeng Chen. Hyperparameter optimization through context-based meta-reinforcement learning with task-aware representation. Knowledge-Based Systems , 260:110160, 2023

  22. [30]

    Zeus: Understanding and optimizing \ GPU \ energy consumption of \ DNN \ training

    Jie You, Jae-Won Chung, and Mosharaf Chowdhury. Zeus: Understanding and optimizing \ GPU \ energy consumption of \ DNN \ training. In 20th USENIX Symposium on Networked Systems Design and Implementation (NSDI 23) , pages 119--139, 2023

  23. [31]

    write newline

    " write newline "" before.all 'output.state := FUNCTION fin.entry add.period write newline FUNCTION new.block output.state before.all = 'skip after.block 'output.state := if FUNCTION new.sentence output.state after.block = 'skip output.state before.all = 'skip after.sentence '...

Pith tools

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