def third

stelliferous@0.0.2.0 · proofs/kernel_weights_witness.bend:59

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

59def third(+rows: U32,+inner: U32,+row: U32,+index: U32,-input: Array<F32>,-a: F32,-b: F32,-result: Array<F32> & F32,
60  observed: TraversalWitness.Sample<Array<F32>,F32,input,result>,+evidence: Witness.ArrayWitness<F32,input>) ->
61  TraversalWitness.Sample<Array<F32>,Tile.Tile8,input,Weights.third(rows,inner,row,index,a,b,result)>:
62  TraversalWitness.Sample{c,equation} = observed
63  %Equal.sym(Array<F32> & F32,result,(input,c),equation) :
64    TraversalWitness.Sample<Array<F32>,Tile.Tile8,input,Weights.third(rows,inner,row,index,a,b,_)>
65  fourth(rows,inner,row,index,input,a,b,c,Storage.read_when(~F32,0.0,U32.is_lt((row + 3 : U32),rows),input,((row + 3) * inner + index : U32)),
66    conditional(input,U32.is_lt((row + 3 : U32),rows),((row + 3) * inner + index : U32),evidence),evidence)

Uses (16)

Used by (1)