def fourth

stelliferous@0.0.2.0 · proofs/kernel_weights_witness.bend:50

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

50def fourth(+rows: U32,+inner: U32,+row: U32,+index: U32,-input: Array<F32>,-a: F32,-b: F32,-c: F32,-result: Array<F32> & F32,
51  observed: TraversalWitness.Sample<Array<F32>,F32,input,result>,+evidence: Witness.ArrayWitness<F32,input>) ->
52  TraversalWitness.Sample<Array<F32>,Tile.Tile8,input,Weights.fourth(rows,inner,row,index,a,b,c,result)>:
53  TraversalWitness.Sample{d,equation} = observed
54  %Equal.sym(Array<F32> & F32,result,(input,d),equation) :
55    TraversalWitness.Sample<Array<F32>,Tile.Tile8,input,Weights.fourth(rows,inner,row,index,a,b,c,_)>
56  fifth(rows,inner,row,index,input,a,b,c,d,Storage.read_when(~F32,0.0,U32.is_lt((row + 4 : U32),rows),input,((row + 4) * inner + index : U32)),
57    conditional(input,U32.is_lt((row + 4 : U32),rows),((row + 4) * inner + index : U32),evidence),evidence)

Uses (16)

Used by (1)