module Runtime.TelemetryPublicationRoutine import Data.Bytes import Observe.Value import Runtime.NativeTelemetry import Runtime.TelemetryCapture import Runtime.TelemetryIdentity import Runtime.TelemetryPublication import Std.Natural -- One single-writer snapshot, padding and durable-commit algorithm. Loads and -- stores retain little-endian wire words. Set retains 32 bits; CompareImmediate -- and AddImmediate sign-extend 32 bits. AddImmediate supplies Zero iff its full -- wrapped result is zero, including countdown loops. Comparisons are unsigned; -- branches preserve flags. Other arithmetic flags are not consumed. -- Write and Sync return the exact signed syscall result in Result and may -- clobber Argument0, Argument3 and Scratch1; other roles stay live. Argument3 -- accounts for x86 syscall's RCX clobber. Commit saves Persistent0..3 in the -- caller's publication arena and restores them on every return. -- Full write, file sync AND containing-directory sync precede frontier advance -- and queue reclamation. Failed/short writes or sync poison the sink and retain -- every capture. Preparation/padding alone grant no durability or JSON meaning. family TelemetryPublicationCondition : Type 0 constructor TelemetryPublicationZero constructor TelemetryPublicationNotZero constructor TelemetryPublicationBelow constructor TelemetryPublicationAbove end-family family TelemetryPublicationRoutineKind : Type 0 constructor TelemetryPublicationPrepareRoutine field unrestricted publicationRoutineOrdinary : Nat field unrestricted publicationRoutineReserved : Nat field unrestricted publicationRoutineBodyBound : Nat constructor TelemetryPublicationTypedPaddingRoutine field unrestricted publicationRoutineTypedBodyBound : Nat constructor TelemetryPublicationCommitRoutine end-family family TelemetryPublicationBackend : Type 0 parameter erased A : Type 0 parameter erased R : Type 0 constructor TelemetryPublicationBackendValue field unrestricted backendPubSet : (pi unrestricted register : R . (pi unrestricted value : Nat . (pi unrestricted tail : A . A))) field unrestricted backendPubMove : (pi unrestricted left : R . (pi unrestricted right : R . (pi unrestricted tail : A . A))) field unrestricted backendPubLoad64 : (pi unrestricted destination : R . (pi unrestricted base : R . (pi unrestricted offset : Nat . (pi unrestricted tail : A . A)))) field unrestricted backendPubStore64 : (pi unrestricted base : R . (pi unrestricted offset : Nat . (pi unrestricted value : R . (pi unrestricted tail : A . A)))) field unrestricted backendPubStore8 : (pi unrestricted base : R . (pi unrestricted offset : Nat . (pi unrestricted value : R . (pi unrestricted tail : A . A)))) field unrestricted backendPubCompareImmediate : (pi unrestricted register : R . (pi unrestricted value : Nat . (pi unrestricted tail : A . A))) field unrestricted backendPubCompare : (pi unrestricted left : R . (pi unrestricted right : R . (pi unrestricted tail : A . A))) field unrestricted backendPubSubtract : (pi unrestricted left : R . (pi unrestricted right : R . (pi unrestricted tail : A . A))) field unrestricted backendPubOr : (pi unrestricted left : R . (pi unrestricted right : R . (pi unrestricted tail : A . A))) field unrestricted backendPubAdd : (pi unrestricted left : R . (pi unrestricted right : R . (pi unrestricted tail : A . A))) field unrestricted backendPubAddImmediate : (pi unrestricted register : R . (pi unrestricted value : Nat . (pi unrestricted tail : A . A))) field unrestricted backendPubMultiplyImmediate : (pi unrestricted register : R . (pi unrestricted value : Nat . (pi unrestricted tail : A . A))) field unrestricted backendPubShiftRight : (pi unrestricted register : R . (pi unrestricted value : Nat . (pi unrestricted tail : A . A))) field unrestricted backendPubJumpIf : (pi unrestricted condition : (family TelemetryPublicationCondition) . (pi unrestricted name : Bytes . (pi unrestricted tail : A . A))) field unrestricted backendPubJump : (pi unrestricted name : Bytes . (pi unrestricted tail : A . A)) field unrestricted backendPubLabel : (pi unrestricted name : Bytes . (pi unrestricted tail : A . A)) field unrestricted backendPubReturn : (pi unrestricted tail : A . A) field unrestricted backendPubWrite : (pi unrestricted tail : A . A) field unrestricted backendPubSync : (pi unrestricted tail : A . A) field unrestricted backendPubEnd : A field unrestricted backendPubResult : R field unrestricted backendPubArgument0 : R field unrestricted backendPubArgument1 : R field unrestricted backendPubArgument2 : R field unrestricted backendPubArgument3 : R field unrestricted backendPubArgument4 : R field unrestricted backendPubArgument5 : R field unrestricted backendPubScratch0 : R field unrestricted backendPubScratch1 : R field unrestricted backendPubPersistent0 : R field unrestricted backendPubPersistent1 : R field unrestricted backendPubPersistent2 : R field unrestricted backendPubPersistent3 : R end-family def telemetryPublicationAssemblyFor = (lambda erased A : Type 0 . (lambda erased R : Type 0 . (lambda unrestricted backend : (family TelemetryPublicationBackend A R) . (lambda unrestricted kind : (family TelemetryPublicationRoutineKind) . (eliminate TelemetryPublicationBackend (lambda unrestricted current : (family TelemetryPublicationBackend A R) . A) backend (branch TelemetryPublicationBackendValue pubSet pubMove pubLoad64 pubStore64 pubStore8 pubCompareImmediate pubCompare pubSubtract pubOr pubAdd pubAddImmediate pubMultiplyImmediate pubShiftRight pubJumpIf pubJump pubLabel pubReturn pubWrite pubSync pubEnd pubResult pubArgument0 pubArgument1 pubArgument2 pubArgument3 pubArgument4 pubArgument5 pubScratch0 pubScratch1 pubPersistent0 pubPersistent1 pubPersistent2 pubPersistent3 . (let unrestricted publicationReturn = (lambda unrestricted code : Nat . (lambda unrestricted tail : A . (pubSet pubResult code (pubReturn tail)))) in (let unrestricted publicationValidateOccupiedSequences = (lambda unrestricted ordinaryCapacity : Nat . (lambda unrestricted tail : A . (pubStore64 pubArgument3 publicationSavedR12At pubArgument0 (pubLoad64 pubScratch0 pubArgument0 captureOrdinaryUsedAt (pubLoad64 pubScratch1 pubArgument0 captureReservedUsedAt (pubMove pubArgument4 pubArgument1 (pubMove pubArgument5 pubArgument1 (pubAddImmediate pubArgument5 (naturalMultiply ordinaryCapacity captureRecordBytes) (pubLoad64 pubArgument2 pubArgument3 publicationPublishedNextAt (pubLabel b"publication-sequence-heads" (pubCompareImmediate pubScratch0 0 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationZero) b"publication-sequence-reserved" (pubCompareImmediate pubScratch1 0 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationZero) b"publication-sequence-ordinary" (pubLoad64 pubResult pubArgument4 captureSequenceAt (pubLoad64 pubArgument0 pubArgument5 captureSequenceAt (pubCompare pubResult pubArgument0 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationAbove) b"publication-sequence-reserved" (pubLabel b"publication-sequence-ordinary" (pubLoad64 pubResult pubArgument4 captureSequenceAt (pubAddImmediate pubArgument4 captureRecordBytes (pubAddImmediate pubScratch0 0xffffffff (pubJump b"publication-sequence-check" (pubLabel b"publication-sequence-reserved" (pubCompareImmediate pubScratch1 0 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationZero) b"publication-sequence-done" (pubLoad64 pubResult pubArgument5 captureSequenceAt (pubAddImmediate pubArgument5 captureRecordBytes (pubAddImmediate pubScratch1 0xffffffff (pubLabel b"publication-sequence-check" (pubCompare pubResult pubArgument2 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationBelow) b"publication-prepare-reject" (pubLoad64 pubArgument0 pubArgument3 (naturalAdd publicationBodyAt (naturalAdd nativeTelemetryCountersAt captureNextSequenceAt)) (pubCompare pubResult pubArgument0 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationAbove) b"publication-prepare-reject" (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationZero) b"publication-prepare-reject" (pubMove pubArgument2 pubResult (pubAddImmediate pubArgument2 1 (pubJump b"publication-sequence-heads" (pubLabel b"publication-sequence-done" (pubLoad64 pubArgument0 pubArgument3 publicationSavedR12At tail))))))))))))))))))))))))))))))))))))))))) in (let unrestricted publicationPreparePadding = (pubLoad64 pubResult pubArgument3 publicationBodyLengthAt (pubMultiplyImmediate pubResult 8 (pubShiftRight pubResult 48 (pubStore8 pubScratch1 1 pubResult (pubLoad64 pubResult pubArgument3 publicationBodyLengthAt (pubMultiplyImmediate pubResult 8 (pubShiftRight pubResult 40 (pubStore8 pubScratch1 2 pubResult (pubLoad64 pubResult pubArgument3 publicationBodyLengthAt (pubMultiplyImmediate pubResult 8 (pubShiftRight pubResult 32 (pubStore8 pubScratch1 3 pubResult (pubLoad64 pubResult pubArgument3 publicationBodyLengthAt (pubMultiplyImmediate pubResult 8 (pubShiftRight pubResult 24 (pubStore8 pubScratch1 4 pubResult (pubLoad64 pubResult pubArgument3 publicationBodyLengthAt (pubMultiplyImmediate pubResult 8 (pubShiftRight pubResult 16 (pubStore8 pubScratch1 5 pubResult (pubLoad64 pubResult pubArgument3 publicationBodyLengthAt (pubMultiplyImmediate pubResult 8 (pubShiftRight pubResult 8 (pubStore8 pubScratch1 6 pubResult (pubLoad64 pubResult pubArgument3 publicationBodyLengthAt (pubMultiplyImmediate pubResult 8 (pubStore8 pubScratch1 7 pubResult (pubSet pubResult 1 (pubStore64 pubArgument3 publicationReadyAt pubResult (publicationReturn 0 (pubLabel b"publication-prepare-reject" (publicationReturn 4 pubEnd)))))))))))))))))))))))))))))))) in (let unrestricted publicationPadPreparedBody = (pubSet pubResult 128 (pubStore8 pubScratch1 0 pubResult (pubAddImmediate pubScratch1 1 (pubLoad64 pubScratch0 pubArgument3 publicationBlockCountAt (pubMultiplyImmediate pubScratch0 64 (pubLoad64 pubResult pubArgument3 publicationBodyLengthAt (pubSubtract pubScratch0 pubResult (pubAddImmediate pubScratch0 (naturalSaturatingSubtract 4294967296 (naturalAdd 1 nativeTelemetryScalarBytes)) (pubCompareImmediate pubScratch0 0 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationZero) b"publication-length" (pubSet pubResult 0 (pubLabel b"publication-zero-pad" (pubStore8 pubScratch1 0 pubResult (pubAddImmediate pubScratch1 1 (pubAddImmediate pubScratch0 0xffffffff (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationNotZero) b"publication-zero-pad" (pubLabel b"publication-length" (pubLoad64 pubResult pubArgument3 publicationBodyLengthAt (pubMultiplyImmediate pubResult 8 (pubShiftRight pubResult 56 (pubStore8 pubScratch1 0 pubResult publicationPreparePadding))))))))))))))))))))) in (let unrestricted publicationPrepareOccupiedRecords = (lambda unrestricted ordinaryCapacity : Nat . (lambda unrestricted reservedCapacity : Nat . (pubMove pubArgument1 pubArgument4 (pubAddImmediate pubArgument1 (naturalMultiply ordinaryCapacity captureRecordBytes) (pubLoad64 pubScratch0 pubArgument0 captureReservedUsedAt (pubMultiplyImmediate pubScratch0 (naturalDivideUnchecked captureRecordBytes captureWordBytes) (pubCompareImmediate pubScratch0 0 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationZero) b"publication-padding" (pubLabel b"publication-reserved-loop" (pubLoad64 pubResult pubArgument1 0 (pubStore64 pubScratch1 0 pubResult (pubAddImmediate pubArgument1 captureWordBytes (pubAddImmediate pubScratch1 captureWordBytes (pubAddImmediate pubScratch0 0xffffffff (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationNotZero) b"publication-reserved-loop" (pubLabel b"publication-padding" publicationPadPreparedBody)))))))))))))))) in (let unrestricted publicationPrepareExtent = (lambda unrestricted ordinaryCapacity : Nat . (lambda unrestricted reservedCapacity : Nat . (pubLoad64 pubResult pubArgument2 (naturalMultiply 6 captureWordBytes) (pubStore64 pubArgument3 (naturalAdd publicationBodyAt (naturalAdd nativeTelemetryIdentityAt (naturalMultiply 6 captureWordBytes))) pubResult (pubLoad64 pubResult pubArgument0 (naturalMultiply 7 captureWordBytes) (pubStore64 pubArgument3 (naturalAdd publicationBodyAt (naturalAdd nativeTelemetryCountersAt (naturalMultiply 7 captureWordBytes))) pubResult (pubLoad64 pubResult pubArgument2 (naturalMultiply 7 captureWordBytes) (pubStore64 pubArgument3 (naturalAdd publicationBodyAt (naturalAdd nativeTelemetryIdentityAt (naturalMultiply 7 captureWordBytes))) pubResult (pubLoad64 pubResult pubArgument0 captureOrdinaryUsedAt (pubLoad64 pubScratch0 pubArgument0 captureReservedUsedAt (pubAdd pubResult pubScratch0 (pubMultiplyImmediate pubResult captureRecordBytes (pubAddImmediate pubResult captureWordBytes (pubStore64 pubArgument3 (naturalAdd publicationBodyAt nativeTelemetryEmptyErrorPayloadExtentAt) pubResult (pubAddImmediate pubResult nativeTelemetryEmptyErrorPayloadAt (pubStore64 pubArgument3 publicationBodyLengthAt pubResult (pubAddImmediate pubResult (naturalAdd 1 (naturalAdd nativeTelemetryScalarBytes (naturalSaturatingSubtract 64 1))) (pubShiftRight pubResult 6 (pubStore64 pubArgument3 publicationBlockCountAt pubResult (pubLoad64 pubResult pubArgument3 publicationBodyLengthAt (pubAddImmediate pubResult (naturalAdd (bytes-length nativeTelemetryMagic) nativeTelemetryDigestBytes) (pubStore64 pubArgument3 publicationRecordLengthAt pubResult (publicationValidateOccupiedSequences ordinaryCapacity (pubMove pubArgument4 pubArgument1 (pubMove pubScratch1 pubArgument3 (pubAddImmediate pubScratch1 (naturalAdd publicationBodyAt publicationPayloadRecordsAt) (pubLoad64 pubScratch0 pubArgument0 captureOrdinaryUsedAt (pubMultiplyImmediate pubScratch0 (naturalDivideUnchecked captureRecordBytes captureWordBytes) (pubCompareImmediate pubScratch0 0 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationZero) b"publication-reserved-copy" (pubLabel b"publication-ordinary-copy" (pubLoad64 pubResult pubArgument1 0 (pubStore64 pubScratch1 0 pubResult (pubAddImmediate pubArgument1 captureWordBytes (pubAddImmediate pubScratch1 captureWordBytes (pubAddImmediate pubScratch0 0xffffffff (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationNotZero) b"publication-ordinary-copy" (pubLabel b"publication-reserved-copy" (publicationPrepareOccupiedRecords ordinaryCapacity reservedCapacity))))))))))))))))))))))))))))))))))))))) in (let unrestricted publicationPrepareSnapshot = (lambda unrestricted ordinaryCapacity : Nat . (lambda unrestricted reservedCapacity : Nat . (pubOr pubResult pubScratch0 (pubCompareImmediate pubResult 0 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationZero) b"publication-prepare-reject" (pubLoad64 pubResult pubArgument3 publicationTerminalRequestAt (pubStore8 pubArgument3 (naturalAdd publicationBodyAt (naturalSaturatingSubtract nativeTelemetryFlagsBytes 1)) pubResult (pubLoad64 pubResult pubArgument3 publicationBatchOrdinalAt (pubStore64 pubArgument3 (naturalAdd publicationBodyAt nativeTelemetrySequenceAt) pubResult (pubLoad64 pubResult pubArgument3 publicationPublishedNextAt (pubStore64 pubArgument3 (naturalAdd publicationBodyAt nativeTelemetryEmptyErrorPayloadAt) pubResult (pubLoad64 pubResult pubArgument0 (naturalMultiply 0 captureWordBytes) (pubStore64 pubArgument3 (naturalAdd publicationBodyAt (naturalAdd nativeTelemetryCountersAt (naturalMultiply 0 captureWordBytes))) pubResult (pubLoad64 pubResult pubArgument2 (naturalMultiply 0 captureWordBytes) (pubStore64 pubArgument3 (naturalAdd publicationBodyAt (naturalAdd nativeTelemetryIdentityAt (naturalMultiply 0 captureWordBytes))) pubResult (pubLoad64 pubResult pubArgument0 (naturalMultiply 1 captureWordBytes) (pubStore64 pubArgument3 (naturalAdd publicationBodyAt (naturalAdd nativeTelemetryCountersAt (naturalMultiply 1 captureWordBytes))) pubResult (pubLoad64 pubResult pubArgument2 (naturalMultiply 1 captureWordBytes) (pubStore64 pubArgument3 (naturalAdd publicationBodyAt (naturalAdd nativeTelemetryIdentityAt (naturalMultiply 1 captureWordBytes))) pubResult (pubLoad64 pubResult pubArgument0 (naturalMultiply 2 captureWordBytes) (pubStore64 pubArgument3 (naturalAdd publicationBodyAt (naturalAdd nativeTelemetryCountersAt (naturalMultiply 2 captureWordBytes))) pubResult (pubLoad64 pubResult pubArgument2 (naturalMultiply 2 captureWordBytes) (pubStore64 pubArgument3 (naturalAdd publicationBodyAt (naturalAdd nativeTelemetryIdentityAt (naturalMultiply 2 captureWordBytes))) pubResult (pubLoad64 pubResult pubArgument0 (naturalMultiply 3 captureWordBytes) (pubStore64 pubArgument3 (naturalAdd publicationBodyAt (naturalAdd nativeTelemetryCountersAt (naturalMultiply 3 captureWordBytes))) pubResult (pubLoad64 pubResult pubArgument2 (naturalMultiply 3 captureWordBytes) (pubStore64 pubArgument3 (naturalAdd publicationBodyAt (naturalAdd nativeTelemetryIdentityAt (naturalMultiply 3 captureWordBytes))) pubResult (pubLoad64 pubResult pubArgument0 (naturalMultiply 4 captureWordBytes) (pubStore64 pubArgument3 (naturalAdd publicationBodyAt (naturalAdd nativeTelemetryCountersAt (naturalMultiply 4 captureWordBytes))) pubResult (pubLoad64 pubResult pubArgument2 (naturalMultiply 4 captureWordBytes) (pubStore64 pubArgument3 (naturalAdd publicationBodyAt (naturalAdd nativeTelemetryIdentityAt (naturalMultiply 4 captureWordBytes))) pubResult (pubLoad64 pubResult pubArgument0 (naturalMultiply 5 captureWordBytes) (pubStore64 pubArgument3 (naturalAdd publicationBodyAt (naturalAdd nativeTelemetryCountersAt (naturalMultiply 5 captureWordBytes))) pubResult (pubLoad64 pubResult pubArgument2 (naturalMultiply 5 captureWordBytes) (pubStore64 pubArgument3 (naturalAdd publicationBodyAt (naturalAdd nativeTelemetryIdentityAt (naturalMultiply 5 captureWordBytes))) pubResult (pubLoad64 pubResult pubArgument0 (naturalMultiply 6 captureWordBytes) (pubStore64 pubArgument3 (naturalAdd publicationBodyAt (naturalAdd nativeTelemetryCountersAt (naturalMultiply 6 captureWordBytes))) pubResult (publicationPrepareExtent ordinaryCapacity reservedCapacity)))))))))))))))))))))))))))))))))))))) in (let unrestricted publicationPrepareIdentities = (lambda unrestricted ordinaryCapacity : Nat . (lambda unrestricted reservedCapacity : Nat . (pubSubtract pubResult pubScratch0 (pubLoad64 pubScratch0 pubArgument0 captureDroppedAt (pubLoad64 pubScratch1 pubArgument3 publicationPublishedDroppedAt (pubCompare pubScratch0 pubScratch1 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationBelow) b"publication-prepare-reject" (pubSubtract pubScratch0 pubScratch1 (pubCompare pubResult pubScratch0 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationBelow) b"publication-prepare-reject" (pubSubtract pubResult pubScratch0 (pubLoad64 pubScratch0 pubArgument0 captureOrdinaryUsedAt (pubLoad64 pubScratch1 pubArgument0 captureReservedUsedAt (pubAdd pubScratch0 pubScratch1 (pubCompare pubResult pubScratch0 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationNotZero) b"publication-prepare-reject" (pubLoad64 pubResult pubArgument0 captureExcludedAt (pubLoad64 pubScratch0 pubArgument3 publicationPublishedExcludedAt (pubCompare pubResult pubScratch0 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationBelow) b"publication-prepare-reject" (pubLoad64 pubResult pubArgument2 (telemetryIdentityOffset telemetryRunIdentityIndex) (pubLoad64 pubScratch0 pubArgument2 (naturalAdd (telemetryIdentityOffset telemetryRunIdentityIndex) captureWordBytes) (pubOr pubResult pubScratch0 (pubCompareImmediate pubResult 0 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationZero) b"publication-prepare-reject" (pubLoad64 pubResult pubArgument2 (telemetryIdentityOffset telemetryAttemptIdentityIndex) (pubLoad64 pubScratch0 pubArgument2 (naturalAdd (telemetryIdentityOffset telemetryAttemptIdentityIndex) captureWordBytes) (pubOr pubResult pubScratch0 (pubCompareImmediate pubResult 0 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationZero) b"publication-prepare-reject" (pubLoad64 pubResult pubArgument2 (telemetryIdentityOffset telemetryProducerIdentityIndex) (pubLoad64 pubScratch0 pubArgument2 (naturalAdd (telemetryIdentityOffset telemetryProducerIdentityIndex) captureWordBytes) (pubOr pubResult pubScratch0 (pubCompareImmediate pubResult 0 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationZero) b"publication-prepare-reject" (pubLoad64 pubResult pubArgument2 (telemetryIdentityOffset telemetryProducerEpochIndex) (pubLoad64 pubScratch0 pubArgument2 (naturalAdd (telemetryIdentityOffset telemetryProducerEpochIndex) captureWordBytes) (publicationPrepareSnapshot ordinaryCapacity reservedCapacity)))))))))))))))))))))))))))))))))))))) in (let unrestricted publicationPrepareBoundsForBody = (lambda unrestricted ordinaryCapacity : Nat . (lambda unrestricted reservedCapacity : Nat . (lambda unrestricted bodyBytes : Nat . (pubCompareImmediate pubArgument4 (captureQueueBytes ordinaryCapacity reservedCapacity) (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationNotZero) b"publication-prepare-reject" (pubCompareImmediate pubArgument5 (publicationArenaBytesForBody bodyBytes) (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationNotZero) b"publication-prepare-reject" (pubLoad64 pubResult pubArgument0 captureOrdinaryCapacityAt (pubCompareImmediate pubResult ordinaryCapacity (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationNotZero) b"publication-prepare-reject" (pubLoad64 pubResult pubArgument0 captureReservedCapacityAt (pubCompareImmediate pubResult reservedCapacity (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationNotZero) b"publication-prepare-reject" (pubLoad64 pubResult pubArgument0 captureRequiredAt (pubCompareImmediate pubResult 1 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationAbove) b"publication-prepare-reject" (pubLoad64 pubResult pubArgument0 captureOrdinaryUsedAt (pubCompareImmediate pubResult ordinaryCapacity (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationAbove) b"publication-prepare-reject" (pubLoad64 pubResult pubArgument0 captureReservedUsedAt (pubCompareImmediate pubResult reservedCapacity (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationAbove) b"publication-prepare-reject" (pubLoad64 pubResult pubArgument3 publicationFinishedAt (pubCompareImmediate pubResult 0 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationNotZero) b"publication-prepare-reject" (pubLoad64 pubResult pubArgument3 publicationPoisonedAt (pubCompareImmediate pubResult 0 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationNotZero) b"publication-prepare-reject" (pubLoad64 pubResult pubArgument3 publicationTerminalRequestAt (pubCompareImmediate pubResult 1 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationAbove) b"publication-prepare-reject" (pubLoad64 pubResult pubArgument3 publicationBatchOrdinalAt (pubCompareImmediate pubResult 0xffffffff (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationZero) b"publication-prepare-reject" (pubLoad64 pubResult pubArgument0 captureNextSequenceAt (pubLoad64 pubScratch0 pubArgument3 publicationPublishedNextAt (pubCompare pubResult pubScratch0 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationBelow) b"publication-prepare-reject" (publicationPrepareIdentities ordinaryCapacity reservedCapacity))))))))))))))))))))))))))))))))))))))) in (let unrestricted publicationTypedPayloadLengths = (pubMove pubArgument3 pubArgument0 (pubStore64 pubArgument3 (naturalAdd publicationBodyAt nativeTelemetryEmptyErrorPayloadExtentAt) pubArgument2 (pubMove pubResult pubArgument2 (pubAddImmediate pubResult nativeTelemetryEmptyErrorPayloadAt (pubStore64 pubArgument3 publicationBodyLengthAt pubResult (pubMove pubScratch1 pubArgument3 (pubAddImmediate pubScratch1 publicationBodyAt (pubAdd pubScratch1 pubResult (pubMove pubScratch0 pubResult (pubAddImmediate pubScratch0 (naturalAdd 1 (naturalAdd nativeTelemetryScalarBytes 63)) (pubShiftRight pubScratch0 6 (pubStore64 pubArgument3 publicationBlockCountAt pubScratch0 (pubAddImmediate pubResult (naturalAdd (bytes-length nativeTelemetryMagic) nativeTelemetryDigestBytes) (pubStore64 pubArgument3 publicationRecordLengthAt pubResult (pubSet pubResult 3 (pubStore8 pubArgument3 publicationBodyAt pubResult publicationPadPreparedBody)))))))))))))))) in (let unrestricted publicationTypedPayloadBounds = (lambda unrestricted bodyBytes : Nat . (pubCompareImmediate pubArgument1 (publicationArenaBytesForBody bodyBytes) (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationNotZero) b"publication-prepare-reject" (pubLoad64 pubResult pubArgument0 publicationReadyAt (pubSet pubScratch0 0 (pubStore64 pubArgument0 publicationReadyAt pubScratch0 (pubCompareImmediate pubResult 1 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationNotZero) b"publication-prepare-reject" (pubSet pubResult 0 (pubStore64 pubArgument0 publicationReadyAt pubResult (pubLoad64 pubResult pubArgument0 publicationPoisonedAt (pubCompareImmediate pubResult 0 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationNotZero) b"publication-prepare-reject" (pubLoad64 pubResult pubArgument0 publicationFinishedAt (pubCompareImmediate pubResult 0 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationNotZero) b"publication-prepare-reject" (pubCompareImmediate pubArgument2 captureWordBytes (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationBelow) b"publication-prepare-reject" (pubCompareImmediate pubArgument2 (naturalSaturatingSubtract bodyBytes nativeTelemetryEmptyErrorPayloadAt) (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationAbove) b"publication-prepare-reject" publicationTypedPayloadLengths)))))))))))))))))))) in (let unrestricted publicationCommitRestore = (pubSet pubResult 5 (pubJump b"publication-cleanup" (pubLabel b"publication-invalid" (pubSet pubResult 4 (pubJump b"publication-cleanup" (pubLabel b"publication-cleanup" (pubLoad64 pubPersistent0 pubPersistent1 publicationSavedR12At (pubLoad64 pubPersistent2 pubPersistent1 publicationSavedR14At (pubLoad64 pubPersistent3 pubPersistent1 publicationSavedR15At (pubLoad64 pubPersistent1 pubPersistent1 publicationSavedR13At (pubReturn pubEnd))))))))))) in (let unrestricted publicationCommitSyncAndReclaim = (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationNotZero) b"publication-sync-failure" (pubLoad64 pubResult pubPersistent0 captureNextSequenceAt (pubStore64 pubPersistent1 publicationPublishedNextAt pubResult (pubLoad64 pubResult pubPersistent0 captureDroppedAt (pubStore64 pubPersistent1 publicationPublishedDroppedAt pubResult (pubLoad64 pubResult pubPersistent0 captureExcludedAt (pubStore64 pubPersistent1 publicationPublishedExcludedAt pubResult (pubLoad64 pubResult pubPersistent1 publicationTerminalRequestAt (pubStore64 pubPersistent1 publicationFinishedAt pubResult (pubLoad64 pubResult pubPersistent1 publicationBatchOrdinalAt (pubAddImmediate pubResult 1 (pubStore64 pubPersistent1 publicationBatchOrdinalAt pubResult (pubSet pubResult 0 (pubStore64 pubPersistent0 captureOrdinaryUsedAt pubResult (pubStore64 pubPersistent0 captureReservedUsedAt pubResult (pubJump b"publication-cleanup" (pubLabel b"publication-write-failure" (pubSet pubResult 1 (pubStore64 pubPersistent1 publicationPoisonedAt pubResult (pubSet pubResult 2 (pubJump b"publication-cleanup" (pubLabel b"publication-sync-failure" (pubSet pubResult 1 (pubStore64 pubPersistent1 publicationPoisonedAt pubResult (pubSet pubResult 3 (pubJump b"publication-cleanup" (pubLabel b"publication-poisoned" (pubSet pubResult 6 (pubJump b"publication-cleanup" (pubLabel b"publication-closed" publicationCommitRestore)))))))))))))))))))))))))))))) in (let unrestricted publicationCommitWrite = (pubStore64 pubArgument1 publicationSavedR12At pubPersistent0 (pubStore64 pubArgument1 publicationSavedR13At pubPersistent1 (pubStore64 pubArgument1 publicationSavedR14At pubPersistent2 (pubStore64 pubArgument1 publicationSavedR15At pubPersistent3 (pubMove pubPersistent0 pubArgument0 (pubMove pubPersistent1 pubArgument1 (pubMove pubPersistent2 pubArgument2 (pubMove pubPersistent3 pubArgument5 (pubLoad64 pubResult pubPersistent1 publicationRecordLengthAt (pubCompare pubArgument4 pubResult (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationNotZero) b"publication-invalid" (pubCompareImmediate pubArgument4 (publicationRecordBytes publicationPayloadRecordsAt) (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationBelow) b"publication-invalid" (pubCompareImmediate pubArgument4 publicationMaximumFrameBytes (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationAbove) b"publication-invalid" (pubLoad64 pubResult pubPersistent1 publicationBatchOrdinalAt (pubCompareImmediate pubResult 0xffffffff (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationZero) b"publication-invalid" (pubLoad64 pubResult pubPersistent1 publicationTerminalRequestAt (pubCompareImmediate pubResult 1 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationAbove) b"publication-invalid" (pubSet pubResult 0 (pubStore64 pubPersistent1 publicationReadyAt pubResult (pubLoad64 pubResult pubPersistent1 publicationPoisonedAt (pubCompareImmediate pubResult 0 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationNotZero) b"publication-poisoned" (pubLoad64 pubResult pubPersistent1 publicationFinishedAt (pubCompareImmediate pubResult 0 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationNotZero) b"publication-closed" (pubMove pubArgument0 pubPersistent2 (pubMove pubArgument1 pubArgument3 (pubMove pubArgument2 pubArgument4 (pubWrite (pubCompare pubResult pubArgument4 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationNotZero) b"publication-write-failure" (pubMove pubArgument0 pubPersistent2 (pubSync (pubCompareImmediate pubResult 0 (pubJumpIf (constructor TelemetryPublicationCondition TelemetryPublicationNotZero) b"publication-sync-failure" (pubMove pubArgument0 pubPersistent3 (pubSync (pubCompareImmediate pubResult 0 publicationCommitSyncAndReclaim)))))))))))))))))))))))))))))))))))))))))) in (eliminate TelemetryPublicationRoutineKind (lambda unrestricted current : (family TelemetryPublicationRoutineKind) . A) kind (branch TelemetryPublicationPrepareRoutine ordinary reserved bound . (publicationPrepareBoundsForBody ordinary reserved bound)) (branch TelemetryPublicationTypedPaddingRoutine bound . (publicationTypedPayloadBounds bound)) (branch TelemetryPublicationCommitRoutine . publicationCommitWrite))))))))))))))))))))))