def second

stelliferous@0.0.2.0 · proofs/kernel_weights_witness.bend:68

import stelliferous@0.0.2.0/proofs/kernel_weights_witness.bend as KernelWeightsWitness
import Base
import stelliferous@0.0.2.0/kernel_weights.bend as Weights
import stelliferous@0.0.2.0/kernel_tile.bend as Tile
import stelliferous@0.0.2.0/storage_buffer.bend as Storage
import stelliferous@0.0.2.0/proofs/storage_witness.bend as Witness
import stelliferous@0.0.2.0/proofs/traversal_witness.bend as TraversalWitness

68def second(+rows: U32,+inner: U32,+row: U32,+index: U32,-input: Array<F32>,-a: F32,-result: Array<F32> & F32,
69  observed: TraversalWitness.Sample<Array<F32>,F32,input,result>,+evidence: Witness.ArrayWitness<F32,input>) ->
70  TraversalWitness.Sample<Array<F32>,Tile.Tile8,input,Weights.second(rows,inner,row,index,a,result)>:
71  TraversalWitness.Sample{b,equation} = observed
72  %Equal.sym(Array<F32> & F32,result,(input,b),equation) :
73    TraversalWitness.Sample<Array<F32>,Tile.Tile8,input,Weights.second(rows,inner,row,index,a,_)>
74  third(rows,inner,row,index,input,a,b,Storage.read_when(~F32,0.0,U32.is_lt((row + 2 : U32),rows),input,((row + 2) * inner + index : U32)),
75    conditional(input,U32.is_lt((row + 2 : U32),rows),((row + 2) * inner + index : U32),evidence),evidence)

Uses (16)

Used by (1)