Skip to content

Instantly share code, notes, and snippets.

@stellaraccident
Created June 1, 2021 21:17
Show Gist options
  • Save stellaraccident/5d7883d65a489b80f873c8a59be732ad to your computer and use it in GitHub Desktop.
Save stellaraccident/5d7883d65a489b80f873c8a59be732ad to your computer and use it in GitHub Desktop.
keyword_spotting numerical regression
#map0 = affine_map<(d0, d1, d2, d3) -> (d1, d2)>
#map1 = affine_map<(d0, d1, d2, d3) -> (d0, d1, d2, d3)>
#map2 = affine_map<(d0, d1, d2) -> (d2)>
#map3 = affine_map<(d0, d1, d2) -> (d0, d1, d2)>
#map4 = affine_map<(d0, d1, d2) -> (d1, d2)>
#map5 = affine_map<(d0, d1, d2) -> ()>
#map6 = affine_map<(d0, d1, d2, d3) -> ()>
#map7 = affine_map<() -> ()>
#map8 = affine_map<(d0, d1) -> (d0, d1)>
#map9 = affine_map<(d0, d1) -> ()>
module {
flow.variable @"__iree_flow___sm_node46__m.layer-4.gamma" dense<1.000000e+00> : tensor<4xf32> attributes {sym_visibility = "private"}
flow.variable @"__iree_flow___sm_node47__m.layer-4.beta" dense<0.000000e+00> : tensor<4xf32> attributes {sym_visibility = "private"}
flow.variable @"__iree_flow___sm_node48__m.layer-4.moving_mean" dense<0.000000e+00> : tensor<4xf32> attributes {sym_visibility = "private"}
flow.variable @"__iree_flow___sm_node49__m.layer-4.moving_variance" dense<1.000000e+00> : tensor<4xf32> attributes {sym_visibility = "private"}
flow.variable @"__iree_flow___sm_node59__m.layer-5.output_min" dense<-6.000000e+00> : tensor<f32> attributes {sym_visibility = "private"}
flow.variable @"__iree_flow___sm_node60__m.layer-5.output_max" dense<6.000000e+00> : tensor<f32> attributes {sym_visibility = "private"}
flow.variable @"__iree_flow___sm_node73__m.layer-7.gamma" dense<1.000000e+00> : tensor<4xf32> attributes {sym_visibility = "private"}
flow.variable @"__iree_flow___sm_node74__m.layer-7.beta" dense<0.000000e+00> : tensor<4xf32> attributes {sym_visibility = "private"}
flow.variable @"__iree_flow___sm_node75__m.layer-7.moving_mean" dense<0.000000e+00> : tensor<4xf32> attributes {sym_visibility = "private"}
flow.variable @"__iree_flow___sm_node76__m.layer-7.moving_variance" dense<1.000000e+00> : tensor<4xf32> attributes {sym_visibility = "private"}
flow.variable @"__iree_flow___sm_node86__m.layer-8.output_min" dense<-6.000000e+00> : tensor<f32> attributes {sym_visibility = "private"}
flow.variable @"__iree_flow___sm_node87__m.layer-8.output_max" dense<6.000000e+00> : tensor<f32> attributes {sym_visibility = "private"}
flow.variable @"__iree_flow___sm_node103__m.layer-11.kernel" opaque<"_", "0xDEADBEEF"> : tensor<3528x4xf32> attributes {sym_visibility = "private"}
flow.variable @"__iree_flow___sm_node104__m.layer-11.bias" dense<0.000000e+00> : tensor<4xf32> attributes {sym_visibility = "private"}
flow.variable @"__iree_flow___sm_node109__m.layer-12.kernel" dense<[[-0.562682033, -0.315277934, 0.615826189, -0.143311679], [-0.457400054, -0.475249946, 0.171522081, 0.569641531], [1.692360e-01, -0.0185184479, -0.664118171, -0.158768892], [-0.657147288, 0.757307469, -0.457313955, 0.52416712]]> : tensor<4x4xf32> attributes {sym_visibility = "private"}
flow.variable @"__iree_flow___sm_node110__m.layer-12.bias" dense<0.000000e+00> : tensor<4xf32> attributes {sym_visibility = "private"}
flow.variable @"__iree_flow___sm_node115__m.layer-13.kernel" dense<[[-0.595797241, -0.498808682, -0.0165901184, 0.251170456, -0.175368637, 0.0677005053, 0.234495521, -0.0966701507, -0.357671857, -0.464479744, -0.225125164, -0.559008539], [-0.357172966, 0.360620916, 0.523985207, 0.0911590456, 0.0703155398, -0.431846619, 0.420154393, -0.0249734521, -0.566432834, 0.561578572, -0.321681887, 0.24995631], [0.334569097, -0.156425744, 0.609437406, -2.601800e-01, 0.261720896, -0.308892936, -0.562627435, -0.0456334949, 0.175169647, 0.0186665058, -0.388760567, 0.0397778153], [0.416243017, 0.360046864, 6.963050e-02, -0.482876897, 0.294359565, -0.231160432, -0.553404152, -0.048297286, -0.149468929, 0.324707031, -5.642780e-01, -0.248211592]]> : tensor<4x12xf32> attributes {sym_visibility = "private"}
flow.variable @"__iree_flow___sm_node116__m.layer-13.bias" dense<0.000000e+00> : tensor<12xf32> attributes {sym_visibility = "private"}
flow.variable @"__iree_flow___sm_node121__m.layer-3.cell.kernel" dense<[[[[-0.151919872, -0.214293554, 0.0258457363, 0.0447361469]], [[-0.0608523488, 0.224805772, -0.00494769216, 0.363782167]], [[0.143675029, -0.273588419, 0.153228462, 0.118611604]]], [[[0.0527687371, -0.0987700819, -0.0580452383, 0.0949801802]], [[0.302206278, 0.118050426, 0.243534625, -0.303834081]], [[-0.160840988, -0.35381183, 0.16531986, 0.193922043]]], [[[0.131356031, 0.0239011347, 0.187331378, -0.330516279]], [[-0.328362286, 0.183847427, -0.239016771, -0.137343124]], [[-1.523590e-01, -0.2917445, -0.244159549, 0.196935534]]]]> : tensor<3x3x1x4xf32> attributes {sym_visibility = "private"}
flow.variable @"__iree_flow___sm_node122__m.layer-3.cell.bias" dense<0.000000e+00> : tensor<4xf32> attributes {sym_visibility = "private"}
flow.variable @"__iree_flow___sm_node123__m.layer-6.cell.kernel" dense<[[[[0.0959799885, -0.48273471, 0.632068455, 0.480269134], [0.251349509, 0.0525889397, -0.841012835, 0.646936833], [-0.0524433851, -0.196191311, 0.668838202, 0.2369259], [-0.862774848, 0.619664609, -0.679172754, 0.796849787]]]]> : tensor<1x1x4x4xf32> attributes {sym_visibility = "private"}
flow.variable @"__iree_flow___sm_node124__m.layer-6.cell.bias" dense<0.000000e+00> : tensor<4xf32> attributes {sym_visibility = "private"}
flow.variable @__iree_flow___sm_node420 opaque<"_", "0xDEADBEEF"> : tensor<640x448xf32> attributes {sym_visibility = "private"}
flow.variable @__iree_flow___sm_node421 opaque<"_", "0xDEADBEEF"> : tensor<640x448xf32> attributes {sym_visibility = "private"}
flow.variable @__iree_flow___sm_node422 opaque<"_", "0xDEADBEEF"> : tensor<448x40xf32> attributes {sym_visibility = "private"}
func @call(%arg0: tensor<1x16000xf32> {tf._user_specified_name = "args_0"}) -> tensor<1x12xf32> attributes {iree.module.export, iree.reflection = {abi = "sip", abiv = 1 : i32, sip = "I8!S5!k0_0R3!_0"}, tf._construction_context = "kEagerRuntime", tf._input_shapes = [#tf.shape<1x16000>, #tf.shape<640x448>, #tf.shape<640x448>, #tf.shape<448x40>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>], tf.signature.is_stateful} {
%cst = constant dense<0.000000e+00> : tensor<1x49x18x4xf32>
%cst_0 = constant dense<1.000000e+00> : tensor<1x49x18x4xf32>
%cst_1 = constant dense<1.00049984> : tensor<1x49x18x4xf32>
%cst_2 = constant dense<0.000000e+00> : tensor<1x12xf32>
%cst_3 = constant dense<0.000000e+00> : tensor<1x4xf32>
%cst_4 = constant dense<[[[[0.0959799885, -0.48273471, 0.632068455, 0.480269134], [0.251349509, 0.0525889397, -0.841012835, 0.646936833], [-0.0524433851, -0.196191311, 0.668838202, 0.2369259], [-0.862774848, 0.619664609, -0.679172754, 0.796849787]]]]> : tensor<1x1x4x4xf32>
%cst_5 = constant dense<[[[[-0.151919872, -0.214293554, 0.0258457363, 0.0447361469]], [[-0.0608523488, 0.224805772, -0.00494769216, 0.363782167]], [[0.143675029, -0.273588419, 0.153228462, 0.118611604]]], [[[0.0527687371, -0.0987700819, -0.0580452383, 0.0949801802]], [[0.302206278, 0.118050426, 0.243534625, -0.303834081]], [[-0.160840988, -0.35381183, 0.16531986, 0.193922043]]], [[[0.131356031, 0.0239011347, 0.187331378, -0.330516279]], [[-0.328362286, 0.183847427, -0.239016771, -0.137343124]], [[-1.523590e-01, -0.2917445, -0.244159549, 0.196935534]]]]> : tensor<3x3x1x4xf32>
%cst_6 = constant dense<[[-0.595797241, -0.498808682, -0.0165901184, 0.251170456, -0.175368637, 0.0677005053, 0.234495521, -0.0966701507, -0.357671857, -0.464479744, -0.225125164, -0.559008539], [-0.357172966, 0.360620916, 0.523985207, 0.0911590456, 0.0703155398, -0.431846619, 0.420154393, -0.0249734521, -0.566432834, 0.561578572, -0.321681887, 0.24995631], [0.334569097, -0.156425744, 0.609437406, -2.601800e-01, 0.261720896, -0.308892936, -0.562627435, -0.0456334949, 0.175169647, 0.0186665058, -0.388760567, 0.0397778153], [0.416243017, 0.360046864, 6.963050e-02, -0.482876897, 0.294359565, -0.231160432, -0.553404152, -0.048297286, -0.149468929, 0.324707031, -5.642780e-01, -0.248211592]]> : tensor<4x12xf32>
%cst_7 = constant dense<[[-0.562682033, -0.315277934, 0.615826189, -0.143311679], [-0.457400054, -0.475249946, 0.171522081, 0.569641531], [1.692360e-01, -0.0185184479, -0.664118171, -0.158768892], [-0.657147288, 0.757307469, -0.457313955, 0.52416712]]> : tensor<4x4xf32>
%cst_8 = constant opaque<"_", "0xDEADBEEF"> : tensor<3528x4xf32>
%cst_9 = constant opaque<"_", "0xDEADBEEF"> : tensor<448x40xf32>
%cst_10 = constant opaque<"_", "0xDEADBEEF"> : tensor<640x448xf32>
%cst_11 = constant opaque<"_", "0xDEADBEEF"> : tensor<640x448xf32>
%cst_12 = constant dense<0.000000e+00> : tensor<f32>
%cst_13 = constant dense<5.000000e-01> : tensor<f32>
%cst_14 = constant dense<1.000000e+00> : tensor<f32>
%cst_15 = constant dense<2.000000e+00> : tensor<f32>
%cst_16 = constant dense<2.550000e+02> : tensor<f32>
%cst_17 = constant dense<[[0, 1], [1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7], [7, 8], [8, 9], [9, 10], [10, 11], [11, 12], [12, 13], [13, 14], [14, 15], [15, 16], [16, 17], [17, 18], [18, 19], [19, 20], [20, 21], [21, 22], [22, 23], [23, 24], [24, 25], [25, 26], [26, 27], [27, 28], [28, 29], [29, 30], [30, 31], [31, 32], [32, 33], [33, 34], [34, 35], [35, 36], [36, 37], [37, 38], [38, 39], [39, 40], [40, 41], [41, 42], [42, 43], [43, 44], [44, 45], [45, 46], [46, 47], [47, 48], [48, 49]]> : tensor<49x2xi32>
%cst_18 = constant dense<"0x2EF9643EFDCB643E7C44643EDF62633E8127623EDE92603E95A55E3E6A605C3E40C4593E21D2563E378B533ECBF04F3E4A044C3E41C7473E5D3B433E67623E3E4C3E393E10D1333EDB1C2E3EEA23283E2EF9643EDF62633E95A55E3E21D2563E4A044C3E67623E3EDB1C2E3E636D1B3E5096063E33C3DF3DA63FAF3D4C9C783DFD460F3DCCD40F3C68B88FBC94AE32BD69838DBD4FB9BFBDC946EFBD8BC10DBE2EF9643EDE92603E378B533E67623E3E9BE8213EEC6BFE3DA63FAF3D94AE323D7D927C2394AE32BDA63FAFBDEC6BFEBD9BE821BE67623EBE378B53BEDE9260BE2EF964BEDE9260BE378B53BE67623EBE2EF9643E6A605C3E5D3B433E636D1B3E49E7CF3D94AE323D68B88FBCD0809EBD509606BE10D133BE378B53BEDF6263BE812762BECBF04FBEDB1C2EBEEC6BFEBD69838DBDCCD40FBCA3CF553D33C3DF3D2EF9643E21D2563EDB1C2E3E33C3DF3DFD460F3D94AE32BDC946EFBD10D133BE40C459BEFDCB64BE378B53BEEA2328BE49E7CFBDB04DD7BCA3CF553DEC6BFE3D4C3E393E6A605C3E7C44643ECBF04F3E2EF9643ECBF04F3ED0B4143E4C9C783DFD460FBDEC6BFEBD5D3B43BEDF6263BE40C459BEEA2328BEA63FAFBDCCD40F3C49E7CF3D10D1333E95A55E3EDE92603E4C3E393E33C3DF3D68B88F3CD0809EBD2EF9643E41C7473EC946EF3DCCD40F3C49E7CFBD67623EBE7C4464BECBF04FBE509606BEB04DD7BCA63FAF3D10D1333E8127623E21D2563ED0B4143E94AE323D69838DBDEA2328BE95A55EBE6A605CBE2EF9643E67623E3EA63FAF3D94AE32BD9BE821BEDE9260BE378B53BEEC6BFEBDDE6D3DA4EC6BFE3D378B533EDE92603E9BE8213E94AE323DA63FAFBD67623EBE2EF964BE67623EBEA63FAFBD94AE323D2EF9643E10D1333EA3CF553D4FB9BFBD4A044CBEDE9260BED0B414BECCD40FBC5096063E6A605C3E378B533E33C3DF3DFD460FBDEA2328BE7C4464BE67623EBE69838DBDD0809E3D5D3B433EDF62633E2EF9643EEA23283E68B88F3C8BC10DBE812762BE67623EBEA3CF55BD33C3DF3D40C4593ECBF04F3EA63FAF3DD0809EBD4A044CBE6A605CBEC946EFBD94AE323D4C3E393EDF62633ED0B4143ECCD40FBC2EF9643E636D1B3E68B88FBC10D133BE812762BEEC6BFEBDA3CF553D41C7473E40C4593E4FB9BF3DA63FAFBD21D256BE4A044CBE4C9C78BDC946EF3DDE92603E4C3E393EB04DD73CD0B414BEFDCB64BE2EF9643E8BC10D3EA3CF55BDCBF04FBE4A044CBE94AE32BDD0B4143EFDCB643E5096063E4C9C78BD378B53BE41C747BEFD460FBD636D1B3E7C44643EEC6BFE3D69838DBD21D256BE5D3B43BEB04DD7BC2EF9643EEC6BFE3DA63FAFBDDE9260BE9BE821BE94AE323D378B533E67623E3E8EDB9D2467623EBE378B53BE94AE32BD9BE8213EDE92603EA63FAF3DEC6BFEBD2EF964BEEC6BFEBDA63FAF3DDE92603E2EF9643E33C3DF3DC946EFBDFDCB64BE49E7CFBDEC6BFE3D7C44643E4FB9BF3D509606BEDF6263BEA63FAFBD8BC10D3E8127623ED0809E3DD0B414BEDE9260BE69838DBD636D1B3E95A55E3E4C9C783D2EF9643E4FB9BF3DD0B414BE6A605CBEFD460FBD67623E3E5D3B433EB04DD7BC40C459BE636D1BBEA63FAF3DFDCB643E49E7CF3D8BC10DBE95A55EBE94AE32BD4C3E393E41C7473E68B88FBC21D256BE2EF9643ED0809E3DDB1C2EBE41C747BEFD460F3DDE92603EC946EF3D8BC10DBE40C459BECCD40FBC378B533E636D1B3E49E7CFBDDF6263BEA3CF55BD67623E3E4C3E393E4C9C78BD7C4464BE4FB9BFBD2EF9643E4C9C783D5D3B43BEEA2328BE49E7CF3DDE92603E68B88F3C21D256BE509606BE8BC10D3E378B533EB04DD7BC812762BE4FB9BFBDDB1C2E3E67623E3E69838DBDFDCB64BEA3CF55BD41C7473E2EF9643E94AE323D378B53BEEC6BFEBD9BE8213E67623E3EA63FAFBDDE9260BE2D00DDA4DE92603EA63FAF3D67623EBE9BE821BEEC6BFE3D378B533E94AE32BD2EF964BE94AE32BD378B533EEC6BFE3D2EF9643EB04DD73C95A55EBED0809EBD4A044C3EEC6BFE3DDB1C2EBEEA2328BE5096063E41C7473EA63FAFBD6A605CBEFD460F3DFDCB643E68B88F3CDE9260BE69838DBDCBF04F3EC946EF3D10D133BE2EF9643ECCD40F3C7C4464BEB04DD7BC8127623E94AE323D95A55EBE4C9C78BD40C4593ED0809E3D378B53BE4FB9BFBD4A044C3E33C3DF3D5D3B43BEEC6BFEBD4C3E393E8BC10D3EDB1C2EBE636D1BBE2EF9643ECCD40FBC7C4464BEB04DD73C8127623E94AE32BD95A55EBE4C9C783D40C4593ED0809EBD378B53BE4FB9BF3D4A044C3E33C3DFBD5D3B43BEEC6BFE3D4C3E393E8BC10DBEDB1C2EBE636D1B3E2EF9643EB04DD7BC95A55EBED0809E3D4A044C3EEC6BFEBDDB1C2EBEEA23283E5096063E41C747BEA63FAFBD6A605C3EFD460F3DFDCB64BE68B88F3CDE92603E69838DBDCBF04FBEC946EF3D10D1333E2EF9643E94AE32BD378B53BEEC6BFE3D9BE8213E67623EBEA63FAFBDDE92603E66120E25DE9260BEA63FAF3D67623E3E9BE821BEEC6BFEBD378B533E94AE323D2EF964BE94AE323D378B533EEC6BFEBD2EF9643E4C9C78BD5D3B43BEEA23283E49E7CF3DDE9260BE68B88F3C21D2563E509606BE8BC10DBE378B533EB04DD73C812762BE4FB9BF3DDB1C2E3E67623EBE69838DBDFDCB643EA3CF55BD41C747BE2EF9643ED0809EBDDB1C2EBE41C7473EFD460F3DDE9260BEC946EF3D8BC10D3E40C459BECCD40F3C378B533E636D1BBE49E7CFBDDF62633EA3CF55BD67623EBE4C3E393E4C9C783D7C4464BE4FB9BF3D2EF9643E4FB9BFBDD0B414BE6A605C3EFD460FBD67623EBE5D3B433EB04DD73C40C459BE636D1B3EA63FAF3DFDCB64BE49E7CF3D8BC10D3E95A55EBE94AE323D4C3E393E41C747BE68B88FBC21D2563E2EF9643E33C3DFBDC946EFBDFDCB643E49E7CFBDEC6BFEBD7C44643E4FB9BFBD509606BEDF62633EA63FAFBD8BC10DBE8127623ED0809EBDD0B414BEDE92603E69838DBD636D1BBE95A55E3E4C9C78BD2EF9643EEC6BFEBDA63FAFBDDE92603E9BE821BE94AE32BD378B533E67623EBED3268E2567623E3E378B53BE94AE323D9BE8213EDE9260BEA63FAF3DEC6BFE3D2EF964BEEC6BFE3DA63FAF3DDE9260BE2EF9643E8BC10DBEA3CF55BDCBF04F3E4A044CBE94AE323DD0B4143EFDCB64BE5096063E4C9C783D378B53BE41C7473EFD460FBD636D1BBE7C44643EEC6BFEBD69838DBD21D2563E5D3B43BEB04DD73C2EF9643E636D1BBE68B88FBC10D1333E812762BEEC6BFE3DA3CF553D41C747BE40C4593E4FB9BFBDA63FAFBD21D2563E4A044CBE4C9C783DC946EF3DDE9260BE4C3E393EB04DD7BCD0B414BEFDCB643E2EF9643EEA2328BE68B88F3C8BC10D3E812762BE67623E3EA3CF55BD33C3DFBD40C4593ECBF04FBEA63FAF3DD0809E3D4A044CBE6A605C3EC946EFBD94AE32BD4C3E393EDF6263BED0B4143ECCD40F3C2EF9643E10D133BEA3CF553D4FB9BF3D4A044CBEDE92603ED0B414BECCD40F3C5096063E6A605CBE378B533E33C3DFBDFD460FBDEA23283E7C4464BE67623E3E69838DBDD0809EBD5D3B433EDF6263BE2EF9643E67623EBEA63FAF3D94AE323D9BE821BEDE92603E378B53BEEC6BFE3D58CA2526EC6BFEBD378B533EDE9260BE9BE8213E94AE32BDA63FAFBD67623E3E2EF964BE67623E3EA63FAFBD94AE32BD2EF9643E41C747BEC946EF3DCCD40FBC49E7CFBD67623E3E7C4464BECBF04F3E509606BEB04DD73CA63FAF3D10D133BE8127623E21D256BED0B4143E94AE32BD69838DBDEA23283E95A55EBE6A605C3E2EF9643ECBF04FBED0B4143E4C9C78BDFD460FBDEC6BFE3D5D3B43BEDF62633E40C459BEEA23283EA63FAFBDCCD40FBC49E7CF3D10D133BE95A55E3EDE9260BE4C3E393E33C3DFBD68B88F3CD0809E3D2EF9643E21D256BEDB1C2E3E33C3DFBDFD460F3D94AE323DC946EFBD10D1333E40C459BEFDCB643E378B53BEEA23283E49E7CFBDB04DD73CA3CF553DEC6BFEBD4C3E393E6A605CBE7C44643ECBF04FBE2EF9643E6A605CBE5D3B433E636D1BBE49E7CF3D94AE32BD68B88FBCD0809E3D509606BE10D1333E378B53BEDF62633E812762BECBF04F3EDB1C2EBEEC6BFE3D69838DBDCCD40F3CA3CF553D33C3DFBD2EF9643EDE9260BE378B533E67623EBE9BE8213EEC6BFEBDA63FAF3D94AE32BDECAE2DA694AE323DA63FAFBDEC6BFE3D9BE821BE67623E3E378B53BEDE92603E2EF964BEDE92603E378B53BE67623E3E2EF9643EDF6263BE95A55E3E21D256BE4A044C3E67623EBEDB1C2E3E636D1BBE5096063E33C3DFBDA63FAF3D4C9C78BDFD460F3DCCD40FBC68B88FBC94AE323D69838DBD4FB9BF3DC946EFBD8BC10D3E2EF9643EFDCB64BE7C44643EDF6263BE8127623EDE9260BE95A55E3E6A605CBE40C4593E21D256BE378B533ECBF04FBE4A044C3E41C747BE5D3B433E67623EBE4C3E393E10D133BEDB1C2E3EEA2328BE"> : tensor<40x20xf32>
%cst_19 = constant dense<9.99999996E-13> : tensor<f32>
%cst_20 = constant dense<0.000000e+00> : tensor<20xf32>
%cst_21 = constant dense<"0x00000000BC20CA377D1FCA3816616339811ACA39C8E11D3A7754633ACBB19A3A8F06CA3A5DA7FF3A71C91D3BD1E33E3BFF21633B8B41853B0E839A3B0255B13BD8B6C93BF5A7E33BB527FF3BB61A0E3C30681D3CE97B2D3C7A553E3C7BF44F3C7A58623C0481753CD0B6843CE90E8F3C8AC8993C70E3A43C555FB03CF03BBC3CF678C83C1B16D53C0E13E23C7E6FEF3C152BFD3CBFA2053D2FDF0C3DAE4A143D0CE51B3D1AAE233DA6A52B3D7ECB333D6F1F3C3D43A1443DC6504D3DBF2D563DF9375F3D386F683D44D3713DE0637B3D6890823DEC84873D5B8F8C3D97AF913D7FE5963DF2309C3DCE91A13DF207A73D3B93AC3D8633B23DAFE8B73D93B2BD3D0D91C33DF783C93D2D8BCF3D88A6D53DE1D5DB3D1219E23DF36FE83D5BDAEE3D2358F53D22E9FB3D9746013E0EA2043EE106083EFC740B3E47EC0E3EAE6C123E1AF6153E7488193EA7231D3E9CC7203E3B74243E6D29283E1BE72B3E2DAD2F3E8C7B333E1F52373ECE303B3E80173F3E1E06433E8EFC463EB7FA4A3E80004F3ED00D533E8C22573E9C3E5B3EE5615F3E4C8C633EB9BD673E10F66B3E3635703E117B743E86C7783E7A1A7D3EE8B9803EB8E9823E9D1C853E8B52873E738B893E47C78B3EFA058E3E7C47903EC08B923EB7D2943E531C973E8668993E41B79B3E75089E3E145CA03E10B2A23E580AA53EDF64A73E96C1A93E6E20AC3E5781AE3E43E4B03E2349B33EE7AFB53E8118B83EE182BA3EF8EEBC3EB65CBF3E0DCCC13EED3CC43E46AFC63E0923C93E2798CB3E900ECE3E3486D03E04FFD23EF078D53EE9F3D73EDF6FDA3EC2ECDC3E836ADF3E12E9E13E5E68E43E59E8E63EF368E93E1BEAEB3EC26BEE3ED8EDF03E4D70F33E12F3F53E1676F83E49F9FA3E9D7CFD3E0000003FB241013F5B83023FF5C4033F7706053FD947063F1489073F1FCA083FF30A0A3F874B0B3FD38B0C3FD1CB0D3F770B0F3FBE4A103F9F89113F10C8123F0B06143F8843153F7E80163FE6BC173FB8F8183FED331A3F7B6E1B3F5DA81C3F8AE11D3FF9191F3FA551203F8488213F90BE223FBFF3233F0C28253F6F5B263FDE8D273F54BF283FC9EF293F351F2B3F904D2C3FD47A2D3FF8A62E3FF6D12F3FC5FB303F5F24323FBD4B333FD671343FA496353F20BA363F42DC373F03FD383F5C1C3A3F463A3B3FBA563C3FB1713D3F248B3E3F0CA33F3F61B9403F1ECE413F3CE1423FB2F2433F7C02453F9210463FED1C473F8727483F5930493F5D374A3F8C3C4B3FE03F4C3F52414D3FDC404E3F783E4F3F203A503FCD33513F782B523F1D21533FB514543F3906553FA5F5553FF1E2563F19CE573F16B7583FE39D593F7A825A3FD5645B3FEE445C3FC1225D3F48FE5D3F7DD75E3F5AAE5F3FDC82603FFC54613FB524623F02F2623FDEBC633F4485643F2F4B653F9A0E663F81CF663FDE8D673FAE49683FEA02693F8FB9693F996D6A3F021F6B3FC6CD6B3FE2796C3F50236D3F0DCA6D3F156E6E3F630F6F3FF3AD6F3FC249703FCCE2703F0C79713F800C723F249D723FF42A733FECB5733F093E743F48C3743FA645753F1EC5753FAF41763F55BB763F0D32773FD4A5773FA716783F8484783F68EF783F4F57793F38BC793F211E7A3F057D7A3FE5D87A3FBC317B3F89877B3F49DA7B3FFC297C3F9E767C3F2EC07C3FAA067D3F104A7D3F5F8A7D3F95C77D3FB1017E3FB0387E3F926C7E3F569D7E3FFACA7E3F7DF57E3FDE1C7F3F1C417F3F37627F3F2C807F3FFD9A7F3FA7B27F3F2BC77F3F88D87F3FBDE67F3FCAF17F3FAFF97F3F6CFE7F3F0000803F6CFE7F3FAFF97F3FCAF17F3FBDE67F3F88D87F3F2BC77F3FA7B27F3FFD9A7F3F2C807F3F37627F3F1C417F3FDE1C7F3F7DF57E3FFACA7E3F569D7E3F926C7E3FB0387E3FB1017E3F95C77D3F5F8A7D3F104A7D3FAA067D3F2EC07C3F9E767C3FFC297C3F49DA7B3F89877B3FBC317B3FE5D87A3F057D7A3F211E7A3F38BC793F4F57793F68EF783F8484783FA716783FD4A5773F0D32773F55BB763FAF41763F1EC5753FA645753F48C3743F093E743FECB5733FF42A733F249D723F800C723F0C79713FCCE2703FC249703FF3AD6F3F630F6F3F156E6E3F0DCA6D3F50236D3FE2796C3FC6CD6B3F021F6B3F996D6A3F8FB9693FEA02693FAE49683FDE8D673F81CF663F9A0E663F2F4B653F4485643FDEBC633F02F2623FB524623FFC54613FDC82603F5AAE5F3F7DD75E3F48FE5D3FC1225D3FEE445C3FD5645B3F7A825A3FE39D593F16B7583F19CE573FF1E2563FA5F5553F3906553FB514543F1D21533F782B523FCD33513F203A503F783E4F3FDC404E3F52414D3FE03F4C3F8C3C4B3F5D374A3F5930493F8727483FED1C473F9210463F7C02453FB2F2433F3CE1423F1ECE413F61B9403F0CA33F3F248B3E3FB1713D3FBA563C3F463A3B3F5C1C3A3F03FD383F42DC373F20BA363FA496353FD671343FBD4B333F5F24323FC5FB303FF6D12F3FF8A62E3FD47A2D3F904D2C3F351F2B3FC9EF293F54BF283FDE8D273F6F5B263F0C28253FBFF3233F90BE223F8488213FA551203FF9191F3F8AE11D3F5DA81C3F7B6E1B3FED331A3FB8F8183FE6BC173F7E80163F8843153F0B06143F10C8123F9F89113FBE4A103F770B0F3FD1CB0D3FD38B0C3F874B0B3FF30A0A3F1FCA083F1489073FD947063F7706053FF5C4033F5B83023FB241013F0000003F9D7CFD3E49F9FA3E1676F83E12F3F53E4D70F33ED8EDF03EC26BEE3E1BEAEB3EF368E93E59E8E63E5E68E43E12E9E13E836ADF3EC2ECDC3EDF6FDA3EE9F3D73EF078D53E04FFD23E3486D03E900ECE3E2798CB3E0923C93E46AFC63EED3CC43E0DCCC13EB65CBF3EF8EEBC3EE182BA3E8118B83EE7AFB53E2349B33E43E4B03E5781AE3E6E20AC3E96C1A93EDF64A73E580AA53E10B2A23E145CA03E75089E3E41B79B3E8668993E531C973EB7D2943EC08B923E7C47903EFA058E3E47C78B3E738B893E8B52873E9D1C853EB8E9823EE8B9803E7A1A7D3E86C7783E117B743E3635703E10F66B3EB9BD673E4C8C633EE5615F3E9C3E5B3E8C22573ED00D533E80004F3EB7FA4A3E8EFC463E1E06433E80173F3ECE303B3E1F52373E8C7B333E2DAD2F3E1BE72B3E6D29283E3B74243E9CC7203EA7231D3E7488193E1AF6153EAE6C123E47EC0E3EFC740B3EE106083E0EA2043E9746013E22E9FB3D2358F53D5BDAEE3DF36FE83D1219E23DE1D5DB3D88A6D53D2D8BCF3DF783C93D0D91C33D93B2BD3DAFE8B73D8633B23D3B93AC3DF207A73DCE91A13DF2309C3D7FE5963D97AF913D5B8F8C3DEC84873D6890823DE0637B3D44D3713D386F683DF9375F3DBF2D563DC6504D3D43A1443D6F1F3C3D7ECB333DA6A52B3D1AAE233D0CE51B3DAE4A143D2FDF0C3DBFA2053D152BFD3C7E6FEF3C0E13E23C1B16D53CF678C83CF03BBC3C555FB03C70E3A43C8AC8993CE90E8F3CD0B6843C0481753C7A58623C7BF44F3C7A553E3CE97B2D3C30681D3CB61A0E3CB527FF3BF5A7E33BD8B6C93B0255B13B0E839A3B8B41853BFF21633BD1E33E3B71C91D3B5DA7FF3A8F06CA3ACBB19A3A7754633AC8E11D3A811ACA39166163397D1FCA38BC20CA37"> : tensor<640xf32>
%cst_22 = constant dense<1.000000e+00> : tensor<20xf32>
%cst_23 = constant 0.000000e+00 : f32
%cst_24 = constant 0x7FC00000 : f32
%cst_25 = constant dense<0.0470588244> : tensor<f32>
%cst_26 = constant dense<2.125000e+01> : tensor<f32>
%cst_27 = constant dense<1.275000e+02> : tensor<f32>
%cst_28 = constant dense<6.375000e+01> : tensor<f32>
%0 = linalg.tensor_reshape %arg0 [[0], [1, 2]] : tensor<1x16000xf32> into tensor<1x50x320xf32>
%1 = linalg.init_tensor [1, 49, 2, 320] : tensor<1x49x2x320xf32>
%2 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_17 : tensor<49x2xi32>) outs(%1 : tensor<1x49x2x320xf32>) {
^bb0(%arg1: i32, %arg2: f32): // no predecessors
%195 = index_cast %arg1 : i32 to index
%196 = linalg.index 0 : index
%197 = linalg.index 3 : index
%198 = tensor.extract %0[%196, %195, %197] : tensor<1x50x320xf32>
linalg.yield %198 : f32
} -> tensor<1x49x2x320xf32>
%3 = linalg.tensor_reshape %2 [[0], [1], [2, 3]] : tensor<1x49x2x320xf32> into tensor<1x49x640xf32>
%4 = linalg.init_tensor [1, 49, 640] : tensor<1x49x640xf32>
%5 = linalg.generic {indexing_maps = [#map2, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_21 : tensor<640xf32>) outs(%4 : tensor<1x49x640xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x49x640xf32>
%6 = linalg.init_tensor [1, 49, 640] : tensor<1x49x640xf32>
%7 = linalg.generic {indexing_maps = [#map3, #map3, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%3, %5 : tensor<1x49x640xf32>, tensor<1x49x640xf32>) outs(%6 : tensor<1x49x640xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = mulf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<1x49x640xf32>
%8 = linalg.init_tensor [1, 640, 448] : tensor<1x640x448xf32>
%9 = linalg.generic {indexing_maps = [#map4, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_10 : tensor<640x448xf32>) outs(%8 : tensor<1x640x448xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x640x448xf32>
%10 = linalg.init_tensor [1, 49, 448] : tensor<1x49x448xf32>
%11 = linalg.fill(%10, %cst_23) : tensor<1x49x448xf32>, f32 -> tensor<1x49x448xf32>
%12 = linalg.batch_matmul ins(%7, %9 : tensor<1x49x640xf32>, tensor<1x640x448xf32>) outs(%11 : tensor<1x49x448xf32>) -> tensor<1x49x448xf32>
%13 = linalg.init_tensor [1, 49, 448] : tensor<1x49x448xf32>
%14 = linalg.generic {indexing_maps = [#map3, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%12 : tensor<1x49x448xf32>) outs(%13 : tensor<1x49x448xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
%195 = mulf %arg1, %arg1 : f32
linalg.yield %195 : f32
} -> tensor<1x49x448xf32>
%15 = linalg.init_tensor [1, 640, 448] : tensor<1x640x448xf32>
%16 = linalg.generic {indexing_maps = [#map4, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_11 : tensor<640x448xf32>) outs(%15 : tensor<1x640x448xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x640x448xf32>
%17 = linalg.init_tensor [1, 49, 448] : tensor<1x49x448xf32>
%18 = linalg.fill(%17, %cst_23) : tensor<1x49x448xf32>, f32 -> tensor<1x49x448xf32>
%19 = linalg.batch_matmul ins(%7, %16 : tensor<1x49x640xf32>, tensor<1x640x448xf32>) outs(%18 : tensor<1x49x448xf32>) -> tensor<1x49x448xf32>
%20 = linalg.init_tensor [1, 49, 448] : tensor<1x49x448xf32>
%21 = linalg.generic {indexing_maps = [#map3, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%19 : tensor<1x49x448xf32>) outs(%20 : tensor<1x49x448xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
%195 = mulf %arg1, %arg1 : f32
linalg.yield %195 : f32
} -> tensor<1x49x448xf32>
%22 = linalg.init_tensor [1, 49, 448] : tensor<1x49x448xf32>
%23 = linalg.generic {indexing_maps = [#map3, #map3, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%21, %14 : tensor<1x49x448xf32>, tensor<1x49x448xf32>) outs(%22 : tensor<1x49x448xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = addf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<1x49x448xf32>
%24 = linalg.init_tensor [1, 49, 448] : tensor<1x49x448xf32>
%25 = linalg.generic {indexing_maps = [#map3, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%23 : tensor<1x49x448xf32>) outs(%24 : tensor<1x49x448xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
%195 = math.sqrt %arg1 : f32
linalg.yield %195 : f32
} -> tensor<1x49x448xf32>
%26 = linalg.init_tensor [1, 448, 40] : tensor<1x448x40xf32>
%27 = linalg.generic {indexing_maps = [#map4, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_9 : tensor<448x40xf32>) outs(%26 : tensor<1x448x40xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x448x40xf32>
%28 = linalg.init_tensor [1, 49, 40] : tensor<1x49x40xf32>
%29 = linalg.fill(%28, %cst_23) : tensor<1x49x40xf32>, f32 -> tensor<1x49x40xf32>
%30 = linalg.batch_matmul ins(%25, %27 : tensor<1x49x448xf32>, tensor<1x448x40xf32>) outs(%29 : tensor<1x49x40xf32>) -> tensor<1x49x40xf32>
%31 = linalg.init_tensor [1, 49, 40] : tensor<1x49x40xf32>
%32 = linalg.generic {indexing_maps = [#map5, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_19 : tensor<f32>) outs(%31 : tensor<1x49x40xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x49x40xf32>
%33 = linalg.init_tensor [1, 49, 40] : tensor<1x49x40xf32>
%34 = linalg.generic {indexing_maps = [#map3, #map3, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%30, %32 : tensor<1x49x40xf32>, tensor<1x49x40xf32>) outs(%33 : tensor<1x49x40xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = cmpf ogt, %arg1, %arg2 : f32
%196 = select %195, %arg1, %arg2 : f32
%197 = cmpf uno, %arg1, %arg2 : f32
%198 = select %197, %cst_24, %196 : f32
linalg.yield %198 : f32
} -> tensor<1x49x40xf32>
%35 = linalg.init_tensor [1, 49, 40] : tensor<1x49x40xf32>
%36 = linalg.generic {indexing_maps = [#map3, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%34 : tensor<1x49x40xf32>) outs(%35 : tensor<1x49x40xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
%195 = math.log %arg1 : f32
linalg.yield %195 : f32
} -> tensor<1x49x40xf32>
%37 = linalg.init_tensor [1, 40, 20] : tensor<1x40x20xf32>
%38 = linalg.generic {indexing_maps = [#map4, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_18 : tensor<40x20xf32>) outs(%37 : tensor<1x40x20xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x40x20xf32>
%39 = linalg.init_tensor [1, 49, 20] : tensor<1x49x20xf32>
%40 = linalg.fill(%39, %cst_23) : tensor<1x49x20xf32>, f32 -> tensor<1x49x20xf32>
%41 = linalg.batch_matmul ins(%36, %38 : tensor<1x49x40xf32>, tensor<1x40x20xf32>) outs(%40 : tensor<1x49x20xf32>) -> tensor<1x49x20xf32>
%42 = linalg.init_tensor [1, 49, 20] : tensor<1x49x20xf32>
%43 = linalg.generic {indexing_maps = [#map2, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_20 : tensor<20xf32>) outs(%42 : tensor<1x49x20xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x49x20xf32>
%44 = linalg.init_tensor [1, 49, 20] : tensor<1x49x20xf32>
%45 = linalg.generic {indexing_maps = [#map3, #map3, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%41, %43 : tensor<1x49x20xf32>, tensor<1x49x20xf32>) outs(%44 : tensor<1x49x20xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = subf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<1x49x20xf32>
%46 = linalg.init_tensor [1, 49, 20] : tensor<1x49x20xf32>
%47 = linalg.generic {indexing_maps = [#map2, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_22 : tensor<20xf32>) outs(%46 : tensor<1x49x20xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x49x20xf32>
%48 = linalg.init_tensor [1, 49, 20] : tensor<1x49x20xf32>
%49 = linalg.generic {indexing_maps = [#map3, #map3, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%45, %47 : tensor<1x49x20xf32>, tensor<1x49x20xf32>) outs(%48 : tensor<1x49x20xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = mulf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<1x49x20xf32>
%50 = linalg.tensor_reshape %49 [[0], [1], [2, 3]] : tensor<1x49x20xf32> into tensor<1x49x20x1xf32>
%51 = linalg.init_tensor [1, 51, 20, 1] : tensor<1x51x20x1xf32>
%52 = linalg.fill(%51, %cst_23) : tensor<1x51x20x1xf32>, f32 -> tensor<1x51x20x1xf32>
%53 = subtensor_insert %50 into %52[0, 2, 0, 0] [1, 49, 20, 1] [1, 1, 1, 1] : tensor<1x49x20x1xf32> into tensor<1x51x20x1xf32>
%54 = linalg.init_tensor [1, 49, 18, 1, 4] : tensor<1x49x18x1x4xf32>
%55 = linalg.fill(%54, %cst_23) : tensor<1x49x18x1x4xf32>, f32 -> tensor<1x49x18x1x4xf32>
%56 = linalg.depthwise_conv_2d_input_nhwc_filter_hwcf {strides = dense<1> : tensor<2xi64>} ins(%53, %cst_5 : tensor<1x51x20x1xf32>, tensor<3x3x1x4xf32>) outs(%55 : tensor<1x49x18x1x4xf32>) -> tensor<1x49x18x1x4xf32>
%57 = linalg.tensor_reshape %56 [[0], [1], [2], [3, 4]] : tensor<1x49x18x1x4xf32> into tensor<1x49x18x4xf32>
%58 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%59 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%57, %cst : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%58 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = addf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<1x49x18x4xf32>
%60 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%61 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%59, %cst : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%60 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = subf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<1x49x18x4xf32>
%62 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%63 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%61, %cst_0 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%62 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = mulf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<1x49x18x4xf32>
%64 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%65 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%63, %cst_1 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%64 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = divf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<1x49x18x4xf32>
%66 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%67 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%65, %cst : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%66 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = addf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<1x49x18x4xf32>
%68 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%69 = linalg.generic {indexing_maps = [#map6, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_12 : tensor<f32>) outs(%68 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x49x18x4xf32>
%70 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%71 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%67, %69 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%70 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = cmpf ogt, %arg1, %arg2 : f32
%196 = select %195, %arg1, %arg2 : f32
%197 = cmpf uno, %arg1, %arg2 : f32
%198 = select %197, %cst_24, %196 : f32
linalg.yield %198 : f32
} -> tensor<1x49x18x4xf32>
%72 = linalg.init_tensor [] : tensor<f32>
%73 = linalg.generic {indexing_maps = [#map7, #map7], iterator_types = []} ins(%cst_27 : tensor<f32>) outs(%72 : tensor<f32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
%195 = floorf %arg1 : f32
linalg.yield %195 : f32
} -> tensor<f32>
%74 = linalg.init_tensor [] : tensor<f32>
%75 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = []} ins(%cst_27, %73 : tensor<f32>, tensor<f32>) outs(%74 : tensor<f32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = subf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<f32>
%76 = linalg.init_tensor [] : tensor<i1>
%77 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = []} ins(%75, %cst_13 : tensor<f32>, tensor<f32>) outs(%76 : tensor<i1>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: i1): // no predecessors
%195 = cmpf ogt, %arg1, %arg2 : f32
linalg.yield %195 : i1
} -> tensor<i1>
%78 = linalg.init_tensor [] : tensor<i1>
%79 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = []} ins(%75, %cst_13 : tensor<f32>, tensor<f32>) outs(%78 : tensor<i1>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: i1): // no predecessors
%195 = cmpf oeq, %arg1, %arg2 : f32
linalg.yield %195 : i1
} -> tensor<i1>
%80 = linalg.init_tensor [] : tensor<f32>
%81 = linalg.generic {indexing_maps = [#map7, #map7], iterator_types = []} ins(%cst_28 : tensor<f32>) outs(%80 : tensor<f32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
%195 = floorf %arg1 : f32
linalg.yield %195 : f32
} -> tensor<f32>
%82 = linalg.init_tensor [] : tensor<f32>
%83 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = []} ins(%81, %cst_15 : tensor<f32>, tensor<f32>) outs(%82 : tensor<f32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = mulf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<f32>
%84 = linalg.init_tensor [] : tensor<f32>
%85 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = []} ins(%73, %83 : tensor<f32>, tensor<f32>) outs(%84 : tensor<f32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = subf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<f32>
%86 = linalg.init_tensor [] : tensor<i1>
%87 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = []} ins(%85, %cst_14 : tensor<f32>, tensor<f32>) outs(%86 : tensor<i1>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: i1): // no predecessors
%195 = cmpf oeq, %arg1, %arg2 : f32
linalg.yield %195 : i1
} -> tensor<i1>
%88 = linalg.init_tensor [] : tensor<i1>
%89 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = []} ins(%79, %87 : tensor<i1>, tensor<i1>) outs(%88 : tensor<i1>) {
^bb0(%arg1: i1, %arg2: i1, %arg3: i1): // no predecessors
%195 = and %arg1, %arg2 : i1
linalg.yield %195 : i1
} -> tensor<i1>
%90 = linalg.init_tensor [] : tensor<i1>
%91 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = []} ins(%77, %89 : tensor<i1>, tensor<i1>) outs(%90 : tensor<i1>) {
^bb0(%arg1: i1, %arg2: i1, %arg3: i1): // no predecessors
%195 = or %arg1, %arg2 : i1
linalg.yield %195 : i1
} -> tensor<i1>
%92 = linalg.init_tensor [] : tensor<f32>
%93 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = []} ins(%73, %cst_14 : tensor<f32>, tensor<f32>) outs(%92 : tensor<f32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = addf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<f32>
%94 = linalg.init_tensor [] : tensor<f32>
%95 = linalg.generic {indexing_maps = [#map7, #map7, #map7, #map7], iterator_types = []} ins(%91, %93, %73 : tensor<i1>, tensor<f32>, tensor<f32>) outs(%94 : tensor<f32>) {
^bb0(%arg1: i1, %arg2: f32, %arg3: f32, %arg4: f32): // no predecessors
%195 = select %arg1, %arg2, %arg3 : f32
linalg.yield %195 : f32
} -> tensor<f32>
%96 = linalg.init_tensor [] : tensor<f32>
%97 = linalg.generic {indexing_maps = [#map7, #map7, #map7, #map7], iterator_types = []} ins(%cst_12, %95, %cst_16 : tensor<f32>, tensor<f32>, tensor<f32>) outs(%96 : tensor<f32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32, %arg4: f32): // no predecessors
%195 = cmpf olt, %arg2, %arg3 : f32
%196 = select %195, %arg2, %arg3 : f32
%197 = cmpf uno, %arg2, %arg3 : f32
%198 = select %197, %cst_24, %196 : f32
%199 = cmpf ogt, %198, %arg1 : f32
%200 = select %199, %198, %arg1 : f32
%201 = cmpf uno, %198, %arg1 : f32
%202 = select %201, %cst_24, %200 : f32
linalg.yield %202 : f32
} -> tensor<f32>
%98 = linalg.init_tensor [] : tensor<f32>
%99 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = []} ins(%cst_12, %97 : tensor<f32>, tensor<f32>) outs(%98 : tensor<f32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = subf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<f32>
%100 = linalg.init_tensor [] : tensor<f32>
%101 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = []} ins(%cst_16, %97 : tensor<f32>, tensor<f32>) outs(%100 : tensor<f32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = subf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<f32>
%102 = linalg.init_tensor [] : tensor<f32>
%103 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = []} ins(%99, %cst_25 : tensor<f32>, tensor<f32>) outs(%102 : tensor<f32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = mulf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<f32>
%104 = linalg.init_tensor [] : tensor<f32>
%105 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = []} ins(%101, %cst_25 : tensor<f32>, tensor<f32>) outs(%104 : tensor<f32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = mulf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<f32>
%106 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%107 = linalg.generic {indexing_maps = [#map6, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%103 : tensor<f32>) outs(%106 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x49x18x4xf32>
%108 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%109 = linalg.generic {indexing_maps = [#map6, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%105 : tensor<f32>) outs(%108 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x49x18x4xf32>
%110 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%111 = linalg.generic {indexing_maps = [#map1, #map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%107, %71, %109 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%110 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32, %arg4: f32): // no predecessors
%195 = cmpf olt, %arg2, %arg3 : f32
%196 = select %195, %arg2, %arg3 : f32
%197 = cmpf uno, %arg2, %arg3 : f32
%198 = select %197, %cst_24, %196 : f32
%199 = cmpf ogt, %198, %arg1 : f32
%200 = select %199, %198, %arg1 : f32
%201 = cmpf uno, %198, %arg1 : f32
%202 = select %201, %cst_24, %200 : f32
linalg.yield %202 : f32
} -> tensor<1x49x18x4xf32>
%112 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%113 = linalg.generic {indexing_maps = [#map6, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%103 : tensor<f32>) outs(%112 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x49x18x4xf32>
%114 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%115 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%111, %113 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%114 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = subf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<1x49x18x4xf32>
%116 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%117 = linalg.generic {indexing_maps = [#map6, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_26 : tensor<f32>) outs(%116 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x49x18x4xf32>
%118 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%119 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%115, %117 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%118 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = mulf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<1x49x18x4xf32>
%120 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%121 = linalg.generic {indexing_maps = [#map6, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_13 : tensor<f32>) outs(%120 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x49x18x4xf32>
%122 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%123 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%119, %121 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%122 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = addf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<1x49x18x4xf32>
%124 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%125 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%123 : tensor<1x49x18x4xf32>) outs(%124 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
%195 = floorf %arg1 : f32
linalg.yield %195 : f32
} -> tensor<1x49x18x4xf32>
%126 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%127 = linalg.generic {indexing_maps = [#map6, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_25 : tensor<f32>) outs(%126 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x49x18x4xf32>
%128 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%129 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%125, %127 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%128 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = mulf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<1x49x18x4xf32>
%130 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%131 = linalg.generic {indexing_maps = [#map6, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%103 : tensor<f32>) outs(%130 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x49x18x4xf32>
%132 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%133 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%129, %131 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%132 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = addf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<1x49x18x4xf32>
%134 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%135 = linalg.fill(%134, %cst_23) : tensor<1x49x18x4xf32>, f32 -> tensor<1x49x18x4xf32>
%136 = linalg.conv_2d_input_nhwc_filter_hwcf {dilations = dense<1> : tensor<2xi64>, strides = dense<1> : tensor<2xi64>} ins(%133, %cst_4 : tensor<1x49x18x4xf32>, tensor<1x1x4x4xf32>) outs(%135 : tensor<1x49x18x4xf32>) -> tensor<1x49x18x4xf32>
%137 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%138 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%136, %cst : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%137 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = addf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<1x49x18x4xf32>
%139 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%140 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%138, %cst : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%139 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = subf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<1x49x18x4xf32>
%141 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%142 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%140, %cst_0 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%141 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = mulf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<1x49x18x4xf32>
%143 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%144 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%142, %cst_1 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%143 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = divf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<1x49x18x4xf32>
%145 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%146 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%144, %cst : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%145 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = addf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<1x49x18x4xf32>
%147 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%148 = linalg.generic {indexing_maps = [#map6, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_12 : tensor<f32>) outs(%147 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x49x18x4xf32>
%149 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%150 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%146, %148 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%149 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = cmpf ogt, %arg1, %arg2 : f32
%196 = select %195, %arg1, %arg2 : f32
%197 = cmpf uno, %arg1, %arg2 : f32
%198 = select %197, %cst_24, %196 : f32
linalg.yield %198 : f32
} -> tensor<1x49x18x4xf32>
%151 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%152 = linalg.generic {indexing_maps = [#map1, #map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%107, %150, %109 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%151 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32, %arg4: f32): // no predecessors
%195 = cmpf olt, %arg2, %arg3 : f32
%196 = select %195, %arg2, %arg3 : f32
%197 = cmpf uno, %arg2, %arg3 : f32
%198 = select %197, %cst_24, %196 : f32
%199 = cmpf ogt, %198, %arg1 : f32
%200 = select %199, %198, %arg1 : f32
%201 = cmpf uno, %198, %arg1 : f32
%202 = select %201, %cst_24, %200 : f32
linalg.yield %202 : f32
} -> tensor<1x49x18x4xf32>
%153 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%154 = linalg.generic {indexing_maps = [#map6, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%103 : tensor<f32>) outs(%153 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x49x18x4xf32>
%155 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%156 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%152, %154 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%155 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = subf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<1x49x18x4xf32>
%157 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%158 = linalg.generic {indexing_maps = [#map6, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_26 : tensor<f32>) outs(%157 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x49x18x4xf32>
%159 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%160 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%156, %158 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%159 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = mulf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<1x49x18x4xf32>
%161 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%162 = linalg.generic {indexing_maps = [#map6, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_13 : tensor<f32>) outs(%161 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x49x18x4xf32>
%163 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%164 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%160, %162 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%163 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = addf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<1x49x18x4xf32>
%165 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%166 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%164 : tensor<1x49x18x4xf32>) outs(%165 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
%195 = floorf %arg1 : f32
linalg.yield %195 : f32
} -> tensor<1x49x18x4xf32>
%167 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%168 = linalg.generic {indexing_maps = [#map6, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_25 : tensor<f32>) outs(%167 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x49x18x4xf32>
%169 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%170 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%166, %168 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%169 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = mulf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<1x49x18x4xf32>
%171 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%172 = linalg.generic {indexing_maps = [#map6, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%103 : tensor<f32>) outs(%171 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x49x18x4xf32>
%173 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%174 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%170, %172 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%173 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = addf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<1x49x18x4xf32>
%175 = linalg.tensor_reshape %174 [[0], [1, 2, 3]] : tensor<1x49x18x4xf32> into tensor<1x3528xf32>
%176 = linalg.init_tensor [1, 4] : tensor<1x4xf32>
%177 = linalg.fill(%176, %cst_23) : tensor<1x4xf32>, f32 -> tensor<1x4xf32>
%178 = linalg.matmul ins(%175, %cst_8 : tensor<1x3528xf32>, tensor<3528x4xf32>) outs(%177 : tensor<1x4xf32>) -> tensor<1x4xf32>
%179 = linalg.init_tensor [1, 4] : tensor<1x4xf32>
%180 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel"]} ins(%178, %cst_3 : tensor<1x4xf32>, tensor<1x4xf32>) outs(%179 : tensor<1x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = addf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<1x4xf32>
%181 = linalg.init_tensor [1, 4] : tensor<1x4xf32>
%182 = linalg.fill(%181, %cst_23) : tensor<1x4xf32>, f32 -> tensor<1x4xf32>
%183 = linalg.matmul ins(%180, %cst_7 : tensor<1x4xf32>, tensor<4x4xf32>) outs(%182 : tensor<1x4xf32>) -> tensor<1x4xf32>
%184 = linalg.init_tensor [1, 4] : tensor<1x4xf32>
%185 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel"]} ins(%183, %cst_3 : tensor<1x4xf32>, tensor<1x4xf32>) outs(%184 : tensor<1x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = addf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<1x4xf32>
%186 = linalg.init_tensor [1, 4] : tensor<1x4xf32>
%187 = linalg.generic {indexing_maps = [#map9, #map8], iterator_types = ["parallel", "parallel"]} ins(%cst_12 : tensor<f32>) outs(%186 : tensor<1x4xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x4xf32>
%188 = linalg.init_tensor [1, 4] : tensor<1x4xf32>
%189 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel"]} ins(%185, %187 : tensor<1x4xf32>, tensor<1x4xf32>) outs(%188 : tensor<1x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = cmpf ogt, %arg1, %arg2 : f32
%196 = select %195, %arg1, %arg2 : f32
%197 = cmpf uno, %arg1, %arg2 : f32
%198 = select %197, %cst_24, %196 : f32
linalg.yield %198 : f32
} -> tensor<1x4xf32>
%190 = linalg.init_tensor [1, 12] : tensor<1x12xf32>
%191 = linalg.fill(%190, %cst_23) : tensor<1x12xf32>, f32 -> tensor<1x12xf32>
%192 = linalg.matmul ins(%189, %cst_6 : tensor<1x4xf32>, tensor<4x12xf32>) outs(%191 : tensor<1x12xf32>) -> tensor<1x12xf32>
%193 = linalg.init_tensor [1, 12] : tensor<1x12xf32>
%194 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel"]} ins(%192, %cst_2 : tensor<1x12xf32>, tensor<1x12xf32>) outs(%193 : tensor<1x12xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%195 = addf %arg1, %arg2 : f32
linalg.yield %195 : f32
} -> tensor<1x12xf32>
return %194 : tensor<1x12xf32>
}
}
#map0 = affine_map<(d0, d1, d2, d3) -> (d1, d2)>
#map1 = affine_map<(d0, d1, d2, d3) -> (d0, d1, d2, d3)>
#map2 = affine_map<(d0, d1, d2) -> (d2)>
#map3 = affine_map<(d0, d1, d2) -> (d0, d1, d2)>
#map4 = affine_map<(d0, d1, d2) -> (d1, d2)>
#map5 = affine_map<() -> ()>
#map6 = affine_map<(d0, d1, d2, d3) -> ()>
#map7 = affine_map<(d0, d1) -> (d0, d1)>
module {
func @call(%arg0: tensor<1x16000xf32> {tf._user_specified_name = "args_0"}) -> tensor<1x12xf32> attributes {iree.module.export, iree.reflection = {abi = "sip", abiv = 1 : i32, f = "I12!B9!d1d16000R9!B6!d1d12", fv = "1", sip = "I8!S5!k0_0R3!_0"}, tf._construction_context = "kEagerRuntime", tf._input_shapes = [#tf.shape<1x16000>, #tf.shape<640x448>, #tf.shape<640x448>, #tf.shape<448x40>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>, #tf.shape<>], tf.signature.is_stateful} {
%cst = constant 0x7FC00000 : f32
%cst_0 = constant 0.000000e+00 : f32
%cst_1 = constant dense<0.000000e+00> : tensor<1x49x18x4xf32>
%cst_2 = constant dense<1.000000e+00> : tensor<1x49x18x4xf32>
%cst_3 = constant dense<1.00049984> : tensor<1x49x18x4xf32>
%cst_4 = constant dense<0.000000e+00> : tensor<1x4xf32>
%cst_5 = constant dense<5.000000e-01> : tensor<1x49x18x4xf32>
%cst_6 = constant dense<5.000000e-01> : tensor<f32>
%cst_7 = constant dense<1.000000e+00> : tensor<f32>
%cst_8 = constant dense<2.000000e+00> : tensor<f32>
%cst_9 = constant dense<2.550000e+02> : tensor<f32>
%cst_10 = constant dense<0.000000e+00> : tensor<f32>
%cst_11 = constant dense<[[0, 1], [1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7], [7, 8], [8, 9], [9, 10], [10, 11], [11, 12], [12, 13], [13, 14], [14, 15], [15, 16], [16, 17], [17, 18], [18, 19], [19, 20], [20, 21], [21, 22], [22, 23], [23, 24], [24, 25], [25, 26], [26, 27], [27, 28], [28, 29], [29, 30], [30, 31], [31, 32], [32, 33], [33, 34], [34, 35], [35, 36], [36, 37], [37, 38], [38, 39], [39, 40], [40, 41], [41, 42], [42, 43], [43, 44], [44, 45], [45, 46], [46, 47], [47, 48], [48, 49]]> : tensor<49x2xi32>
%cst_12 = constant dense<"0x2EF9643EFDCB643E7C44643EDF62633E8127623EDE92603E95A55E3E6A605C3E40C4593E21D2563E378B533ECBF04F3E4A044C3E41C7473E5D3B433E67623E3E4C3E393E10D1333EDB1C2E3EEA23283E2EF9643EDF62633E95A55E3E21D2563E4A044C3E67623E3EDB1C2E3E636D1B3E5096063E33C3DF3DA63FAF3D4C9C783DFD460F3DCCD40F3C68B88FBC94AE32BD69838DBD4FB9BFBDC946EFBD8BC10DBE2EF9643EDE92603E378B533E67623E3E9BE8213EEC6BFE3DA63FAF3D94AE323D7D927C2394AE32BDA63FAFBDEC6BFEBD9BE821BE67623EBE378B53BEDE9260BE2EF964BEDE9260BE378B53BE67623EBE2EF9643E6A605C3E5D3B433E636D1B3E49E7CF3D94AE323D68B88FBCD0809EBD509606BE10D133BE378B53BEDF6263BE812762BECBF04FBEDB1C2EBEEC6BFEBD69838DBDCCD40FBCA3CF553D33C3DF3D2EF9643E21D2563EDB1C2E3E33C3DF3DFD460F3D94AE32BDC946EFBD10D133BE40C459BEFDCB64BE378B53BEEA2328BE49E7CFBDB04DD7BCA3CF553DEC6BFE3D4C3E393E6A605C3E7C44643ECBF04F3E2EF9643ECBF04F3ED0B4143E4C9C783DFD460FBDEC6BFEBD5D3B43BEDF6263BE40C459BEEA2328BEA63FAFBDCCD40F3C49E7CF3D10D1333E95A55E3EDE92603E4C3E393E33C3DF3D68B88F3CD0809EBD2EF9643E41C7473EC946EF3DCCD40F3C49E7CFBD67623EBE7C4464BECBF04FBE509606BEB04DD7BCA63FAF3D10D1333E8127623E21D2563ED0B4143E94AE323D69838DBDEA2328BE95A55EBE6A605CBE2EF9643E67623E3EA63FAF3D94AE32BD9BE821BEDE9260BE378B53BEEC6BFEBDDE6D3DA4EC6BFE3D378B533EDE92603E9BE8213E94AE323DA63FAFBD67623EBE2EF964BE67623EBEA63FAFBD94AE323D2EF9643E10D1333EA3CF553D4FB9BFBD4A044CBEDE9260BED0B414BECCD40FBC5096063E6A605C3E378B533E33C3DF3DFD460FBDEA2328BE7C4464BE67623EBE69838DBDD0809E3D5D3B433EDF62633E2EF9643EEA23283E68B88F3C8BC10DBE812762BE67623EBEA3CF55BD33C3DF3D40C4593ECBF04F3EA63FAF3DD0809EBD4A044CBE6A605CBEC946EFBD94AE323D4C3E393EDF62633ED0B4143ECCD40FBC2EF9643E636D1B3E68B88FBC10D133BE812762BEEC6BFEBDA3CF553D41C7473E40C4593E4FB9BF3DA63FAFBD21D256BE4A044CBE4C9C78BDC946EF3DDE92603E4C3E393EB04DD73CD0B414BEFDCB64BE2EF9643E8BC10D3EA3CF55BDCBF04FBE4A044CBE94AE32BDD0B4143EFDCB643E5096063E4C9C78BD378B53BE41C747BEFD460FBD636D1B3E7C44643EEC6BFE3D69838DBD21D256BE5D3B43BEB04DD7BC2EF9643EEC6BFE3DA63FAFBDDE9260BE9BE821BE94AE323D378B533E67623E3E8EDB9D2467623EBE378B53BE94AE32BD9BE8213EDE92603EA63FAF3DEC6BFEBD2EF964BEEC6BFEBDA63FAF3DDE92603E2EF9643E33C3DF3DC946EFBDFDCB64BE49E7CFBDEC6BFE3D7C44643E4FB9BF3D509606BEDF6263BEA63FAFBD8BC10D3E8127623ED0809E3DD0B414BEDE9260BE69838DBD636D1B3E95A55E3E4C9C783D2EF9643E4FB9BF3DD0B414BE6A605CBEFD460FBD67623E3E5D3B433EB04DD7BC40C459BE636D1BBEA63FAF3DFDCB643E49E7CF3D8BC10DBE95A55EBE94AE32BD4C3E393E41C7473E68B88FBC21D256BE2EF9643ED0809E3DDB1C2EBE41C747BEFD460F3DDE92603EC946EF3D8BC10DBE40C459BECCD40FBC378B533E636D1B3E49E7CFBDDF6263BEA3CF55BD67623E3E4C3E393E4C9C78BD7C4464BE4FB9BFBD2EF9643E4C9C783D5D3B43BEEA2328BE49E7CF3DDE92603E68B88F3C21D256BE509606BE8BC10D3E378B533EB04DD7BC812762BE4FB9BFBDDB1C2E3E67623E3E69838DBDFDCB64BEA3CF55BD41C7473E2EF9643E94AE323D378B53BEEC6BFEBD9BE8213E67623E3EA63FAFBDDE9260BE2D00DDA4DE92603EA63FAF3D67623EBE9BE821BEEC6BFE3D378B533E94AE32BD2EF964BE94AE32BD378B533EEC6BFE3D2EF9643EB04DD73C95A55EBED0809EBD4A044C3EEC6BFE3DDB1C2EBEEA2328BE5096063E41C7473EA63FAFBD6A605CBEFD460F3DFDCB643E68B88F3CDE9260BE69838DBDCBF04F3EC946EF3D10D133BE2EF9643ECCD40F3C7C4464BEB04DD7BC8127623E94AE323D95A55EBE4C9C78BD40C4593ED0809E3D378B53BE4FB9BFBD4A044C3E33C3DF3D5D3B43BEEC6BFEBD4C3E393E8BC10D3EDB1C2EBE636D1BBE2EF9643ECCD40FBC7C4464BEB04DD73C8127623E94AE32BD95A55EBE4C9C783D40C4593ED0809EBD378B53BE4FB9BF3D4A044C3E33C3DFBD5D3B43BEEC6BFE3D4C3E393E8BC10DBEDB1C2EBE636D1B3E2EF9643EB04DD7BC95A55EBED0809E3D4A044C3EEC6BFEBDDB1C2EBEEA23283E5096063E41C747BEA63FAFBD6A605C3EFD460F3DFDCB64BE68B88F3CDE92603E69838DBDCBF04FBEC946EF3D10D1333E2EF9643E94AE32BD378B53BEEC6BFE3D9BE8213E67623EBEA63FAFBDDE92603E66120E25DE9260BEA63FAF3D67623E3E9BE821BEEC6BFEBD378B533E94AE323D2EF964BE94AE323D378B533EEC6BFEBD2EF9643E4C9C78BD5D3B43BEEA23283E49E7CF3DDE9260BE68B88F3C21D2563E509606BE8BC10DBE378B533EB04DD73C812762BE4FB9BF3DDB1C2E3E67623EBE69838DBDFDCB643EA3CF55BD41C747BE2EF9643ED0809EBDDB1C2EBE41C7473EFD460F3DDE9260BEC946EF3D8BC10D3E40C459BECCD40F3C378B533E636D1BBE49E7CFBDDF62633EA3CF55BD67623EBE4C3E393E4C9C783D7C4464BE4FB9BF3D2EF9643E4FB9BFBDD0B414BE6A605C3EFD460FBD67623EBE5D3B433EB04DD73C40C459BE636D1B3EA63FAF3DFDCB64BE49E7CF3D8BC10D3E95A55EBE94AE323D4C3E393E41C747BE68B88FBC21D2563E2EF9643E33C3DFBDC946EFBDFDCB643E49E7CFBDEC6BFEBD7C44643E4FB9BFBD509606BEDF62633EA63FAFBD8BC10DBE8127623ED0809EBDD0B414BEDE92603E69838DBD636D1BBE95A55E3E4C9C78BD2EF9643EEC6BFEBDA63FAFBDDE92603E9BE821BE94AE32BD378B533E67623EBED3268E2567623E3E378B53BE94AE323D9BE8213EDE9260BEA63FAF3DEC6BFE3D2EF964BEEC6BFE3DA63FAF3DDE9260BE2EF9643E8BC10DBEA3CF55BDCBF04F3E4A044CBE94AE323DD0B4143EFDCB64BE5096063E4C9C783D378B53BE41C7473EFD460FBD636D1BBE7C44643EEC6BFEBD69838DBD21D2563E5D3B43BEB04DD73C2EF9643E636D1BBE68B88FBC10D1333E812762BEEC6BFE3DA3CF553D41C747BE40C4593E4FB9BFBDA63FAFBD21D2563E4A044CBE4C9C783DC946EF3DDE9260BE4C3E393EB04DD7BCD0B414BEFDCB643E2EF9643EEA2328BE68B88F3C8BC10D3E812762BE67623E3EA3CF55BD33C3DFBD40C4593ECBF04FBEA63FAF3DD0809E3D4A044CBE6A605C3EC946EFBD94AE32BD4C3E393EDF6263BED0B4143ECCD40F3C2EF9643E10D133BEA3CF553D4FB9BF3D4A044CBEDE92603ED0B414BECCD40F3C5096063E6A605CBE378B533E33C3DFBDFD460FBDEA23283E7C4464BE67623E3E69838DBDD0809EBD5D3B433EDF6263BE2EF9643E67623EBEA63FAF3D94AE323D9BE821BEDE92603E378B53BEEC6BFE3D58CA2526EC6BFEBD378B533EDE9260BE9BE8213E94AE32BDA63FAFBD67623E3E2EF964BE67623E3EA63FAFBD94AE32BD2EF9643E41C747BEC946EF3DCCD40FBC49E7CFBD67623E3E7C4464BECBF04F3E509606BEB04DD73CA63FAF3D10D133BE8127623E21D256BED0B4143E94AE32BD69838DBDEA23283E95A55EBE6A605C3E2EF9643ECBF04FBED0B4143E4C9C78BDFD460FBDEC6BFE3D5D3B43BEDF62633E40C459BEEA23283EA63FAFBDCCD40FBC49E7CF3D10D133BE95A55E3EDE9260BE4C3E393E33C3DFBD68B88F3CD0809E3D2EF9643E21D256BEDB1C2E3E33C3DFBDFD460F3D94AE323DC946EFBD10D1333E40C459BEFDCB643E378B53BEEA23283E49E7CFBDB04DD73CA3CF553DEC6BFEBD4C3E393E6A605CBE7C44643ECBF04FBE2EF9643E6A605CBE5D3B433E636D1BBE49E7CF3D94AE32BD68B88FBCD0809E3D509606BE10D1333E378B53BEDF62633E812762BECBF04F3EDB1C2EBEEC6BFE3D69838DBDCCD40F3CA3CF553D33C3DFBD2EF9643EDE9260BE378B533E67623EBE9BE8213EEC6BFEBDA63FAF3D94AE32BDECAE2DA694AE323DA63FAFBDEC6BFE3D9BE821BE67623E3E378B53BEDE92603E2EF964BEDE92603E378B53BE67623E3E2EF9643EDF6263BE95A55E3E21D256BE4A044C3E67623EBEDB1C2E3E636D1BBE5096063E33C3DFBDA63FAF3D4C9C78BDFD460F3DCCD40FBC68B88FBC94AE323D69838DBD4FB9BF3DC946EFBD8BC10D3E2EF9643EFDCB64BE7C44643EDF6263BE8127623EDE9260BE95A55E3E6A605CBE40C4593E21D256BE378B533ECBF04FBE4A044C3E41C747BE5D3B433E67623EBE4C3E393E10D133BEDB1C2E3EEA2328BE"> : tensor<40x20xf32>
%cst_13 = constant dense<9.99999996E-13> : tensor<1x49x40xf32>
%cst_14 = constant dense<0.000000e+00> : tensor<1x49x20xf32>
%cst_15 = constant dense<"0x00000000BC20CA377D1FCA3816616339811ACA39C8E11D3A7754633ACBB19A3A8F06CA3A5DA7FF3A71C91D3BD1E33E3BFF21633B8B41853B0E839A3B0255B13BD8B6C93BF5A7E33BB527FF3BB61A0E3C30681D3CE97B2D3C7A553E3C7BF44F3C7A58623C0481753CD0B6843CE90E8F3C8AC8993C70E3A43C555FB03CF03BBC3CF678C83C1B16D53C0E13E23C7E6FEF3C152BFD3CBFA2053D2FDF0C3DAE4A143D0CE51B3D1AAE233DA6A52B3D7ECB333D6F1F3C3D43A1443DC6504D3DBF2D563DF9375F3D386F683D44D3713DE0637B3D6890823DEC84873D5B8F8C3D97AF913D7FE5963DF2309C3DCE91A13DF207A73D3B93AC3D8633B23DAFE8B73D93B2BD3D0D91C33DF783C93D2D8BCF3D88A6D53DE1D5DB3D1219E23DF36FE83D5BDAEE3D2358F53D22E9FB3D9746013E0EA2043EE106083EFC740B3E47EC0E3EAE6C123E1AF6153E7488193EA7231D3E9CC7203E3B74243E6D29283E1BE72B3E2DAD2F3E8C7B333E1F52373ECE303B3E80173F3E1E06433E8EFC463EB7FA4A3E80004F3ED00D533E8C22573E9C3E5B3EE5615F3E4C8C633EB9BD673E10F66B3E3635703E117B743E86C7783E7A1A7D3EE8B9803EB8E9823E9D1C853E8B52873E738B893E47C78B3EFA058E3E7C47903EC08B923EB7D2943E531C973E8668993E41B79B3E75089E3E145CA03E10B2A23E580AA53EDF64A73E96C1A93E6E20AC3E5781AE3E43E4B03E2349B33EE7AFB53E8118B83EE182BA3EF8EEBC3EB65CBF3E0DCCC13EED3CC43E46AFC63E0923C93E2798CB3E900ECE3E3486D03E04FFD23EF078D53EE9F3D73EDF6FDA3EC2ECDC3E836ADF3E12E9E13E5E68E43E59E8E63EF368E93E1BEAEB3EC26BEE3ED8EDF03E4D70F33E12F3F53E1676F83E49F9FA3E9D7CFD3E0000003FB241013F5B83023FF5C4033F7706053FD947063F1489073F1FCA083FF30A0A3F874B0B3FD38B0C3FD1CB0D3F770B0F3FBE4A103F9F89113F10C8123F0B06143F8843153F7E80163FE6BC173FB8F8183FED331A3F7B6E1B3F5DA81C3F8AE11D3FF9191F3FA551203F8488213F90BE223FBFF3233F0C28253F6F5B263FDE8D273F54BF283FC9EF293F351F2B3F904D2C3FD47A2D3FF8A62E3FF6D12F3FC5FB303F5F24323FBD4B333FD671343FA496353F20BA363F42DC373F03FD383F5C1C3A3F463A3B3FBA563C3FB1713D3F248B3E3F0CA33F3F61B9403F1ECE413F3CE1423FB2F2433F7C02453F9210463FED1C473F8727483F5930493F5D374A3F8C3C4B3FE03F4C3F52414D3FDC404E3F783E4F3F203A503FCD33513F782B523F1D21533FB514543F3906553FA5F5553FF1E2563F19CE573F16B7583FE39D593F7A825A3FD5645B3FEE445C3FC1225D3F48FE5D3F7DD75E3F5AAE5F3FDC82603FFC54613FB524623F02F2623FDEBC633F4485643F2F4B653F9A0E663F81CF663FDE8D673FAE49683FEA02693F8FB9693F996D6A3F021F6B3FC6CD6B3FE2796C3F50236D3F0DCA6D3F156E6E3F630F6F3FF3AD6F3FC249703FCCE2703F0C79713F800C723F249D723FF42A733FECB5733F093E743F48C3743FA645753F1EC5753FAF41763F55BB763F0D32773FD4A5773FA716783F8484783F68EF783F4F57793F38BC793F211E7A3F057D7A3FE5D87A3FBC317B3F89877B3F49DA7B3FFC297C3F9E767C3F2EC07C3FAA067D3F104A7D3F5F8A7D3F95C77D3FB1017E3FB0387E3F926C7E3F569D7E3FFACA7E3F7DF57E3FDE1C7F3F1C417F3F37627F3F2C807F3FFD9A7F3FA7B27F3F2BC77F3F88D87F3FBDE67F3FCAF17F3FAFF97F3F6CFE7F3F0000803F6CFE7F3FAFF97F3FCAF17F3FBDE67F3F88D87F3F2BC77F3FA7B27F3FFD9A7F3F2C807F3F37627F3F1C417F3FDE1C7F3F7DF57E3FFACA7E3F569D7E3F926C7E3FB0387E3FB1017E3F95C77D3F5F8A7D3F104A7D3FAA067D3F2EC07C3F9E767C3FFC297C3F49DA7B3F89877B3FBC317B3FE5D87A3F057D7A3F211E7A3F38BC793F4F57793F68EF783F8484783FA716783FD4A5773F0D32773F55BB763FAF41763F1EC5753FA645753F48C3743F093E743FECB5733FF42A733F249D723F800C723F0C79713FCCE2703FC249703FF3AD6F3F630F6F3F156E6E3F0DCA6D3F50236D3FE2796C3FC6CD6B3F021F6B3F996D6A3F8FB9693FEA02693FAE49683FDE8D673F81CF663F9A0E663F2F4B653F4485643FDEBC633F02F2623FB524623FFC54613FDC82603F5AAE5F3F7DD75E3F48FE5D3FC1225D3FEE445C3FD5645B3F7A825A3FE39D593F16B7583F19CE573FF1E2563FA5F5553F3906553FB514543F1D21533F782B523FCD33513F203A503F783E4F3FDC404E3F52414D3FE03F4C3F8C3C4B3F5D374A3F5930493F8727483FED1C473F9210463F7C02453FB2F2433F3CE1423F1ECE413F61B9403F0CA33F3F248B3E3FB1713D3FBA563C3F463A3B3F5C1C3A3F03FD383F42DC373F20BA363FA496353FD671343FBD4B333F5F24323FC5FB303FF6D12F3FF8A62E3FD47A2D3F904D2C3F351F2B3FC9EF293F54BF283FDE8D273F6F5B263F0C28253FBFF3233F90BE223F8488213FA551203FF9191F3F8AE11D3F5DA81C3F7B6E1B3FED331A3FB8F8183FE6BC173F7E80163F8843153F0B06143F10C8123F9F89113FBE4A103F770B0F3FD1CB0D3FD38B0C3F874B0B3FF30A0A3F1FCA083F1489073FD947063F7706053FF5C4033F5B83023FB241013F0000003F9D7CFD3E49F9FA3E1676F83E12F3F53E4D70F33ED8EDF03EC26BEE3E1BEAEB3EF368E93E59E8E63E5E68E43E12E9E13E836ADF3EC2ECDC3EDF6FDA3EE9F3D73EF078D53E04FFD23E3486D03E900ECE3E2798CB3E0923C93E46AFC63EED3CC43E0DCCC13EB65CBF3EF8EEBC3EE182BA3E8118B83EE7AFB53E2349B33E43E4B03E5781AE3E6E20AC3E96C1A93EDF64A73E580AA53E10B2A23E145CA03E75089E3E41B79B3E8668993E531C973EB7D2943EC08B923E7C47903EFA058E3E47C78B3E738B893E8B52873E9D1C853EB8E9823EE8B9803E7A1A7D3E86C7783E117B743E3635703E10F66B3EB9BD673E4C8C633EE5615F3E9C3E5B3E8C22573ED00D533E80004F3EB7FA4A3E8EFC463E1E06433E80173F3ECE303B3E1F52373E8C7B333E2DAD2F3E1BE72B3E6D29283E3B74243E9CC7203EA7231D3E7488193E1AF6153EAE6C123E47EC0E3EFC740B3EE106083E0EA2043E9746013E22E9FB3D2358F53D5BDAEE3DF36FE83D1219E23DE1D5DB3D88A6D53D2D8BCF3DF783C93D0D91C33D93B2BD3DAFE8B73D8633B23D3B93AC3DF207A73DCE91A13DF2309C3D7FE5963D97AF913D5B8F8C3DEC84873D6890823DE0637B3D44D3713D386F683DF9375F3DBF2D563DC6504D3D43A1443D6F1F3C3D7ECB333DA6A52B3D1AAE233D0CE51B3DAE4A143D2FDF0C3DBFA2053D152BFD3C7E6FEF3C0E13E23C1B16D53CF678C83CF03BBC3C555FB03C70E3A43C8AC8993CE90E8F3CD0B6843C0481753C7A58623C7BF44F3C7A553E3CE97B2D3C30681D3CB61A0E3CB527FF3BF5A7E33BD8B6C93B0255B13B0E839A3B8B41853BFF21633BD1E33E3B71C91D3B5DA7FF3A8F06CA3ACBB19A3A7754633AC8E11D3A811ACA39166163397D1FCA38BC20CA37"> : tensor<640xf32>
%cst_16 = constant dense<1.000000e+00> : tensor<1x49x20xf32>
%cst_17 = constant opaque<"_", "0xDEADBEEF"> : tensor<640x448xf32>
%cst_18 = constant opaque<"_", "0xDEADBEEF"> : tensor<448x40xf32>
%cst_19 = constant opaque<"_", "0xDEADBEEF"> : tensor<3528x4xf32>
%cst_20 = constant dense<[[-0.562682033, -0.315277934, 0.615826189, -0.143311679], [-0.457400054, -0.475249946, 0.171522081, 0.569641531], [1.692360e-01, -0.0185184479, -0.664118171, -0.158768892], [-0.657147288, 0.757307469, -0.457313955, 0.52416712]]> : tensor<4x4xf32>
%cst_21 = constant dense<[[-0.595797241, -0.498808682, -0.0165901184, 0.251170456, -0.175368637, 0.0677005053, 0.234495521, -0.0966701507, -0.357671857, -0.464479744, -0.225125164, -0.559008539], [-0.357172966, 0.360620916, 0.523985207, 0.0911590456, 0.0703155398, -0.431846619, 0.420154393, -0.0249734521, -0.566432834, 0.561578572, -0.321681887, 0.24995631], [0.334569097, -0.156425744, 0.609437406, -2.601800e-01, 0.261720896, -0.308892936, -0.562627435, -0.0456334949, 0.175169647, 0.0186665058, -0.388760567, 0.0397778153], [0.416243017, 0.360046864, 6.963050e-02, -0.482876897, 0.294359565, -0.231160432, -0.553404152, -0.048297286, -0.149468929, 0.324707031, -5.642780e-01, -0.248211592]]> : tensor<4x12xf32>
%cst_22 = constant dense<[[[[-0.151919872, -0.214293554, 0.0258457363, 0.0447361469]], [[-0.0608523488, 0.224805772, -0.00494769216, 0.363782167]], [[0.143675029, -0.273588419, 0.153228462, 0.118611604]]], [[[0.0527687371, -0.0987700819, -0.0580452383, 0.0949801802]], [[0.302206278, 0.118050426, 0.243534625, -0.303834081]], [[-0.160840988, -0.35381183, 0.16531986, 0.193922043]]], [[[0.131356031, 0.0239011347, 0.187331378, -0.330516279]], [[-0.328362286, 0.183847427, -0.239016771, -0.137343124]], [[-1.523590e-01, -0.2917445, -0.244159549, 0.196935534]]]]> : tensor<3x3x1x4xf32>
%cst_23 = constant dense<0.0470588244> : tensor<f32>
%cst_24 = constant dense<1.275000e+02> : tensor<f32>
%cst_25 = constant dense<6.375000e+01> : tensor<f32>
%cst_26 = constant dense<2.125000e+01> : tensor<1x49x18x4xf32>
%cst_27 = constant dense<0.0470588244> : tensor<1x49x18x4xf32>
%cst_28 = constant dense<[[[[0.0959799885, -0.48273471, 0.632068455, 0.480269134], [0.251349509, 0.0525889397, -0.841012835, 0.646936833], [-0.0524433851, -0.196191311, 0.668838202, 0.2369259], [-0.862774848, 0.619664609, -0.679172754, 0.796849787]]]]> : tensor<1x1x4x4xf32>
%cst_29 = constant dense<0.000000e+00> : tensor<1x12xf32>
%0 = linalg.tensor_reshape %arg0 [[0], [1, 2]] : tensor<1x16000xf32> into tensor<1x50x320xf32>
%1 = linalg.init_tensor [1, 49, 2, 320] : tensor<1x49x2x320xf32>
%2 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_11 : tensor<49x2xi32>) outs(%1 : tensor<1x49x2x320xf32>) {
^bb0(%arg1: i32, %arg2: f32): // no predecessors
%156 = index_cast %arg1 : i32 to index
%157 = linalg.index 0 : index
%158 = linalg.index 3 : index
%159 = tensor.extract %0[%157, %156, %158] : tensor<1x50x320xf32>
linalg.yield %159 : f32
} -> tensor<1x49x2x320xf32>
%3 = linalg.tensor_reshape %2 [[0], [1], [2, 3]] : tensor<1x49x2x320xf32> into tensor<1x49x640xf32>
%4 = linalg.init_tensor [1, 49, 640] : tensor<1x49x640xf32>
%5 = linalg.generic {indexing_maps = [#map2, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_15 : tensor<640xf32>) outs(%4 : tensor<1x49x640xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x49x640xf32>
%6 = linalg.init_tensor [1, 49, 640] : tensor<1x49x640xf32>
%7 = linalg.generic {indexing_maps = [#map3, #map3, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%3, %5 : tensor<1x49x640xf32>, tensor<1x49x640xf32>) outs(%6 : tensor<1x49x640xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = mulf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<1x49x640xf32>
%8 = linalg.init_tensor [1, 640, 448] : tensor<1x640x448xf32>
%9 = linalg.generic {indexing_maps = [#map4, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_17 : tensor<640x448xf32>) outs(%8 : tensor<1x640x448xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x640x448xf32>
%10 = linalg.init_tensor [1, 49, 448] : tensor<1x49x448xf32>
%11 = linalg.fill(%10, %cst_0) : tensor<1x49x448xf32>, f32 -> tensor<1x49x448xf32>
%12 = linalg.batch_matmul ins(%7, %9 : tensor<1x49x640xf32>, tensor<1x640x448xf32>) outs(%11 : tensor<1x49x448xf32>) -> tensor<1x49x448xf32>
%13 = linalg.init_tensor [1, 49, 448] : tensor<1x49x448xf32>
%14 = linalg.generic {indexing_maps = [#map3, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%12 : tensor<1x49x448xf32>) outs(%13 : tensor<1x49x448xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
%156 = mulf %arg1, %arg1 : f32
linalg.yield %156 : f32
} -> tensor<1x49x448xf32>
%15 = linalg.init_tensor [1, 49, 448] : tensor<1x49x448xf32>
%16 = linalg.generic {indexing_maps = [#map3, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%14 : tensor<1x49x448xf32>) outs(%15 : tensor<1x49x448xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
%156 = addf %arg1, %arg1 : f32
linalg.yield %156 : f32
} -> tensor<1x49x448xf32>
%17 = linalg.init_tensor [1, 49, 448] : tensor<1x49x448xf32>
%18 = linalg.generic {indexing_maps = [#map3, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%16 : tensor<1x49x448xf32>) outs(%17 : tensor<1x49x448xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
%156 = math.sqrt %arg1 : f32
linalg.yield %156 : f32
} -> tensor<1x49x448xf32>
%19 = linalg.init_tensor [1, 448, 40] : tensor<1x448x40xf32>
%20 = linalg.generic {indexing_maps = [#map4, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_18 : tensor<448x40xf32>) outs(%19 : tensor<1x448x40xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x448x40xf32>
%21 = linalg.init_tensor [1, 49, 40] : tensor<1x49x40xf32>
%22 = linalg.fill(%21, %cst_0) : tensor<1x49x40xf32>, f32 -> tensor<1x49x40xf32>
%23 = linalg.batch_matmul ins(%18, %20 : tensor<1x49x448xf32>, tensor<1x448x40xf32>) outs(%22 : tensor<1x49x40xf32>) -> tensor<1x49x40xf32>
%24 = linalg.init_tensor [1, 49, 40] : tensor<1x49x40xf32>
%25 = linalg.generic {indexing_maps = [#map3, #map3, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%23, %cst_13 : tensor<1x49x40xf32>, tensor<1x49x40xf32>) outs(%24 : tensor<1x49x40xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = cmpf ogt, %arg1, %arg2 : f32
%157 = select %156, %arg1, %arg2 : f32
%158 = cmpf uno, %arg1, %arg2 : f32
%159 = select %158, %cst, %157 : f32
linalg.yield %159 : f32
} -> tensor<1x49x40xf32>
%26 = linalg.init_tensor [1, 49, 40] : tensor<1x49x40xf32>
%27 = linalg.generic {indexing_maps = [#map3, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%25 : tensor<1x49x40xf32>) outs(%26 : tensor<1x49x40xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
%156 = math.log %arg1 : f32
linalg.yield %156 : f32
} -> tensor<1x49x40xf32>
%28 = linalg.init_tensor [1, 40, 20] : tensor<1x40x20xf32>
%29 = linalg.generic {indexing_maps = [#map4, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_12 : tensor<40x20xf32>) outs(%28 : tensor<1x40x20xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x40x20xf32>
%30 = linalg.init_tensor [1, 49, 20] : tensor<1x49x20xf32>
%31 = linalg.fill(%30, %cst_0) : tensor<1x49x20xf32>, f32 -> tensor<1x49x20xf32>
%32 = linalg.batch_matmul ins(%27, %29 : tensor<1x49x40xf32>, tensor<1x40x20xf32>) outs(%31 : tensor<1x49x20xf32>) -> tensor<1x49x20xf32>
%33 = linalg.init_tensor [1, 49, 20] : tensor<1x49x20xf32>
%34 = linalg.generic {indexing_maps = [#map3, #map3, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%32, %cst_14 : tensor<1x49x20xf32>, tensor<1x49x20xf32>) outs(%33 : tensor<1x49x20xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = subf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<1x49x20xf32>
%35 = linalg.init_tensor [1, 49, 20] : tensor<1x49x20xf32>
%36 = linalg.generic {indexing_maps = [#map3, #map3, #map3], iterator_types = ["parallel", "parallel", "parallel"]} ins(%34, %cst_16 : tensor<1x49x20xf32>, tensor<1x49x20xf32>) outs(%35 : tensor<1x49x20xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = mulf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<1x49x20xf32>
%37 = linalg.tensor_reshape %36 [[0], [1], [2, 3]] : tensor<1x49x20xf32> into tensor<1x49x20x1xf32>
%38 = linalg.init_tensor [1, 51, 20, 1] : tensor<1x51x20x1xf32>
%39 = linalg.fill(%38, %cst_0) : tensor<1x51x20x1xf32>, f32 -> tensor<1x51x20x1xf32>
%40 = subtensor_insert %37 into %39[0, 2, 0, 0] [1, 49, 20, 1] [1, 1, 1, 1] : tensor<1x49x20x1xf32> into tensor<1x51x20x1xf32>
%41 = linalg.init_tensor [1, 49, 18, 1, 4] : tensor<1x49x18x1x4xf32>
%42 = linalg.fill(%41, %cst_0) : tensor<1x49x18x1x4xf32>, f32 -> tensor<1x49x18x1x4xf32>
%43 = linalg.depthwise_conv_2d_input_nhwc_filter_hwcf {strides = dense<1> : tensor<2xi64>} ins(%40, %cst_22 : tensor<1x51x20x1xf32>, tensor<3x3x1x4xf32>) outs(%42 : tensor<1x49x18x1x4xf32>) -> tensor<1x49x18x1x4xf32>
%44 = linalg.tensor_reshape %43 [[0], [1], [2], [3, 4]] : tensor<1x49x18x1x4xf32> into tensor<1x49x18x4xf32>
%45 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%46 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%44, %cst_1 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%45 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = addf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<1x49x18x4xf32>
%47 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%48 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%46, %cst_1 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%47 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = subf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<1x49x18x4xf32>
%49 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%50 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%48, %cst_2 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%49 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = mulf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<1x49x18x4xf32>
%51 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%52 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%50, %cst_3 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%51 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = divf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<1x49x18x4xf32>
%53 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%54 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%52, %cst_1 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%53 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = addf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<1x49x18x4xf32>
%55 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%56 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%54, %cst_1 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%55 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = cmpf ogt, %arg1, %arg2 : f32
%157 = select %156, %arg1, %arg2 : f32
%158 = cmpf uno, %arg1, %arg2 : f32
%159 = select %158, %cst, %157 : f32
linalg.yield %159 : f32
} -> tensor<1x49x18x4xf32>
%57 = linalg.init_tensor [] : tensor<f32>
%58 = linalg.generic {indexing_maps = [#map5, #map5], iterator_types = []} ins(%cst_24 : tensor<f32>) outs(%57 : tensor<f32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
%156 = floorf %arg1 : f32
linalg.yield %156 : f32
} -> tensor<f32>
%59 = linalg.init_tensor [] : tensor<f32>
%60 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = []} ins(%cst_24, %58 : tensor<f32>, tensor<f32>) outs(%59 : tensor<f32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = subf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<f32>
%61 = linalg.init_tensor [] : tensor<i1>
%62 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = []} ins(%60, %cst_6 : tensor<f32>, tensor<f32>) outs(%61 : tensor<i1>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: i1): // no predecessors
%156 = cmpf ogt, %arg1, %arg2 : f32
linalg.yield %156 : i1
} -> tensor<i1>
%63 = linalg.init_tensor [] : tensor<i1>
%64 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = []} ins(%60, %cst_6 : tensor<f32>, tensor<f32>) outs(%63 : tensor<i1>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: i1): // no predecessors
%156 = cmpf oeq, %arg1, %arg2 : f32
linalg.yield %156 : i1
} -> tensor<i1>
%65 = linalg.init_tensor [] : tensor<f32>
%66 = linalg.generic {indexing_maps = [#map5, #map5], iterator_types = []} ins(%cst_25 : tensor<f32>) outs(%65 : tensor<f32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
%156 = floorf %arg1 : f32
linalg.yield %156 : f32
} -> tensor<f32>
%67 = linalg.init_tensor [] : tensor<f32>
%68 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = []} ins(%66, %cst_8 : tensor<f32>, tensor<f32>) outs(%67 : tensor<f32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = mulf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<f32>
%69 = linalg.init_tensor [] : tensor<f32>
%70 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = []} ins(%58, %68 : tensor<f32>, tensor<f32>) outs(%69 : tensor<f32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = subf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<f32>
%71 = linalg.init_tensor [] : tensor<i1>
%72 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = []} ins(%70, %cst_7 : tensor<f32>, tensor<f32>) outs(%71 : tensor<i1>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: i1): // no predecessors
%156 = cmpf oeq, %arg1, %arg2 : f32
linalg.yield %156 : i1
} -> tensor<i1>
%73 = linalg.init_tensor [] : tensor<i1>
%74 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = []} ins(%64, %72 : tensor<i1>, tensor<i1>) outs(%73 : tensor<i1>) {
^bb0(%arg1: i1, %arg2: i1, %arg3: i1): // no predecessors
%156 = and %arg1, %arg2 : i1
linalg.yield %156 : i1
} -> tensor<i1>
%75 = linalg.init_tensor [] : tensor<i1>
%76 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = []} ins(%62, %74 : tensor<i1>, tensor<i1>) outs(%75 : tensor<i1>) {
^bb0(%arg1: i1, %arg2: i1, %arg3: i1): // no predecessors
%156 = or %arg1, %arg2 : i1
linalg.yield %156 : i1
} -> tensor<i1>
%77 = linalg.init_tensor [] : tensor<f32>
%78 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = []} ins(%58, %cst_7 : tensor<f32>, tensor<f32>) outs(%77 : tensor<f32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = addf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<f32>
%79 = linalg.init_tensor [] : tensor<f32>
%80 = linalg.generic {indexing_maps = [#map5, #map5, #map5, #map5], iterator_types = []} ins(%76, %78, %58 : tensor<i1>, tensor<f32>, tensor<f32>) outs(%79 : tensor<f32>) {
^bb0(%arg1: i1, %arg2: f32, %arg3: f32, %arg4: f32): // no predecessors
%156 = select %arg1, %arg2, %arg3 : f32
linalg.yield %156 : f32
} -> tensor<f32>
%81 = linalg.init_tensor [] : tensor<f32>
%82 = linalg.generic {indexing_maps = [#map5, #map5, #map5, #map5], iterator_types = []} ins(%cst_10, %80, %cst_9 : tensor<f32>, tensor<f32>, tensor<f32>) outs(%81 : tensor<f32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32, %arg4: f32): // no predecessors
%156 = cmpf olt, %arg2, %arg3 : f32
%157 = select %156, %arg2, %arg3 : f32
%158 = cmpf uno, %arg2, %arg3 : f32
%159 = select %158, %cst, %157 : f32
%160 = cmpf ogt, %159, %arg1 : f32
%161 = select %160, %159, %arg1 : f32
%162 = cmpf uno, %159, %arg1 : f32
%163 = select %162, %cst, %161 : f32
linalg.yield %163 : f32
} -> tensor<f32>
%83 = linalg.init_tensor [] : tensor<f32>
%84 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = []} ins(%cst_10, %82 : tensor<f32>, tensor<f32>) outs(%83 : tensor<f32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = subf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<f32>
%85 = linalg.init_tensor [] : tensor<f32>
%86 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = []} ins(%cst_9, %82 : tensor<f32>, tensor<f32>) outs(%85 : tensor<f32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = subf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<f32>
%87 = linalg.init_tensor [] : tensor<f32>
%88 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = []} ins(%84, %cst_23 : tensor<f32>, tensor<f32>) outs(%87 : tensor<f32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = mulf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<f32>
%89 = linalg.init_tensor [] : tensor<f32>
%90 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = []} ins(%86, %cst_23 : tensor<f32>, tensor<f32>) outs(%89 : tensor<f32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = mulf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<f32>
%91 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%92 = linalg.generic {indexing_maps = [#map6, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%88 : tensor<f32>) outs(%91 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x49x18x4xf32>
%93 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%94 = linalg.generic {indexing_maps = [#map6, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%90 : tensor<f32>) outs(%93 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
linalg.yield %arg1 : f32
} -> tensor<1x49x18x4xf32>
%95 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%96 = linalg.generic {indexing_maps = [#map1, #map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%92, %56, %94 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%95 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32, %arg4: f32): // no predecessors
%156 = cmpf olt, %arg2, %arg3 : f32
%157 = select %156, %arg2, %arg3 : f32
%158 = cmpf uno, %arg2, %arg3 : f32
%159 = select %158, %cst, %157 : f32
%160 = cmpf ogt, %159, %arg1 : f32
%161 = select %160, %159, %arg1 : f32
%162 = cmpf uno, %159, %arg1 : f32
%163 = select %162, %cst, %161 : f32
linalg.yield %163 : f32
} -> tensor<1x49x18x4xf32>
%97 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%98 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%96, %92 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%97 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = subf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<1x49x18x4xf32>
%99 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%100 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%98, %cst_26 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%99 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = mulf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<1x49x18x4xf32>
%101 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%102 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%100, %cst_5 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%101 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = addf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<1x49x18x4xf32>
%103 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%104 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%102 : tensor<1x49x18x4xf32>) outs(%103 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
%156 = floorf %arg1 : f32
linalg.yield %156 : f32
} -> tensor<1x49x18x4xf32>
%105 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%106 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%104, %cst_27 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%105 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = mulf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<1x49x18x4xf32>
%107 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%108 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%106, %92 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%107 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = addf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<1x49x18x4xf32>
%109 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%110 = linalg.fill(%109, %cst_0) : tensor<1x49x18x4xf32>, f32 -> tensor<1x49x18x4xf32>
%111 = linalg.conv_2d_input_nhwc_filter_hwcf {dilations = dense<1> : tensor<2xi64>, strides = dense<1> : tensor<2xi64>} ins(%108, %cst_28 : tensor<1x49x18x4xf32>, tensor<1x1x4x4xf32>) outs(%110 : tensor<1x49x18x4xf32>) -> tensor<1x49x18x4xf32>
%112 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%113 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%111, %cst_1 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%112 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = addf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<1x49x18x4xf32>
%114 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%115 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%113, %cst_1 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%114 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = subf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<1x49x18x4xf32>
%116 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%117 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%115, %cst_2 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%116 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = mulf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<1x49x18x4xf32>
%118 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%119 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%117, %cst_3 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%118 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = divf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<1x49x18x4xf32>
%120 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%121 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%119, %cst_1 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%120 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = addf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<1x49x18x4xf32>
%122 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%123 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%121, %cst_1 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%122 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = cmpf ogt, %arg1, %arg2 : f32
%157 = select %156, %arg1, %arg2 : f32
%158 = cmpf uno, %arg1, %arg2 : f32
%159 = select %158, %cst, %157 : f32
linalg.yield %159 : f32
} -> tensor<1x49x18x4xf32>
%124 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%125 = linalg.generic {indexing_maps = [#map1, #map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%92, %123, %94 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%124 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32, %arg4: f32): // no predecessors
%156 = cmpf olt, %arg2, %arg3 : f32
%157 = select %156, %arg2, %arg3 : f32
%158 = cmpf uno, %arg2, %arg3 : f32
%159 = select %158, %cst, %157 : f32
%160 = cmpf ogt, %159, %arg1 : f32
%161 = select %160, %159, %arg1 : f32
%162 = cmpf uno, %159, %arg1 : f32
%163 = select %162, %cst, %161 : f32
linalg.yield %163 : f32
} -> tensor<1x49x18x4xf32>
%126 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%127 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%125, %92 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%126 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = subf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<1x49x18x4xf32>
%128 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%129 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%127, %cst_26 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%128 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = mulf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<1x49x18x4xf32>
%130 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%131 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%129, %cst_5 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%130 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = addf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<1x49x18x4xf32>
%132 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%133 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%131 : tensor<1x49x18x4xf32>) outs(%132 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32): // no predecessors
%156 = floorf %arg1 : f32
linalg.yield %156 : f32
} -> tensor<1x49x18x4xf32>
%134 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%135 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%133, %cst_27 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%134 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = mulf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<1x49x18x4xf32>
%136 = linalg.init_tensor [1, 49, 18, 4] : tensor<1x49x18x4xf32>
%137 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%135, %92 : tensor<1x49x18x4xf32>, tensor<1x49x18x4xf32>) outs(%136 : tensor<1x49x18x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = addf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<1x49x18x4xf32>
%138 = linalg.tensor_reshape %137 [[0], [1, 2, 3]] : tensor<1x49x18x4xf32> into tensor<1x3528xf32>
%139 = linalg.init_tensor [1, 4] : tensor<1x4xf32>
%140 = linalg.fill(%139, %cst_0) : tensor<1x4xf32>, f32 -> tensor<1x4xf32>
%141 = linalg.matmul ins(%138, %cst_19 : tensor<1x3528xf32>, tensor<3528x4xf32>) outs(%140 : tensor<1x4xf32>) -> tensor<1x4xf32>
%142 = linalg.init_tensor [1, 4] : tensor<1x4xf32>
%143 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%141, %cst_4 : tensor<1x4xf32>, tensor<1x4xf32>) outs(%142 : tensor<1x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = addf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<1x4xf32>
%144 = linalg.init_tensor [1, 4] : tensor<1x4xf32>
%145 = linalg.fill(%144, %cst_0) : tensor<1x4xf32>, f32 -> tensor<1x4xf32>
%146 = linalg.matmul ins(%143, %cst_20 : tensor<1x4xf32>, tensor<4x4xf32>) outs(%145 : tensor<1x4xf32>) -> tensor<1x4xf32>
%147 = linalg.init_tensor [1, 4] : tensor<1x4xf32>
%148 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%146, %cst_4 : tensor<1x4xf32>, tensor<1x4xf32>) outs(%147 : tensor<1x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = addf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<1x4xf32>
%149 = linalg.init_tensor [1, 4] : tensor<1x4xf32>
%150 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%148, %cst_4 : tensor<1x4xf32>, tensor<1x4xf32>) outs(%149 : tensor<1x4xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = cmpf ogt, %arg1, %arg2 : f32
%157 = select %156, %arg1, %arg2 : f32
%158 = cmpf uno, %arg1, %arg2 : f32
%159 = select %158, %cst, %157 : f32
linalg.yield %159 : f32
} -> tensor<1x4xf32>
%151 = linalg.init_tensor [1, 12] : tensor<1x12xf32>
%152 = linalg.fill(%151, %cst_0) : tensor<1x12xf32>, f32 -> tensor<1x12xf32>
%153 = linalg.matmul ins(%150, %cst_21 : tensor<1x4xf32>, tensor<4x12xf32>) outs(%152 : tensor<1x12xf32>) -> tensor<1x12xf32>
%154 = linalg.init_tensor [1, 12] : tensor<1x12xf32>
%155 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%153, %cst_29 : tensor<1x12xf32>, tensor<1x12xf32>) outs(%154 : tensor<1x12xf32>) {
^bb0(%arg1: f32, %arg2: f32, %arg3: f32): // no predecessors
%156 = addf %arg1, %arg2 : f32
linalg.yield %156 : f32
} -> tensor<1x12xf32>
return %155 : tensor<1x12xf32>
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment