Skip to content

Instantly share code, notes, and snippets.

@cheshire
Created August 18, 2021 17:10
Show Gist options
  • Save cheshire/a3041abb348ecec91d622a232ca1a77d to your computer and use it in GitHub Desktop.
Save cheshire/a3041abb348ecec91d622a232ca1a77d to your computer and use it in GitHub Desktop.
HloModule module
%scalar_add_computation (scalar_lhs: f32[], scalar_rhs: f32[]) -> f32[] {
%scalar_lhs = f32[] parameter(0)
%scalar_rhs = f32[] parameter(1)
ROOT %add.23852 = f32[] add(f32[] %scalar_lhs, f32[] %scalar_rhs)
}
%primitive_computation_max.289663 (parameter.289664: f32[], parameter.289665: f32[]) -> f32[] {
%parameter.289664 = f32[] parameter(0)
%parameter.289665 = f32[] parameter(1)
ROOT %maximum.289666 = f32[] maximum(f32[] %parameter.289664, f32[] %parameter.289665)
}
%primitive_computation_max.289901 (parameter.289902: f32[], parameter.289903: f32[]) -> f32[] {
%parameter.289902 = f32[] parameter(0)
%parameter.289903 = f32[] parameter(1)
ROOT %maximum.289904 = f32[] maximum(f32[] %parameter.289902, f32[] %parameter.289903)
}
%primitive_computation_max.289915 (parameter.289916: f32[], parameter.289917: f32[]) -> f32[] {
%parameter.289916 = f32[] parameter(0)
%parameter.289917 = f32[] parameter(1)
ROOT %maximum.289918 = f32[] maximum(f32[] %parameter.289916, f32[] %parameter.289917)
}
%fused_computation.2571 (param_0.26509: f32[896,896], param_1.36915: f32[], param_2.36919: f32[], param_3.30590: s32[], param_4.22737: f32[896,896], param_5.18500: f32[896,896], param_6.21822: f32[], param_7.26161: f32[896,896], param_8.19266: f32[896,896], param_9.5537: f32[896,896], param_10.1291: f32[896,896], param_11.609: f32[896,896], param_12.689: f32[896,896], param_13.729: f32[896,896], param_14.711: f32[896,896], param_15.635: f32[896,896], param_16.770: f32[896,896], param_17.758: f32[896,896], param_18.759: f32[896,896], param_19.670: f32[896,896], param_20.715: f32[896,896], param_21.713: f32[896,896], param_22.748: f32[896,896], param_23.690: f32[896,896]) -> (f32[896], f32[896,896], f32[896,896], f32[896,896], f32[896], /*index=5*/f32[896,896], f32[896,896], f32[896,896], f32[896], f32[896,896], /*index=10*/f32[896,896], f32[896,896], f32[896], f32[896,896], f32[896,896], /*index=15*/f32[896,896], f32[896], f32[896,896], f32[896,896], f32[896,896], /*index=20*/f32[896], f32[896], f32[896]) {
%param_0.26509 = f32[896,896]{1,0} parameter(0)
%param_3.30590 = s32[] parameter(3)
%constant_423538_clone_1 = s32[] constant(1500)
%compare.25851.clone.1 = pred[] compare(s32[] %param_3.30590, s32[] %constant_423538_clone_1), direction=LT
%minimum.825.clone.1 = s32[] minimum(s32[] %param_3.30590, s32[] %constant_423538_clone_1)
%convert.117500.clone.1 = f32[] convert(s32[] %minimum.825.clone.1)
%constant_423537_clone_1 = f32[] constant(3.33266684e-07)
%multiply.61075.clone.1 = f32[] multiply(f32[] %convert.117500.clone.1, f32[] %constant_423537_clone_1)
%constant_423536_clone_1 = f32[] constant(1e-07)
%add.65074.clone.1 = f32[] add(f32[] %multiply.61075.clone.1, f32[] %constant_423536_clone_1)
%constant_423535_clone_1 = s32[] constant(-1500)
%add.65073.clone.1 = s32[] add(s32[] %param_3.30590, s32[] %constant_423535_clone_1)
%convert.117499.clone.1 = f32[] convert(s32[] %add.65073.clone.1)
%constant_423534_clone_1 = f32[] constant(6.66666674e-05)
%multiply.61074.clone.1 = f32[] multiply(f32[] %convert.117499.clone.1, f32[] %constant_423534_clone_1)
%constant_423533_clone_1 = f32[] constant(1)
%minimum.824.clone.1 = f32[] minimum(f32[] %multiply.61074.clone.1, f32[] %constant_423533_clone_1)
%constant_423532_clone_1 = f32[] constant(3.14159274)
%multiply.61073.clone.1 = f32[] multiply(f32[] %minimum.824.clone.1, f32[] %constant_423532_clone_1)
%cosine.406.clone.1 = f32[] cosine(f32[] %multiply.61073.clone.1)
%add.65072.clone.1 = f32[] add(f32[] %cosine.406.clone.1, f32[] %constant_423533_clone_1)
%constant_423531_clone_1 = f32[] constant(0.00024)
%multiply.61072.clone.1 = f32[] multiply(f32[] %add.65072.clone.1, f32[] %constant_423531_clone_1)
%constant_423530_clone_1 = f32[] constant(2e-05)
%add.65071.clone.1 = f32[] add(f32[] %multiply.61072.clone.1, f32[] %constant_423530_clone_1)
%select.11930.clone.1 = f32[] select(pred[] %compare.25851.clone.1, f32[] %add.65074.clone.1, f32[] %add.65071.clone.1)
%broadcast.170335.clone.1 = f32[896,896]{1,0} broadcast(f32[] %select.11930.clone.1), dimensions={}
%param_5.18500 = f32[896,896]{1,0} parameter(5)
%param_6.21822 = f32[] parameter(6)
%maximum.879.clone.1 = f32[] maximum(f32[] %constant_423533_clone_1, f32[] %param_6.21822)
%divide.1312.clone.1 = f32[] divide(f32[] %constant_423533_clone_1, f32[] %maximum.879.clone.1)
%constant_401403_clone_1 = f32[] constant(0.125)
%multiply.56658.clone.1 = f32[] multiply(f32[] %divide.1312.clone.1, f32[] %constant_401403_clone_1)
%broadcast.170341.clone.1 = f32[896,896]{1,0} broadcast(f32[] %multiply.56658.clone.1), dimensions={}
%multiply.56657.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %param_5.18500, f32[896,896]{1,0} %broadcast.170341.clone.1)
%constant_401404_clone_1 = f32[] constant(0.1)
%broadcast.170340.clone.1 = f32[896,896]{1,0} broadcast(f32[] %constant_401404_clone_1), dimensions={}
%multiply.52338.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %multiply.56657.clone.1, f32[896,896]{1,0} %broadcast.170340.clone.1)
%param_7.26161 = f32[896,896]{1,0} parameter(7)
%constant_401406_clone_1 = f32[] constant(0.9)
%broadcast.170342.clone.1 = f32[896,896]{1,0} broadcast(f32[] %constant_401406_clone_1), dimensions={}
%multiply.52337.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %param_7.26161, f32[896,896]{1,0} %broadcast.170342.clone.1)
%add.54701.clone.1 = f32[896,896]{1,0} add(f32[896,896]{1,0} %multiply.52338.clone.1, f32[896,896]{1,0} %multiply.52337.clone.1)
%param_2.36919 = f32[] parameter(2)
%broadcast.170333.clone.1 = f32[896,896]{1,0} broadcast(f32[] %param_2.36919), dimensions={}
%multiply.52336.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %multiply.56657.clone.1, f32[896,896]{1,0} %multiply.56657.clone.1)
%constant_401401_clone_1 = f32[] constant(0.05)
%broadcast.170337.clone.1 = f32[896,896]{1,0} broadcast(f32[] %constant_401401_clone_1), dimensions={}
%multiply.52334.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %multiply.52336.clone.1, f32[896,896]{1,0} %broadcast.170337.clone.1)
%param_4.22737 = f32[896,896]{1,0} parameter(4)
%constant_401402_clone_1 = f32[] constant(0.95)
%broadcast.170338.clone.1 = f32[896,896]{1,0} broadcast(f32[] %constant_401402_clone_1), dimensions={}
%multiply.52333.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %param_4.22737, f32[896,896]{1,0} %broadcast.170338.clone.1)
%add.54700.clone.1 = f32[896,896]{1,0} add(f32[896,896]{1,0} %multiply.52334.clone.1, f32[896,896]{1,0} %multiply.52333.clone.1)
%param_1.36915 = f32[] parameter(1)
%broadcast.170330.clone.1 = f32[896,896]{1,0} broadcast(f32[] %param_1.36915), dimensions={}
%divide.499.clone.1 = f32[896,896]{1,0} divide(f32[896,896]{1,0} %add.54700.clone.1, f32[896,896]{1,0} %broadcast.170330.clone.1)
%sqrt.115.clone.1 = f32[896,896]{1,0} sqrt(f32[896,896]{1,0} %divide.499.clone.1)
%constant_401399_clone_1 = f32[] constant(1e-08)
%broadcast.170331.clone.1 = f32[896,896]{1,0} broadcast(f32[] %constant_401399_clone_1), dimensions={}
%add.54699.clone.1 = f32[896,896]{1,0} add(f32[896,896]{1,0} %sqrt.115.clone.1, f32[896,896]{1,0} %broadcast.170331.clone.1)
%multiply.52332.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %broadcast.170333.clone.1, f32[896,896]{1,0} %add.54699.clone.1)
%divide.498.clone.1 = f32[896,896]{1,0} divide(f32[896,896]{1,0} %add.54701.clone.1, f32[896,896]{1,0} %multiply.52332.clone.1)
%multiply.52331.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %broadcast.170335.clone.1, f32[896,896]{1,0} %divide.498.clone.1)
%constant_401400_clone_1 = f32[] constant(-1)
%broadcast.170336.clone.1 = f32[896,896]{1,0} broadcast(f32[] %constant_401400_clone_1), dimensions={}
%multiply.52330.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %multiply.52331.clone.1, f32[896,896]{1,0} %broadcast.170336.clone.1)
%add.54698.clone.1 = f32[896,896]{1,0} add(f32[896,896]{1,0} %param_0.26509, f32[896,896]{1,0} %multiply.52330.clone.1)
%multiply.51107 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %add.54698.clone.1, f32[896,896]{1,0} %add.54698.clone.1)
%bitcast.9783 = f32[802816]{0} bitcast(f32[896,896]{1,0} %multiply.51107)
%constant_399791 = f32[] constant(0)
%pad.13284 = f32[802816]{0} pad(f32[802816]{0} %bitcast.9783, f32[] %constant_399791), padding=0_0
%bitcast.9782 = f32[896,896]{1,0} bitcast(f32[802816]{0} %pad.13284)
%reduce.16773 = f32[896]{0} reduce(f32[896,896]{1,0} %bitcast.9782, f32[] %constant_399791), dimensions={1}, to_apply=%scalar_add_computation
%param_8.19266 = f32[896,896]{1,0} parameter(8)
%param_10.1291 = f32[896,896]{1,0} parameter(10)
%multiply.56666.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %param_10.1291, f32[896,896]{1,0} %broadcast.170341.clone.1)
%multiply.52355.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %multiply.56666.clone.1.clone.1, f32[896,896]{1,0} %broadcast.170340.clone.1)
%param_11.609 = f32[896,896]{1,0} parameter(11)
%multiply.52354.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %param_11.609, f32[896,896]{1,0} %broadcast.170342.clone.1)
%add.54711.clone.1.clone.1 = f32[896,896]{1,0} add(f32[896,896]{1,0} %multiply.52355.clone.1.clone.1, f32[896,896]{1,0} %multiply.52354.clone.1.clone.1)
%multiply.52353.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %multiply.56666.clone.1.clone.1, f32[896,896]{1,0} %multiply.56666.clone.1.clone.1)
%multiply.52352.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %multiply.52353.clone.1.clone.1, f32[896,896]{1,0} %broadcast.170337.clone.1)
%param_9.5537 = f32[896,896]{1,0} parameter(9)
%multiply.52351.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %param_9.5537, f32[896,896]{1,0} %broadcast.170338.clone.1)
%add.54710.clone.1.clone.1 = f32[896,896]{1,0} add(f32[896,896]{1,0} %multiply.52352.clone.1.clone.1, f32[896,896]{1,0} %multiply.52351.clone.1.clone.1)
%divide.503.clone.1.clone.1 = f32[896,896]{1,0} divide(f32[896,896]{1,0} %add.54710.clone.1.clone.1, f32[896,896]{1,0} %broadcast.170330.clone.1)
%sqrt.117.clone.1.clone.1 = f32[896,896]{1,0} sqrt(f32[896,896]{1,0} %divide.503.clone.1.clone.1)
%add.54709.clone.1.clone.1 = f32[896,896]{1,0} add(f32[896,896]{1,0} %sqrt.117.clone.1.clone.1, f32[896,896]{1,0} %broadcast.170331.clone.1)
%multiply.52350.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %broadcast.170333.clone.1, f32[896,896]{1,0} %add.54709.clone.1.clone.1)
%divide.502.clone.1.clone.1 = f32[896,896]{1,0} divide(f32[896,896]{1,0} %add.54711.clone.1.clone.1, f32[896,896]{1,0} %multiply.52350.clone.1.clone.1)
%multiply.52348.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %broadcast.170335.clone.1, f32[896,896]{1,0} %divide.502.clone.1.clone.1)
%multiply.52347.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %multiply.52348.clone.1.clone.1, f32[896,896]{1,0} %broadcast.170336.clone.1)
%add.54707.clone.1.clone.1 = f32[896,896]{1,0} add(f32[896,896]{1,0} %param_8.19266, f32[896,896]{1,0} %multiply.52347.clone.1.clone.1)
%multiply.51109.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %add.54707.clone.1.clone.1, f32[896,896]{1,0} %add.54707.clone.1.clone.1)
%bitcast.9785.clone.1 = f32[802816]{0} bitcast(f32[896,896]{1,0} %multiply.51109.clone.1)
%pad.13285.clone.1 = f32[802816]{0} pad(f32[802816]{0} %bitcast.9785.clone.1, f32[] %constant_399791), padding=0_0
%bitcast.9784.clone.1 = f32[896,896]{1,0} bitcast(f32[802816]{0} %pad.13285.clone.1)
%reduce.16775.clone.1 = f32[896]{0} reduce(f32[896,896]{1,0} %bitcast.9784.clone.1, f32[] %constant_399791), dimensions={1}, to_apply=%scalar_add_computation
%param_12.689 = f32[896,896]{1,0} parameter(12)
%param_14.711 = f32[896,896]{1,0} parameter(14)
%multiply.56732.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %param_14.711, f32[896,896]{1,0} %broadcast.170341.clone.1)
%multiply.52691.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %multiply.56732.clone.1.clone.1, f32[896,896]{1,0} %broadcast.170340.clone.1)
%param_15.635 = f32[896,896]{1,0} parameter(15)
%multiply.52690.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %param_15.635, f32[896,896]{1,0} %broadcast.170342.clone.1)
%add.54887.clone.1.clone.1 = f32[896,896]{1,0} add(f32[896,896]{1,0} %multiply.52691.clone.1.clone.1, f32[896,896]{1,0} %multiply.52690.clone.1.clone.1)
%multiply.52689.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %multiply.56732.clone.1.clone.1, f32[896,896]{1,0} %multiply.56732.clone.1.clone.1)
%multiply.52688.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %multiply.52689.clone.1.clone.1, f32[896,896]{1,0} %broadcast.170337.clone.1)
%param_13.729 = f32[896,896]{1,0} parameter(13)
%multiply.52687.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %param_13.729, f32[896,896]{1,0} %broadcast.170338.clone.1)
%add.54886.clone.1.clone.1 = f32[896,896]{1,0} add(f32[896,896]{1,0} %multiply.52688.clone.1.clone.1, f32[896,896]{1,0} %multiply.52687.clone.1.clone.1)
%divide.571.clone.1.clone.1 = f32[896,896]{1,0} divide(f32[896,896]{1,0} %add.54886.clone.1.clone.1, f32[896,896]{1,0} %broadcast.170330.clone.1)
%sqrt.151.clone.1.clone.1 = f32[896,896]{1,0} sqrt(f32[896,896]{1,0} %divide.571.clone.1.clone.1)
%add.54885.clone.1.clone.1 = f32[896,896]{1,0} add(f32[896,896]{1,0} %sqrt.151.clone.1.clone.1, f32[896,896]{1,0} %broadcast.170331.clone.1)
%multiply.52686.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %broadcast.170333.clone.1, f32[896,896]{1,0} %add.54885.clone.1.clone.1)
%divide.570.clone.1.clone.1 = f32[896,896]{1,0} divide(f32[896,896]{1,0} %add.54887.clone.1.clone.1, f32[896,896]{1,0} %multiply.52686.clone.1.clone.1)
%multiply.52684.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %broadcast.170335.clone.1, f32[896,896]{1,0} %divide.570.clone.1.clone.1)
%multiply.52683.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %multiply.52684.clone.1.clone.1, f32[896,896]{1,0} %broadcast.170336.clone.1)
%add.54883.clone.1.clone.1 = f32[896,896]{1,0} add(f32[896,896]{1,0} %param_12.689, f32[896,896]{1,0} %multiply.52683.clone.1.clone.1)
%multiply.51145.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %add.54883.clone.1.clone.1, f32[896,896]{1,0} %add.54883.clone.1.clone.1)
%bitcast.9820.clone.1 = f32[802816]{0} bitcast(f32[896,896]{1,0} %multiply.51145.clone.1)
%pad.13301.clone.1 = f32[802816]{0} pad(f32[802816]{0} %bitcast.9820.clone.1, f32[] %constant_399791), padding=0_0
%bitcast.9819.clone.1 = f32[896,896]{1,0} bitcast(f32[802816]{0} %pad.13301.clone.1)
%reduce.16808.clone.1 = f32[896]{0} reduce(f32[896,896]{1,0} %bitcast.9819.clone.1, f32[] %constant_399791), dimensions={1}, to_apply=%scalar_add_computation
%param_16.770 = f32[896,896]{1,0} parameter(16)
%param_18.759 = f32[896,896]{1,0} parameter(18)
%multiply.56740.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %param_18.759, f32[896,896]{1,0} %broadcast.170341.clone.1)
%multiply.52708.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %multiply.56740.clone.1.clone.1, f32[896,896]{1,0} %broadcast.170340.clone.1)
%param_19.670 = f32[896,896]{1,0} parameter(19)
%multiply.52707.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %param_19.670, f32[896,896]{1,0} %broadcast.170342.clone.1)
%add.54896.clone.1.clone.1 = f32[896,896]{1,0} add(f32[896,896]{1,0} %multiply.52708.clone.1.clone.1, f32[896,896]{1,0} %multiply.52707.clone.1.clone.1)
%multiply.52706.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %multiply.56740.clone.1.clone.1, f32[896,896]{1,0} %multiply.56740.clone.1.clone.1)
%multiply.52705.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %multiply.52706.clone.1.clone.1, f32[896,896]{1,0} %broadcast.170337.clone.1)
%param_17.758 = f32[896,896]{1,0} parameter(17)
%multiply.52704.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %param_17.758, f32[896,896]{1,0} %broadcast.170338.clone.1)
%add.54895.clone.1.clone.1 = f32[896,896]{1,0} add(f32[896,896]{1,0} %multiply.52705.clone.1.clone.1, f32[896,896]{1,0} %multiply.52704.clone.1.clone.1)
%divide.575.clone.1.clone.1 = f32[896,896]{1,0} divide(f32[896,896]{1,0} %add.54895.clone.1.clone.1, f32[896,896]{1,0} %broadcast.170330.clone.1)
%sqrt.153.clone.1.clone.1 = f32[896,896]{1,0} sqrt(f32[896,896]{1,0} %divide.575.clone.1.clone.1)
%add.54894.clone.1.clone.1 = f32[896,896]{1,0} add(f32[896,896]{1,0} %sqrt.153.clone.1.clone.1, f32[896,896]{1,0} %broadcast.170331.clone.1)
%multiply.52703.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %broadcast.170333.clone.1, f32[896,896]{1,0} %add.54894.clone.1.clone.1)
%divide.574.clone.1.clone.1 = f32[896,896]{1,0} divide(f32[896,896]{1,0} %add.54896.clone.1.clone.1, f32[896,896]{1,0} %multiply.52703.clone.1.clone.1)
%multiply.52702.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %broadcast.170335.clone.1, f32[896,896]{1,0} %divide.574.clone.1.clone.1)
%multiply.52701.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %multiply.52702.clone.1.clone.1, f32[896,896]{1,0} %broadcast.170336.clone.1)
%add.54893.clone.1.clone.1 = f32[896,896]{1,0} add(f32[896,896]{1,0} %param_16.770, f32[896,896]{1,0} %multiply.52701.clone.1.clone.1)
%multiply.51147.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %add.54893.clone.1.clone.1, f32[896,896]{1,0} %add.54893.clone.1.clone.1)
%bitcast.9822.clone.1 = f32[802816]{0} bitcast(f32[896,896]{1,0} %multiply.51147.clone.1)
%pad.13302.clone.1 = f32[802816]{0} pad(f32[802816]{0} %bitcast.9822.clone.1, f32[] %constant_399791), padding=0_0
%bitcast.9821.clone.1 = f32[896,896]{1,0} bitcast(f32[802816]{0} %pad.13302.clone.1)
%reduce.16810.clone.1 = f32[896]{0} reduce(f32[896,896]{1,0} %bitcast.9821.clone.1, f32[] %constant_399791), dimensions={1}, to_apply=%scalar_add_computation
%param_20.715 = f32[896,896]{1,0} parameter(20)
%param_22.748 = f32[896,896]{1,0} parameter(22)
%multiply.56806.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %param_22.748, f32[896,896]{1,0} %broadcast.170341.clone.1)
%multiply.53044.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %multiply.56806.clone.1.clone.1, f32[896,896]{1,0} %broadcast.170340.clone.1)
%param_23.690 = f32[896,896]{1,0} parameter(23)
%multiply.53043.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %param_23.690, f32[896,896]{1,0} %broadcast.170342.clone.1)
%add.55073.clone.1.clone.1 = f32[896,896]{1,0} add(f32[896,896]{1,0} %multiply.53044.clone.1.clone.1, f32[896,896]{1,0} %multiply.53043.clone.1.clone.1)
%multiply.53042.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %multiply.56806.clone.1.clone.1, f32[896,896]{1,0} %multiply.56806.clone.1.clone.1)
%multiply.53041.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %multiply.53042.clone.1.clone.1, f32[896,896]{1,0} %broadcast.170337.clone.1)
%param_21.713 = f32[896,896]{1,0} parameter(21)
%multiply.53040.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %param_21.713, f32[896,896]{1,0} %broadcast.170338.clone.1)
%add.55071.clone.1.clone.1 = f32[896,896]{1,0} add(f32[896,896]{1,0} %multiply.53041.clone.1.clone.1, f32[896,896]{1,0} %multiply.53040.clone.1.clone.1)
%divide.643.clone.1.clone.1 = f32[896,896]{1,0} divide(f32[896,896]{1,0} %add.55071.clone.1.clone.1, f32[896,896]{1,0} %broadcast.170330.clone.1)
%sqrt.187.clone.1.clone.1 = f32[896,896]{1,0} sqrt(f32[896,896]{1,0} %divide.643.clone.1.clone.1)
%add.55070.clone.1.clone.1 = f32[896,896]{1,0} add(f32[896,896]{1,0} %sqrt.187.clone.1.clone.1, f32[896,896]{1,0} %broadcast.170331.clone.1)
%multiply.53039.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %broadcast.170333.clone.1, f32[896,896]{1,0} %add.55070.clone.1.clone.1)
%divide.642.clone.1.clone.1 = f32[896,896]{1,0} divide(f32[896,896]{1,0} %add.55073.clone.1.clone.1, f32[896,896]{1,0} %multiply.53039.clone.1.clone.1)
%multiply.53038.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %broadcast.170335.clone.1, f32[896,896]{1,0} %divide.642.clone.1.clone.1)
%multiply.53037.clone.1.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %multiply.53038.clone.1.clone.1, f32[896,896]{1,0} %broadcast.170336.clone.1)
%add.55069.clone.1.clone.1 = f32[896,896]{1,0} add(f32[896,896]{1,0} %param_20.715, f32[896,896]{1,0} %multiply.53037.clone.1.clone.1)
%multiply.51181.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %add.55069.clone.1.clone.1, f32[896,896]{1,0} %add.55069.clone.1.clone.1)
%bitcast.9857.clone.1 = f32[802816]{0} bitcast(f32[896,896]{1,0} %multiply.51181.clone.1)
%pad.13318.clone.1 = f32[802816]{0} pad(f32[802816]{0} %bitcast.9857.clone.1, f32[] %constant_399791), padding=0_0
%bitcast.9856.clone.1 = f32[896,896]{1,0} bitcast(f32[802816]{0} %pad.13318.clone.1)
%reduce.16844.clone.1 = f32[896]{0} reduce(f32[896,896]{1,0} %bitcast.9856.clone.1, f32[] %constant_399791), dimensions={1}, to_apply=%scalar_add_computation
%broadcast.168766.clone.1 = f32[896,896]{1,0} broadcast(f32[] %constant_401403_clone_1), dimensions={}
%multiply.56210.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %param_22.748, f32[896,896]{1,0} %broadcast.168766.clone.1)
%abs.181.clone.1 = f32[896,896]{1,0} abs(f32[896,896]{1,0} %multiply.56210.clone.1)
%bitcast.10137.clone.1 = f32[802816]{0} bitcast(f32[896,896]{1,0} %abs.181.clone.1)
%constant_400035_clone_1 = f32[] constant(-inf)
%pad.13428.clone.1 = f32[802816]{0} pad(f32[802816]{0} %bitcast.10137.clone.1, f32[] %constant_400035_clone_1), padding=0_0
%bitcast.10136.clone.1 = f32[896,896]{1,0} bitcast(f32[802816]{0} %pad.13428.clone.1)
%reduce.17083.clone.1 = f32[896]{0} reduce(f32[896,896]{1,0} %bitcast.10136.clone.1, f32[] %constant_400035_clone_1), dimensions={1}, to_apply=%primitive_computation_max.289663
%multiply.56246.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %param_18.759, f32[896,896]{1,0} %broadcast.168766.clone.1)
%abs.148.clone.1 = f32[896,896]{1,0} abs(f32[896,896]{1,0} %multiply.56246.clone.1)
%bitcast.10103.clone.1 = f32[802816]{0} bitcast(f32[896,896]{1,0} %abs.148.clone.1)
%pad.13412.clone.1 = f32[802816]{0} pad(f32[802816]{0} %bitcast.10103.clone.1, f32[] %constant_400035_clone_1), padding=0_0
%bitcast.10102.clone.1 = f32[896,896]{1,0} bitcast(f32[802816]{0} %pad.13412.clone.1)
%reduce.17050.clone.1 = f32[896]{0} reduce(f32[896,896]{1,0} %bitcast.10102.clone.1, f32[] %constant_400035_clone_1), dimensions={1}, to_apply=%primitive_computation_max.289901
%multiply.56248.clone.1 = f32[896,896]{1,0} multiply(f32[896,896]{1,0} %param_14.711, f32[896,896]{1,0} %broadcast.168766.clone.1)
%abs.146.clone.1 = f32[896,896]{1,0} abs(f32[896,896]{1,0} %multiply.56248.clone.1)
%bitcast.10101.clone.1 = f32[802816]{0} bitcast(f32[896,896]{1,0} %abs.146.clone.1)
%pad.13411.clone.1 = f32[802816]{0} pad(f32[802816]{0} %bitcast.10101.clone.1, f32[] %constant_400035_clone_1), padding=0_0
%bitcast.10100.clone.1 = f32[896,896]{1,0} bitcast(f32[802816]{0} %pad.13411.clone.1)
%reduce.17048.clone.1 = f32[896]{0} reduce(f32[896,896]{1,0} %bitcast.10100.clone.1, f32[] %constant_400035_clone_1), dimensions={1}, to_apply=%primitive_computation_max.289915
ROOT %tuple.45804 = (f32[896]{0}, f32[896,896]{1,0}, f32[896,896]{1,0}, f32[896,896]{1,0}, f32[896]{0}, /*index=5*/f32[896,896]{1,0}, f32[896,896]{1,0}, f32[896,896]{1,0}, f32[896]{0}, f32[896,896]{1,0}, /*index=10*/f32[896,896]{1,0}, f32[896,896]{1,0}, f32[896]{0}, f32[896,896]{1,0}, f32[896,896]{1,0}, /*index=15*/f32[896,896]{1,0}, f32[896]{0}, f32[896,896]{1,0}, f32[896,896]{1,0}, f32[896,896]{1,0}, /*index=20*/f32[896]{0}, f32[896]{0}, f32[896]{0}) tuple(f32[896]{0} %reduce.16773, f32[896,896]{1,0} %add.54698.clone.1, f32[896,896]{1,0} %add.54700.clone.1, f32[896,896]{1,0} %add.54701.clone.1, f32[896]{0} %reduce.16775.clone.1, /*index=5*/f32[896,896]{1,0} %add.54707.clone.1.clone.1, f32[896,896]{1,0} %add.54710.clone.1.clone.1, f32[896,896]{1,0} %add.54711.clone.1.clone.1, f32[896]{0} %reduce.16808.clone.1, f32[896,896]{1,0} %add.54883.clone.1.clone.1, /*index=10*/f32[896,896]{1,0} %add.54886.clone.1.clone.1, f32[896,896]{1,0} %add.54887.clone.1.clone.1, f32[896]{0} %reduce.16810.clone.1, f32[896,896]{1,0} %add.54893.clone.1.clone.1, f32[896,896]{1,0} %add.54895.clone.1.clone.1, /*index=15*/f32[896,896]{1,0} %add.54896.clone.1.clone.1, f32[896]{0} %reduce.16844.clone.1, f32[896,896]{1,0} %add.55069.clone.1.clone.1, f32[896,896]{1,0} %add.55071.clone.1.clone.1, f32[896,896]{1,0} %add.55073.clone.1.clone.1, /*index=20*/f32[896]{0} %reduce.17083.clone.1, f32[896]{0} %reduce.17050.clone.1, f32[896]{0} %reduce.17048.clone.1)
}
ENTRY %computation {
%param_20.715 = f32[896,896]{1,0} parameter(20)
%param_1.36915 = f32[] parameter(1)
%param_2.36919 = f32[] parameter(2)
%param_3.30590 = s32[] parameter(3)
%param_21.713 = f32[896,896]{1,0} parameter(21)
%param_22.748 = f32[896,896]{1,0} parameter(22)
%param_6.21822 = f32[] parameter(6)
%param_23.690 = f32[896,896]{1,0} parameter(23)
%param_0.26509 = f32[896,896]{1,0} parameter(0)
%param_8.19266 = f32[896,896]{1,0} parameter(8)
%param_9.5537 = f32[896,896]{1,0} parameter(9)
%param_10.1291 = f32[896,896]{1,0} parameter(10)
%param_11.609 = f32[896,896]{1,0} parameter(11)
%param_14.711 = f32[896,896]{1,0} parameter(14)
%param_12.689 = f32[896,896]{1,0} parameter(12)
%param_13.729 = f32[896,896]{1,0} parameter(13)
%param_15.635 = f32[896,896]{1,0} parameter(15)
%param_18.759 = f32[896,896]{1,0} parameter(18)
%param_16.770 = f32[896,896]{1,0} parameter(16)
%param_17.758 = f32[896,896]{1,0} parameter(17)
%param_19.670 = f32[896,896]{1,0} parameter(19)
%param_4.22737 = f32[896,896]{1,0} parameter(4)
%param_5.18500 = f32[896,896]{1,0} parameter(5)
%param_7.26161 = f32[896,896]{1,0} parameter(7)
ROOT %fusion.3 = (f32[896]{0}, f32[896,896]{1,0}, f32[896,896]{1,0}, f32[896,896]{1,0}, f32[896]{0}, /*index=5*/f32[896,896]{1,0}, f32[896,896]{1,0}, f32[896,896]{1,0}, f32[896]{0}, f32[896,896]{1,0}, /*index=10*/f32[896,896]{1,0}, f32[896,896]{1,0}, f32[896]{0}, f32[896,896]{1,0}, f32[896,896]{1,0}, /*index=15*/f32[896,896]{1,0}, f32[896]{0}, f32[896,896]{1,0}, f32[896,896]{1,0}, f32[896,896]{1,0}, /*index=20*/f32[896]{0}, f32[896]{0}, f32[896]{0}) fusion(f32[896,896]{1,0} %param_20.715, f32[] %param_1.36915, f32[] %param_2.36919, s32[] %param_3.30590, f32[896,896]{1,0} %param_21.713, /*index=5*/f32[896,896]{1,0} %param_22.748, f32[] %param_6.21822, f32[896,896]{1,0} %param_23.690, f32[896,896]{1,0} %param_0.26509, f32[896,896]{1,0} %param_8.19266, /*index=10*/f32[896,896]{1,0} %param_9.5537, f32[896,896]{1,0} %param_10.1291, f32[896,896]{1,0} %param_11.609, f32[896,896]{1,0} %param_14.711, f32[896,896]{1,0} %param_12.689, /*index=15*/f32[896,896]{1,0} %param_13.729, f32[896,896]{1,0} %param_15.635, f32[896,896]{1,0} %param_18.759, f32[896,896]{1,0} %param_16.770, f32[896,896]{1,0} %param_17.758, /*index=20*/f32[896,896]{1,0} %param_19.670, f32[896,896]{1,0} %param_4.22737, f32[896,896]{1,0} %param_5.18500, f32[896,896]{1,0} %param_7.26161), kind=kInput, calls=%fused_computation.2571
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment