Source-linked AI summary

Pruned CTC for Memory-Efficient Large-Vocabulary ASR Training

Yifan Yang, Xiaoyu Yang, Zengrui Jin, Xian Shi, Yuxuan Wang, Yu Xi, Ziyang Ma, Qi Chen, Ruiyang Xu, Hui Wang, Dongchao Yang, Jin Xu, Xie Chen

arXiv:2609.33645v1eess.AS

TL;DR

Conventional CTC training materializes frame-by-vocabulary activations, making native-LLM-vocabulary training memory-intensive. Pruned CTC retains full-vocabulary normalization while reducing alignment computation, and LLM-CTC extends CTC-based ASR to pretrained LLMs; across offline and streaming evaluations, it reports competitive WER with faster recognition.

  • Problem

    Conventional CTC materializes frame-by-vocabulary activations, while valid alignments use only batch target tokens and blank, making native-LLM-vocabulary CTC training memory-intensive.

    Source: §1 · p. 1, §3.1 · p. 3
  • Method

    Pruned CTC reduces alignment computation while retaining full-vocabulary normalization, and LLM-CTC adapts pretrained LLMs for non-autoregressive ASR with causal attention and native vocabularies, including bounded-history streaming.

    Source: §6 · pp. 9–10
  • Results

    Across six Qwen3 sizes, LLM-CTC stays within 7% relative WER of LLM-CE with 7 to 10× faster recognition, and streaming LLM-CTC stays within 3% relative WER of matched offline models on the GigaSpeech test set.

    Source: §6 · p. 10
  • Takeaways & Limitations

    Pruned CTC makes native-vocabulary CTC a practical basis for adapting pretrained LLMs to offline and streaming ASR.

    Source: §6 · p. 10

    Finite-beam pruning can introduce loss discontinuities at pruning boundaries, and excluded utterances receive zero gradient.

    Source: §3.3 · p. 4

Abstract

from arXiv · show

Connectionist temporal classification (CTC) naturally supports offline and streaming speech recognition with utterance-level supervision, but conventional implementations materialize frame-by-vocabulary activations in memory, making CTC training with native LLM vocabularies prohibitively memory-intensive. A key observation is that every valid CTC alignment uses only target tokens and blank, and their union across a batch typically forms a small subset of the full vocabulary. We introduce Pruned CTC, which restricts alignment computation to this subset while retaining full-vocabulary normalization. We prove that this vocabulary reduction is exactly equivalent to full-vocabulary CTC in loss and gradients. Head-and-loss activation memory no longer scales linearly with vocabulary size. We further apply finite-beam alignment pruning. Building on Pruned CTC, we develop LLM-CTC, which adapts pretrained LLMs for non-autoregressive ASR while retaining causal attention and native vocabularies, and extend it to bounded-history streaming, avoiding chunk-level speech--text alignments. Experiments show that, with Zipformer-M encoder and 180K vocabulary, Pruned CTC reduces full-step memory by 5.1$\times$ with only 17% step-time overhead. Across three corpora, it matches standard CTC accuracy. On GigaSpeech, across six Qwen3 model sizes from 0.6B to 32B, LLM-CTC remains within 7% relative WER of LLM-CE with 7 to 10$\times$ faster recognition; when fine-tuning Qwen3-ASR for bounded-history streaming, LLM-CTC remains within 3% relative WER of matched offline models on the test set. Together, these results establish Pruned CTC as a scalable sequence objective for native-vocabulary LLM ASR across offline and streaming settings.

1 INTRODUCTION

LLM-based ASR commonly relies on token-level cross-entropy and autoregressive decoding, while streaming training may require chunk-level speech–text alignments. The paper introduces Pruned CTC for memory-efficient large-vocabulary training and LLM-CTC for non-autoregressive offline and bounded-history streaming ASR.

1 INTRODUCTION

  • LLM-based ASR typically uses token-level cross-entropy and autoregressive generation, requiring sequential decoding; streaming often relies on chunk-level speech–text alignments for training.The passages describe CTC as an alternative that supports offline and streaming recognition with utterance-level transcripts.Source: §1 · p. 1
  • Pruned CTC restricts alignment computation to batch target classes and blank while retaining full-vocabulary normalization, with exact loss and first-order gradient equivalence.It combines vocabulary reduction with finite-beam alignment pruning, and head-and-loss activation memory no longer scales linearly with vocabulary size.Source: §1 · pp. 1–2
  • LLM-CTC adapts pretrained causal LLMs for non-autoregressive ASR while retaining native vocabularies, and extends to bounded-history streaming under utterance-level supervision without chunk-level speech–text alignments.The streaming extension also uses KV cache reuse for bounded-history inference.Source: §1 · p. 2
  • LLM-CTC stays within 7% relative WER of LLM-CE across six Qwen3 sizes, with 7 to 10× faster recognition.The sizes range from 0.6B to 32B.Source: §1 · p. 2

2 RELATED WORK

Related work addresses memory efficiency in sequence losses, CTC with language models, and streaming LLM-based ASR. The paper distinguishes its approach through reduced-vocabulary CTC alignment computation, native-vocabulary LLM adaptation, and streaming without chunk-level alignments.

Memory-efficient loss

  • Pruned CTC separates reduced-vocabulary alignment computation from full-vocabulary normalization and dense gradients, unlike methods that restrict joiner regions, coarsen labels, or avoid tokenwise CE logits.It uses chunked recomputation to avoid storing frame-by-vocabulary activations, while finite-beam pruning separately limits the alignment sum.Source: §2 · p. 2

CTC with large language models

  • Prior CTC–LLM approaches use weighted CTC posteriors for autoregressive decoding, auxiliary CTC, bidirectional language models, or a bidirectional editor conditioned on speech and an initial hypothesis.The cited editor is NLE (Dekel et al., 2026), and the cited translation method is Syu et al. (2024).Source: §2 · p. 2

Streaming LLM-based ASR

  • Prior streaming LLM-based ASR methods use external CTC alignments, chunk-to-transcript alignment, fixed read/write policies, or learned emission timing.Speech ReaLLM and SpeechLLM-XL (Jia et al., 2025) are among the alignment-based approaches described.Source: §2 · p. 2

3 PRUNED CTC

Pruned CTC separates alignment computation over target labels and blank from normalization over the full vocabulary, preserving the full-vocabulary objective while reducing activation storage. Finite-beam pruning further restricts the alignment sum, and chunkwise computation avoids retaining the full frame-by-vocabulary logits.

3.1 PRELIMINARY: CONNECTIONIST TEMPORAL CLASSIFICATION

  • Standard CTC stores full-vocabulary activations that can exceed encoder activation storage and dominate training memory.The dynamic program uses only blank and transcript labels, but removing other classes would change the normalization unless full-vocabulary normalization is retained.Source: §3.1 · p. 3

3.2 PRUNED CTC VIA VOCABULARY REDUCTION

  • Pruned CTC computes alignments over blank and distinct target labels while retaining full-vocabulary normalization, including the complement’s probability mass.Pooling nonselected classes into an “other” class preserves the normalizer while leaving those classes’ contribution to the loss and gradients intact.Source: §3.2 · p. 3
  • Vocabulary-reduced CTC has the same loss and first-order gradients as full-vocabulary CTC in exact arithmetic.The equality holds with all valid alignments and applies to gradients with respect to logits, frame inputs, head weights, and bias.Source: §3.2 · p. 4

3.3 FINITE-BEAM APPROXIMATION

  • Finite-beam pruning yields Lβ ≥ L, with equality when all valid alignments are retained.Pruning boundaries can introduce loss discontinuities; at beam 100, estimated discarded alignment posterior mass did not exceed 10^-11 per utterance across the sampled initializations.Source: §3.3 · p. 4

3.4 FORWARD AND BACKWARD COMPUTATION

  • Chunkwise projection and recomputation preserve full-vocabulary normalization while reducing class-axis activation storage to Θ(MK + M) plus an M × C temporary block.The dynamic program uses only the K selected columns, while the backward pass recomputes vocabulary chunks to form gradients.Source: §3.4 · pp. 4–5
  • When selected-class gradient terms nearly cancel, rounding errors can dominate their difference.The paper compares precision strategies and quantifies loss and gradient errors across vocabulary and batch sizes.Source: §3.4 · p. 5

4 LLM-CTC

LLM-CTC adapts pretrained causal LLMs for non-autoregressive recognition using CTC readouts over their native vocabularies. Its streaming extension processes chunks with bounded history and utterance-level supervision.

4.1 PRELIMINARY: LLM-BASED ASR

  • LLM-CE generates tokens sequentially, conditioning each token on preceding text and reusing a KV cache across forward passes.The section presents LLM-CTC as a non-autoregressive alternative.Source: §4.1 · p. 5

4.2 OFFLINE LLM-CTC

  • Offline LLM-CTC retains causal attention and uses Pruned CTC to adapt pretrained LLMs for non-autoregressive recognition over native vocabularies.Both readout variants produce Tn CTC frames in Θ(1) LLM forward passes and admit the same valid alignments for a transcript.Source: §4.2 · pp. 5–6
  • Query-readout predictions can access the full utterance’s speech embeddings, while speech-readout predictions are restricted to a growing speech prefix.Query-readout adds D parameters and increases input length from P + Tn to P + 2Tn, increasing tokenwise and attention work.Source: §4.2 · p. 6

4.3 STREAMING LLM-CTC

  • Streaming Query-readout processes chunks with h seconds of left history and concatenates their query outputs for whole-transcript Pruned CTC training.This avoids chunk-level speech–text alignments; at inference, chunks use one LLM pass each, with a KV cache and CTC prefixes and scores carried across chunks.Source: §4.3 · pp. 6–7

5 EXPERIMENTS

The experiments assess Pruned CTC’s memory, runtime, and recognition accuracy, then evaluate LLM-CTC offline and in bounded-history streaming. Results show near-standard CTC accuracy and competitive LLM-CTC accuracy with faster recognition.

5.1 MEMORY AND RUNTIME

  • At 180,000 classes, Pruned CTC reduces full-step memory by up to 5.1× with 14–17% more time; LLM head-and-loss memory falls 24.8–25.7×.For the 8B and 14B models, full-step memory falls 38.2% and 27.3%, respectively, with 7.5% and 5.6% more time per step.Source: §5.1 · pp. 7–8

5.2 ENCODER-BASED ASR

  • Pruned CTC yields nearly identical WER and CER to standard CTC across LibriSpeech, GigaSpeech, and AISHELL-1.The comparison uses WER for the English corpora and CER for Mandarin.Source: Table 2 · p. 8, §5.2 · p. 8

5.3 OFFLINE LLM-BASED ASR

  • Under causal attention, Query-readout LLM-CTC has lower WER on both GigaSpeech splits at similar RTF; full-attention Speech-readout has slightly lower WER at higher RTF.The readout and attention ablations use SPEAR-Qwen3-4B.Source: Table 3 · p. 8, §5.3 · p. 8
  • Across six Qwen3 sizes, LLM-CTC stays within 7% relative WER of LLM-CE and recognizes 7.2–10.3× faster.On GigaSpeech, test WER for LLM-CTC decreases from 10.57% at 0.6B to 9.94% at 32B.Source: Table 4 · p. 9, §5.3 · p. 9

5.4 STREAMING LLM-BASED ASR

  • On GigaSpeech test, bounded-history streaming increases WER by less than 3% relative to matched offline models across both sizes and all tested history lengths.Increasing left history from 2 to 8 seconds changes WER little.Source: Table 5 · p. 9, §5.4 · p. 9

6 CONCLUSION

The conclusion presents Pruned CTC as a memory-efficient CTC method and LLM-CTC as a native-vocabulary approach for offline and streaming ASR. The paper also states its AI-use scope and plans public release of code and checkpoints.

6 CONCLUSION

  • Pruned CTC combines exact vocabulary reduction and full-vocabulary normalization with finite-beam alignment pruning; its head-and-loss activation memory no longer scales linearly with vocabulary size while matching standard CTC accuracy.LLM-CTC adapts pretrained LLMs for non-autoregressive ASR while retaining causal attention and native vocabularies; across six Qwen3 sizes it is within 7% relative WER of LLM-CE and 7–10× faster.Source: §6 · pp. 9–10

AI USE STATEMENT

  • Generative AI tools were used only to polish author-drafted writing, not for research ideation, methods, code, experiments, analysis, or literature review.The authors state that they reviewed AI-assisted work and take responsibility for the final content.Source: AI USE STATEMENT · p. 11

REPRODUCIBILITY STATEMENT

  • The datasets are publicly available, and the authors state that source code and pretrained checkpoints will be publicly available to support reproduction.The statement points to Sections 3.4 and 5 and Appendices B–D for algorithm, implementation, experimental setup, and model configurations.Source: REPRODUCIBILITY STATEMENT · p. 11

A PROOF OF PROPOSITION 1

The proof shows that restricting CTC alignment computation to batch target classes preserves the full-vocabulary loss and gradients. It groups all other classes into a single column to retain their contribution to normalization.

Step 1: valid alignments use only selected classes

  • Valid alignments contain only blank and the utterance’s target labels, and relabeling those classes preserves a bijection between original and grouped alignments.Labels from other utterances add no valid alignments for this utterance.Source: A PROOF OF PROPOSITION 1 · p. 13

Step 2: the other column reproduces the normalizer

  • Pooling the complementary classes into an “other” column preserves the full-vocabulary normalizer and the selected classes’ normalized log-probabilities.The proof uses associativity of log-sum-exp over the selected classes and their complement.Source: A PROOF OF PROPOSITION 1 · p. 13

Step 3: gradient equivalence

  • The grouped and original objectives have identical alignment probabilities, losses, posteriors, frame occupancies, and gradients with respect to logits and vocabulary-head parameters.The proof derives matching logit gradients and then applies the chain rule to the head’s inputs, weights, and biases.Source: A PROOF OF PROPOSITION 1 · pp. 13–14

B PRUNED CTC IMPLEMENTATION AND VALIDATION

The implementation computes CTC using chunked vocabulary projections and a full-vocabulary normalizer, while retaining only selected-class log-probabilities for alignment computation. Its finite-beam path has specific conditions under which it matches the structurally alignable utterances in the stated objective.

Forward and backward computation

  • The forward pass accumulates a full-vocabulary normalizer in FP64 while projecting vocabulary chunks, then runs finite-beam CTC on the selected-class log-probabilities.The temporary normalization block is at most M × C entries; the finite-beam path stores M normalizers and MK selected-class log-probabilities.Source: §B.1 · p. 14

Loss aggregation

  • The finite-beam objective selects the same structurally alignable utterances as the stated objective when each such utterance has a finite loss.Lattice-capacity limits can narrow the beam or leave an empty lattice, and numerical failures can make a loss nonfinite.Source: §B.1 · p. 14

Forward and backward computation

  • With the retained lattice locally fixed, chunked backward computation differentiates selected logits through the normalizer and combines sparse and dense terms before head-gradient products.For unpruned reduced CTC, gradients through the grouped log-softmax distribute the other-column gradient to complement classes.Source: §B.1 · p. 14

B.2 NUMERICAL ACCURACY

Numerical comparisons evaluate Pruned CTC against a dense FP64 reference across precision choices, vocabulary sizes, and batch sizes. The reported errors are small overall, with FP32 gradient accumulation identified as the main source of weight-gradient error in the worst batch.

Effect of precision and score reuse

  • The precision experiment uses five GigaSpeech development batches, 477 to 486 selected classes, and varies normalization precision, score reuse, and gradient-product precision.Inputs use FP32 projections and CTC with alignment beam 100 and chunk width 4096.Source: §B.2 · pp. 14–15
  • 1.18 × 10−6 to 3.32 × 10−6 is the range of relative weight-gradient errors for selected classes with the combined FP64 normalization, reused S, and FP32 gradient-product strategy.FP64 gradient products further improve weight accuracy, with mixed effects on bias gradients.Source: §B.2 · p. 15, Table 6 · p. 15

Effect of vocabulary and batch size

  • The vocabulary-and-batch evaluation covers 1,188 comparisons across 22 vocabulary sizes up to 180,000 classes, three frame counts, and chunk widths 4096 and 8192.The dense reference uses unpruned FP64 CTC to isolate class-axis arithmetic error.Source: §B.2 · pp. 15–16
  • 3.45 × 10−8, 2.65 × 10−6, and 1.21 × 10−4 are the maximum relative errors for loss, head-input gradients, and selected-class weight gradients, respectively.For the worst batch (M = 64,000, V = 80,000), FP64 gradient products reduce relative weight-gradient error to 9.94 × 10−8; FP32 accumulation is identified as the main error source.Source: Figure 4 · p. 15, §B.2 · p. 16

B.3 ALIGNMENT PRUNING

The section measures alignment-pruning error and tests whether finite beams retain sufficient posterior mass across encoder- and LLM-based settings. It also describes the shared benchmark setup and reports memory scaling for encoder-based ASR.

B.3 ALIGNMENT PRUNING

  • The pruning analysis defines discarded posterior mass from the loss gap and relates occupancy differences to bounds on unit-weight logit-gradient differences for a locally fixed retained lattice.The numerical estimates include rounding and are not certified upper bounds; the criterion is applied to the maximum estimate per batch.Source: §B.3 · p. 16
  • 80 to 90 is the range of largest required beams across augmentations, and all batches meet the criterion at β = 90; the largest estimated discarded mass at β = 150 is about 2.3 × 10−12.The required-beam estimates use the stated per-utterance discarded-mass criterion.Source: §B.3 · p. 16, Figure 5 · p. 17
  • 40 to 70 is the range of required alignment beams in the vocabulary-grid evaluation, and beam 100 meets the criterion across that grid and variable-length training batches at sampled initializations.The paired comparisons at C = 4096 and β = 100 have a maximum absolute loss difference of 6.82×10−13 per utterance.Source: Figure 6 · p. 17, §B.3 · p. 17
  • 75 is the smallest tested beam meeting the 10−11 criterion across the SPEAR-Qwen3-8B evaluations.Estimates at β ≥100 are at the numerical floor of an unpruned-lattice control and do not establish exact zero discarded mass.Source: Table 7 · p. 17, §B.3 · p. 17

C.1 SHARED SETTINGS

  • The shared resource benchmarks use GigaSpeech training audio and training augmentations, and measure vocabulary-head-plus-loss and full-step memory and elapsed time.Memory is measured with PyTorch allocated-memory counters; timing uses device synchronization at both measurement boundaries.Source: §C.1 · p. 18

C.2 ENCODER-BASED ASR

  • The encoder-based grid tests Zipformer-M with batch sizes of 16,000, 32,000, and 64,000 frames and vocabularies up to 180,000 classes; standard CTC first fails full training steps at 140,000 and 60,000 classes for the latter two batch sizes.Pruned CTC’s selected classes require at most 2,580 columns; the standard head-and-loss path first runs out of memory at 170,000 classes for M = 32,000 and 90,000 for M = 64,000.Source: §C.2 · p. 18

C.3 LLM-BASED ASR

The SPEAR-Qwen3 profile compares Pruned CTC with standard and unpruned reduced CTC, finding lower full-step memory with modest time increases. Its setup covers encoder-based training, LLM adaptation, and shared configuration.

C.3 LLM-BASED ASR

  • Pruned CTC reduces full-step memory by 38.2% for 8B and 27.3% for 14B, with 7.5% and 5.6% more time than standard CTC, respectively.Table 8 reports memory in GiB and time in seconds per full training step.Source: §C.3 · p. 19, Table 8 · p. 19
  • Head-and-loss memory falls by a factor of 24.8 to 25.7, while model storage and other step activations limit the full-step reduction.Unpruned reduced CTC already approaches Pruned CTC in full-step memory and runtime; finite-beam pruning further lowers head-and-loss memory with little added full-step effect.Source: §C.3 · p. 19

D.1 ENCODER-BASED ASR

  • The encoder-based Pruned CTC systems use 80-dimensional FBank features and train for 120 epochs on AISHELL-1, 100 on LibriSpeech, and 60 on GigaSpeech.Training uses A100-SXM4-80GB GPUs, with one GPU for AISHELL-1 and two for LibriSpeech and GigaSpeech.Source: §D.1 · p. 19

D.2 SHARED LLM-BASED ASR SETTINGS

  • For GigaSpeech LLM adaptation, the speech encoder and pretrained LLM, including its head, stay frozen while the projector is trained and LoRA is applied to LLM projections.CTC also learns a scalar blank offset; the shared configuration specifies a five-token prompt and requires utterances to fit the LLM context window.Source: §D.2 · pp. 19–20
  • The blank offset is initialized as η = log cbl, where cbl counts the blank row and head rows whose weight vectors have cosine similarity above 0.999 to it.The heuristic raises the initial blank logit to account for probability mass shared with similarly directed head rows.Source: §D.2 · p. 20

D.3 SPEAR-QWEN3

This appendix specifies the SPEAR-Qwen3 model, training, and evaluation protocols, then details offline and streaming Qwen3-ASR inputs and external baseline scoring.

D.3 SPEAR-QWEN3

  • SPEAR-XLarge v2 maps 128-dimensional FBank features to 1280-dimensional embeddings at about 50 frames per second, then projects stacked five-frame groups to about ten embeddings per second.Runs use eight GPUs, 180,000 optimizer updates, ZeRO stage 1, and an audio-per-update upper limit of 1,600 seconds.Source: §D.3 · p. 20
  • WER decoding uses beam size 4 without an external LM; timing instead uses greedy LLM-CE and framewise greedy LLM-CTC on the same 1,024 GigaSpeech utterances.The timing set totals 1.82 hours, includes prepared-feature transfer through decoding, and reports the median of three audio-duration-normalized timing passes.Source: §D.3 · pp. 20–21

D.4 QWEN3-ASR

  • Offline Qwen3-ASR processes whole-utterance features, uses pretrained 1-second convolution chunks and 8-second bidirectional encoder windows, and places all speech embeddings before queries under causal LLM attention.Offline and streaming inputs use 128-dimensional log-mel FBank from 16 kHz audio.Source: §D.4 · p. 21
  • Streaming Qwen3-ASR processes 2-second chunks with a shared sampled history of 1–8 seconds; validation uses 8 seconds, and decoding limits encoder input to 10 seconds per chunk.Prefix beam search carries blank and nonblank probabilities across chunk boundaries, while each utterance keeps its own mel history, KV cache, and CTC state.Source: §D.4 · p. 21, Table 13 · p. 22

D.5 EXTERNAL ASR BASELINES

  • External-baseline hypotheses are normalized by converting standalone numerals to English cardinal words, removing non-scoring tags and punctuation, and applying official GigaSpeech normalization.The compared systems include Whisper large-v3, Qwen2-Audio-7B, and Qwen3-ASR 0.6B and 1.7B.Source: §D.5 · p. 22

E LLM-CTC ANALYSIS

The analysis establishes conditions for cached streaming computation, bounds its attention work and cache size, and compares cached with parallel outputs. Under FP32 unfused attention, their logits nearly agree and greedy frame labels do not disagree.

E.1 CONTEXT AND COMPUTATION

  • For a fixed number of speech embeddings, each readout supplies the same CTC frames and valid alignments, while offline query readout increases LLM input length from P + Tn to P + 2Tn.Under causal attention, each layer’s attention-pair count scales as S(S + 1)/2.Source: §E.1 · p. 22, Table 14 · p. 23
  • Streaming positions use frontend-derived time coordinates for cache selection without imposing token alignments or emission times.After each chunk, the cache retains prompt and non-prompt entries at or beyond the next history cutoff, preserving their original sequence indices and rotary positions.Source: §E.1 · pp. 22–23
  • With fixed embeddings, parameters, rotary frequencies, and history, cached computation matches parallel query states in exact arithmetic when dropout is disabled.The proof proceeds by induction over LLM layers and chunks; cache eviction removes only entries outside the next chunk’s visible history.Source: §E.1 · p. 23
  • For fixed chunk and history lengths, attention work per chunk and cache size stay bounded as an utterance grows, although each new query still receives a full-vocabulary projection.With 2-second chunks and 8-second history, A = 26 and J = 208; the KV cache holds at most P + 208 positions between chunks and P + 260 while processing one.Source: §E.1 · p. 23

E.2 STREAMING CONSISTENCY CHECKS

  • FP32 unfused attention yields relative logit errors of 0.00000299 to 0.00000489 across both models, a maximum absolute error of 6.41 × 10−3, and no greedy frame-label disagreements.Figure 7 reports relative and maximum absolute logit errors and greedy frame-label disagreement rates.Source: Figure 7 · p. 24, §E.2 · p. 24
  • With fixed inputs, BF16 relative logit errors are 0.0241 to 0.0250 for 0.6B and 0.0190 to 0.0202 for 1.7B; BF16 unfused attention gives 0.0334 to 0.0351 and 0.0271 to 0.0285, respectively.The baseline ranges are 0.0538 to 0.0567 for 0.6B and 0.0327 to 0.0353 for 1.7B; differences depend on precision and attention implementation.Source: §E.2 · p. 24
Loading 2609.33645v1…