Skip to content

Instantly share code, notes, and snippets.

@dan-zheng
Created July 16, 2018 18:35
Show Gist options
  • Save dan-zheng/44304ee84245131582fc6231107a5bf4 to your computer and use it in GitHub Desktop.
Save dan-zheng/44304ee84245131582fc6231107a5bf4 to your computer and use it in GitHub Desktop.
// RUN: %target-swift-frontend -Xllvm -tf-dump-intermediates -O -emit-sil -verify %s | %FileCheck %s
import TensorFlow
// This test is intended to verify that all of the operations end up in the
// graph: that there are no host/accelerator copies generated. This tests a
// combination of the partitioning pass being able to recognize various forms,
// but also checks that certain ops implementations are promotable as well.
// Please keep it so no errors or warnings are generated by functions in this
// file.
/// b/76222306
struct Classifier {
// Parameters
var w1 = Tensor<Float>(randomUniform: [784, 30])
var w2 = Tensor<Float>(randomUniform: [30, 10])
var b1 = Tensor<Float>(zeros: [1, 30])
var b2 = Tensor<Float>(zeros: [1, 10])
mutating func train(images: Tensor<Float>, labels: Tensor<Float>,
learningRate: Float, epochCount: Int) -> Float {
var loss: Float
var epochCount = epochCount
repeat {
// Forward pass
let z1 = images • w1 + b1
// Code below from original test is commented for minimal reproducer.
/*
let h1 = sigmoid(z1)
let z2 = h1 • w2 + b2
let pred = sigmoid(z2)
// Backward pass
let dz2 = pred - labels
let dw2 = h1.transposed(withPermutations: 1, 0) • dz2
let db2 = dz2.sum(squeezingAxes: 0)
let dz1 = matmul(dz2, w2.transposed(withPermutations: 1, 0)) * h1 * (1 - h1)
let dw1 = images.transposed(withPermutations: 1, 0) • dz1
let db1 = dz1.sum(squeezingAxes: 0)
// Gradient descent
w1 -= dw1 * learningRate
b1 -= db1 * learningRate
w2 -= dw2 * learningRate
b2 -= db2 * learningRate
loss = dz2.squared().mean(squeezingAxes: 1, 0).scalarized()
*/
loss = 1
epochCount -= 1
} while epochCount > 0
return loss
}
}
public func mnist() {
// Training data
// expected-warning @+1 {{'Tensor<Float>' implicitly copied to the accelerator, use .toAccelerator}}
let images = Tensor<Float>(randomNormal: [10, 784])
let labels = Tensor<Float>(randomNormal: [10, 10])
var classifier = Classifier()
let loss = classifier.train(images: images, labels: labels,
learningRate: 0.3, epochCount: 100)
print(loss)
}
$ swiftc -frontend -Xllvm -tf-dump-intermediates -O -emit-sil -verify no_copy.swift
--- TFDeabstraction Input: $S7no_copy5mnistyyF
// mnist()
sil @$S7no_copy5mnistyyF : $@convention(thin) () -> () {
bb0:
%0 = metatype $@thin Tensor<Float>.Type // user: %35
%1 = metatype $@thin TensorShape.Type // user: %19
%2 = integer_literal $Builtin.Word, 2 // user: %4
// function_ref _allocateUninitializedArray<A>(_:)
%3 = function_ref @$Ss27_allocateUninitializedArrayySayxG_BptBwlF : $@convention(thin) <τ_0_0> (Builtin.Word) -> (@owned Array<τ_0_0>, Builtin.RawPointer) // user: %4
%4 = apply %3<Int32>(%2) : $@convention(thin) <τ_0_0> (Builtin.Word) -> (@owned Array<τ_0_0>, Builtin.RawPointer) // users: %8, %5, %7
%5 = tuple_extract %4 : $(Array<Int32>, Builtin.RawPointer), 0 // users: %19, %6
retain_value %5 : $Array<Int32> // id: %6
%7 = tuple_extract %4 : $(Array<Int32>, Builtin.RawPointer), 1 // user: %9
release_value %4 : $(Array<Int32>, Builtin.RawPointer) // id: %8
%9 = pointer_to_address %7 : $Builtin.RawPointer to [strict] $*Int32 // users: %12, %14
%10 = integer_literal $Builtin.Int32, 10 // user: %11
%11 = struct $Int32 (%10 : $Builtin.Int32) // user: %12
store %11 to %9 : $*Int32 // id: %12
%13 = integer_literal $Builtin.Word, 1 // user: %14
%14 = index_addr %9 : $*Int32, %13 : $Builtin.Word // user: %17
%15 = integer_literal $Builtin.Int32, 784 // user: %16
%16 = struct $Int32 (%15 : $Builtin.Int32) // user: %17
store %16 to %14 : $*Int32 // id: %17
// function_ref TensorShape.init(arrayLiteral:)
%18 = function_ref @$S10TensorFlow0A5ShapeV12arrayLiteralACs5Int32Vd_tcfC : $@convention(method) (@owned Array<Int32>, @thin TensorShape.Type) -> @owned TensorShape // user: %19
%19 = apply %18(%5, %1) : $@convention(method) (@owned Array<Int32>, @thin TensorShape.Type) -> @owned TensorShape // user: %35
// function_ref default argument 1 of Tensor<>.init(randomNormal:mean:stddev:state:)
%20 = function_ref @$S10TensorFlow0A0VAASBRzrlE12randomNormal4mean6stddev5stateACyxGAA0A5ShapeV_xxAA11RandomStateCSgtcfcfA0_ : $@convention(thin) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> () -> @out τ_0_0 // user: %22
%21 = alloc_stack $Float // users: %23, %39, %22
%22 = apply %20<Float>(%21) : $@convention(thin) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> () -> @out τ_0_0
%23 = load %21 : $*Float // user: %25
%24 = alloc_stack $Float // users: %25, %38, %35
store %23 to %24 : $*Float // id: %25
// function_ref default argument 2 of Tensor<>.init(randomNormal:mean:stddev:state:)
%26 = function_ref @$S10TensorFlow0A0VAASBRzrlE12randomNormal4mean6stddev5stateACyxGAA0A5ShapeV_xxAA11RandomStateCSgtcfcfA1_ : $@convention(thin) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> () -> @out τ_0_0 // user: %28
%27 = alloc_stack $Float // users: %29, %37, %28
%28 = apply %26<Float>(%27) : $@convention(thin) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> () -> @out τ_0_0
%29 = load %27 : $*Float // user: %31
%30 = alloc_stack $Float // users: %31, %36, %35
store %29 to %30 : $*Float // id: %31
// function_ref default argument 3 of Tensor<>.init(randomNormal:mean:stddev:state:)
%32 = function_ref @$S10TensorFlow0A0VAASBRzrlE12randomNormal4mean6stddev5stateACyxGAA0A5ShapeV_xxAA11RandomStateCSgtcfcfA2_ : $@convention(thin) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> () -> @owned Optional<RandomState> // user: %33
%33 = apply %32<Float>() : $@convention(thin) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> () -> @owned Optional<RandomState> // user: %35
// function_ref Tensor<>.init(randomNormal:mean:stddev:state:)
%34 = function_ref @$S10TensorFlow0A0VAASBRzrlE12randomNormal4mean6stddev5stateACyxGAA0A5ShapeV_xxAA11RandomStateCSgtcfC : $@convention(method) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> (@owned TensorShape, @in τ_0_0, @in τ_0_0, @owned Optional<RandomState>, @thin Tensor<τ_0_0>.Type) -> @owned Tensor<τ_0_0> // user: %35
%35 = apply %34<Float>(%19, %24, %30, %33, %0) : $@convention(method) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> (@owned TensorShape, @in τ_0_0, @in τ_0_0, @owned Optional<RandomState>, @thin Tensor<τ_0_0>.Type) -> @owned Tensor<τ_0_0> // users: %118, %93, %40
dealloc_stack %30 : $*Float // id: %36
dealloc_stack %27 : $*Float // id: %37
dealloc_stack %24 : $*Float // id: %38
dealloc_stack %21 : $*Float // id: %39
debug_value %35 : $Tensor<Float>, let, name "images" // id: %40
%41 = metatype $@thin Tensor<Float>.Type // user: %76
%42 = metatype $@thin TensorShape.Type // user: %60
%43 = integer_literal $Builtin.Word, 2 // user: %45
// function_ref _allocateUninitializedArray<A>(_:)
%44 = function_ref @$Ss27_allocateUninitializedArrayySayxG_BptBwlF : $@convention(thin) <τ_0_0> (Builtin.Word) -> (@owned Array<τ_0_0>, Builtin.RawPointer) // user: %45
%45 = apply %44<Int32>(%43) : $@convention(thin) <τ_0_0> (Builtin.Word) -> (@owned Array<τ_0_0>, Builtin.RawPointer) // users: %49, %46, %48
%46 = tuple_extract %45 : $(Array<Int32>, Builtin.RawPointer), 0 // users: %60, %47
retain_value %46 : $Array<Int32> // id: %47
%48 = tuple_extract %45 : $(Array<Int32>, Builtin.RawPointer), 1 // user: %50
release_value %45 : $(Array<Int32>, Builtin.RawPointer) // id: %49
%50 = pointer_to_address %48 : $Builtin.RawPointer to [strict] $*Int32 // users: %53, %55
%51 = integer_literal $Builtin.Int32, 10 // user: %52
%52 = struct $Int32 (%51 : $Builtin.Int32) // user: %53
store %52 to %50 : $*Int32 // id: %53
%54 = integer_literal $Builtin.Word, 1 // user: %55
%55 = index_addr %50 : $*Int32, %54 : $Builtin.Word // user: %58
%56 = integer_literal $Builtin.Int32, 10 // user: %57
%57 = struct $Int32 (%56 : $Builtin.Int32) // user: %58
store %57 to %55 : $*Int32 // id: %58
// function_ref TensorShape.init(arrayLiteral:)
%59 = function_ref @$S10TensorFlow0A5ShapeV12arrayLiteralACs5Int32Vd_tcfC : $@convention(method) (@owned Array<Int32>, @thin TensorShape.Type) -> @owned TensorShape // user: %60
%60 = apply %59(%46, %42) : $@convention(method) (@owned Array<Int32>, @thin TensorShape.Type) -> @owned TensorShape // user: %76
// function_ref default argument 1 of Tensor<>.init(randomNormal:mean:stddev:state:)
%61 = function_ref @$S10TensorFlow0A0VAASBRzrlE12randomNormal4mean6stddev5stateACyxGAA0A5ShapeV_xxAA11RandomStateCSgtcfcfA0_ : $@convention(thin) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> () -> @out τ_0_0 // user: %63
%62 = alloc_stack $Float // users: %64, %80, %63
%63 = apply %61<Float>(%62) : $@convention(thin) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> () -> @out τ_0_0
%64 = load %62 : $*Float // user: %66
%65 = alloc_stack $Float // users: %66, %79, %76
store %64 to %65 : $*Float // id: %66
// function_ref default argument 2 of Tensor<>.init(randomNormal:mean:stddev:state:)
%67 = function_ref @$S10TensorFlow0A0VAASBRzrlE12randomNormal4mean6stddev5stateACyxGAA0A5ShapeV_xxAA11RandomStateCSgtcfcfA1_ : $@convention(thin) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> () -> @out τ_0_0 // user: %69
%68 = alloc_stack $Float // users: %70, %78, %69
%69 = apply %67<Float>(%68) : $@convention(thin) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> () -> @out τ_0_0
%70 = load %68 : $*Float // user: %72
%71 = alloc_stack $Float // users: %72, %77, %76
store %70 to %71 : $*Float // id: %72
// function_ref default argument 3 of Tensor<>.init(randomNormal:mean:stddev:state:)
%73 = function_ref @$S10TensorFlow0A0VAASBRzrlE12randomNormal4mean6stddev5stateACyxGAA0A5ShapeV_xxAA11RandomStateCSgtcfcfA2_ : $@convention(thin) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> () -> @owned Optional<RandomState> // user: %74
%74 = apply %73<Float>() : $@convention(thin) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> () -> @owned Optional<RandomState> // user: %76
// function_ref Tensor<>.init(randomNormal:mean:stddev:state:)
%75 = function_ref @$S10TensorFlow0A0VAASBRzrlE12randomNormal4mean6stddev5stateACyxGAA0A5ShapeV_xxAA11RandomStateCSgtcfC : $@convention(method) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> (@owned TensorShape, @in τ_0_0, @in τ_0_0, @owned Optional<RandomState>, @thin Tensor<τ_0_0>.Type) -> @owned Tensor<τ_0_0> // user: %76
%76 = apply %75<Float>(%60, %65, %71, %74, %41) : $@convention(method) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> (@owned TensorShape, @in τ_0_0, @in τ_0_0, @owned Optional<RandomState>, @thin Tensor<τ_0_0>.Type) -> @owned Tensor<τ_0_0> // users: %117, %93, %81
dealloc_stack %71 : $*Float // id: %77
dealloc_stack %68 : $*Float // id: %78
dealloc_stack %65 : $*Float // id: %79
dealloc_stack %62 : $*Float // id: %80
debug_value %76 : $Tensor<Float>, let, name "labels" // id: %81
%82 = alloc_stack $Classifier, var, name "classifier" // users: %86, %116, %115, %91
%83 = metatype $@thin Classifier.Type // user: %85
// function_ref Classifier.init()
%84 = function_ref @$S7no_copy10ClassifierVACycfC : $@convention(method) (@thin Classifier.Type) -> @owned Classifier // user: %85
%85 = apply %84(%83) : $@convention(method) (@thin Classifier.Type) -> @owned Classifier // user: %86
store %85 to %82 : $*Classifier // id: %86
%87 = float_literal $Builtin.FPIEEE32, 0x3E99999A // 0.300000012 // user: %88
%88 = struct $Float (%87 : $Builtin.FPIEEE32) // user: %93
%89 = integer_literal $Builtin.Int64, 100 // user: %90
%90 = struct $Int (%89 : $Builtin.Int64) // user: %93
%91 = begin_access [modify] [static] %82 : $*Classifier // users: %94, %93
// function_ref Classifier.train(images:labels:learningRate:epochCount:)
%92 = function_ref @$S7no_copy10ClassifierV5train6images6labels12learningRate10epochCountSf10TensorFlow0K0VySfG_ALSfSitF : $@convention(method) (@guaranteed Tensor<Float>, @guaranteed Tensor<Float>, Float, Int, @inout Classifier) -> Float // user: %93
%93 = apply %92(%35, %76, %88, %90, %91) : $@convention(method) (@guaranteed Tensor<Float>, @guaranteed Tensor<Float>, Float, Int, @inout Classifier) -> Float // users: %105, %95
end_access %91 : $*Classifier // id: %94
debug_value %93 : $Float, let, name "loss" // id: %95
%96 = integer_literal $Builtin.Word, 1 // user: %98
// function_ref _allocateUninitializedArray<A>(_:)
%97 = function_ref @$Ss27_allocateUninitializedArrayySayxG_BptBwlF : $@convention(thin) <τ_0_0> (Builtin.Word) -> (@owned Array<τ_0_0>, Builtin.RawPointer) // user: %98
%98 = apply %97<Any>(%96) : $@convention(thin) <τ_0_0> (Builtin.Word) -> (@owned Array<τ_0_0>, Builtin.RawPointer) // users: %102, %99, %101
%99 = tuple_extract %98 : $(Array<Any>, Builtin.RawPointer), 0 // users: %114, %111, %100
retain_value %99 : $Array<Any> // id: %100
%101 = tuple_extract %98 : $(Array<Any>, Builtin.RawPointer), 1 // user: %103
release_value %98 : $(Array<Any>, Builtin.RawPointer) // id: %102
%103 = pointer_to_address %101 : $Builtin.RawPointer to [strict] $*Any // user: %104
%104 = init_existential_addr %103 : $*Any, $Float // user: %105
store %93 to %104 : $*Float // id: %105
// function_ref default argument 1 of print(_:separator:terminator:)
%106 = function_ref @$Ss5print_9separator10terminatoryypd_S2StFfA0_ : $@convention(thin) () -> @owned String // user: %107
%107 = apply %106() : $@convention(thin) () -> @owned String // users: %113, %111
// function_ref default argument 2 of print(_:separator:terminator:)
%108 = function_ref @$Ss5print_9separator10terminatoryypd_S2StFfA1_ : $@convention(thin) () -> @owned String // user: %109
%109 = apply %108() : $@convention(thin) () -> @owned String // users: %112, %111
// function_ref print(_:separator:terminator:)
%110 = function_ref @$Ss5print_9separator10terminatoryypd_S2StF : $@convention(thin) (@guaranteed Array<Any>, @guaranteed String, @guaranteed String) -> () // user: %111
%111 = apply %110(%99, %107, %109) : $@convention(thin) (@guaranteed Array<Any>, @guaranteed String, @guaranteed String) -> ()
release_value %109 : $String // id: %112
release_value %107 : $String // id: %113
release_value %99 : $Array<Any> // id: %114
destroy_addr %82 : $*Classifier // id: %115
dealloc_stack %82 : $*Classifier // id: %116
release_value %76 : $Tensor<Float> // id: %117
release_value %35 : $Tensor<Float> // id: %118
%119 = tuple () // user: %120
return %119 : $() // id: %120
} // end sil function '$S7no_copy5mnistyyF'
----
--- TFDeabstraction Result: $S7no_copy5mnistyyF
// mnist()
sil @$S7no_copy5mnistyyF : $@convention(thin) () -> () {
bb0:
%0 = metatype $@thin TensorShape.Type // user: %43
%1 = integer_literal $Builtin.Word, 2 // users: %7, %2
%2 = builtin "zextOrBitCast_Word_Int64"(%1 : $Builtin.Word) : $Builtin.Int64 // users: %5, %3
%3 = struct $Int (%2 : $Builtin.Int64) // users: %21, %10
%4 = integer_literal $Builtin.Int64, 0 // user: %5
%5 = builtin "cmp_slt_Int64"(%4 : $Builtin.Int64, %2 : $Builtin.Int64) : $Builtin.Int1 // user: %6
cond_br %5, bb1, bb3 // id: %6
bb1: // Preds: bb0
%7 = alloc_ref [tail_elems $Int32 * %1 : $Builtin.Word] $_ContiguousArrayStorage<Int32> // user: %10
%8 = metatype $@thin Array<Int32>.Type // user: %10
// function_ref static Array._adoptStorage(_:count:)
%9 = function_ref @$SSa13_adoptStorage_5countSayxG_SpyxGts016_ContiguousArrayB0CyxGn_SitFZ : $@convention(method) <τ_0_0> (@owned _ContiguousArrayStorage<τ_0_0>, Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // user: %10
%10 = apply %9<Int32>(%7, %3, %8) : $@convention(method) <τ_0_0> (@owned _ContiguousArrayStorage<τ_0_0>, Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // users: %12, %11
%11 = tuple_extract %10 : $(Array<Int32>, UnsafeMutablePointer<Int32>), 0 // user: %14
%12 = tuple_extract %10 : $(Array<Int32>, UnsafeMutablePointer<Int32>), 1 // user: %13
%13 = struct_extract %12 : $UnsafeMutablePointer<Int32>, #UnsafeMutablePointer._rawValue // user: %14
br bb2(%11 : $Array<Int32>, %13 : $Builtin.RawPointer) // id: %14
// %15 // user: %17
// %16 // user: %17
bb2(%15 : $Array<Int32>, %16 : $Builtin.RawPointer): // Preds: bb3 bb1
%17 = tuple (%15 : $Array<Int32>, %16 : $Builtin.RawPointer) // user: %18
br bb4(%17 : $(Array<Int32>, Builtin.RawPointer)) // id: %18
bb3: // Preds: bb0
%19 = metatype $@thin Array<Int32>.Type // user: %21
// function_ref static Array._allocateUninitialized(_:)
%20 = function_ref @$SSa22_allocateUninitializedySayxG_SpyxGtSiFZ : $@convention(method) <τ_0_0> (Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // user: %21
%21 = apply %20<Int32>(%3, %19) : $@convention(method) <τ_0_0> (Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // users: %23, %22
%22 = tuple_extract %21 : $(Array<Int32>, UnsafeMutablePointer<Int32>), 0 // user: %25
%23 = tuple_extract %21 : $(Array<Int32>, UnsafeMutablePointer<Int32>), 1 // user: %24
%24 = struct_extract %23 : $UnsafeMutablePointer<Int32>, #UnsafeMutablePointer._rawValue // user: %25
br bb2(%22 : $Array<Int32>, %24 : $Builtin.RawPointer) // id: %25
// %26 // users: %29, %27, %30
bb4(%26 : $(Array<Int32>, Builtin.RawPointer)): // Preds: bb2
%27 = tuple_extract %26 : $(Array<Int32>, Builtin.RawPointer), 0 // users: %46, %43, %41, %28
retain_value %27 : $Array<Int32> // id: %28
%29 = tuple_extract %26 : $(Array<Int32>, Builtin.RawPointer), 1 // user: %31
release_value %26 : $(Array<Int32>, Builtin.RawPointer) // id: %30
%31 = pointer_to_address %29 : $Builtin.RawPointer to [strict] $*Int32 // users: %34, %36
%32 = integer_literal $Builtin.Int32, 10 // user: %33
%33 = struct $Int32 (%32 : $Builtin.Int32) // user: %34
store %33 to %31 : $*Int32 // id: %34
%35 = integer_literal $Builtin.Word, 1 // user: %36
%36 = index_addr %31 : $*Int32, %35 : $Builtin.Word // user: %39
%37 = integer_literal $Builtin.Int32, 784 // user: %38
%38 = struct $Int32 (%37 : $Builtin.Int32) // user: %39
store %38 to %36 : $*Int32 // id: %39
%40 = alloc_stack $TensorShape // users: %48, %47, %44
retain_value %27 : $Array<Int32> // id: %41
// function_ref TensorShape.init(_:)
%42 = function_ref @$S10TensorFlow0A5ShapeVyACSays5Int32VGcfC : $@convention(method) (@owned Array<Int32>, @thin TensorShape.Type) -> @owned TensorShape // user: %43
%43 = apply %42(%27, %0) : $@convention(method) (@owned Array<Int32>, @thin TensorShape.Type) -> @owned TensorShape // users: %480, %257, %197, %166, %165, %161, %159, %157, %97, %66, %65, %61, %59, %45, %44
store %43 to %40 : $*TensorShape // id: %44
retain_value %43 : $TensorShape // id: %45
release_value %27 : $Array<Int32> // id: %46
destroy_addr %40 : $*TensorShape // id: %47
dealloc_stack %40 : $*TensorShape // id: %48
// function_ref default argument 1 of Tensor<>.init(randomNormal:mean:stddev:state:)
%49 = function_ref @$S10TensorFlow0A0VAASBRzrlE12randomNormal4mean6stddev5stateACyxGAA0A5ShapeV_xxAA11RandomStateCSgtcfcfA0_ : $@convention(thin) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> () -> @out τ_0_0 // user: %51
%50 = alloc_stack $Float // users: %52, %483, %51
%51 = apply %49<Float>(%50) : $@convention(thin) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> () -> @out τ_0_0
%52 = load %50 : $*Float // user: %445
// function_ref default argument 2 of Tensor<>.init(randomNormal:mean:stddev:state:)
%53 = function_ref @$S10TensorFlow0A0VAASBRzrlE12randomNormal4mean6stddev5stateACyxGAA0A5ShapeV_xxAA11RandomStateCSgtcfcfA1_ : $@convention(thin) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> () -> @out τ_0_0 // user: %55
%54 = alloc_stack $Float // users: %56, %482, %55
%55 = apply %53<Float>(%54) : $@convention(thin) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> () -> @out τ_0_0
%56 = load %54 : $*Float // user: %416
// function_ref default argument 3 of Tensor<>.init(randomNormal:mean:stddev:state:)
%57 = function_ref @$S10TensorFlow0A0VAASBRzrlE12randomNormal4mean6stddev5stateACyxGAA0A5ShapeV_xxAA11RandomStateCSgtcfcfA2_ : $@convention(thin) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> () -> @owned Optional<RandomState> // user: %58
%58 = apply %57<Float>() : $@convention(thin) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> () -> @owned Optional<RandomState> // users: %479, %256, %196, %166, %164, %162, %160, %156, %96, %66, %64, %62, %60
retain_value %43 : $TensorShape // id: %59
retain_value %58 : $Optional<RandomState> // id: %60
retain_value %43 : $TensorShape // id: %61
retain_value %58 : $Optional<RandomState> // id: %62
// function_ref closure #1 in Tensor<>.init(randomStandardUniform:state:)
%63 = function_ref @$S10TensorFlow0A0VAAs5Int32VRszrlE21randomStandardUniform5stateACyAEGAA0A5ShapeV_AA11RandomStateCSgtcfcAA0A6HandleCyAEGyXEfU_ : $@convention(thin) (@guaranteed Optional<RandomState>, @guaranteed TensorShape) -> @owned TensorHandle<Int32> // user: %66
retain_value %58 : $Optional<RandomState> // id: %64
retain_value %43 : $TensorShape // id: %65
%66 = partial_apply [callee_guaranteed] %63(%58, %43) : $@convention(thin) (@guaranteed Optional<RandomState>, @guaranteed TensorShape) -> @owned TensorHandle<Int32> // users: %73, %72, %68, %67
strong_retain %66 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %67
%68 = convert_escape_to_noescape %66 : $@callee_guaranteed () -> @owned TensorHandle<Int32> to $@noescape @callee_guaranteed () -> @owned TensorHandle<Int32> // user: %71
%69 = metatype $@thin Int32.Type // user: %71
// function_ref __tf_hoistable_Int32
%70 = function_ref @__tf_hoistable_Int32 : $@convention(method) (@noescape @callee_guaranteed () -> @owned TensorHandle<Int32>, @thin Int32.Type) -> @owned TensorHandle<Int32> // user: %71
%71 = apply %70(%68, %69) : $@convention(method) (@noescape @callee_guaranteed () -> @owned TensorHandle<Int32>, @thin Int32.Type) -> @owned TensorHandle<Int32> // users: %94, %78, %77, %76
strong_release %66 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %72
strong_release %66 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %73
%74 = alloc_stack $Tensor<Int32> // users: %75, %79, %82
%75 = struct_element_addr %74 : $*Tensor<Int32>, #Tensor.handle // user: %76
store %71 to %75 : $*TensorHandle<Int32> // id: %76
%77 = struct $Tensor<Int32> (%71 : $TensorHandle<Int32>) // user: %83
strong_retain %71 : $TensorHandle<Int32> // id: %78
%79 = load %74 : $*Tensor<Int32> // user: %80
%80 = struct_extract %79 : $Tensor<Int32>, #Tensor.handle // user: %81
strong_release %80 : $TensorHandle<Int32> // id: %81
dealloc_stack %74 : $*Tensor<Int32> // id: %82
%83 = struct_extract %77 : $Tensor<Int32>, #Tensor.handle // user: %85
// function_ref __tf_send
%84 = function_ref @__tf_send : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed TensorHandle<τ_0_0>) -> @owned TensorHandle<τ_0_0> // user: %85
%85 = apply %84<Int32>(%83) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed TensorHandle<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %115, %103, %102, %99, %98, %95, %89, %88
%86 = alloc_stack $Tensor<Int32> // users: %87, %90, %93
%87 = struct_element_addr %86 : $*Tensor<Int32>, #Tensor.handle // user: %88
store %85 to %87 : $*TensorHandle<Int32> // id: %88
strong_retain %85 : $TensorHandle<Int32> // id: %89
%90 = load %86 : $*Tensor<Int32> // user: %91
%91 = struct_extract %90 : $Tensor<Int32>, #Tensor.handle // user: %92
strong_release %91 : $TensorHandle<Int32> // id: %92
dealloc_stack %86 : $*Tensor<Int32> // id: %93
strong_release %71 : $TensorHandle<Int32> // id: %94
strong_retain %85 : $TensorHandle<Int32> // id: %95
release_value %58 : $Optional<RandomState> // id: %96
release_value %43 : $TensorShape // id: %97
strong_release %85 : $TensorHandle<Int32> // id: %98
strong_retain %85 : $TensorHandle<Int32> // id: %99
%100 = metatype $@thick Int32.Type // user: %102
%101 = metatype $@thick Float.Type // user: %102
%102 = builtin "__tfop_Cast,$in,SrcT,DstT"(%85 : $TensorHandle<Int32>, %100 : $@thick Int32.Type, %101 : $@thick Float.Type) : $TensorHandle<Float> // users: %154, %141, %139, %136, %116, %114, %113, %108, %104, %107
strong_release %85 : $TensorHandle<Int32> // id: %103
strong_retain %102 : $TensorHandle<Float> // id: %104
%105 = alloc_stack $Tensor<Float> // users: %106, %109, %112
%106 = struct_element_addr %105 : $*Tensor<Float>, #Tensor.handle // user: %107
store %102 to %106 : $*TensorHandle<Float> // id: %107
strong_retain %102 : $TensorHandle<Float> // id: %108
%109 = load %105 : $*Tensor<Float> // user: %110
%110 = struct_extract %109 : $Tensor<Float>, #Tensor.handle // user: %111
strong_release %110 : $TensorHandle<Float> // id: %111
dealloc_stack %105 : $*Tensor<Float> // id: %112
strong_release %102 : $TensorHandle<Float> // id: %113
strong_retain %102 : $TensorHandle<Float> // id: %114
strong_release %85 : $TensorHandle<Int32> // id: %115
strong_release %102 : $TensorHandle<Float> // id: %116
%117 = alloc_stack $Float // users: %123, %122, %153
%118 = metatype $@thick Float.Type // user: %122
%119 = integer_literal $Builtin.Int32, 2147483647 // user: %120
%120 = struct $Int32 (%119 : $Builtin.Int32) // user: %122
// function_ref protocol witness for FloatingPoint.init(_:) in conformance Float
%121 = function_ref @$SSfSFsSFyxs5Int32VcfCTW : $@convention(witness_method: FloatingPoint) (Int32, @thick Float.Type) -> @out Float // user: %122
%122 = apply %121(%117, %120, %118) : $@convention(witness_method: FloatingPoint) (Int32, @thick Float.Type) -> @out Float
%123 = load %117 : $*Float // user: %124
%124 = struct_extract %123 : $Float, #Float._value // user: %125
%125 = builtin "__tfop_tfc.scalarToTensor,$in"(%124 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %152, %140, %139, %137, %135, %134, %129, %128
%126 = alloc_stack $Tensor<Float> // users: %127, %130, %133
%127 = struct_element_addr %126 : $*Tensor<Float>, #Tensor.handle // user: %128
store %125 to %127 : $*TensorHandle<Float> // id: %128
strong_retain %125 : $TensorHandle<Float> // id: %129
%130 = load %126 : $*Tensor<Float> // user: %131
%131 = struct_extract %130 : $Tensor<Float>, #Tensor.handle // user: %132
strong_release %131 : $TensorHandle<Float> // id: %132
dealloc_stack %126 : $*Tensor<Float> // id: %133
strong_retain %125 : $TensorHandle<Float> // id: %134
strong_release %125 : $TensorHandle<Float> // id: %135
strong_retain %102 : $TensorHandle<Float> // id: %136
strong_retain %125 : $TensorHandle<Float> // id: %137
%138 = metatype $@thick Float.Type // user: %139
%139 = builtin "__tfop_Div,$in,$in,T"(%102 : $TensorHandle<Float>, %125 : $TensorHandle<Float>, %138 : $@thick Float.Type) : $TensorHandle<Float> // users: %477, %270, %269, %267, %158, %155, %151, %146, %142, %145
strong_release %125 : $TensorHandle<Float> // id: %140
strong_release %102 : $TensorHandle<Float> // id: %141
strong_retain %139 : $TensorHandle<Float> // id: %142
%143 = alloc_stack $Tensor<Float> // users: %144, %147, %150
%144 = struct_element_addr %143 : $*Tensor<Float>, #Tensor.handle // user: %145
store %139 to %144 : $*TensorHandle<Float> // id: %145
strong_retain %139 : $TensorHandle<Float> // id: %146
%147 = load %143 : $*Tensor<Float> // user: %148
%148 = struct_extract %147 : $Tensor<Float>, #Tensor.handle // user: %149
strong_release %148 : $TensorHandle<Float> // id: %149
dealloc_stack %143 : $*Tensor<Float> // id: %150
strong_release %139 : $TensorHandle<Float> // id: %151
strong_release %125 : $TensorHandle<Float> // id: %152
dealloc_stack %117 : $*Float // id: %153
strong_release %102 : $TensorHandle<Float> // id: %154
strong_retain %139 : $TensorHandle<Float> // id: %155
release_value %58 : $Optional<RandomState> // id: %156
release_value %43 : $TensorShape // id: %157
strong_release %139 : $TensorHandle<Float> // id: %158
retain_value %43 : $TensorShape // id: %159
retain_value %58 : $Optional<RandomState> // id: %160
retain_value %43 : $TensorShape // id: %161
retain_value %58 : $Optional<RandomState> // id: %162
// function_ref closure #1 in Tensor<>.init(randomStandardUniform:state:)
%163 = function_ref @$S10TensorFlow0A0VAAs5Int32VRszrlE21randomStandardUniform5stateACyAEGAA0A5ShapeV_AA11RandomStateCSgtcfcAA0A6HandleCyAEGyXEfU_ : $@convention(thin) (@guaranteed Optional<RandomState>, @guaranteed TensorShape) -> @owned TensorHandle<Int32> // user: %166
retain_value %58 : $Optional<RandomState> // id: %164
retain_value %43 : $TensorShape // id: %165
%166 = partial_apply [callee_guaranteed] %163(%58, %43) : $@convention(thin) (@guaranteed Optional<RandomState>, @guaranteed TensorShape) -> @owned TensorHandle<Int32> // users: %173, %172, %168, %167
strong_retain %166 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %167
%168 = convert_escape_to_noescape %166 : $@callee_guaranteed () -> @owned TensorHandle<Int32> to $@noescape @callee_guaranteed () -> @owned TensorHandle<Int32> // user: %171
%169 = metatype $@thin Int32.Type // user: %171
// function_ref __tf_hoistable_Int32
%170 = function_ref @__tf_hoistable_Int32 : $@convention(method) (@noescape @callee_guaranteed () -> @owned TensorHandle<Int32>, @thin Int32.Type) -> @owned TensorHandle<Int32> // user: %171
%171 = apply %170(%168, %169) : $@convention(method) (@noescape @callee_guaranteed () -> @owned TensorHandle<Int32>, @thin Int32.Type) -> @owned TensorHandle<Int32> // users: %194, %178, %177, %176
strong_release %166 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %172
strong_release %166 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %173
%174 = alloc_stack $Tensor<Int32> // users: %175, %179, %182
%175 = struct_element_addr %174 : $*Tensor<Int32>, #Tensor.handle // user: %176
store %171 to %175 : $*TensorHandle<Int32> // id: %176
%177 = struct $Tensor<Int32> (%171 : $TensorHandle<Int32>) // user: %183
strong_retain %171 : $TensorHandle<Int32> // id: %178
%179 = load %174 : $*Tensor<Int32> // user: %180
%180 = struct_extract %179 : $Tensor<Int32>, #Tensor.handle // user: %181
strong_release %180 : $TensorHandle<Int32> // id: %181
dealloc_stack %174 : $*Tensor<Int32> // id: %182
%183 = struct_extract %177 : $Tensor<Int32>, #Tensor.handle // user: %185
// function_ref __tf_send
%184 = function_ref @__tf_send : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed TensorHandle<τ_0_0>) -> @owned TensorHandle<τ_0_0> // user: %185
%185 = apply %184<Int32>(%183) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed TensorHandle<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %215, %203, %202, %199, %198, %195, %189, %188
%186 = alloc_stack $Tensor<Int32> // users: %187, %190, %193
%187 = struct_element_addr %186 : $*Tensor<Int32>, #Tensor.handle // user: %188
store %185 to %187 : $*TensorHandle<Int32> // id: %188
strong_retain %185 : $TensorHandle<Int32> // id: %189
%190 = load %186 : $*Tensor<Int32> // user: %191
%191 = struct_extract %190 : $Tensor<Int32>, #Tensor.handle // user: %192
strong_release %191 : $TensorHandle<Int32> // id: %192
dealloc_stack %186 : $*Tensor<Int32> // id: %193
strong_release %171 : $TensorHandle<Int32> // id: %194
strong_retain %185 : $TensorHandle<Int32> // id: %195
release_value %58 : $Optional<RandomState> // id: %196
release_value %43 : $TensorShape // id: %197
strong_release %185 : $TensorHandle<Int32> // id: %198
strong_retain %185 : $TensorHandle<Int32> // id: %199
%200 = metatype $@thick Int32.Type // user: %202
%201 = metatype $@thick Float.Type // user: %202
%202 = builtin "__tfop_Cast,$in,SrcT,DstT"(%185 : $TensorHandle<Int32>, %200 : $@thick Int32.Type, %201 : $@thick Float.Type) : $TensorHandle<Float> // users: %254, %241, %239, %236, %216, %214, %213, %208, %204, %207
strong_release %185 : $TensorHandle<Int32> // id: %203
strong_retain %202 : $TensorHandle<Float> // id: %204
%205 = alloc_stack $Tensor<Float> // users: %206, %209, %212
%206 = struct_element_addr %205 : $*Tensor<Float>, #Tensor.handle // user: %207
store %202 to %206 : $*TensorHandle<Float> // id: %207
strong_retain %202 : $TensorHandle<Float> // id: %208
%209 = load %205 : $*Tensor<Float> // user: %210
%210 = struct_extract %209 : $Tensor<Float>, #Tensor.handle // user: %211
strong_release %210 : $TensorHandle<Float> // id: %211
dealloc_stack %205 : $*Tensor<Float> // id: %212
strong_release %202 : $TensorHandle<Float> // id: %213
strong_retain %202 : $TensorHandle<Float> // id: %214
strong_release %185 : $TensorHandle<Int32> // id: %215
strong_release %202 : $TensorHandle<Float> // id: %216
%217 = alloc_stack $Float // users: %223, %222, %253
%218 = metatype $@thick Float.Type // user: %222
%219 = integer_literal $Builtin.Int32, 2147483647 // user: %220
%220 = struct $Int32 (%219 : $Builtin.Int32) // user: %222
// function_ref protocol witness for FloatingPoint.init(_:) in conformance Float
%221 = function_ref @$SSfSFsSFyxs5Int32VcfCTW : $@convention(witness_method: FloatingPoint) (Int32, @thick Float.Type) -> @out Float // user: %222
%222 = apply %221(%217, %220, %218) : $@convention(witness_method: FloatingPoint) (Int32, @thick Float.Type) -> @out Float
%223 = load %217 : $*Float // user: %224
%224 = struct_extract %223 : $Float, #Float._value // user: %225
%225 = builtin "__tfop_tfc.scalarToTensor,$in"(%224 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %252, %240, %239, %237, %235, %234, %229, %228
%226 = alloc_stack $Tensor<Float> // users: %227, %230, %233
%227 = struct_element_addr %226 : $*Tensor<Float>, #Tensor.handle // user: %228
store %225 to %227 : $*TensorHandle<Float> // id: %228
strong_retain %225 : $TensorHandle<Float> // id: %229
%230 = load %226 : $*Tensor<Float> // user: %231
%231 = struct_extract %230 : $Tensor<Float>, #Tensor.handle // user: %232
strong_release %231 : $TensorHandle<Float> // id: %232
dealloc_stack %226 : $*Tensor<Float> // id: %233
strong_retain %225 : $TensorHandle<Float> // id: %234
strong_release %225 : $TensorHandle<Float> // id: %235
strong_retain %202 : $TensorHandle<Float> // id: %236
strong_retain %225 : $TensorHandle<Float> // id: %237
%238 = metatype $@thick Float.Type // user: %239
%239 = builtin "__tfop_Div,$in,$in,T"(%202 : $TensorHandle<Float>, %225 : $TensorHandle<Float>, %238 : $@thick Float.Type) : $TensorHandle<Float> // users: %476, %369, %368, %366, %258, %255, %251, %246, %242, %245
strong_release %225 : $TensorHandle<Float> // id: %240
strong_release %202 : $TensorHandle<Float> // id: %241
strong_retain %239 : $TensorHandle<Float> // id: %242
%243 = alloc_stack $Tensor<Float> // users: %244, %247, %250
%244 = struct_element_addr %243 : $*Tensor<Float>, #Tensor.handle // user: %245
store %239 to %244 : $*TensorHandle<Float> // id: %245
strong_retain %239 : $TensorHandle<Float> // id: %246
%247 = load %243 : $*Tensor<Float> // user: %248
%248 = struct_extract %247 : $Tensor<Float>, #Tensor.handle // user: %249
strong_release %248 : $TensorHandle<Float> // id: %249
dealloc_stack %243 : $*Tensor<Float> // id: %250
strong_release %239 : $TensorHandle<Float> // id: %251
strong_release %225 : $TensorHandle<Float> // id: %252
dealloc_stack %217 : $*Float // id: %253
strong_release %202 : $TensorHandle<Float> // id: %254
strong_retain %239 : $TensorHandle<Float> // id: %255
release_value %58 : $Optional<RandomState> // id: %256
release_value %43 : $TensorShape // id: %257
strong_release %239 : $TensorHandle<Float> // id: %258
%259 = integer_literal $Builtin.Int2048, -2 // user: %260
%260 = builtin "s_to_s_checked_trunc_Int2048_Int64"(%259 : $Builtin.Int2048) : $(Builtin.Int64, Builtin.Int1) // user: %261
%261 = tuple_extract %260 : $(Builtin.Int64, Builtin.Int1), 0 // user: %262
%262 = struct $Int64 (%261 : $Builtin.Int64) // user: %264
%263 = tuple ()
%264 = struct_extract %262 : $Int64, #Int64._value // user: %265
%265 = builtin "sitofp_Int64_FPIEEE32"(%264 : $Builtin.Int64) : $Builtin.FPIEEE32 // user: %281
%266 = tuple ()
strong_retain %139 : $TensorHandle<Float> // id: %267
%268 = metatype $@thick Float.Type // user: %269
%269 = builtin "__tfop_Log,$in,T"(%139 : $TensorHandle<Float>, %268 : $@thick Float.Type) : $TensorHandle<Float> // users: %309, %296, %295, %293, %280, %275, %271, %274
strong_release %139 : $TensorHandle<Float> // id: %270
strong_retain %269 : $TensorHandle<Float> // id: %271
%272 = alloc_stack $Tensor<Float> // users: %273, %276, %279
%273 = struct_element_addr %272 : $*Tensor<Float>, #Tensor.handle // user: %274
store %269 to %273 : $*TensorHandle<Float> // id: %274
strong_retain %269 : $TensorHandle<Float> // id: %275
%276 = load %272 : $*Tensor<Float> // user: %277
%277 = struct_extract %276 : $Tensor<Float>, #Tensor.handle // user: %278
strong_release %277 : $TensorHandle<Float> // id: %278
dealloc_stack %272 : $*Tensor<Float> // id: %279
strong_release %269 : $TensorHandle<Float> // id: %280
%281 = builtin "__tfop_tfc.scalarToTensor,$in"(%265 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %308, %297, %295, %292, %291, %290, %285, %284
%282 = alloc_stack $Tensor<Float> // users: %283, %286, %289
%283 = struct_element_addr %282 : $*Tensor<Float>, #Tensor.handle // user: %284
store %281 to %283 : $*TensorHandle<Float> // id: %284
strong_retain %281 : $TensorHandle<Float> // id: %285
%286 = load %282 : $*Tensor<Float> // user: %287
%287 = struct_extract %286 : $Tensor<Float>, #Tensor.handle // user: %288
strong_release %287 : $TensorHandle<Float> // id: %288
dealloc_stack %282 : $*Tensor<Float> // id: %289
strong_retain %281 : $TensorHandle<Float> // id: %290
strong_release %281 : $TensorHandle<Float> // id: %291
strong_retain %281 : $TensorHandle<Float> // id: %292
strong_retain %269 : $TensorHandle<Float> // id: %293
%294 = metatype $@thick Float.Type // user: %295
%295 = builtin "__tfop_Mul,$in,$in,T"(%281 : $TensorHandle<Float>, %269 : $TensorHandle<Float>, %294 : $@thick Float.Type) : $TensorHandle<Float> // users: %324, %313, %312, %310, %307, %302, %298, %301
strong_release %269 : $TensorHandle<Float> // id: %296
strong_release %281 : $TensorHandle<Float> // id: %297
strong_retain %295 : $TensorHandle<Float> // id: %298
%299 = alloc_stack $Tensor<Float> // users: %300, %303, %306
%300 = struct_element_addr %299 : $*Tensor<Float>, #Tensor.handle // user: %301
store %295 to %300 : $*TensorHandle<Float> // id: %301
strong_retain %295 : $TensorHandle<Float> // id: %302
%303 = load %299 : $*Tensor<Float> // user: %304
%304 = struct_extract %303 : $Tensor<Float>, #Tensor.handle // user: %305
strong_release %304 : $TensorHandle<Float> // id: %305
dealloc_stack %299 : $*Tensor<Float> // id: %306
strong_release %295 : $TensorHandle<Float> // id: %307
strong_release %281 : $TensorHandle<Float> // id: %308
strong_release %269 : $TensorHandle<Float> // id: %309
strong_retain %295 : $TensorHandle<Float> // id: %310
%311 = metatype $@thick Float.Type // user: %312
%312 = builtin "__tfop_Sqrt,$in,T"(%295 : $TensorHandle<Float>, %311 : $@thick Float.Type) : $TensorHandle<Float> // users: %415, %403, %401, %398, %323, %318, %314, %317
strong_release %295 : $TensorHandle<Float> // id: %313
strong_retain %312 : $TensorHandle<Float> // id: %314
%315 = alloc_stack $Tensor<Float> // users: %316, %319, %322
%316 = struct_element_addr %315 : $*Tensor<Float>, #Tensor.handle // user: %317
store %312 to %316 : $*TensorHandle<Float> // id: %317
strong_retain %312 : $TensorHandle<Float> // id: %318
%319 = load %315 : $*Tensor<Float> // user: %320
%320 = struct_extract %319 : $Tensor<Float>, #Tensor.handle // user: %321
strong_release %320 : $TensorHandle<Float> // id: %321
dealloc_stack %315 : $*Tensor<Float> // id: %322
strong_release %312 : $TensorHandle<Float> // id: %323
strong_release %295 : $TensorHandle<Float> // id: %324
%325 = alloc_stack $Float // users: %352, %347, %382
%326 = metatype $@thick Float.Type // user: %347
%327 = alloc_stack $Float // users: %347, %339, %351, %350
%328 = alloc_stack $Int64 // users: %335, %333, %341
%329 = integer_literal $Builtin.Int2048, 2 // user: %330
%330 = builtin "s_to_s_checked_trunc_Int2048_Int64"(%329 : $Builtin.Int2048) : $(Builtin.Int64, Builtin.Int1) // user: %331
%331 = tuple_extract %330 : $(Builtin.Int64, Builtin.Int1), 0 // user: %332
%332 = struct $Int64 (%331 : $Builtin.Int64) // user: %333
store %332 to %328 : $*Int64 // id: %333
%334 = tuple ()
%335 = struct_element_addr %328 : $*Int64, #Int64._value // user: %336
%336 = load %335 : $*Builtin.Int64 // user: %337
%337 = builtin "sitofp_Int64_FPIEEE32"(%336 : $Builtin.Int64) : $Builtin.FPIEEE32 // user: %338
%338 = struct $Float (%337 : $Builtin.FPIEEE32) // user: %339
store %338 to %327 : $*Float // id: %339
%340 = tuple ()
dealloc_stack %328 : $*Int64 // id: %341
%342 = metatype $@thick Float.Type // user: %345
%343 = alloc_stack $Float // users: %347, %345, %349, %348
// function_ref protocol witness for static FloatingPoint.pi.getter in conformance Float
%344 = function_ref @$SSfSFsSF2pixvgZTW : $@convention(witness_method: FloatingPoint) (@thick Float.Type) -> @out Float // user: %345
%345 = apply %344(%343, %342) : $@convention(witness_method: FloatingPoint) (@thick Float.Type) -> @out Float
// function_ref protocol witness for static FloatingPoint.* infix(_:_:) in conformance Float
%346 = function_ref @$SSfSFsSF1moiyxx_xtFZTW : $@convention(witness_method: FloatingPoint) (@in_guaranteed Float, @in_guaranteed Float, @thick Float.Type) -> @out Float // user: %347
%347 = apply %346(%325, %327, %343, %326) : $@convention(witness_method: FloatingPoint) (@in_guaranteed Float, @in_guaranteed Float, @thick Float.Type) -> @out Float
destroy_addr %343 : $*Float // id: %348
dealloc_stack %343 : $*Float // id: %349
destroy_addr %327 : $*Float // id: %350
dealloc_stack %327 : $*Float // id: %351
%352 = load %325 : $*Float // user: %353
%353 = struct_extract %352 : $Float, #Float._value // user: %354
%354 = builtin "__tfop_tfc.scalarToTensor,$in"(%353 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %381, %370, %368, %365, %364, %363, %358, %357
%355 = alloc_stack $Tensor<Float> // users: %356, %359, %362
%356 = struct_element_addr %355 : $*Tensor<Float>, #Tensor.handle // user: %357
store %354 to %356 : $*TensorHandle<Float> // id: %357
strong_retain %354 : $TensorHandle<Float> // id: %358
%359 = load %355 : $*Tensor<Float> // user: %360
%360 = struct_extract %359 : $Tensor<Float>, #Tensor.handle // user: %361
strong_release %360 : $TensorHandle<Float> // id: %361
dealloc_stack %355 : $*Tensor<Float> // id: %362
strong_retain %354 : $TensorHandle<Float> // id: %363
strong_release %354 : $TensorHandle<Float> // id: %364
strong_retain %354 : $TensorHandle<Float> // id: %365
strong_retain %239 : $TensorHandle<Float> // id: %366
%367 = metatype $@thick Float.Type // user: %368
%368 = builtin "__tfop_Mul,$in,$in,T"(%354 : $TensorHandle<Float>, %239 : $TensorHandle<Float>, %367 : $@thick Float.Type) : $TensorHandle<Float> // users: %397, %386, %385, %383, %380, %375, %371, %374
strong_release %239 : $TensorHandle<Float> // id: %369
strong_release %354 : $TensorHandle<Float> // id: %370
strong_retain %368 : $TensorHandle<Float> // id: %371
%372 = alloc_stack $Tensor<Float> // users: %373, %376, %379
%373 = struct_element_addr %372 : $*Tensor<Float>, #Tensor.handle // user: %374
store %368 to %373 : $*TensorHandle<Float> // id: %374
strong_retain %368 : $TensorHandle<Float> // id: %375
%376 = load %372 : $*Tensor<Float> // user: %377
%377 = struct_extract %376 : $Tensor<Float>, #Tensor.handle // user: %378
strong_release %377 : $TensorHandle<Float> // id: %378
dealloc_stack %372 : $*Tensor<Float> // id: %379
strong_release %368 : $TensorHandle<Float> // id: %380
strong_release %354 : $TensorHandle<Float> // id: %381
dealloc_stack %325 : $*Float // id: %382
strong_retain %368 : $TensorHandle<Float> // id: %383
%384 = metatype $@thick Float.Type // user: %385
%385 = builtin "__tfop_Cos,$in,T"(%368 : $TensorHandle<Float>, %384 : $@thick Float.Type) : $TensorHandle<Float> // users: %414, %402, %401, %399, %396, %391, %387, %390
strong_release %368 : $TensorHandle<Float> // id: %386
strong_retain %385 : $TensorHandle<Float> // id: %387
%388 = alloc_stack $Tensor<Float> // users: %389, %392, %395
%389 = struct_element_addr %388 : $*Tensor<Float>, #Tensor.handle // user: %390
store %385 to %389 : $*TensorHandle<Float> // id: %390
strong_retain %385 : $TensorHandle<Float> // id: %391
%392 = load %388 : $*Tensor<Float> // user: %393
%393 = struct_extract %392 : $Tensor<Float>, #Tensor.handle // user: %394
strong_release %393 : $TensorHandle<Float> // id: %394
dealloc_stack %388 : $*Tensor<Float> // id: %395
strong_release %385 : $TensorHandle<Float> // id: %396
strong_release %368 : $TensorHandle<Float> // id: %397
strong_retain %312 : $TensorHandle<Float> // id: %398
strong_retain %385 : $TensorHandle<Float> // id: %399
%400 = metatype $@thick Float.Type // user: %401
%401 = builtin "__tfop_Mul,$in,$in,T"(%312 : $TensorHandle<Float>, %385 : $TensorHandle<Float>, %400 : $@thick Float.Type) : $TensorHandle<Float> // users: %475, %433, %431, %428, %413, %408, %404, %407
strong_release %385 : $TensorHandle<Float> // id: %402
strong_release %312 : $TensorHandle<Float> // id: %403
strong_retain %401 : $TensorHandle<Float> // id: %404
%405 = alloc_stack $Tensor<Float> // users: %406, %409, %412
%406 = struct_element_addr %405 : $*Tensor<Float>, #Tensor.handle // user: %407
store %401 to %406 : $*TensorHandle<Float> // id: %407
strong_retain %401 : $TensorHandle<Float> // id: %408
%409 = load %405 : $*Tensor<Float> // user: %410
%410 = struct_extract %409 : $Tensor<Float>, #Tensor.handle // user: %411
strong_release %410 : $TensorHandle<Float> // id: %411
dealloc_stack %405 : $*Tensor<Float> // id: %412
strong_release %401 : $TensorHandle<Float> // id: %413
strong_release %385 : $TensorHandle<Float> // id: %414
strong_release %312 : $TensorHandle<Float> // id: %415
%416 = struct_extract %56 : $Float, #Float._value // user: %417
%417 = builtin "__tfop_tfc.scalarToTensor,$in"(%416 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %444, %432, %431, %429, %427, %426, %421, %420
%418 = alloc_stack $Tensor<Float> // users: %419, %422, %425
%419 = struct_element_addr %418 : $*Tensor<Float>, #Tensor.handle // user: %420
store %417 to %419 : $*TensorHandle<Float> // id: %420
strong_retain %417 : $TensorHandle<Float> // id: %421
%422 = load %418 : $*Tensor<Float> // user: %423
%423 = struct_extract %422 : $Tensor<Float>, #Tensor.handle // user: %424
strong_release %423 : $TensorHandle<Float> // id: %424
dealloc_stack %418 : $*Tensor<Float> // id: %425
strong_retain %417 : $TensorHandle<Float> // id: %426
strong_release %417 : $TensorHandle<Float> // id: %427
strong_retain %401 : $TensorHandle<Float> // id: %428
strong_retain %417 : $TensorHandle<Float> // id: %429
%430 = metatype $@thick Float.Type // user: %431
%431 = builtin "__tfop_Mul,$in,$in,T"(%401 : $TensorHandle<Float>, %417 : $TensorHandle<Float>, %430 : $@thick Float.Type) : $TensorHandle<Float> // users: %474, %462, %460, %457, %443, %438, %434, %437
strong_release %417 : $TensorHandle<Float> // id: %432
strong_release %401 : $TensorHandle<Float> // id: %433
strong_retain %431 : $TensorHandle<Float> // id: %434
%435 = alloc_stack $Tensor<Float> // users: %436, %439, %442
%436 = struct_element_addr %435 : $*Tensor<Float>, #Tensor.handle // user: %437
store %431 to %436 : $*TensorHandle<Float> // id: %437
strong_retain %431 : $TensorHandle<Float> // id: %438
%439 = load %435 : $*Tensor<Float> // user: %440
%440 = struct_extract %439 : $Tensor<Float>, #Tensor.handle // user: %441
strong_release %440 : $TensorHandle<Float> // id: %441
dealloc_stack %435 : $*Tensor<Float> // id: %442
strong_release %431 : $TensorHandle<Float> // id: %443
strong_release %417 : $TensorHandle<Float> // id: %444
%445 = struct_extract %52 : $Float, #Float._value // user: %446
%446 = builtin "__tfop_tfc.scalarToTensor,$in"(%445 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %473, %461, %460, %458, %456, %455, %450, %449
%447 = alloc_stack $Tensor<Float> // users: %448, %451, %454
%448 = struct_element_addr %447 : $*Tensor<Float>, #Tensor.handle // user: %449
store %446 to %448 : $*TensorHandle<Float> // id: %449
strong_retain %446 : $TensorHandle<Float> // id: %450
%451 = load %447 : $*Tensor<Float> // user: %452
%452 = struct_extract %451 : $Tensor<Float>, #Tensor.handle // user: %453
strong_release %452 : $TensorHandle<Float> // id: %453
dealloc_stack %447 : $*Tensor<Float> // id: %454
strong_retain %446 : $TensorHandle<Float> // id: %455
strong_release %446 : $TensorHandle<Float> // id: %456
strong_retain %431 : $TensorHandle<Float> // id: %457
strong_retain %446 : $TensorHandle<Float> // id: %458
%459 = metatype $@thick Float.Type // user: %460
%460 = builtin "__tfop_Add,$in,$in,T"(%431 : $TensorHandle<Float>, %446 : $TensorHandle<Float>, %459 : $@thick Float.Type) : $TensorHandle<Float> // users: %1695, %1560, %1558, %1552, %481, %478, %472, %467, %463, %466
strong_release %446 : $TensorHandle<Float> // id: %461
strong_release %431 : $TensorHandle<Float> // id: %462
strong_retain %460 : $TensorHandle<Float> // id: %463
%464 = alloc_stack $Tensor<Float> // users: %465, %468, %471
%465 = struct_element_addr %464 : $*Tensor<Float>, #Tensor.handle // user: %466
store %460 to %465 : $*TensorHandle<Float> // id: %466
strong_retain %460 : $TensorHandle<Float> // id: %467
%468 = load %464 : $*Tensor<Float> // user: %469
%469 = struct_extract %468 : $Tensor<Float>, #Tensor.handle // user: %470
strong_release %469 : $TensorHandle<Float> // id: %470
dealloc_stack %464 : $*Tensor<Float> // id: %471
strong_release %460 : $TensorHandle<Float> // id: %472
strong_release %446 : $TensorHandle<Float> // id: %473
strong_release %431 : $TensorHandle<Float> // id: %474
strong_release %401 : $TensorHandle<Float> // id: %475
strong_release %239 : $TensorHandle<Float> // id: %476
strong_release %139 : $TensorHandle<Float> // id: %477
strong_retain %460 : $TensorHandle<Float> // id: %478
release_value %58 : $Optional<RandomState> // id: %479
release_value %43 : $TensorShape // id: %480
strong_release %460 : $TensorHandle<Float> // id: %481
dealloc_stack %54 : $*Float // id: %482
dealloc_stack %50 : $*Float // id: %483
%484 = metatype $@thin TensorShape.Type // user: %527
%485 = integer_literal $Builtin.Word, 2 // users: %491, %486
%486 = builtin "zextOrBitCast_Word_Int64"(%485 : $Builtin.Word) : $Builtin.Int64 // users: %489, %487
%487 = struct $Int (%486 : $Builtin.Int64) // users: %505, %494
%488 = integer_literal $Builtin.Int64, 0 // user: %489
%489 = builtin "cmp_slt_Int64"(%488 : $Builtin.Int64, %486 : $Builtin.Int64) : $Builtin.Int1 // user: %490
cond_br %489, bb5, bb7 // id: %490
bb5: // Preds: bb4
%491 = alloc_ref [tail_elems $Int32 * %485 : $Builtin.Word] $_ContiguousArrayStorage<Int32> // user: %494
%492 = metatype $@thin Array<Int32>.Type // user: %494
// function_ref static Array._adoptStorage(_:count:)
%493 = function_ref @$SSa13_adoptStorage_5countSayxG_SpyxGts016_ContiguousArrayB0CyxGn_SitFZ : $@convention(method) <τ_0_0> (@owned _ContiguousArrayStorage<τ_0_0>, Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // user: %494
%494 = apply %493<Int32>(%491, %487, %492) : $@convention(method) <τ_0_0> (@owned _ContiguousArrayStorage<τ_0_0>, Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // users: %496, %495
%495 = tuple_extract %494 : $(Array<Int32>, UnsafeMutablePointer<Int32>), 0 // user: %498
%496 = tuple_extract %494 : $(Array<Int32>, UnsafeMutablePointer<Int32>), 1 // user: %497
%497 = struct_extract %496 : $UnsafeMutablePointer<Int32>, #UnsafeMutablePointer._rawValue // user: %498
br bb6(%495 : $Array<Int32>, %497 : $Builtin.RawPointer) // id: %498
// %499 // user: %501
// %500 // user: %501
bb6(%499 : $Array<Int32>, %500 : $Builtin.RawPointer): // Preds: bb7 bb5
%501 = tuple (%499 : $Array<Int32>, %500 : $Builtin.RawPointer) // user: %502
br bb8(%501 : $(Array<Int32>, Builtin.RawPointer)) // id: %502
bb7: // Preds: bb4
%503 = metatype $@thin Array<Int32>.Type // user: %505
// function_ref static Array._allocateUninitialized(_:)
%504 = function_ref @$SSa22_allocateUninitializedySayxG_SpyxGtSiFZ : $@convention(method) <τ_0_0> (Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // user: %505
%505 = apply %504<Int32>(%487, %503) : $@convention(method) <τ_0_0> (Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // users: %507, %506
%506 = tuple_extract %505 : $(Array<Int32>, UnsafeMutablePointer<Int32>), 0 // user: %509
%507 = tuple_extract %505 : $(Array<Int32>, UnsafeMutablePointer<Int32>), 1 // user: %508
%508 = struct_extract %507 : $UnsafeMutablePointer<Int32>, #UnsafeMutablePointer._rawValue // user: %509
br bb6(%506 : $Array<Int32>, %508 : $Builtin.RawPointer) // id: %509
// %510 // users: %513, %511, %514
bb8(%510 : $(Array<Int32>, Builtin.RawPointer)): // Preds: bb6
%511 = tuple_extract %510 : $(Array<Int32>, Builtin.RawPointer), 0 // users: %530, %527, %525, %512
retain_value %511 : $Array<Int32> // id: %512
%513 = tuple_extract %510 : $(Array<Int32>, Builtin.RawPointer), 1 // user: %515
release_value %510 : $(Array<Int32>, Builtin.RawPointer) // id: %514
%515 = pointer_to_address %513 : $Builtin.RawPointer to [strict] $*Int32 // users: %518, %520
%516 = integer_literal $Builtin.Int32, 10 // user: %517
%517 = struct $Int32 (%516 : $Builtin.Int32) // user: %518
store %517 to %515 : $*Int32 // id: %518
%519 = integer_literal $Builtin.Word, 1 // user: %520
%520 = index_addr %515 : $*Int32, %519 : $Builtin.Word // user: %523
%521 = integer_literal $Builtin.Int32, 10 // user: %522
%522 = struct $Int32 (%521 : $Builtin.Int32) // user: %523
store %522 to %520 : $*Int32 // id: %523
%524 = alloc_stack $TensorShape // users: %532, %531, %528
retain_value %511 : $Array<Int32> // id: %525
// function_ref TensorShape.init(_:)
%526 = function_ref @$S10TensorFlow0A5ShapeVyACSays5Int32VGcfC : $@convention(method) (@owned Array<Int32>, @thin TensorShape.Type) -> @owned TensorShape // user: %527
%527 = apply %526(%511, %484) : $@convention(method) (@owned Array<Int32>, @thin TensorShape.Type) -> @owned TensorShape // users: %964, %741, %681, %650, %649, %645, %643, %641, %581, %550, %549, %545, %543, %529, %528
store %527 to %524 : $*TensorShape // id: %528
retain_value %527 : $TensorShape // id: %529
release_value %511 : $Array<Int32> // id: %530
destroy_addr %524 : $*TensorShape // id: %531
dealloc_stack %524 : $*TensorShape // id: %532
// function_ref default argument 1 of Tensor<>.init(randomNormal:mean:stddev:state:)
%533 = function_ref @$S10TensorFlow0A0VAASBRzrlE12randomNormal4mean6stddev5stateACyxGAA0A5ShapeV_xxAA11RandomStateCSgtcfcfA0_ : $@convention(thin) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> () -> @out τ_0_0 // user: %535
%534 = alloc_stack $Float // users: %536, %967, %535
%535 = apply %533<Float>(%534) : $@convention(thin) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> () -> @out τ_0_0
%536 = load %534 : $*Float // user: %929
// function_ref default argument 2 of Tensor<>.init(randomNormal:mean:stddev:state:)
%537 = function_ref @$S10TensorFlow0A0VAASBRzrlE12randomNormal4mean6stddev5stateACyxGAA0A5ShapeV_xxAA11RandomStateCSgtcfcfA1_ : $@convention(thin) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> () -> @out τ_0_0 // user: %539
%538 = alloc_stack $Float // users: %540, %966, %539
%539 = apply %537<Float>(%538) : $@convention(thin) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> () -> @out τ_0_0
%540 = load %538 : $*Float // user: %900
// function_ref default argument 3 of Tensor<>.init(randomNormal:mean:stddev:state:)
%541 = function_ref @$S10TensorFlow0A0VAASBRzrlE12randomNormal4mean6stddev5stateACyxGAA0A5ShapeV_xxAA11RandomStateCSgtcfcfA2_ : $@convention(thin) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> () -> @owned Optional<RandomState> // user: %542
%542 = apply %541<Float>() : $@convention(thin) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> () -> @owned Optional<RandomState> // users: %963, %740, %680, %650, %648, %646, %644, %640, %580, %550, %548, %546, %544
retain_value %527 : $TensorShape // id: %543
retain_value %542 : $Optional<RandomState> // id: %544
retain_value %527 : $TensorShape // id: %545
retain_value %542 : $Optional<RandomState> // id: %546
// function_ref closure #1 in Tensor<>.init(randomStandardUniform:state:)
%547 = function_ref @$S10TensorFlow0A0VAAs5Int32VRszrlE21randomStandardUniform5stateACyAEGAA0A5ShapeV_AA11RandomStateCSgtcfcAA0A6HandleCyAEGyXEfU_ : $@convention(thin) (@guaranteed Optional<RandomState>, @guaranteed TensorShape) -> @owned TensorHandle<Int32> // user: %550
retain_value %542 : $Optional<RandomState> // id: %548
retain_value %527 : $TensorShape // id: %549
%550 = partial_apply [callee_guaranteed] %547(%542, %527) : $@convention(thin) (@guaranteed Optional<RandomState>, @guaranteed TensorShape) -> @owned TensorHandle<Int32> // users: %557, %556, %552, %551
strong_retain %550 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %551
%552 = convert_escape_to_noescape %550 : $@callee_guaranteed () -> @owned TensorHandle<Int32> to $@noescape @callee_guaranteed () -> @owned TensorHandle<Int32> // user: %555
%553 = metatype $@thin Int32.Type // user: %555
// function_ref __tf_hoistable_Int32
%554 = function_ref @__tf_hoistable_Int32 : $@convention(method) (@noescape @callee_guaranteed () -> @owned TensorHandle<Int32>, @thin Int32.Type) -> @owned TensorHandle<Int32> // user: %555
%555 = apply %554(%552, %553) : $@convention(method) (@noescape @callee_guaranteed () -> @owned TensorHandle<Int32>, @thin Int32.Type) -> @owned TensorHandle<Int32> // users: %578, %562, %561, %560
strong_release %550 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %556
strong_release %550 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %557
%558 = alloc_stack $Tensor<Int32> // users: %559, %563, %566
%559 = struct_element_addr %558 : $*Tensor<Int32>, #Tensor.handle // user: %560
store %555 to %559 : $*TensorHandle<Int32> // id: %560
%561 = struct $Tensor<Int32> (%555 : $TensorHandle<Int32>) // user: %567
strong_retain %555 : $TensorHandle<Int32> // id: %562
%563 = load %558 : $*Tensor<Int32> // user: %564
%564 = struct_extract %563 : $Tensor<Int32>, #Tensor.handle // user: %565
strong_release %564 : $TensorHandle<Int32> // id: %565
dealloc_stack %558 : $*Tensor<Int32> // id: %566
%567 = struct_extract %561 : $Tensor<Int32>, #Tensor.handle // user: %569
// function_ref __tf_send
%568 = function_ref @__tf_send : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed TensorHandle<τ_0_0>) -> @owned TensorHandle<τ_0_0> // user: %569
%569 = apply %568<Int32>(%567) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed TensorHandle<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %599, %587, %586, %583, %582, %579, %573, %572
%570 = alloc_stack $Tensor<Int32> // users: %571, %574, %577
%571 = struct_element_addr %570 : $*Tensor<Int32>, #Tensor.handle // user: %572
store %569 to %571 : $*TensorHandle<Int32> // id: %572
strong_retain %569 : $TensorHandle<Int32> // id: %573
%574 = load %570 : $*Tensor<Int32> // user: %575
%575 = struct_extract %574 : $Tensor<Int32>, #Tensor.handle // user: %576
strong_release %575 : $TensorHandle<Int32> // id: %576
dealloc_stack %570 : $*Tensor<Int32> // id: %577
strong_release %555 : $TensorHandle<Int32> // id: %578
strong_retain %569 : $TensorHandle<Int32> // id: %579
release_value %542 : $Optional<RandomState> // id: %580
release_value %527 : $TensorShape // id: %581
strong_release %569 : $TensorHandle<Int32> // id: %582
strong_retain %569 : $TensorHandle<Int32> // id: %583
%584 = metatype $@thick Int32.Type // user: %586
%585 = metatype $@thick Float.Type // user: %586
%586 = builtin "__tfop_Cast,$in,SrcT,DstT"(%569 : $TensorHandle<Int32>, %584 : $@thick Int32.Type, %585 : $@thick Float.Type) : $TensorHandle<Float> // users: %638, %625, %623, %620, %600, %598, %597, %592, %588, %591
strong_release %569 : $TensorHandle<Int32> // id: %587
strong_retain %586 : $TensorHandle<Float> // id: %588
%589 = alloc_stack $Tensor<Float> // users: %590, %593, %596
%590 = struct_element_addr %589 : $*Tensor<Float>, #Tensor.handle // user: %591
store %586 to %590 : $*TensorHandle<Float> // id: %591
strong_retain %586 : $TensorHandle<Float> // id: %592
%593 = load %589 : $*Tensor<Float> // user: %594
%594 = struct_extract %593 : $Tensor<Float>, #Tensor.handle // user: %595
strong_release %594 : $TensorHandle<Float> // id: %595
dealloc_stack %589 : $*Tensor<Float> // id: %596
strong_release %586 : $TensorHandle<Float> // id: %597
strong_retain %586 : $TensorHandle<Float> // id: %598
strong_release %569 : $TensorHandle<Int32> // id: %599
strong_release %586 : $TensorHandle<Float> // id: %600
%601 = alloc_stack $Float // users: %607, %606, %637
%602 = metatype $@thick Float.Type // user: %606
%603 = integer_literal $Builtin.Int32, 2147483647 // user: %604
%604 = struct $Int32 (%603 : $Builtin.Int32) // user: %606
// function_ref protocol witness for FloatingPoint.init(_:) in conformance Float
%605 = function_ref @$SSfSFsSFyxs5Int32VcfCTW : $@convention(witness_method: FloatingPoint) (Int32, @thick Float.Type) -> @out Float // user: %606
%606 = apply %605(%601, %604, %602) : $@convention(witness_method: FloatingPoint) (Int32, @thick Float.Type) -> @out Float
%607 = load %601 : $*Float // user: %608
%608 = struct_extract %607 : $Float, #Float._value // user: %609
%609 = builtin "__tfop_tfc.scalarToTensor,$in"(%608 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %636, %624, %623, %621, %619, %618, %613, %612
%610 = alloc_stack $Tensor<Float> // users: %611, %614, %617
%611 = struct_element_addr %610 : $*Tensor<Float>, #Tensor.handle // user: %612
store %609 to %611 : $*TensorHandle<Float> // id: %612
strong_retain %609 : $TensorHandle<Float> // id: %613
%614 = load %610 : $*Tensor<Float> // user: %615
%615 = struct_extract %614 : $Tensor<Float>, #Tensor.handle // user: %616
strong_release %615 : $TensorHandle<Float> // id: %616
dealloc_stack %610 : $*Tensor<Float> // id: %617
strong_retain %609 : $TensorHandle<Float> // id: %618
strong_release %609 : $TensorHandle<Float> // id: %619
strong_retain %586 : $TensorHandle<Float> // id: %620
strong_retain %609 : $TensorHandle<Float> // id: %621
%622 = metatype $@thick Float.Type // user: %623
%623 = builtin "__tfop_Div,$in,$in,T"(%586 : $TensorHandle<Float>, %609 : $TensorHandle<Float>, %622 : $@thick Float.Type) : $TensorHandle<Float> // users: %961, %754, %753, %751, %642, %639, %635, %630, %626, %629
strong_release %609 : $TensorHandle<Float> // id: %624
strong_release %586 : $TensorHandle<Float> // id: %625
strong_retain %623 : $TensorHandle<Float> // id: %626
%627 = alloc_stack $Tensor<Float> // users: %628, %631, %634
%628 = struct_element_addr %627 : $*Tensor<Float>, #Tensor.handle // user: %629
store %623 to %628 : $*TensorHandle<Float> // id: %629
strong_retain %623 : $TensorHandle<Float> // id: %630
%631 = load %627 : $*Tensor<Float> // user: %632
%632 = struct_extract %631 : $Tensor<Float>, #Tensor.handle // user: %633
strong_release %632 : $TensorHandle<Float> // id: %633
dealloc_stack %627 : $*Tensor<Float> // id: %634
strong_release %623 : $TensorHandle<Float> // id: %635
strong_release %609 : $TensorHandle<Float> // id: %636
dealloc_stack %601 : $*Float // id: %637
strong_release %586 : $TensorHandle<Float> // id: %638
strong_retain %623 : $TensorHandle<Float> // id: %639
release_value %542 : $Optional<RandomState> // id: %640
release_value %527 : $TensorShape // id: %641
strong_release %623 : $TensorHandle<Float> // id: %642
retain_value %527 : $TensorShape // id: %643
retain_value %542 : $Optional<RandomState> // id: %644
retain_value %527 : $TensorShape // id: %645
retain_value %542 : $Optional<RandomState> // id: %646
// function_ref closure #1 in Tensor<>.init(randomStandardUniform:state:)
%647 = function_ref @$S10TensorFlow0A0VAAs5Int32VRszrlE21randomStandardUniform5stateACyAEGAA0A5ShapeV_AA11RandomStateCSgtcfcAA0A6HandleCyAEGyXEfU_ : $@convention(thin) (@guaranteed Optional<RandomState>, @guaranteed TensorShape) -> @owned TensorHandle<Int32> // user: %650
retain_value %542 : $Optional<RandomState> // id: %648
retain_value %527 : $TensorShape // id: %649
%650 = partial_apply [callee_guaranteed] %647(%542, %527) : $@convention(thin) (@guaranteed Optional<RandomState>, @guaranteed TensorShape) -> @owned TensorHandle<Int32> // users: %657, %656, %652, %651
strong_retain %650 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %651
%652 = convert_escape_to_noescape %650 : $@callee_guaranteed () -> @owned TensorHandle<Int32> to $@noescape @callee_guaranteed () -> @owned TensorHandle<Int32> // user: %655
%653 = metatype $@thin Int32.Type // user: %655
// function_ref __tf_hoistable_Int32
%654 = function_ref @__tf_hoistable_Int32 : $@convention(method) (@noescape @callee_guaranteed () -> @owned TensorHandle<Int32>, @thin Int32.Type) -> @owned TensorHandle<Int32> // user: %655
%655 = apply %654(%652, %653) : $@convention(method) (@noescape @callee_guaranteed () -> @owned TensorHandle<Int32>, @thin Int32.Type) -> @owned TensorHandle<Int32> // users: %678, %662, %661, %660
strong_release %650 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %656
strong_release %650 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %657
%658 = alloc_stack $Tensor<Int32> // users: %659, %663, %666
%659 = struct_element_addr %658 : $*Tensor<Int32>, #Tensor.handle // user: %660
store %655 to %659 : $*TensorHandle<Int32> // id: %660
%661 = struct $Tensor<Int32> (%655 : $TensorHandle<Int32>) // user: %667
strong_retain %655 : $TensorHandle<Int32> // id: %662
%663 = load %658 : $*Tensor<Int32> // user: %664
%664 = struct_extract %663 : $Tensor<Int32>, #Tensor.handle // user: %665
strong_release %664 : $TensorHandle<Int32> // id: %665
dealloc_stack %658 : $*Tensor<Int32> // id: %666
%667 = struct_extract %661 : $Tensor<Int32>, #Tensor.handle // user: %669
// function_ref __tf_send
%668 = function_ref @__tf_send : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed TensorHandle<τ_0_0>) -> @owned TensorHandle<τ_0_0> // user: %669
%669 = apply %668<Int32>(%667) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed TensorHandle<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %699, %687, %686, %683, %682, %679, %673, %672
%670 = alloc_stack $Tensor<Int32> // users: %671, %674, %677
%671 = struct_element_addr %670 : $*Tensor<Int32>, #Tensor.handle // user: %672
store %669 to %671 : $*TensorHandle<Int32> // id: %672
strong_retain %669 : $TensorHandle<Int32> // id: %673
%674 = load %670 : $*Tensor<Int32> // user: %675
%675 = struct_extract %674 : $Tensor<Int32>, #Tensor.handle // user: %676
strong_release %675 : $TensorHandle<Int32> // id: %676
dealloc_stack %670 : $*Tensor<Int32> // id: %677
strong_release %655 : $TensorHandle<Int32> // id: %678
strong_retain %669 : $TensorHandle<Int32> // id: %679
release_value %542 : $Optional<RandomState> // id: %680
release_value %527 : $TensorShape // id: %681
strong_release %669 : $TensorHandle<Int32> // id: %682
strong_retain %669 : $TensorHandle<Int32> // id: %683
%684 = metatype $@thick Int32.Type // user: %686
%685 = metatype $@thick Float.Type // user: %686
%686 = builtin "__tfop_Cast,$in,SrcT,DstT"(%669 : $TensorHandle<Int32>, %684 : $@thick Int32.Type, %685 : $@thick Float.Type) : $TensorHandle<Float> // users: %738, %725, %723, %720, %700, %698, %697, %692, %688, %691
strong_release %669 : $TensorHandle<Int32> // id: %687
strong_retain %686 : $TensorHandle<Float> // id: %688
%689 = alloc_stack $Tensor<Float> // users: %690, %693, %696
%690 = struct_element_addr %689 : $*Tensor<Float>, #Tensor.handle // user: %691
store %686 to %690 : $*TensorHandle<Float> // id: %691
strong_retain %686 : $TensorHandle<Float> // id: %692
%693 = load %689 : $*Tensor<Float> // user: %694
%694 = struct_extract %693 : $Tensor<Float>, #Tensor.handle // user: %695
strong_release %694 : $TensorHandle<Float> // id: %695
dealloc_stack %689 : $*Tensor<Float> // id: %696
strong_release %686 : $TensorHandle<Float> // id: %697
strong_retain %686 : $TensorHandle<Float> // id: %698
strong_release %669 : $TensorHandle<Int32> // id: %699
strong_release %686 : $TensorHandle<Float> // id: %700
%701 = alloc_stack $Float // users: %707, %706, %737
%702 = metatype $@thick Float.Type // user: %706
%703 = integer_literal $Builtin.Int32, 2147483647 // user: %704
%704 = struct $Int32 (%703 : $Builtin.Int32) // user: %706
// function_ref protocol witness for FloatingPoint.init(_:) in conformance Float
%705 = function_ref @$SSfSFsSFyxs5Int32VcfCTW : $@convention(witness_method: FloatingPoint) (Int32, @thick Float.Type) -> @out Float // user: %706
%706 = apply %705(%701, %704, %702) : $@convention(witness_method: FloatingPoint) (Int32, @thick Float.Type) -> @out Float
%707 = load %701 : $*Float // user: %708
%708 = struct_extract %707 : $Float, #Float._value // user: %709
%709 = builtin "__tfop_tfc.scalarToTensor,$in"(%708 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %736, %724, %723, %721, %719, %718, %713, %712
%710 = alloc_stack $Tensor<Float> // users: %711, %714, %717
%711 = struct_element_addr %710 : $*Tensor<Float>, #Tensor.handle // user: %712
store %709 to %711 : $*TensorHandle<Float> // id: %712
strong_retain %709 : $TensorHandle<Float> // id: %713
%714 = load %710 : $*Tensor<Float> // user: %715
%715 = struct_extract %714 : $Tensor<Float>, #Tensor.handle // user: %716
strong_release %715 : $TensorHandle<Float> // id: %716
dealloc_stack %710 : $*Tensor<Float> // id: %717
strong_retain %709 : $TensorHandle<Float> // id: %718
strong_release %709 : $TensorHandle<Float> // id: %719
strong_retain %686 : $TensorHandle<Float> // id: %720
strong_retain %709 : $TensorHandle<Float> // id: %721
%722 = metatype $@thick Float.Type // user: %723
%723 = builtin "__tfop_Div,$in,$in,T"(%686 : $TensorHandle<Float>, %709 : $TensorHandle<Float>, %722 : $@thick Float.Type) : $TensorHandle<Float> // users: %960, %853, %852, %850, %742, %739, %735, %730, %726, %729
strong_release %709 : $TensorHandle<Float> // id: %724
strong_release %686 : $TensorHandle<Float> // id: %725
strong_retain %723 : $TensorHandle<Float> // id: %726
%727 = alloc_stack $Tensor<Float> // users: %728, %731, %734
%728 = struct_element_addr %727 : $*Tensor<Float>, #Tensor.handle // user: %729
store %723 to %728 : $*TensorHandle<Float> // id: %729
strong_retain %723 : $TensorHandle<Float> // id: %730
%731 = load %727 : $*Tensor<Float> // user: %732
%732 = struct_extract %731 : $Tensor<Float>, #Tensor.handle // user: %733
strong_release %732 : $TensorHandle<Float> // id: %733
dealloc_stack %727 : $*Tensor<Float> // id: %734
strong_release %723 : $TensorHandle<Float> // id: %735
strong_release %709 : $TensorHandle<Float> // id: %736
dealloc_stack %701 : $*Float // id: %737
strong_release %686 : $TensorHandle<Float> // id: %738
strong_retain %723 : $TensorHandle<Float> // id: %739
release_value %542 : $Optional<RandomState> // id: %740
release_value %527 : $TensorShape // id: %741
strong_release %723 : $TensorHandle<Float> // id: %742
%743 = integer_literal $Builtin.Int2048, -2 // user: %744
%744 = builtin "s_to_s_checked_trunc_Int2048_Int64"(%743 : $Builtin.Int2048) : $(Builtin.Int64, Builtin.Int1) // user: %745
%745 = tuple_extract %744 : $(Builtin.Int64, Builtin.Int1), 0 // user: %746
%746 = struct $Int64 (%745 : $Builtin.Int64) // user: %748
%747 = tuple ()
%748 = struct_extract %746 : $Int64, #Int64._value // user: %749
%749 = builtin "sitofp_Int64_FPIEEE32"(%748 : $Builtin.Int64) : $Builtin.FPIEEE32 // user: %765
%750 = tuple ()
strong_retain %623 : $TensorHandle<Float> // id: %751
%752 = metatype $@thick Float.Type // user: %753
%753 = builtin "__tfop_Log,$in,T"(%623 : $TensorHandle<Float>, %752 : $@thick Float.Type) : $TensorHandle<Float> // users: %793, %780, %779, %777, %764, %759, %755, %758
strong_release %623 : $TensorHandle<Float> // id: %754
strong_retain %753 : $TensorHandle<Float> // id: %755
%756 = alloc_stack $Tensor<Float> // users: %757, %760, %763
%757 = struct_element_addr %756 : $*Tensor<Float>, #Tensor.handle // user: %758
store %753 to %757 : $*TensorHandle<Float> // id: %758
strong_retain %753 : $TensorHandle<Float> // id: %759
%760 = load %756 : $*Tensor<Float> // user: %761
%761 = struct_extract %760 : $Tensor<Float>, #Tensor.handle // user: %762
strong_release %761 : $TensorHandle<Float> // id: %762
dealloc_stack %756 : $*Tensor<Float> // id: %763
strong_release %753 : $TensorHandle<Float> // id: %764
%765 = builtin "__tfop_tfc.scalarToTensor,$in"(%749 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %792, %781, %779, %776, %775, %774, %769, %768
%766 = alloc_stack $Tensor<Float> // users: %767, %770, %773
%767 = struct_element_addr %766 : $*Tensor<Float>, #Tensor.handle // user: %768
store %765 to %767 : $*TensorHandle<Float> // id: %768
strong_retain %765 : $TensorHandle<Float> // id: %769
%770 = load %766 : $*Tensor<Float> // user: %771
%771 = struct_extract %770 : $Tensor<Float>, #Tensor.handle // user: %772
strong_release %771 : $TensorHandle<Float> // id: %772
dealloc_stack %766 : $*Tensor<Float> // id: %773
strong_retain %765 : $TensorHandle<Float> // id: %774
strong_release %765 : $TensorHandle<Float> // id: %775
strong_retain %765 : $TensorHandle<Float> // id: %776
strong_retain %753 : $TensorHandle<Float> // id: %777
%778 = metatype $@thick Float.Type // user: %779
%779 = builtin "__tfop_Mul,$in,$in,T"(%765 : $TensorHandle<Float>, %753 : $TensorHandle<Float>, %778 : $@thick Float.Type) : $TensorHandle<Float> // users: %808, %797, %796, %794, %791, %786, %782, %785
strong_release %753 : $TensorHandle<Float> // id: %780
strong_release %765 : $TensorHandle<Float> // id: %781
strong_retain %779 : $TensorHandle<Float> // id: %782
%783 = alloc_stack $Tensor<Float> // users: %784, %787, %790
%784 = struct_element_addr %783 : $*Tensor<Float>, #Tensor.handle // user: %785
store %779 to %784 : $*TensorHandle<Float> // id: %785
strong_retain %779 : $TensorHandle<Float> // id: %786
%787 = load %783 : $*Tensor<Float> // user: %788
%788 = struct_extract %787 : $Tensor<Float>, #Tensor.handle // user: %789
strong_release %788 : $TensorHandle<Float> // id: %789
dealloc_stack %783 : $*Tensor<Float> // id: %790
strong_release %779 : $TensorHandle<Float> // id: %791
strong_release %765 : $TensorHandle<Float> // id: %792
strong_release %753 : $TensorHandle<Float> // id: %793
strong_retain %779 : $TensorHandle<Float> // id: %794
%795 = metatype $@thick Float.Type // user: %796
%796 = builtin "__tfop_Sqrt,$in,T"(%779 : $TensorHandle<Float>, %795 : $@thick Float.Type) : $TensorHandle<Float> // users: %899, %887, %885, %882, %807, %802, %798, %801
strong_release %779 : $TensorHandle<Float> // id: %797
strong_retain %796 : $TensorHandle<Float> // id: %798
%799 = alloc_stack $Tensor<Float> // users: %800, %803, %806
%800 = struct_element_addr %799 : $*Tensor<Float>, #Tensor.handle // user: %801
store %796 to %800 : $*TensorHandle<Float> // id: %801
strong_retain %796 : $TensorHandle<Float> // id: %802
%803 = load %799 : $*Tensor<Float> // user: %804
%804 = struct_extract %803 : $Tensor<Float>, #Tensor.handle // user: %805
strong_release %804 : $TensorHandle<Float> // id: %805
dealloc_stack %799 : $*Tensor<Float> // id: %806
strong_release %796 : $TensorHandle<Float> // id: %807
strong_release %779 : $TensorHandle<Float> // id: %808
%809 = alloc_stack $Float // users: %836, %831, %866
%810 = metatype $@thick Float.Type // user: %831
%811 = alloc_stack $Float // users: %831, %823, %835, %834
%812 = alloc_stack $Int64 // users: %819, %817, %825
%813 = integer_literal $Builtin.Int2048, 2 // user: %814
%814 = builtin "s_to_s_checked_trunc_Int2048_Int64"(%813 : $Builtin.Int2048) : $(Builtin.Int64, Builtin.Int1) // user: %815
%815 = tuple_extract %814 : $(Builtin.Int64, Builtin.Int1), 0 // user: %816
%816 = struct $Int64 (%815 : $Builtin.Int64) // user: %817
store %816 to %812 : $*Int64 // id: %817
%818 = tuple ()
%819 = struct_element_addr %812 : $*Int64, #Int64._value // user: %820
%820 = load %819 : $*Builtin.Int64 // user: %821
%821 = builtin "sitofp_Int64_FPIEEE32"(%820 : $Builtin.Int64) : $Builtin.FPIEEE32 // user: %822
%822 = struct $Float (%821 : $Builtin.FPIEEE32) // user: %823
store %822 to %811 : $*Float // id: %823
%824 = tuple ()
dealloc_stack %812 : $*Int64 // id: %825
%826 = metatype $@thick Float.Type // user: %829
%827 = alloc_stack $Float // users: %831, %829, %833, %832
// function_ref protocol witness for static FloatingPoint.pi.getter in conformance Float
%828 = function_ref @$SSfSFsSF2pixvgZTW : $@convention(witness_method: FloatingPoint) (@thick Float.Type) -> @out Float // user: %829
%829 = apply %828(%827, %826) : $@convention(witness_method: FloatingPoint) (@thick Float.Type) -> @out Float
// function_ref protocol witness for static FloatingPoint.* infix(_:_:) in conformance Float
%830 = function_ref @$SSfSFsSF1moiyxx_xtFZTW : $@convention(witness_method: FloatingPoint) (@in_guaranteed Float, @in_guaranteed Float, @thick Float.Type) -> @out Float // user: %831
%831 = apply %830(%809, %811, %827, %810) : $@convention(witness_method: FloatingPoint) (@in_guaranteed Float, @in_guaranteed Float, @thick Float.Type) -> @out Float
destroy_addr %827 : $*Float // id: %832
dealloc_stack %827 : $*Float // id: %833
destroy_addr %811 : $*Float // id: %834
dealloc_stack %811 : $*Float // id: %835
%836 = load %809 : $*Float // user: %837
%837 = struct_extract %836 : $Float, #Float._value // user: %838
%838 = builtin "__tfop_tfc.scalarToTensor,$in"(%837 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %865, %854, %852, %849, %848, %847, %842, %841
%839 = alloc_stack $Tensor<Float> // users: %840, %843, %846
%840 = struct_element_addr %839 : $*Tensor<Float>, #Tensor.handle // user: %841
store %838 to %840 : $*TensorHandle<Float> // id: %841
strong_retain %838 : $TensorHandle<Float> // id: %842
%843 = load %839 : $*Tensor<Float> // user: %844
%844 = struct_extract %843 : $Tensor<Float>, #Tensor.handle // user: %845
strong_release %844 : $TensorHandle<Float> // id: %845
dealloc_stack %839 : $*Tensor<Float> // id: %846
strong_retain %838 : $TensorHandle<Float> // id: %847
strong_release %838 : $TensorHandle<Float> // id: %848
strong_retain %838 : $TensorHandle<Float> // id: %849
strong_retain %723 : $TensorHandle<Float> // id: %850
%851 = metatype $@thick Float.Type // user: %852
%852 = builtin "__tfop_Mul,$in,$in,T"(%838 : $TensorHandle<Float>, %723 : $TensorHandle<Float>, %851 : $@thick Float.Type) : $TensorHandle<Float> // users: %881, %870, %869, %867, %864, %859, %855, %858
strong_release %723 : $TensorHandle<Float> // id: %853
strong_release %838 : $TensorHandle<Float> // id: %854
strong_retain %852 : $TensorHandle<Float> // id: %855
%856 = alloc_stack $Tensor<Float> // users: %857, %860, %863
%857 = struct_element_addr %856 : $*Tensor<Float>, #Tensor.handle // user: %858
store %852 to %857 : $*TensorHandle<Float> // id: %858
strong_retain %852 : $TensorHandle<Float> // id: %859
%860 = load %856 : $*Tensor<Float> // user: %861
%861 = struct_extract %860 : $Tensor<Float>, #Tensor.handle // user: %862
strong_release %861 : $TensorHandle<Float> // id: %862
dealloc_stack %856 : $*Tensor<Float> // id: %863
strong_release %852 : $TensorHandle<Float> // id: %864
strong_release %838 : $TensorHandle<Float> // id: %865
dealloc_stack %809 : $*Float // id: %866
strong_retain %852 : $TensorHandle<Float> // id: %867
%868 = metatype $@thick Float.Type // user: %869
%869 = builtin "__tfop_Cos,$in,T"(%852 : $TensorHandle<Float>, %868 : $@thick Float.Type) : $TensorHandle<Float> // users: %898, %886, %885, %883, %880, %875, %871, %874
strong_release %852 : $TensorHandle<Float> // id: %870
strong_retain %869 : $TensorHandle<Float> // id: %871
%872 = alloc_stack $Tensor<Float> // users: %873, %876, %879
%873 = struct_element_addr %872 : $*Tensor<Float>, #Tensor.handle // user: %874
store %869 to %873 : $*TensorHandle<Float> // id: %874
strong_retain %869 : $TensorHandle<Float> // id: %875
%876 = load %872 : $*Tensor<Float> // user: %877
%877 = struct_extract %876 : $Tensor<Float>, #Tensor.handle // user: %878
strong_release %877 : $TensorHandle<Float> // id: %878
dealloc_stack %872 : $*Tensor<Float> // id: %879
strong_release %869 : $TensorHandle<Float> // id: %880
strong_release %852 : $TensorHandle<Float> // id: %881
strong_retain %796 : $TensorHandle<Float> // id: %882
strong_retain %869 : $TensorHandle<Float> // id: %883
%884 = metatype $@thick Float.Type // user: %885
%885 = builtin "__tfop_Mul,$in,$in,T"(%796 : $TensorHandle<Float>, %869 : $TensorHandle<Float>, %884 : $@thick Float.Type) : $TensorHandle<Float> // users: %959, %917, %915, %912, %897, %892, %888, %891
strong_release %869 : $TensorHandle<Float> // id: %886
strong_release %796 : $TensorHandle<Float> // id: %887
strong_retain %885 : $TensorHandle<Float> // id: %888
%889 = alloc_stack $Tensor<Float> // users: %890, %893, %896
%890 = struct_element_addr %889 : $*Tensor<Float>, #Tensor.handle // user: %891
store %885 to %890 : $*TensorHandle<Float> // id: %891
strong_retain %885 : $TensorHandle<Float> // id: %892
%893 = load %889 : $*Tensor<Float> // user: %894
%894 = struct_extract %893 : $Tensor<Float>, #Tensor.handle // user: %895
strong_release %894 : $TensorHandle<Float> // id: %895
dealloc_stack %889 : $*Tensor<Float> // id: %896
strong_release %885 : $TensorHandle<Float> // id: %897
strong_release %869 : $TensorHandle<Float> // id: %898
strong_release %796 : $TensorHandle<Float> // id: %899
%900 = struct_extract %540 : $Float, #Float._value // user: %901
%901 = builtin "__tfop_tfc.scalarToTensor,$in"(%900 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %928, %916, %915, %913, %911, %910, %905, %904
%902 = alloc_stack $Tensor<Float> // users: %903, %906, %909
%903 = struct_element_addr %902 : $*Tensor<Float>, #Tensor.handle // user: %904
store %901 to %903 : $*TensorHandle<Float> // id: %904
strong_retain %901 : $TensorHandle<Float> // id: %905
%906 = load %902 : $*Tensor<Float> // user: %907
%907 = struct_extract %906 : $Tensor<Float>, #Tensor.handle // user: %908
strong_release %907 : $TensorHandle<Float> // id: %908
dealloc_stack %902 : $*Tensor<Float> // id: %909
strong_retain %901 : $TensorHandle<Float> // id: %910
strong_release %901 : $TensorHandle<Float> // id: %911
strong_retain %885 : $TensorHandle<Float> // id: %912
strong_retain %901 : $TensorHandle<Float> // id: %913
%914 = metatype $@thick Float.Type // user: %915
%915 = builtin "__tfop_Mul,$in,$in,T"(%885 : $TensorHandle<Float>, %901 : $TensorHandle<Float>, %914 : $@thick Float.Type) : $TensorHandle<Float> // users: %958, %946, %944, %941, %927, %922, %918, %921
strong_release %901 : $TensorHandle<Float> // id: %916
strong_release %885 : $TensorHandle<Float> // id: %917
strong_retain %915 : $TensorHandle<Float> // id: %918
%919 = alloc_stack $Tensor<Float> // users: %920, %923, %926
%920 = struct_element_addr %919 : $*Tensor<Float>, #Tensor.handle // user: %921
store %915 to %920 : $*TensorHandle<Float> // id: %921
strong_retain %915 : $TensorHandle<Float> // id: %922
%923 = load %919 : $*Tensor<Float> // user: %924
%924 = struct_extract %923 : $Tensor<Float>, #Tensor.handle // user: %925
strong_release %924 : $TensorHandle<Float> // id: %925
dealloc_stack %919 : $*Tensor<Float> // id: %926
strong_release %915 : $TensorHandle<Float> // id: %927
strong_release %901 : $TensorHandle<Float> // id: %928
%929 = struct_extract %536 : $Float, #Float._value // user: %930
%930 = builtin "__tfop_tfc.scalarToTensor,$in"(%929 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %957, %945, %944, %942, %940, %939, %934, %933
%931 = alloc_stack $Tensor<Float> // users: %932, %935, %938
%932 = struct_element_addr %931 : $*Tensor<Float>, #Tensor.handle // user: %933
store %930 to %932 : $*TensorHandle<Float> // id: %933
strong_retain %930 : $TensorHandle<Float> // id: %934
%935 = load %931 : $*Tensor<Float> // user: %936
%936 = struct_extract %935 : $Tensor<Float>, #Tensor.handle // user: %937
strong_release %936 : $TensorHandle<Float> // id: %937
dealloc_stack %931 : $*Tensor<Float> // id: %938
strong_retain %930 : $TensorHandle<Float> // id: %939
strong_release %930 : $TensorHandle<Float> // id: %940
strong_retain %915 : $TensorHandle<Float> // id: %941
strong_retain %930 : $TensorHandle<Float> // id: %942
%943 = metatype $@thick Float.Type // user: %944
%944 = builtin "__tfop_Add,$in,$in,T"(%915 : $TensorHandle<Float>, %930 : $TensorHandle<Float>, %943 : $@thick Float.Type) : $TensorHandle<Float> // users: %1694, %965, %962, %956, %951, %947, %950
strong_release %930 : $TensorHandle<Float> // id: %945
strong_release %915 : $TensorHandle<Float> // id: %946
strong_retain %944 : $TensorHandle<Float> // id: %947
%948 = alloc_stack $Tensor<Float> // users: %949, %952, %955
%949 = struct_element_addr %948 : $*Tensor<Float>, #Tensor.handle // user: %950
store %944 to %949 : $*TensorHandle<Float> // id: %950
strong_retain %944 : $TensorHandle<Float> // id: %951
%952 = load %948 : $*Tensor<Float> // user: %953
%953 = struct_extract %952 : $Tensor<Float>, #Tensor.handle // user: %954
strong_release %953 : $TensorHandle<Float> // id: %954
dealloc_stack %948 : $*Tensor<Float> // id: %955
strong_release %944 : $TensorHandle<Float> // id: %956
strong_release %930 : $TensorHandle<Float> // id: %957
strong_release %915 : $TensorHandle<Float> // id: %958
strong_release %885 : $TensorHandle<Float> // id: %959
strong_release %723 : $TensorHandle<Float> // id: %960
strong_release %623 : $TensorHandle<Float> // id: %961
strong_retain %944 : $TensorHandle<Float> // id: %962
release_value %542 : $Optional<RandomState> // id: %963
release_value %527 : $TensorShape // id: %964
strong_release %944 : $TensorHandle<Float> // id: %965
dealloc_stack %538 : $*Float // id: %966
dealloc_stack %534 : $*Float // id: %967
%968 = alloc_stack $Classifier, var, name "classifier" // users: %1536, %1541, %1573, %1680, %1532, %1693
%969 = alloc_stack $Classifier // users: %1488, %1501, %1468, %1363, %1258, %1113
%970 = metatype $@thin TensorShape.Type // user: %1006
%971 = integer_literal $Builtin.Word, 2 // users: %977, %972
%972 = builtin "zextOrBitCast_Word_Int64"(%971 : $Builtin.Word) : $Builtin.Int64 // users: %975, %973
%973 = struct $Int (%972 : $Builtin.Int64) // users: %1526, %980
%974 = integer_literal $Builtin.Int64, 0 // user: %975
%975 = builtin "cmp_slt_Int64"(%974 : $Builtin.Int64, %972 : $Builtin.Int64) : $Builtin.Int1 // user: %976
cond_br %975, bb9, bb24 // id: %976
bb9: // Preds: bb8
%977 = alloc_ref [tail_elems $Int32 * %971 : $Builtin.Word] $_ContiguousArrayStorage<Int32> // user: %980
%978 = metatype $@thin Array<Int32>.Type // user: %980
// function_ref static Array._adoptStorage(_:count:)
%979 = function_ref @$SSa13_adoptStorage_5countSayxG_SpyxGts016_ContiguousArrayB0CyxGn_SitFZ : $@convention(method) <τ_0_0> (@owned _ContiguousArrayStorage<τ_0_0>, Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // user: %980
%980 = apply %979<Int32>(%977, %973, %978) : $@convention(method) <τ_0_0> (@owned _ContiguousArrayStorage<τ_0_0>, Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // users: %982, %981
%981 = tuple_extract %980 : $(Array<Int32>, UnsafeMutablePointer<Int32>), 0 // user: %984
%982 = tuple_extract %980 : $(Array<Int32>, UnsafeMutablePointer<Int32>), 1 // user: %983
%983 = struct_extract %982 : $UnsafeMutablePointer<Int32>, #UnsafeMutablePointer._rawValue // user: %984
br bb10(%981 : $Array<Int32>, %983 : $Builtin.RawPointer) // id: %984
// %985 // user: %987
// %986 // user: %987
bb10(%985 : $Array<Int32>, %986 : $Builtin.RawPointer): // Preds: bb24 bb9
%987 = tuple (%985 : $Array<Int32>, %986 : $Builtin.RawPointer) // user: %988
br bb11(%987 : $(Array<Int32>, Builtin.RawPointer)) // id: %988
// %989 // users: %993, %992, %990
bb11(%989 : $(Array<Int32>, Builtin.RawPointer)): // Preds: bb10
%990 = tuple_extract %989 : $(Array<Int32>, Builtin.RawPointer), 0 // users: %1009, %1006, %1004, %991
retain_value %990 : $Array<Int32> // id: %991
%992 = tuple_extract %989 : $(Array<Int32>, Builtin.RawPointer), 1 // user: %994
release_value %989 : $(Array<Int32>, Builtin.RawPointer) // id: %993
%994 = pointer_to_address %992 : $Builtin.RawPointer to [strict] $*Int32 // users: %999, %997
%995 = integer_literal $Builtin.Int32, 784 // user: %996
%996 = struct $Int32 (%995 : $Builtin.Int32) // user: %997
store %996 to %994 : $*Int32 // id: %997
%998 = integer_literal $Builtin.Word, 1 // user: %999
%999 = index_addr %994 : $*Int32, %998 : $Builtin.Word // user: %1002
%1000 = integer_literal $Builtin.Int32, 30 // user: %1001
%1001 = struct $Int32 (%1000 : $Builtin.Int32) // user: %1002
store %1001 to %999 : $*Int32 // id: %1002
%1003 = alloc_stack $TensorShape // users: %1011, %1010, %1007
retain_value %990 : $Array<Int32> // id: %1004
// function_ref TensorShape.init(_:)
%1005 = function_ref @$S10TensorFlow0A5ShapeVyACSays5Int32VGcfC : $@convention(method) (@owned Array<Int32>, @thin TensorShape.Type) -> @owned TensorShape // user: %1006
%1006 = apply %1005(%990, %970) : $@convention(method) (@owned Array<Int32>, @thin TensorShape.Type) -> @owned TensorShape // users: %1111, %1050, %1019, %1018, %1014, %1008, %1007
store %1006 to %1003 : $*TensorShape // id: %1007
retain_value %1006 : $TensorShape // id: %1008
release_value %990 : $Array<Int32> // id: %1009
destroy_addr %1003 : $*TensorShape // id: %1010
dealloc_stack %1003 : $*TensorShape // id: %1011
// function_ref default argument 1 of Tensor<>.init(randomUniform:state:)
%1012 = function_ref @$S10TensorFlow0A0VAASBRzrlE13randomUniform5stateACyxGAA0A5ShapeV_AA11RandomStateCSgtcfcfA0_ : $@convention(thin) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> () -> @owned Optional<RandomState> // user: %1013
%1013 = apply %1012<Float>() : $@convention(thin) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> () -> @owned Optional<RandomState> // users: %1110, %1049, %1019, %1017, %1015
retain_value %1006 : $TensorShape // id: %1014
retain_value %1013 : $Optional<RandomState> // id: %1015
// function_ref closure #1 in Tensor<>.init(randomStandardUniform:state:)
%1016 = function_ref @$S10TensorFlow0A0VAAs5Int32VRszrlE21randomStandardUniform5stateACyAEGAA0A5ShapeV_AA11RandomStateCSgtcfcAA0A6HandleCyAEGyXEfU_ : $@convention(thin) (@guaranteed Optional<RandomState>, @guaranteed TensorShape) -> @owned TensorHandle<Int32> // user: %1019
retain_value %1013 : $Optional<RandomState> // id: %1017
retain_value %1006 : $TensorShape // id: %1018
%1019 = partial_apply [callee_guaranteed] %1016(%1013, %1006) : $@convention(thin) (@guaranteed Optional<RandomState>, @guaranteed TensorShape) -> @owned TensorHandle<Int32> // users: %1026, %1025, %1021, %1020
strong_retain %1019 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %1020
%1021 = convert_escape_to_noescape %1019 : $@callee_guaranteed () -> @owned TensorHandle<Int32> to $@noescape @callee_guaranteed () -> @owned TensorHandle<Int32> // user: %1024
%1022 = metatype $@thin Int32.Type // user: %1024
// function_ref __tf_hoistable_Int32
%1023 = function_ref @__tf_hoistable_Int32 : $@convention(method) (@noescape @callee_guaranteed () -> @owned TensorHandle<Int32>, @thin Int32.Type) -> @owned TensorHandle<Int32> // user: %1024
%1024 = apply %1023(%1021, %1022) : $@convention(method) (@noescape @callee_guaranteed () -> @owned TensorHandle<Int32>, @thin Int32.Type) -> @owned TensorHandle<Int32> // users: %1047, %1031, %1030, %1029
strong_release %1019 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %1025
strong_release %1019 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %1026
%1027 = alloc_stack $Tensor<Int32> // users: %1028, %1032, %1035
%1028 = struct_element_addr %1027 : $*Tensor<Int32>, #Tensor.handle // user: %1029
store %1024 to %1028 : $*TensorHandle<Int32> // id: %1029
%1030 = struct $Tensor<Int32> (%1024 : $TensorHandle<Int32>) // user: %1036
strong_retain %1024 : $TensorHandle<Int32> // id: %1031
%1032 = load %1027 : $*Tensor<Int32> // user: %1033
%1033 = struct_extract %1032 : $Tensor<Int32>, #Tensor.handle // user: %1034
strong_release %1033 : $TensorHandle<Int32> // id: %1034
dealloc_stack %1027 : $*Tensor<Int32> // id: %1035
%1036 = struct_extract %1030 : $Tensor<Int32>, #Tensor.handle // user: %1038
// function_ref __tf_send
%1037 = function_ref @__tf_send : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed TensorHandle<τ_0_0>) -> @owned TensorHandle<τ_0_0> // user: %1038
%1038 = apply %1037<Int32>(%1036) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed TensorHandle<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %1068, %1056, %1055, %1052, %1051, %1048, %1042, %1041
%1039 = alloc_stack $Tensor<Int32> // users: %1040, %1043, %1046
%1040 = struct_element_addr %1039 : $*Tensor<Int32>, #Tensor.handle // user: %1041
store %1038 to %1040 : $*TensorHandle<Int32> // id: %1041
strong_retain %1038 : $TensorHandle<Int32> // id: %1042
%1043 = load %1039 : $*Tensor<Int32> // user: %1044
%1044 = struct_extract %1043 : $Tensor<Int32>, #Tensor.handle // user: %1045
strong_release %1044 : $TensorHandle<Int32> // id: %1045
dealloc_stack %1039 : $*Tensor<Int32> // id: %1046
strong_release %1024 : $TensorHandle<Int32> // id: %1047
strong_retain %1038 : $TensorHandle<Int32> // id: %1048
release_value %1013 : $Optional<RandomState> // id: %1049
release_value %1006 : $TensorShape // id: %1050
strong_release %1038 : $TensorHandle<Int32> // id: %1051
strong_retain %1038 : $TensorHandle<Int32> // id: %1052
%1053 = metatype $@thick Int32.Type // user: %1055
%1054 = metatype $@thick Float.Type // user: %1055
%1055 = builtin "__tfop_Cast,$in,SrcT,DstT"(%1038 : $TensorHandle<Int32>, %1053 : $@thick Int32.Type, %1054 : $@thick Float.Type) : $TensorHandle<Float> // users: %1108, %1094, %1092, %1089, %1069, %1067, %1066, %1061, %1057, %1060
strong_release %1038 : $TensorHandle<Int32> // id: %1056
strong_retain %1055 : $TensorHandle<Float> // id: %1057
%1058 = alloc_stack $Tensor<Float> // users: %1059, %1062, %1065
%1059 = struct_element_addr %1058 : $*Tensor<Float>, #Tensor.handle // user: %1060
store %1055 to %1059 : $*TensorHandle<Float> // id: %1060
strong_retain %1055 : $TensorHandle<Float> // id: %1061
%1062 = load %1058 : $*Tensor<Float> // user: %1063
%1063 = struct_extract %1062 : $Tensor<Float>, #Tensor.handle // user: %1064
strong_release %1063 : $TensorHandle<Float> // id: %1064
dealloc_stack %1058 : $*Tensor<Float> // id: %1065
strong_release %1055 : $TensorHandle<Float> // id: %1066
strong_retain %1055 : $TensorHandle<Float> // id: %1067
strong_release %1038 : $TensorHandle<Int32> // id: %1068
strong_release %1055 : $TensorHandle<Float> // id: %1069
%1070 = alloc_stack $Float // users: %1076, %1107, %1075
%1071 = metatype $@thick Float.Type // user: %1075
%1072 = integer_literal $Builtin.Int32, 2147483647 // user: %1073
%1073 = struct $Int32 (%1072 : $Builtin.Int32) // user: %1075
// function_ref protocol witness for FloatingPoint.init(_:) in conformance Float
%1074 = function_ref @$SSfSFsSFyxs5Int32VcfCTW : $@convention(witness_method: FloatingPoint) (Int32, @thick Float.Type) -> @out Float // user: %1075
%1075 = apply %1074(%1070, %1073, %1071) : $@convention(witness_method: FloatingPoint) (Int32, @thick Float.Type) -> @out Float
%1076 = load %1070 : $*Float // user: %1077
%1077 = struct_extract %1076 : $Float, #Float._value // user: %1078
%1078 = builtin "__tfop_tfc.scalarToTensor,$in"(%1077 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %1106, %1093, %1092, %1090, %1088, %1087, %1082, %1081
%1079 = alloc_stack $Tensor<Float> // users: %1080, %1083, %1086
%1080 = struct_element_addr %1079 : $*Tensor<Float>, #Tensor.handle // user: %1081
store %1078 to %1080 : $*TensorHandle<Float> // id: %1081
strong_retain %1078 : $TensorHandle<Float> // id: %1082
%1083 = load %1079 : $*Tensor<Float> // user: %1084
%1084 = struct_extract %1083 : $Tensor<Float>, #Tensor.handle // user: %1085
strong_release %1084 : $TensorHandle<Float> // id: %1085
dealloc_stack %1079 : $*Tensor<Float> // id: %1086
strong_retain %1078 : $TensorHandle<Float> // id: %1087
strong_release %1078 : $TensorHandle<Float> // id: %1088
strong_retain %1055 : $TensorHandle<Float> // id: %1089
strong_retain %1078 : $TensorHandle<Float> // id: %1090
%1091 = metatype $@thick Float.Type // user: %1092
%1092 = builtin "__tfop_Div,$in,$in,T"(%1055 : $TensorHandle<Float>, %1078 : $TensorHandle<Float>, %1091 : $@thick Float.Type) : $TensorHandle<Float> // users: %1473, %1112, %1109, %1105, %1100, %1095, %1099, %1098
strong_release %1078 : $TensorHandle<Float> // id: %1093
strong_release %1055 : $TensorHandle<Float> // id: %1094
strong_retain %1092 : $TensorHandle<Float> // id: %1095
%1096 = alloc_stack $Tensor<Float> // users: %1097, %1101, %1104
%1097 = struct_element_addr %1096 : $*Tensor<Float>, #Tensor.handle // user: %1098
store %1092 to %1097 : $*TensorHandle<Float> // id: %1098
%1099 = struct $Tensor<Float> (%1092 : $TensorHandle<Float>) // users: %1470, %1114
strong_retain %1092 : $TensorHandle<Float> // id: %1100
%1101 = load %1096 : $*Tensor<Float> // user: %1102
%1102 = struct_extract %1101 : $Tensor<Float>, #Tensor.handle // user: %1103
strong_release %1102 : $TensorHandle<Float> // id: %1103
dealloc_stack %1096 : $*Tensor<Float> // id: %1104
strong_release %1092 : $TensorHandle<Float> // id: %1105
strong_release %1078 : $TensorHandle<Float> // id: %1106
dealloc_stack %1070 : $*Float // id: %1107
strong_release %1055 : $TensorHandle<Float> // id: %1108
strong_retain %1092 : $TensorHandle<Float> // id: %1109
release_value %1013 : $Optional<RandomState> // id: %1110
release_value %1006 : $TensorShape // id: %1111
strong_release %1092 : $TensorHandle<Float> // id: %1112
%1113 = struct_element_addr %969 : $*Classifier, #Classifier.w1 // user: %1114
store %1099 to %1113 : $*Tensor<Float> // id: %1114
%1115 = metatype $@thin TensorShape.Type // user: %1151
%1116 = integer_literal $Builtin.Word, 2 // users: %1122, %1117
%1117 = builtin "zextOrBitCast_Word_Int64"(%1116 : $Builtin.Word) : $Builtin.Int64 // users: %1120, %1118
%1118 = struct $Int (%1117 : $Builtin.Int64) // users: %1519, %1125
%1119 = integer_literal $Builtin.Int64, 0 // user: %1120
%1120 = builtin "cmp_slt_Int64"(%1119 : $Builtin.Int64, %1117 : $Builtin.Int64) : $Builtin.Int1 // user: %1121
cond_br %1120, bb12, bb23 // id: %1121
bb12: // Preds: bb11
%1122 = alloc_ref [tail_elems $Int32 * %1116 : $Builtin.Word] $_ContiguousArrayStorage<Int32> // user: %1125
%1123 = metatype $@thin Array<Int32>.Type // user: %1125
// function_ref static Array._adoptStorage(_:count:)
%1124 = function_ref @$SSa13_adoptStorage_5countSayxG_SpyxGts016_ContiguousArrayB0CyxGn_SitFZ : $@convention(method) <τ_0_0> (@owned _ContiguousArrayStorage<τ_0_0>, Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // user: %1125
%1125 = apply %1124<Int32>(%1122, %1118, %1123) : $@convention(method) <τ_0_0> (@owned _ContiguousArrayStorage<τ_0_0>, Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // users: %1127, %1126
%1126 = tuple_extract %1125 : $(Array<Int32>, UnsafeMutablePointer<Int32>), 0 // user: %1129
%1127 = tuple_extract %1125 : $(Array<Int32>, UnsafeMutablePointer<Int32>), 1 // user: %1128
%1128 = struct_extract %1127 : $UnsafeMutablePointer<Int32>, #UnsafeMutablePointer._rawValue // user: %1129
br bb13(%1126 : $Array<Int32>, %1128 : $Builtin.RawPointer) // id: %1129
// %1130 // user: %1132
// %1131 // user: %1132
bb13(%1130 : $Array<Int32>, %1131 : $Builtin.RawPointer): // Preds: bb23 bb12
%1132 = tuple (%1130 : $Array<Int32>, %1131 : $Builtin.RawPointer) // user: %1133
br bb14(%1132 : $(Array<Int32>, Builtin.RawPointer)) // id: %1133
// %1134 // users: %1138, %1137, %1135
bb14(%1134 : $(Array<Int32>, Builtin.RawPointer)): // Preds: bb13
%1135 = tuple_extract %1134 : $(Array<Int32>, Builtin.RawPointer), 0 // users: %1154, %1151, %1149, %1136
retain_value %1135 : $Array<Int32> // id: %1136
%1137 = tuple_extract %1134 : $(Array<Int32>, Builtin.RawPointer), 1 // user: %1139
release_value %1134 : $(Array<Int32>, Builtin.RawPointer) // id: %1138
%1139 = pointer_to_address %1137 : $Builtin.RawPointer to [strict] $*Int32 // users: %1144, %1142
%1140 = integer_literal $Builtin.Int32, 30 // user: %1141
%1141 = struct $Int32 (%1140 : $Builtin.Int32) // user: %1142
store %1141 to %1139 : $*Int32 // id: %1142
%1143 = integer_literal $Builtin.Word, 1 // user: %1144
%1144 = index_addr %1139 : $*Int32, %1143 : $Builtin.Word // user: %1147
%1145 = integer_literal $Builtin.Int32, 10 // user: %1146
%1146 = struct $Int32 (%1145 : $Builtin.Int32) // user: %1147
store %1146 to %1144 : $*Int32 // id: %1147
%1148 = alloc_stack $TensorShape // users: %1156, %1155, %1152
retain_value %1135 : $Array<Int32> // id: %1149
// function_ref TensorShape.init(_:)
%1150 = function_ref @$S10TensorFlow0A5ShapeVyACSays5Int32VGcfC : $@convention(method) (@owned Array<Int32>, @thin TensorShape.Type) -> @owned TensorShape // user: %1151
%1151 = apply %1150(%1135, %1115) : $@convention(method) (@owned Array<Int32>, @thin TensorShape.Type) -> @owned TensorShape // users: %1256, %1195, %1164, %1163, %1159, %1153, %1152
store %1151 to %1148 : $*TensorShape // id: %1152
retain_value %1151 : $TensorShape // id: %1153
release_value %1135 : $Array<Int32> // id: %1154
destroy_addr %1148 : $*TensorShape // id: %1155
dealloc_stack %1148 : $*TensorShape // id: %1156
// function_ref default argument 1 of Tensor<>.init(randomUniform:state:)
%1157 = function_ref @$S10TensorFlow0A0VAASBRzrlE13randomUniform5stateACyxGAA0A5ShapeV_AA11RandomStateCSgtcfcfA0_ : $@convention(thin) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> () -> @owned Optional<RandomState> // user: %1158
%1158 = apply %1157<Float>() : $@convention(thin) <τ_0_0 where τ_0_0 : BinaryFloatingPoint, τ_0_0 : AccelerableByTensorFlow> () -> @owned Optional<RandomState> // users: %1255, %1194, %1164, %1162, %1160
retain_value %1151 : $TensorShape // id: %1159
retain_value %1158 : $Optional<RandomState> // id: %1160
// function_ref closure #1 in Tensor<>.init(randomStandardUniform:state:)
%1161 = function_ref @$S10TensorFlow0A0VAAs5Int32VRszrlE21randomStandardUniform5stateACyAEGAA0A5ShapeV_AA11RandomStateCSgtcfcAA0A6HandleCyAEGyXEfU_ : $@convention(thin) (@guaranteed Optional<RandomState>, @guaranteed TensorShape) -> @owned TensorHandle<Int32> // user: %1164
retain_value %1158 : $Optional<RandomState> // id: %1162
retain_value %1151 : $TensorShape // id: %1163
%1164 = partial_apply [callee_guaranteed] %1161(%1158, %1151) : $@convention(thin) (@guaranteed Optional<RandomState>, @guaranteed TensorShape) -> @owned TensorHandle<Int32> // users: %1171, %1170, %1166, %1165
strong_retain %1164 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %1165
%1166 = convert_escape_to_noescape %1164 : $@callee_guaranteed () -> @owned TensorHandle<Int32> to $@noescape @callee_guaranteed () -> @owned TensorHandle<Int32> // user: %1169
%1167 = metatype $@thin Int32.Type // user: %1169
// function_ref __tf_hoistable_Int32
%1168 = function_ref @__tf_hoistable_Int32 : $@convention(method) (@noescape @callee_guaranteed () -> @owned TensorHandle<Int32>, @thin Int32.Type) -> @owned TensorHandle<Int32> // user: %1169
%1169 = apply %1168(%1166, %1167) : $@convention(method) (@noescape @callee_guaranteed () -> @owned TensorHandle<Int32>, @thin Int32.Type) -> @owned TensorHandle<Int32> // users: %1192, %1176, %1175, %1174
strong_release %1164 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %1170
strong_release %1164 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %1171
%1172 = alloc_stack $Tensor<Int32> // users: %1173, %1177, %1180
%1173 = struct_element_addr %1172 : $*Tensor<Int32>, #Tensor.handle // user: %1174
store %1169 to %1173 : $*TensorHandle<Int32> // id: %1174
%1175 = struct $Tensor<Int32> (%1169 : $TensorHandle<Int32>) // user: %1181
strong_retain %1169 : $TensorHandle<Int32> // id: %1176
%1177 = load %1172 : $*Tensor<Int32> // user: %1178
%1178 = struct_extract %1177 : $Tensor<Int32>, #Tensor.handle // user: %1179
strong_release %1178 : $TensorHandle<Int32> // id: %1179
dealloc_stack %1172 : $*Tensor<Int32> // id: %1180
%1181 = struct_extract %1175 : $Tensor<Int32>, #Tensor.handle // user: %1183
// function_ref __tf_send
%1182 = function_ref @__tf_send : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed TensorHandle<τ_0_0>) -> @owned TensorHandle<τ_0_0> // user: %1183
%1183 = apply %1182<Int32>(%1181) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed TensorHandle<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %1213, %1201, %1200, %1197, %1196, %1193, %1187, %1186
%1184 = alloc_stack $Tensor<Int32> // users: %1185, %1188, %1191
%1185 = struct_element_addr %1184 : $*Tensor<Int32>, #Tensor.handle // user: %1186
store %1183 to %1185 : $*TensorHandle<Int32> // id: %1186
strong_retain %1183 : $TensorHandle<Int32> // id: %1187
%1188 = load %1184 : $*Tensor<Int32> // user: %1189
%1189 = struct_extract %1188 : $Tensor<Int32>, #Tensor.handle // user: %1190
strong_release %1189 : $TensorHandle<Int32> // id: %1190
dealloc_stack %1184 : $*Tensor<Int32> // id: %1191
strong_release %1169 : $TensorHandle<Int32> // id: %1192
strong_retain %1183 : $TensorHandle<Int32> // id: %1193
release_value %1158 : $Optional<RandomState> // id: %1194
release_value %1151 : $TensorShape // id: %1195
strong_release %1183 : $TensorHandle<Int32> // id: %1196
strong_retain %1183 : $TensorHandle<Int32> // id: %1197
%1198 = metatype $@thick Int32.Type // user: %1200
%1199 = metatype $@thick Float.Type // user: %1200
%1200 = builtin "__tfop_Cast,$in,SrcT,DstT"(%1183 : $TensorHandle<Int32>, %1198 : $@thick Int32.Type, %1199 : $@thick Float.Type) : $TensorHandle<Float> // users: %1253, %1239, %1237, %1234, %1214, %1212, %1211, %1206, %1202, %1205
strong_release %1183 : $TensorHandle<Int32> // id: %1201
strong_retain %1200 : $TensorHandle<Float> // id: %1202
%1203 = alloc_stack $Tensor<Float> // users: %1204, %1207, %1210
%1204 = struct_element_addr %1203 : $*Tensor<Float>, #Tensor.handle // user: %1205
store %1200 to %1204 : $*TensorHandle<Float> // id: %1205
strong_retain %1200 : $TensorHandle<Float> // id: %1206
%1207 = load %1203 : $*Tensor<Float> // user: %1208
%1208 = struct_extract %1207 : $Tensor<Float>, #Tensor.handle // user: %1209
strong_release %1208 : $TensorHandle<Float> // id: %1209
dealloc_stack %1203 : $*Tensor<Float> // id: %1210
strong_release %1200 : $TensorHandle<Float> // id: %1211
strong_retain %1200 : $TensorHandle<Float> // id: %1212
strong_release %1183 : $TensorHandle<Int32> // id: %1213
strong_release %1200 : $TensorHandle<Float> // id: %1214
%1215 = alloc_stack $Float // users: %1221, %1252, %1220
%1216 = metatype $@thick Float.Type // user: %1220
%1217 = integer_literal $Builtin.Int32, 2147483647 // user: %1218
%1218 = struct $Int32 (%1217 : $Builtin.Int32) // user: %1220
// function_ref protocol witness for FloatingPoint.init(_:) in conformance Float
%1219 = function_ref @$SSfSFsSFyxs5Int32VcfCTW : $@convention(witness_method: FloatingPoint) (Int32, @thick Float.Type) -> @out Float // user: %1220
%1220 = apply %1219(%1215, %1218, %1216) : $@convention(witness_method: FloatingPoint) (Int32, @thick Float.Type) -> @out Float
%1221 = load %1215 : $*Float // user: %1222
%1222 = struct_extract %1221 : $Float, #Float._value // user: %1223
%1223 = builtin "__tfop_tfc.scalarToTensor,$in"(%1222 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %1251, %1238, %1237, %1235, %1233, %1232, %1227, %1226
%1224 = alloc_stack $Tensor<Float> // users: %1225, %1228, %1231
%1225 = struct_element_addr %1224 : $*Tensor<Float>, #Tensor.handle // user: %1226
store %1223 to %1225 : $*TensorHandle<Float> // id: %1226
strong_retain %1223 : $TensorHandle<Float> // id: %1227
%1228 = load %1224 : $*Tensor<Float> // user: %1229
%1229 = struct_extract %1228 : $Tensor<Float>, #Tensor.handle // user: %1230
strong_release %1229 : $TensorHandle<Float> // id: %1230
dealloc_stack %1224 : $*Tensor<Float> // id: %1231
strong_retain %1223 : $TensorHandle<Float> // id: %1232
strong_release %1223 : $TensorHandle<Float> // id: %1233
strong_retain %1200 : $TensorHandle<Float> // id: %1234
strong_retain %1223 : $TensorHandle<Float> // id: %1235
%1236 = metatype $@thick Float.Type // user: %1237
%1237 = builtin "__tfop_Div,$in,$in,T"(%1200 : $TensorHandle<Float>, %1223 : $TensorHandle<Float>, %1236 : $@thick Float.Type) : $TensorHandle<Float> // users: %1477, %1257, %1254, %1250, %1245, %1240, %1244, %1243
strong_release %1223 : $TensorHandle<Float> // id: %1238
strong_release %1200 : $TensorHandle<Float> // id: %1239
strong_retain %1237 : $TensorHandle<Float> // id: %1240
%1241 = alloc_stack $Tensor<Float> // users: %1242, %1246, %1249
%1242 = struct_element_addr %1241 : $*Tensor<Float>, #Tensor.handle // user: %1243
store %1237 to %1242 : $*TensorHandle<Float> // id: %1243
%1244 = struct $Tensor<Float> (%1237 : $TensorHandle<Float>) // users: %1470, %1259
strong_retain %1237 : $TensorHandle<Float> // id: %1245
%1246 = load %1241 : $*Tensor<Float> // user: %1247
%1247 = struct_extract %1246 : $Tensor<Float>, #Tensor.handle // user: %1248
strong_release %1247 : $TensorHandle<Float> // id: %1248
dealloc_stack %1241 : $*Tensor<Float> // id: %1249
strong_release %1237 : $TensorHandle<Float> // id: %1250
strong_release %1223 : $TensorHandle<Float> // id: %1251
dealloc_stack %1215 : $*Float // id: %1252
strong_release %1200 : $TensorHandle<Float> // id: %1253
strong_retain %1237 : $TensorHandle<Float> // id: %1254
release_value %1158 : $Optional<RandomState> // id: %1255
release_value %1151 : $TensorShape // id: %1256
strong_release %1237 : $TensorHandle<Float> // id: %1257
%1258 = struct_element_addr %969 : $*Classifier, #Classifier.w2 // user: %1259
store %1244 to %1258 : $*Tensor<Float> // id: %1259
%1260 = metatype $@thin TensorShape.Type // user: %1296
%1261 = integer_literal $Builtin.Word, 2 // users: %1267, %1262
%1262 = builtin "zextOrBitCast_Word_Int64"(%1261 : $Builtin.Word) : $Builtin.Int64 // users: %1265, %1263
%1263 = struct $Int (%1262 : $Builtin.Int64) // users: %1512, %1270
%1264 = integer_literal $Builtin.Int64, 0 // user: %1265
%1265 = builtin "cmp_slt_Int64"(%1264 : $Builtin.Int64, %1262 : $Builtin.Int64) : $Builtin.Int1 // user: %1266
cond_br %1265, bb15, bb22 // id: %1266
bb15: // Preds: bb14
%1267 = alloc_ref [tail_elems $Int32 * %1261 : $Builtin.Word] $_ContiguousArrayStorage<Int32> // user: %1270
%1268 = metatype $@thin Array<Int32>.Type // user: %1270
// function_ref static Array._adoptStorage(_:count:)
%1269 = function_ref @$SSa13_adoptStorage_5countSayxG_SpyxGts016_ContiguousArrayB0CyxGn_SitFZ : $@convention(method) <τ_0_0> (@owned _ContiguousArrayStorage<τ_0_0>, Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // user: %1270
%1270 = apply %1269<Int32>(%1267, %1263, %1268) : $@convention(method) <τ_0_0> (@owned _ContiguousArrayStorage<τ_0_0>, Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // users: %1272, %1271
%1271 = tuple_extract %1270 : $(Array<Int32>, UnsafeMutablePointer<Int32>), 0 // user: %1274
%1272 = tuple_extract %1270 : $(Array<Int32>, UnsafeMutablePointer<Int32>), 1 // user: %1273
%1273 = struct_extract %1272 : $UnsafeMutablePointer<Int32>, #UnsafeMutablePointer._rawValue // user: %1274
br bb16(%1271 : $Array<Int32>, %1273 : $Builtin.RawPointer) // id: %1274
// %1275 // user: %1277
// %1276 // user: %1277
bb16(%1275 : $Array<Int32>, %1276 : $Builtin.RawPointer): // Preds: bb22 bb15
%1277 = tuple (%1275 : $Array<Int32>, %1276 : $Builtin.RawPointer) // user: %1278
br bb17(%1277 : $(Array<Int32>, Builtin.RawPointer)) // id: %1278
// %1279 // users: %1283, %1282, %1280
bb17(%1279 : $(Array<Int32>, Builtin.RawPointer)): // Preds: bb16
%1280 = tuple_extract %1279 : $(Array<Int32>, Builtin.RawPointer), 0 // users: %1299, %1296, %1294, %1281
retain_value %1280 : $Array<Int32> // id: %1281
%1282 = tuple_extract %1279 : $(Array<Int32>, Builtin.RawPointer), 1 // user: %1284
release_value %1279 : $(Array<Int32>, Builtin.RawPointer) // id: %1283
%1284 = pointer_to_address %1282 : $Builtin.RawPointer to [strict] $*Int32 // users: %1289, %1287
%1285 = integer_literal $Builtin.Int32, 1 // user: %1286
%1286 = struct $Int32 (%1285 : $Builtin.Int32) // user: %1287
store %1286 to %1284 : $*Int32 // id: %1287
%1288 = integer_literal $Builtin.Word, 1 // user: %1289
%1289 = index_addr %1284 : $*Int32, %1288 : $Builtin.Word // user: %1292
%1290 = integer_literal $Builtin.Int32, 30 // user: %1291
%1291 = struct $Int32 (%1290 : $Builtin.Int32) // user: %1292
store %1291 to %1289 : $*Int32 // id: %1292
%1293 = alloc_stack $TensorShape // users: %1301, %1300, %1297
retain_value %1280 : $Array<Int32> // id: %1294
// function_ref TensorShape.init(_:)
%1295 = function_ref @$S10TensorFlow0A5ShapeVyACSays5Int32VGcfC : $@convention(method) (@owned Array<Int32>, @thin TensorShape.Type) -> @owned TensorShape // user: %1296
%1296 = apply %1295(%1280, %1260) : $@convention(method) (@owned Array<Int32>, @thin TensorShape.Type) -> @owned TensorShape // users: %1361, %1358, %1311, %1302, %1298, %1297
store %1296 to %1293 : $*TensorShape // id: %1297
retain_value %1296 : $TensorShape // id: %1298
release_value %1280 : $Array<Int32> // id: %1299
destroy_addr %1293 : $*TensorShape // id: %1300
dealloc_stack %1293 : $*TensorShape // id: %1301
retain_value %1296 : $TensorShape // id: %1302
%1303 = integer_literal $Builtin.Int2048, 0 // user: %1304
%1304 = builtin "s_to_s_checked_trunc_Int2048_Int64"(%1303 : $Builtin.Int2048) : $(Builtin.Int64, Builtin.Int1) // user: %1305
%1305 = tuple_extract %1304 : $(Builtin.Int64, Builtin.Int1), 0 // user: %1306
%1306 = struct $Int64 (%1305 : $Builtin.Int64) // user: %1308
%1307 = tuple ()
%1308 = struct_extract %1306 : $Int64, #Int64._value // user: %1309
%1309 = builtin "sitofp_Int64_FPIEEE32"(%1308 : $Builtin.Int64) : $Builtin.FPIEEE32 // user: %1326
%1310 = tuple ()
%1311 = struct_extract %1296 : $TensorShape, #TensorShape.dimensions // users: %1314, %1324, %1312
retain_value %1311 : $Array<Int32> // id: %1312
// function_ref __tf_tensor_from_scalars_1d
%1313 = function_ref @__tf_tensor_from_scalars_1d : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // user: %1314
%1314 = apply %1313<Int32>(%1311) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %1356, %1343, %1341, %1337, %1325, %1323, %1318, %1317
%1315 = alloc_stack $Tensor<Int32> // users: %1316, %1319, %1322
%1316 = struct_element_addr %1315 : $*Tensor<Int32>, #Tensor.handle // user: %1317
store %1314 to %1316 : $*TensorHandle<Int32> // id: %1317
strong_retain %1314 : $TensorHandle<Int32> // id: %1318
%1319 = load %1315 : $*Tensor<Int32> // user: %1320
%1320 = struct_extract %1319 : $Tensor<Int32>, #Tensor.handle // user: %1321
strong_release %1320 : $TensorHandle<Int32> // id: %1321
dealloc_stack %1315 : $*Tensor<Int32> // id: %1322
strong_retain %1314 : $TensorHandle<Int32> // id: %1323
release_value %1311 : $Array<Int32> // id: %1324
strong_release %1314 : $TensorHandle<Int32> // id: %1325
%1326 = builtin "__tfop_tfc.scalarToTensor,$in"(%1309 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %1355, %1342, %1341, %1338, %1336, %1335, %1330, %1329
%1327 = alloc_stack $Tensor<Float> // users: %1328, %1331, %1334
%1328 = struct_element_addr %1327 : $*Tensor<Float>, #Tensor.handle // user: %1329
store %1326 to %1328 : $*TensorHandle<Float> // id: %1329
strong_retain %1326 : $TensorHandle<Float> // id: %1330
%1331 = load %1327 : $*Tensor<Float> // user: %1332
%1332 = struct_extract %1331 : $Tensor<Float>, #Tensor.handle // user: %1333
strong_release %1332 : $TensorHandle<Float> // id: %1333
dealloc_stack %1327 : $*Tensor<Float> // id: %1334
strong_retain %1326 : $TensorHandle<Float> // id: %1335
strong_release %1326 : $TensorHandle<Float> // id: %1336
strong_retain %1314 : $TensorHandle<Int32> // id: %1337
strong_retain %1326 : $TensorHandle<Float> // id: %1338
%1339 = metatype $@thick Float.Type // user: %1341
%1340 = metatype $@thick Int32.Type // user: %1341
%1341 = builtin "__tfop_Fill,$in,$in,T,index_type"(%1314 : $TensorHandle<Int32>, %1326 : $TensorHandle<Float>, %1339 : $@thick Float.Type, %1340 : $@thick Int32.Type) : $TensorHandle<Float> // users: %1481, %1362, %1360, %1359, %1357, %1354, %1349, %1344, %1348, %1347
strong_release %1326 : $TensorHandle<Float> // id: %1342
strong_release %1314 : $TensorHandle<Int32> // id: %1343
strong_retain %1341 : $TensorHandle<Float> // id: %1344
%1345 = alloc_stack $Tensor<Float> // users: %1346, %1350, %1353
%1346 = struct_element_addr %1345 : $*Tensor<Float>, #Tensor.handle // user: %1347
store %1341 to %1346 : $*TensorHandle<Float> // id: %1347
%1348 = struct $Tensor<Float> (%1341 : $TensorHandle<Float>) // users: %1470, %1364
strong_retain %1341 : $TensorHandle<Float> // id: %1349
%1350 = load %1345 : $*Tensor<Float> // user: %1351
%1351 = struct_extract %1350 : $Tensor<Float>, #Tensor.handle // user: %1352
strong_release %1351 : $TensorHandle<Float> // id: %1352
dealloc_stack %1345 : $*Tensor<Float> // id: %1353
strong_release %1341 : $TensorHandle<Float> // id: %1354
strong_release %1326 : $TensorHandle<Float> // id: %1355
strong_release %1314 : $TensorHandle<Int32> // id: %1356
strong_retain %1341 : $TensorHandle<Float> // id: %1357
release_value %1296 : $TensorShape // id: %1358
strong_release %1341 : $TensorHandle<Float> // id: %1359
strong_retain %1341 : $TensorHandle<Float> // id: %1360
release_value %1296 : $TensorShape // id: %1361
strong_release %1341 : $TensorHandle<Float> // id: %1362
%1363 = struct_element_addr %969 : $*Classifier, #Classifier.b1 // user: %1364
store %1348 to %1363 : $*Tensor<Float> // id: %1364
%1365 = metatype $@thin TensorShape.Type // user: %1401
%1366 = integer_literal $Builtin.Word, 2 // users: %1372, %1367
%1367 = builtin "zextOrBitCast_Word_Int64"(%1366 : $Builtin.Word) : $Builtin.Int64 // users: %1370, %1368
%1368 = struct $Int (%1367 : $Builtin.Int64) // users: %1505, %1375
%1369 = integer_literal $Builtin.Int64, 0 // user: %1370
%1370 = builtin "cmp_slt_Int64"(%1369 : $Builtin.Int64, %1367 : $Builtin.Int64) : $Builtin.Int1 // user: %1371
cond_br %1370, bb18, bb21 // id: %1371
bb18: // Preds: bb17
%1372 = alloc_ref [tail_elems $Int32 * %1366 : $Builtin.Word] $_ContiguousArrayStorage<Int32> // user: %1375
%1373 = metatype $@thin Array<Int32>.Type // user: %1375
// function_ref static Array._adoptStorage(_:count:)
%1374 = function_ref @$SSa13_adoptStorage_5countSayxG_SpyxGts016_ContiguousArrayB0CyxGn_SitFZ : $@convention(method) <τ_0_0> (@owned _ContiguousArrayStorage<τ_0_0>, Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // user: %1375
%1375 = apply %1374<Int32>(%1372, %1368, %1373) : $@convention(method) <τ_0_0> (@owned _ContiguousArrayStorage<τ_0_0>, Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // users: %1377, %1376
%1376 = tuple_extract %1375 : $(Array<Int32>, UnsafeMutablePointer<Int32>), 0 // user: %1379
%1377 = tuple_extract %1375 : $(Array<Int32>, UnsafeMutablePointer<Int32>), 1 // user: %1378
%1378 = struct_extract %1377 : $UnsafeMutablePointer<Int32>, #UnsafeMutablePointer._rawValue // user: %1379
br bb19(%1376 : $Array<Int32>, %1378 : $Builtin.RawPointer) // id: %1379
// %1380 // user: %1382
// %1381 // user: %1382
bb19(%1380 : $Array<Int32>, %1381 : $Builtin.RawPointer): // Preds: bb21 bb18
%1382 = tuple (%1380 : $Array<Int32>, %1381 : $Builtin.RawPointer) // user: %1383
br bb20(%1382 : $(Array<Int32>, Builtin.RawPointer)) // id: %1383
// %1384 // users: %1388, %1387, %1385
bb20(%1384 : $(Array<Int32>, Builtin.RawPointer)): // Preds: bb19
%1385 = tuple_extract %1384 : $(Array<Int32>, Builtin.RawPointer), 0 // users: %1404, %1401, %1399, %1386
retain_value %1385 : $Array<Int32> // id: %1386
%1387 = tuple_extract %1384 : $(Array<Int32>, Builtin.RawPointer), 1 // user: %1389
release_value %1384 : $(Array<Int32>, Builtin.RawPointer) // id: %1388
%1389 = pointer_to_address %1387 : $Builtin.RawPointer to [strict] $*Int32 // users: %1394, %1392
%1390 = integer_literal $Builtin.Int32, 1 // user: %1391
%1391 = struct $Int32 (%1390 : $Builtin.Int32) // user: %1392
store %1391 to %1389 : $*Int32 // id: %1392
%1393 = integer_literal $Builtin.Word, 1 // user: %1394
%1394 = index_addr %1389 : $*Int32, %1393 : $Builtin.Word // user: %1397
%1395 = integer_literal $Builtin.Int32, 10 // user: %1396
%1396 = struct $Int32 (%1395 : $Builtin.Int32) // user: %1397
store %1396 to %1394 : $*Int32 // id: %1397
%1398 = alloc_stack $TensorShape // users: %1406, %1405, %1402
retain_value %1385 : $Array<Int32> // id: %1399
// function_ref TensorShape.init(_:)
%1400 = function_ref @$S10TensorFlow0A5ShapeVyACSays5Int32VGcfC : $@convention(method) (@owned Array<Int32>, @thin TensorShape.Type) -> @owned TensorShape // user: %1401
%1401 = apply %1400(%1385, %1365) : $@convention(method) (@owned Array<Int32>, @thin TensorShape.Type) -> @owned TensorShape // users: %1466, %1463, %1416, %1407, %1403, %1402
store %1401 to %1398 : $*TensorShape // id: %1402
retain_value %1401 : $TensorShape // id: %1403
release_value %1385 : $Array<Int32> // id: %1404
destroy_addr %1398 : $*TensorShape // id: %1405
dealloc_stack %1398 : $*TensorShape // id: %1406
retain_value %1401 : $TensorShape // id: %1407
%1408 = integer_literal $Builtin.Int2048, 0 // user: %1409
%1409 = builtin "s_to_s_checked_trunc_Int2048_Int64"(%1408 : $Builtin.Int2048) : $(Builtin.Int64, Builtin.Int1) // user: %1410
%1410 = tuple_extract %1409 : $(Builtin.Int64, Builtin.Int1), 0 // user: %1411
%1411 = struct $Int64 (%1410 : $Builtin.Int64) // user: %1413
%1412 = tuple ()
%1413 = struct_extract %1411 : $Int64, #Int64._value // user: %1414
%1414 = builtin "sitofp_Int64_FPIEEE32"(%1413 : $Builtin.Int64) : $Builtin.FPIEEE32 // user: %1431
%1415 = tuple ()
%1416 = struct_extract %1401 : $TensorShape, #TensorShape.dimensions // users: %1419, %1429, %1417
retain_value %1416 : $Array<Int32> // id: %1417
// function_ref __tf_tensor_from_scalars_1d
%1418 = function_ref @__tf_tensor_from_scalars_1d : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // user: %1419
%1419 = apply %1418<Int32>(%1416) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %1461, %1448, %1446, %1442, %1430, %1428, %1423, %1422
%1420 = alloc_stack $Tensor<Int32> // users: %1421, %1424, %1427
%1421 = struct_element_addr %1420 : $*Tensor<Int32>, #Tensor.handle // user: %1422
store %1419 to %1421 : $*TensorHandle<Int32> // id: %1422
strong_retain %1419 : $TensorHandle<Int32> // id: %1423
%1424 = load %1420 : $*Tensor<Int32> // user: %1425
%1425 = struct_extract %1424 : $Tensor<Int32>, #Tensor.handle // user: %1426
strong_release %1425 : $TensorHandle<Int32> // id: %1426
dealloc_stack %1420 : $*Tensor<Int32> // id: %1427
strong_retain %1419 : $TensorHandle<Int32> // id: %1428
release_value %1416 : $Array<Int32> // id: %1429
strong_release %1419 : $TensorHandle<Int32> // id: %1430
%1431 = builtin "__tfop_tfc.scalarToTensor,$in"(%1414 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %1460, %1447, %1446, %1443, %1441, %1440, %1435, %1434
%1432 = alloc_stack $Tensor<Float> // users: %1433, %1436, %1439
%1433 = struct_element_addr %1432 : $*Tensor<Float>, #Tensor.handle // user: %1434
store %1431 to %1433 : $*TensorHandle<Float> // id: %1434
strong_retain %1431 : $TensorHandle<Float> // id: %1435
%1436 = load %1432 : $*Tensor<Float> // user: %1437
%1437 = struct_extract %1436 : $Tensor<Float>, #Tensor.handle // user: %1438
strong_release %1437 : $TensorHandle<Float> // id: %1438
dealloc_stack %1432 : $*Tensor<Float> // id: %1439
strong_retain %1431 : $TensorHandle<Float> // id: %1440
strong_release %1431 : $TensorHandle<Float> // id: %1441
strong_retain %1419 : $TensorHandle<Int32> // id: %1442
strong_retain %1431 : $TensorHandle<Float> // id: %1443
%1444 = metatype $@thick Float.Type // user: %1446
%1445 = metatype $@thick Int32.Type // user: %1446
%1446 = builtin "__tfop_Fill,$in,$in,T,index_type"(%1419 : $TensorHandle<Int32>, %1431 : $TensorHandle<Float>, %1444 : $@thick Float.Type, %1445 : $@thick Int32.Type) : $TensorHandle<Float> // users: %1485, %1467, %1465, %1464, %1462, %1459, %1454, %1449, %1453, %1452
strong_release %1431 : $TensorHandle<Float> // id: %1447
strong_release %1419 : $TensorHandle<Int32> // id: %1448
strong_retain %1446 : $TensorHandle<Float> // id: %1449
%1450 = alloc_stack $Tensor<Float> // users: %1451, %1455, %1458
%1451 = struct_element_addr %1450 : $*Tensor<Float>, #Tensor.handle // user: %1452
store %1446 to %1451 : $*TensorHandle<Float> // id: %1452
%1453 = struct $Tensor<Float> (%1446 : $TensorHandle<Float>) // users: %1470, %1469
strong_retain %1446 : $TensorHandle<Float> // id: %1454
%1455 = load %1450 : $*Tensor<Float> // user: %1456
%1456 = struct_extract %1455 : $Tensor<Float>, #Tensor.handle // user: %1457
strong_release %1456 : $TensorHandle<Float> // id: %1457
dealloc_stack %1450 : $*Tensor<Float> // id: %1458
strong_release %1446 : $TensorHandle<Float> // id: %1459
strong_release %1431 : $TensorHandle<Float> // id: %1460
strong_release %1419 : $TensorHandle<Int32> // id: %1461
strong_retain %1446 : $TensorHandle<Float> // id: %1462
release_value %1401 : $TensorShape // id: %1463
strong_release %1446 : $TensorHandle<Float> // id: %1464
strong_retain %1446 : $TensorHandle<Float> // id: %1465
release_value %1401 : $TensorShape // id: %1466
strong_release %1446 : $TensorHandle<Float> // id: %1467
%1468 = struct_element_addr %969 : $*Classifier, #Classifier.b2 // user: %1469
store %1453 to %1468 : $*Tensor<Float> // id: %1469
%1470 = struct $Classifier (%1099 : $Tensor<Float>, %1244 : $Tensor<Float>, %1348 : $Tensor<Float>, %1453 : $Tensor<Float>) // users: %1483, %1479, %1475, %1471, %1502
%1471 = struct_extract %1470 : $Classifier, #Classifier.w1 // user: %1472
%1472 = struct_extract %1471 : $Tensor<Float>, #Tensor.handle // user: %1474
strong_retain %1092 : $TensorHandle<Float> // id: %1473
%1474 = struct $Tensor<Float> (%1472 : $TensorHandle<Float>) // user: %1487
%1475 = struct_extract %1470 : $Classifier, #Classifier.w2 // user: %1476
%1476 = struct_extract %1475 : $Tensor<Float>, #Tensor.handle // user: %1478
strong_retain %1237 : $TensorHandle<Float> // id: %1477
%1478 = struct $Tensor<Float> (%1476 : $TensorHandle<Float>) // user: %1487
%1479 = struct_extract %1470 : $Classifier, #Classifier.b1 // user: %1480
%1480 = struct_extract %1479 : $Tensor<Float>, #Tensor.handle // user: %1482
strong_retain %1341 : $TensorHandle<Float> // id: %1481
%1482 = struct $Tensor<Float> (%1480 : $TensorHandle<Float>) // user: %1487
%1483 = struct_extract %1470 : $Classifier, #Classifier.b2 // user: %1484
%1484 = struct_extract %1483 : $Tensor<Float>, #Tensor.handle // user: %1486
strong_retain %1446 : $TensorHandle<Float> // id: %1485
%1486 = struct $Tensor<Float> (%1484 : $TensorHandle<Float>) // user: %1487
%1487 = struct $Classifier (%1474 : $Tensor<Float>, %1478 : $Tensor<Float>, %1482 : $Tensor<Float>, %1486 : $Tensor<Float>)
%1488 = load %969 : $*Classifier // users: %1498, %1495, %1492, %1489
%1489 = struct_extract %1488 : $Classifier, #Classifier.w1 // user: %1490
%1490 = struct_extract %1489 : $Tensor<Float>, #Tensor.handle // user: %1491
strong_release %1490 : $TensorHandle<Float> // id: %1491
%1492 = struct_extract %1488 : $Classifier, #Classifier.w2 // user: %1493
%1493 = struct_extract %1492 : $Tensor<Float>, #Tensor.handle // user: %1494
strong_release %1493 : $TensorHandle<Float> // id: %1494
%1495 = struct_extract %1488 : $Classifier, #Classifier.b1 // user: %1496
%1496 = struct_extract %1495 : $Tensor<Float>, #Tensor.handle // user: %1497
strong_release %1496 : $TensorHandle<Float> // id: %1497
%1498 = struct_extract %1488 : $Classifier, #Classifier.b2 // user: %1499
%1499 = struct_extract %1498 : $Tensor<Float>, #Tensor.handle // user: %1500
strong_release %1499 : $TensorHandle<Float> // id: %1500
dealloc_stack %969 : $*Classifier // id: %1501
br bb25(%1470 : $Classifier) // id: %1502
bb21: // Preds: bb17
%1503 = metatype $@thin Array<Int32>.Type // user: %1505
// function_ref static Array._allocateUninitialized(_:)
%1504 = function_ref @$SSa22_allocateUninitializedySayxG_SpyxGtSiFZ : $@convention(method) <τ_0_0> (Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // user: %1505
%1505 = apply %1504<Int32>(%1368, %1503) : $@convention(method) <τ_0_0> (Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // users: %1507, %1506
%1506 = tuple_extract %1505 : $(Array<Int32>, UnsafeMutablePointer<Int32>), 0 // user: %1509
%1507 = tuple_extract %1505 : $(Array<Int32>, UnsafeMutablePointer<Int32>), 1 // user: %1508
%1508 = struct_extract %1507 : $UnsafeMutablePointer<Int32>, #UnsafeMutablePointer._rawValue // user: %1509
br bb19(%1506 : $Array<Int32>, %1508 : $Builtin.RawPointer) // id: %1509
bb22: // Preds: bb14
%1510 = metatype $@thin Array<Int32>.Type // user: %1512
// function_ref static Array._allocateUninitialized(_:)
%1511 = function_ref @$SSa22_allocateUninitializedySayxG_SpyxGtSiFZ : $@convention(method) <τ_0_0> (Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // user: %1512
%1512 = apply %1511<Int32>(%1263, %1510) : $@convention(method) <τ_0_0> (Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // users: %1514, %1513
%1513 = tuple_extract %1512 : $(Array<Int32>, UnsafeMutablePointer<Int32>), 0 // user: %1516
%1514 = tuple_extract %1512 : $(Array<Int32>, UnsafeMutablePointer<Int32>), 1 // user: %1515
%1515 = struct_extract %1514 : $UnsafeMutablePointer<Int32>, #UnsafeMutablePointer._rawValue // user: %1516
br bb16(%1513 : $Array<Int32>, %1515 : $Builtin.RawPointer) // id: %1516
bb23: // Preds: bb11
%1517 = metatype $@thin Array<Int32>.Type // user: %1519
// function_ref static Array._allocateUninitialized(_:)
%1518 = function_ref @$SSa22_allocateUninitializedySayxG_SpyxGtSiFZ : $@convention(method) <τ_0_0> (Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // user: %1519
%1519 = apply %1518<Int32>(%1118, %1517) : $@convention(method) <τ_0_0> (Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // users: %1521, %1520
%1520 = tuple_extract %1519 : $(Array<Int32>, UnsafeMutablePointer<Int32>), 0 // user: %1523
%1521 = tuple_extract %1519 : $(Array<Int32>, UnsafeMutablePointer<Int32>), 1 // user: %1522
%1522 = struct_extract %1521 : $UnsafeMutablePointer<Int32>, #UnsafeMutablePointer._rawValue // user: %1523
br bb13(%1520 : $Array<Int32>, %1522 : $Builtin.RawPointer) // id: %1523
bb24: // Preds: bb8
%1524 = metatype $@thin Array<Int32>.Type // user: %1526
// function_ref static Array._allocateUninitialized(_:)
%1525 = function_ref @$SSa22_allocateUninitializedySayxG_SpyxGtSiFZ : $@convention(method) <τ_0_0> (Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // user: %1526
%1526 = apply %1525<Int32>(%973, %1524) : $@convention(method) <τ_0_0> (Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // users: %1528, %1527
%1527 = tuple_extract %1526 : $(Array<Int32>, UnsafeMutablePointer<Int32>), 0 // user: %1530
%1528 = tuple_extract %1526 : $(Array<Int32>, UnsafeMutablePointer<Int32>), 1 // user: %1529
%1529 = struct_extract %1528 : $UnsafeMutablePointer<Int32>, #UnsafeMutablePointer._rawValue // user: %1530
br bb10(%1527 : $Array<Int32>, %1529 : $Builtin.RawPointer) // id: %1530
// %1531 // user: %1532
bb25(%1531 : $Classifier): // Preds: bb20
store %1531 to %968 : $*Classifier // id: %1532
%1533 = integer_literal $Builtin.Int64, 100 // user: %1534
%1534 = struct $Int (%1533 : $Builtin.Int64) // users: %1539, %1535
debug_value %1534 : $Int, let, name "epochCount", argno 4 // id: %1535
debug_value_addr %968 : $*Classifier, var, name "self", argno 5 // id: %1536
%1537 = alloc_stack $Float // users: %1634, %1631, %1604
%1538 = alloc_stack $Int // users: %1633, %1622, %1608, %1539
store %1534 to %1538 : $*Int // id: %1539
br bb26 // id: %1540
bb26: // Preds: bb27 bb25
%1541 = begin_access [read] [static] %968 : $*Classifier // users: %1547, %1542
%1542 = struct_element_addr %1541 : $*Classifier, #Classifier.w1 // user: %1543
%1543 = load %1542 : $*Tensor<Float> // users: %1571, %1544, %1553
%1544 = struct_extract %1543 : $Tensor<Float>, #Tensor.handle // users: %1545, %1546
strong_retain %1544 : $TensorHandle<Float> // id: %1545
%1546 = struct $Tensor<Float> (%1544 : $TensorHandle<Float>)
end_access %1541 : $*Classifier // id: %1547
// function_ref default argument 2 of static Raw.matMul<A>(_:_:transposeA:transposeB:)
%1548 = function_ref @$S10TensorFlow3RawO6matMul__10transposeA0F1BAA0A0VyxGAI_AIS2btSjRzAA013AccelerableByaB0RzlFZfA1_ : $@convention(thin) <τ_0_0 where τ_0_0 : Numeric, τ_0_0 : AccelerableByTensorFlow> () -> Bool // user: %1549
%1549 = apply %1548<Float>() : $@convention(thin) <τ_0_0 where τ_0_0 : Numeric, τ_0_0 : AccelerableByTensorFlow> () -> Bool // user: %1556
// function_ref default argument 3 of static Raw.matMul<A>(_:_:transposeA:transposeB:)
%1550 = function_ref @$S10TensorFlow3RawO6matMul__10transposeA0F1BAA0A0VyxGAI_AIS2btSjRzAA013AccelerableByaB0RzlFZfA2_ : $@convention(thin) <τ_0_0 where τ_0_0 : Numeric, τ_0_0 : AccelerableByTensorFlow> () -> Bool // user: %1551
%1551 = apply %1550<Float>() : $@convention(thin) <τ_0_0 where τ_0_0 : Numeric, τ_0_0 : AccelerableByTensorFlow> () -> Bool // user: %1557
strong_retain %460 : $TensorHandle<Float> // id: %1552
%1553 = struct_extract %1543 : $Tensor<Float>, #Tensor.handle // users: %1559, %1558, %1554
strong_retain %1553 : $TensorHandle<Float> // id: %1554
%1555 = metatype $@thick Float.Type // user: %1558
%1556 = struct_extract %1549 : $Bool, #Bool._value // user: %1558
%1557 = struct_extract %1551 : $Bool, #Bool._value // user: %1558
%1558 = builtin "__tfop_MatMul,$in,$in,T,transpose_a,transpose_b"(%460 : $TensorHandle<Float>, %1553 : $TensorHandle<Float>, %1555 : $@thick Float.Type, %1556 : $Builtin.Int1, %1557 : $Builtin.Int1) : $TensorHandle<Float> // users: %1600, %1586, %1584, %1580, %1570, %1565, %1561, %1564
strong_release %1553 : $TensorHandle<Float> // id: %1559
strong_release %460 : $TensorHandle<Float> // id: %1560
strong_retain %1558 : $TensorHandle<Float> // id: %1561
%1562 = alloc_stack $Tensor<Float> // users: %1563, %1566, %1569
%1563 = struct_element_addr %1562 : $*Tensor<Float>, #Tensor.handle // user: %1564
store %1558 to %1563 : $*TensorHandle<Float> // id: %1564
strong_retain %1558 : $TensorHandle<Float> // id: %1565
%1566 = load %1562 : $*Tensor<Float> // user: %1567
%1567 = struct_extract %1566 : $Tensor<Float>, #Tensor.handle // user: %1568
strong_release %1567 : $TensorHandle<Float> // id: %1568
dealloc_stack %1562 : $*Tensor<Float> // id: %1569
strong_release %1558 : $TensorHandle<Float> // id: %1570
%1571 = struct_extract %1543 : $Tensor<Float>, #Tensor.handle // user: %1572
strong_release %1571 : $TensorHandle<Float> // id: %1572
%1573 = begin_access [read] [static] %968 : $*Classifier // users: %1579, %1574
%1574 = struct_element_addr %1573 : $*Classifier, #Classifier.b1 // user: %1575
%1575 = load %1574 : $*Tensor<Float> // users: %1598, %1576, %1581
%1576 = struct_extract %1575 : $Tensor<Float>, #Tensor.handle // users: %1577, %1578
strong_retain %1576 : $TensorHandle<Float> // id: %1577
%1578 = struct $Tensor<Float> (%1576 : $TensorHandle<Float>)
end_access %1573 : $*Classifier // id: %1579
strong_retain %1558 : $TensorHandle<Float> // id: %1580
%1581 = struct_extract %1575 : $Tensor<Float>, #Tensor.handle // users: %1585, %1584, %1582
strong_retain %1581 : $TensorHandle<Float> // id: %1582
%1583 = metatype $@thick Float.Type // user: %1584
%1584 = builtin "__tfop_Add,$in,$in,T"(%1558 : $TensorHandle<Float>, %1581 : $TensorHandle<Float>, %1583 : $@thick Float.Type) : $TensorHandle<Float> // users: %1620, %1597, %1592, %1587, %1591, %1590
strong_release %1581 : $TensorHandle<Float> // id: %1585
strong_release %1558 : $TensorHandle<Float> // id: %1586
strong_retain %1584 : $TensorHandle<Float> // id: %1587
%1588 = alloc_stack $Tensor<Float> // users: %1589, %1593, %1596
%1589 = struct_element_addr %1588 : $*Tensor<Float>, #Tensor.handle // user: %1590
store %1584 to %1589 : $*TensorHandle<Float> // id: %1590
%1591 = struct $Tensor<Float> (%1584 : $TensorHandle<Float>) // user: %1601
strong_retain %1584 : $TensorHandle<Float> // id: %1592
%1593 = load %1588 : $*Tensor<Float> // user: %1594
%1594 = struct_extract %1593 : $Tensor<Float>, #Tensor.handle // user: %1595
strong_release %1594 : $TensorHandle<Float> // id: %1595
dealloc_stack %1588 : $*Tensor<Float> // id: %1596
strong_release %1584 : $TensorHandle<Float> // id: %1597
%1598 = struct_extract %1575 : $Tensor<Float>, #Tensor.handle // user: %1599
strong_release %1598 : $TensorHandle<Float> // id: %1599
strong_release %1558 : $TensorHandle<Float> // id: %1600
debug_value %1591 : $Tensor<Float>, let, name "z1" // id: %1601
%1602 = float_literal $Builtin.FPIEEE32, 0x3F800000 // 1 // user: %1603
%1603 = struct $Float (%1602 : $Builtin.FPIEEE32) // users: %1635, %1605
%1604 = begin_access [modify] [static] %1537 : $*Float // users: %1606, %1605
store %1603 to %1604 : $*Float // id: %1605
end_access %1604 : $*Float // id: %1606
%1607 = integer_literal $Builtin.Int64, 1 // user: %1612
%1608 = begin_access [modify] [static] %1538 : $*Int // users: %1619, %1617, %1609
%1609 = struct_element_addr %1608 : $*Int, #Int._value // user: %1610
%1610 = load %1609 : $*Builtin.Int64 // user: %1612
%1611 = integer_literal $Builtin.Int1, -1 // user: %1612
%1612 = builtin "ssub_with_overflow_Int64"(%1610 : $Builtin.Int64, %1607 : $Builtin.Int64, %1611 : $Builtin.Int1) : $(Builtin.Int64, Builtin.Int1) // users: %1614, %1613
%1613 = tuple_extract %1612 : $(Builtin.Int64, Builtin.Int1), 0 // user: %1616
%1614 = tuple_extract %1612 : $(Builtin.Int64, Builtin.Int1), 1 // user: %1615
cond_fail %1614 : $Builtin.Int1 // id: %1615
%1616 = struct $Int (%1613 : $Builtin.Int64) // users: %1627, %1617
store %1616 to %1608 : $*Int // id: %1617
%1618 = tuple ()
end_access %1608 : $*Int // id: %1619
strong_release %1584 : $TensorHandle<Float> // id: %1620
%1621 = metatype $@thin Int.Type // user: %1627
%1622 = begin_access [read] [static] %1538 : $*Int // user: %1623
end_access %1622 : $*Int // id: %1623
%1624 = integer_literal $Builtin.Int64, 0 // user: %1625
%1625 = struct $Int (%1624 : $Builtin.Int64) // user: %1627
// function_ref static Int.> infix(_:_:)
%1626 = function_ref @$SSi1goiySbSi_SitFZ : $@convention(method) (Int, Int, @thin Int.Type) -> Bool // user: %1627
%1627 = apply %1626(%1616, %1625, %1621) : $@convention(method) (Int, Int, @thin Int.Type) -> Bool // user: %1628
%1628 = struct_extract %1627 : $Bool, #Bool._value // user: %1629
cond_br %1628, bb27, bb28 // id: %1629
bb27: // Preds: bb26
br bb26 // id: %1630
bb28: // Preds: bb26
%1631 = begin_access [read] [static] %1537 : $*Float // user: %1632
end_access %1631 : $*Float // id: %1632
dealloc_stack %1538 : $*Int // id: %1633
dealloc_stack %1537 : $*Float // id: %1634
br bb29(%1603 : $Float) // id: %1635
// %1636 // users: %1637, %1670
bb29(%1636 : $Float): // Preds: bb28
debug_value %1636 : $Float, let, name "loss" // id: %1637
%1638 = integer_literal $Builtin.Word, 1 // users: %1644, %1639
%1639 = builtin "zextOrBitCast_Word_Int64"(%1638 : $Builtin.Word) : $Builtin.Int64 // users: %1642, %1640
%1640 = struct $Int (%1639 : $Builtin.Int64) // users: %1658, %1647
%1641 = integer_literal $Builtin.Int64, 0 // user: %1642
%1642 = builtin "cmp_slt_Int64"(%1641 : $Builtin.Int64, %1639 : $Builtin.Int64) : $Builtin.Int1 // user: %1643
cond_br %1642, bb30, bb32 // id: %1643
bb30: // Preds: bb29
%1644 = alloc_ref [tail_elems $Any * %1638 : $Builtin.Word] $_ContiguousArrayStorage<Any> // user: %1647
%1645 = metatype $@thin Array<Any>.Type // user: %1647
// function_ref static Array._adoptStorage(_:count:)
%1646 = function_ref @$SSa13_adoptStorage_5countSayxG_SpyxGts016_ContiguousArrayB0CyxGn_SitFZ : $@convention(method) <τ_0_0> (@owned _ContiguousArrayStorage<τ_0_0>, Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // user: %1647
%1647 = apply %1646<Any>(%1644, %1640, %1645) : $@convention(method) <τ_0_0> (@owned _ContiguousArrayStorage<τ_0_0>, Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // users: %1649, %1648
%1648 = tuple_extract %1647 : $(Array<Any>, UnsafeMutablePointer<Any>), 0 // user: %1651
%1649 = tuple_extract %1647 : $(Array<Any>, UnsafeMutablePointer<Any>), 1 // user: %1650
%1650 = struct_extract %1649 : $UnsafeMutablePointer<Any>, #UnsafeMutablePointer._rawValue // user: %1651
br bb31(%1648 : $Array<Any>, %1650 : $Builtin.RawPointer) // id: %1651
// %1652 // user: %1654
// %1653 // user: %1654
bb31(%1652 : $Array<Any>, %1653 : $Builtin.RawPointer): // Preds: bb32 bb30
%1654 = tuple (%1652 : $Array<Any>, %1653 : $Builtin.RawPointer) // user: %1655
br bb33(%1654 : $(Array<Any>, Builtin.RawPointer)) // id: %1655
bb32: // Preds: bb29
%1656 = metatype $@thin Array<Any>.Type // user: %1658
// function_ref static Array._allocateUninitialized(_:)
%1657 = function_ref @$SSa22_allocateUninitializedySayxG_SpyxGtSiFZ : $@convention(method) <τ_0_0> (Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // user: %1658
%1658 = apply %1657<Any>(%1640, %1656) : $@convention(method) <τ_0_0> (Int, @thin Array<τ_0_0>.Type) -> (@owned Array<τ_0_0>, UnsafeMutablePointer<τ_0_0>) // users: %1660, %1659
%1659 = tuple_extract %1658 : $(Array<Any>, UnsafeMutablePointer<Any>), 0 // user: %1662
%1660 = tuple_extract %1658 : $(Array<Any>, UnsafeMutablePointer<Any>), 1 // user: %1661
%1661 = struct_extract %1660 : $UnsafeMutablePointer<Any>, #UnsafeMutablePointer._rawValue // user: %1662
br bb31(%1659 : $Array<Any>, %1661 : $Builtin.RawPointer) // id: %1662
// %1663 // users: %1666, %1664, %1667
bb33(%1663 : $(Array<Any>, Builtin.RawPointer)): // Preds: bb31
%1664 = tuple_extract %1663 : $(Array<Any>, Builtin.RawPointer), 0 // users: %1679, %1676, %1665
retain_value %1664 : $Array<Any> // id: %1665
%1666 = tuple_extract %1663 : $(Array<Any>, Builtin.RawPointer), 1 // user: %1668
release_value %1663 : $(Array<Any>, Builtin.RawPointer) // id: %1667
%1668 = pointer_to_address %1666 : $Builtin.RawPointer to [strict] $*Any // user: %1669
%1669 = init_existential_addr %1668 : $*Any, $Float // user: %1670
store %1636 to %1669 : $*Float // id: %1670
// function_ref default argument 1 of print(_:separator:terminator:)
%1671 = function_ref @$Ss5print_9separator10terminatoryypd_S2StFfA0_ : $@convention(thin) () -> @owned String // user: %1672
%1672 = apply %1671() : $@convention(thin) () -> @owned String // users: %1678, %1676
// function_ref default argument 2 of print(_:separator:terminator:)
%1673 = function_ref @$Ss5print_9separator10terminatoryypd_S2StFfA1_ : $@convention(thin) () -> @owned String // user: %1674
%1674 = apply %1673() : $@convention(thin) () -> @owned String // users: %1677, %1676
// function_ref print(_:separator:terminator:)
%1675 = function_ref @$Ss5print_9separator10terminatoryypd_S2StF : $@convention(thin) (@guaranteed Array<Any>, @guaranteed String, @guaranteed String) -> () // user: %1676
%1676 = apply %1675(%1664, %1672, %1674) : $@convention(thin) (@guaranteed Array<Any>, @guaranteed String, @guaranteed String) -> ()
release_value %1674 : $String // id: %1677
release_value %1672 : $String // id: %1678
release_value %1664 : $Array<Any> // id: %1679
%1680 = load %968 : $*Classifier // users: %1690, %1687, %1684, %1681
%1681 = struct_extract %1680 : $Classifier, #Classifier.w1 // user: %1682
%1682 = struct_extract %1681 : $Tensor<Float>, #Tensor.handle // user: %1683
strong_release %1682 : $TensorHandle<Float> // id: %1683
%1684 = struct_extract %1680 : $Classifier, #Classifier.w2 // user: %1685
%1685 = struct_extract %1684 : $Tensor<Float>, #Tensor.handle // user: %1686
strong_release %1685 : $TensorHandle<Float> // id: %1686
%1687 = struct_extract %1680 : $Classifier, #Classifier.b1 // user: %1688
%1688 = struct_extract %1687 : $Tensor<Float>, #Tensor.handle // user: %1689
strong_release %1688 : $TensorHandle<Float> // id: %1689
%1690 = struct_extract %1680 : $Classifier, #Classifier.b2 // user: %1691
%1691 = struct_extract %1690 : $Tensor<Float>, #Tensor.handle // user: %1692
strong_release %1691 : $TensorHandle<Float> // id: %1692
dealloc_stack %968 : $*Classifier // id: %1693
strong_release %944 : $TensorHandle<Float> // id: %1694
strong_release %460 : $TensorHandle<Float> // id: %1695
%1696 = tuple () // user: %1697
return %1696 : $() // id: %1697
} // end sil function '$S7no_copy5mnistyyF'
----
---- INPUT FUNCTION $S7no_copy5mnistyyF ----------
// mnist()
sil @$S7no_copy5mnistyyF : $@convention(thin) () -> () {
bb0:
%0 = integer_literal $Builtin.Int64, 2 // users: %583, %138
%1 = global_value @$S7no_copy5mnistyyFTv_ : $_ContiguousArrayStorage<Int32> // users: %3, %2
strong_retain %1 : $_ContiguousArrayStorage<Int32> // id: %2
%3 = upcast %1 : $_ContiguousArrayStorage<Int32> to $_ContiguousArrayStorageBase // users: %6, %7, %9, %11, %12, %13, %19, %20, %22, %39, %66, %68, %69, %70, %84, %107, %202, %4
%4 = struct $_ContiguousArrayBuffer<Int32> (%3 : $_ContiguousArrayStorageBase) // user: %5
%5 = struct $Array<Int32> (%4 : $_ContiguousArrayBuffer<Int32>) // user: %10
strong_retain %3 : $_ContiguousArrayStorageBase // id: %6
strong_release %3 : $_ContiguousArrayStorageBase // id: %7
%8 = integer_literal $Builtin.Word, 1 // user: %581
strong_retain %3 : $_ContiguousArrayStorageBase // id: %9
%10 = struct $TensorShape (%5 : $Array<Int32>) // users: %23, %71
strong_retain %3 : $_ContiguousArrayStorageBase // id: %11
strong_release %3 : $_ContiguousArrayStorageBase // id: %12
strong_release %3 : $_ContiguousArrayStorageBase // id: %13
%14 = integer_literal $Builtin.Int64, 0 // users: %574, %15
%15 = builtin "sitofp_Int64_FPIEEE32"(%14 : $Builtin.Int64) : $Builtin.FPIEEE32 // users: %515, %486, %362, %184
%16 = integer_literal $Builtin.Int64, 1 // users: %580, %569, %17
%17 = builtin "sitofp_Int64_FPIEEE32"(%16 : $Builtin.Int64) : $Builtin.FPIEEE32 // users: %349, %171
%18 = enum $Optional<RandomState>, #Optional.none!enumelt // users: %436, %390, %213, %254, %71, %23
strong_retain %3 : $_ContiguousArrayStorageBase // id: %19
strong_retain %3 : $_ContiguousArrayStorageBase // id: %20
// function_ref closure #1 in Tensor<>.init(randomStandardUniform:state:)
%21 = function_ref @$S10TensorFlow0A0VAAs5Int32VRszrlE21randomStandardUniform5stateACyAEGAA0A5ShapeV_AA11RandomStateCSgtcfcAA0A6HandleCyAEGyXEfU_ : $@convention(thin) (@guaranteed Optional<RandomState>, @guaranteed TensorShape) -> @owned TensorHandle<Int32> // users: %436, %390, %254, %213, %71, %23
strong_retain %3 : $_ContiguousArrayStorageBase // id: %22
%23 = partial_apply [callee_guaranteed] %21(%18, %10) : $@convention(thin) (@guaranteed Optional<RandomState>, @guaranteed TensorShape) -> @owned TensorHandle<Int32> // users: %30, %29, %25, %24
strong_retain %23 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %24
%25 = convert_escape_to_noescape %23 : $@callee_guaranteed () -> @owned TensorHandle<Int32> to $@noescape @callee_guaranteed () -> @owned TensorHandle<Int32> // user: %28
%26 = metatype $@thin Int32.Type // users: %439, %393, %257, %216, %74, %28
// function_ref __tf_hoistable_Int32
%27 = function_ref @__tf_hoistable_Int32 : $@convention(method) (@noescape @callee_guaranteed () -> @owned TensorHandle<Int32>, @thin Int32.Type) -> @owned TensorHandle<Int32> // users: %439, %393, %257, %216, %74, %28
%28 = apply %27(%25, %26) : $@convention(method) (@noescape @callee_guaranteed () -> @owned TensorHandle<Int32>, @thin Int32.Type) -> @owned TensorHandle<Int32> // users: %34, %32, %37, %31
strong_release %23 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %29
strong_release %23 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %30
strong_retain %28 : $TensorHandle<Int32> // id: %31
strong_release %28 : $TensorHandle<Int32> // id: %32
// function_ref __tf_send
%33 = function_ref @__tf_send : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed TensorHandle<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %444, %398, %262, %221, %79, %34
%34 = apply %33<Int32>(%28) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed TensorHandle<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %36, %47, %43, %42, %38, %35
strong_retain %34 : $TensorHandle<Int32> // id: %35
strong_release %34 : $TensorHandle<Int32> // id: %36
strong_release %28 : $TensorHandle<Int32> // id: %37
strong_retain %34 : $TensorHandle<Int32> // id: %38
strong_release %3 : $_ContiguousArrayStorageBase // id: %39
%40 = metatype $@thick Int32.Type // users: %520, %491, %450, %404, %268, %227, %85, %42
%41 = metatype $@thick Float.Type // users: %560, %549, %520, %491, %462, %450, %416, %404, %367, %354, %340, %331, %322, %312, %302, %293, %280, %268, %239, %227, %189, %176, %162, %153, %144, %131, %121, %112, %97, %85, %56, %42
%42 = builtin "__tfop_Cast,$in,SrcT,DstT"(%34 : $TensorHandle<Int32>, %40 : $@thick Int32.Type, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %46, %64, %58, %56, %54, %48, %45, %44
strong_release %34 : $TensorHandle<Int32> // id: %43
strong_retain %42 : $TensorHandle<Float> // id: %44
strong_retain %42 : $TensorHandle<Float> // id: %45
strong_release %42 : $TensorHandle<Float> // id: %46
strong_release %34 : $TensorHandle<Int32> // id: %47
strong_release %42 : $TensorHandle<Float> // id: %48
%49 = integer_literal $Builtin.Int32, 2147483647 // user: %50
%50 = builtin "sitofp_Int32_FPIEEE32"(%49 : $Builtin.Int32) : $Builtin.FPIEEE32 // users: %457, %411, %275, %234, %92, %51
%51 = builtin "__tfop_tfc.scalarToTensor,$in"(%50 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %63, %57, %56, %55, %53, %52
strong_retain %51 : $TensorHandle<Float> // id: %52
strong_release %51 : $TensorHandle<Float> // id: %53
strong_retain %42 : $TensorHandle<Float> // id: %54
strong_retain %51 : $TensorHandle<Float> // id: %55
%56 = builtin "__tfop_Div,$in,$in,T"(%42 : $TensorHandle<Float>, %51 : $TensorHandle<Float>, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %61, %200, %113, %112, %111, %67, %65, %62, %60, %59
strong_release %51 : $TensorHandle<Float> // id: %57
strong_release %42 : $TensorHandle<Float> // id: %58
strong_retain %56 : $TensorHandle<Float> // id: %59
strong_retain %56 : $TensorHandle<Float> // id: %60
strong_release %56 : $TensorHandle<Float> // id: %61
strong_release %56 : $TensorHandle<Float> // id: %62
strong_release %51 : $TensorHandle<Float> // id: %63
strong_release %42 : $TensorHandle<Float> // id: %64
strong_retain %56 : $TensorHandle<Float> // id: %65
strong_release %3 : $_ContiguousArrayStorageBase // id: %66
strong_release %56 : $TensorHandle<Float> // id: %67
strong_retain %3 : $_ContiguousArrayStorageBase // id: %68
strong_retain %3 : $_ContiguousArrayStorageBase // id: %69
strong_retain %3 : $_ContiguousArrayStorageBase // id: %70
%71 = partial_apply [callee_guaranteed] %21(%18, %10) : $@convention(thin) (@guaranteed Optional<RandomState>, @guaranteed TensorShape) -> @owned TensorHandle<Int32> // users: %76, %75, %73, %72
strong_retain %71 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %72
%73 = convert_escape_to_noescape %71 : $@callee_guaranteed () -> @owned TensorHandle<Int32> to $@noescape @callee_guaranteed () -> @owned TensorHandle<Int32> // user: %74
%74 = apply %27(%73, %26) : $@convention(method) (@noescape @callee_guaranteed () -> @owned TensorHandle<Int32>, @thin Int32.Type) -> @owned TensorHandle<Int32> // users: %79, %78, %82, %77
strong_release %71 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %75
strong_release %71 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %76
strong_retain %74 : $TensorHandle<Int32> // id: %77
strong_release %74 : $TensorHandle<Int32> // id: %78
%79 = apply %33<Int32>(%74) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed TensorHandle<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %81, %90, %86, %85, %83, %80
strong_retain %79 : $TensorHandle<Int32> // id: %80
strong_release %79 : $TensorHandle<Int32> // id: %81
strong_release %74 : $TensorHandle<Int32> // id: %82
strong_retain %79 : $TensorHandle<Int32> // id: %83
strong_release %3 : $_ContiguousArrayStorageBase // id: %84
%85 = builtin "__tfop_Cast,$in,SrcT,DstT"(%79 : $TensorHandle<Int32>, %40 : $@thick Int32.Type, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %89, %105, %99, %97, %95, %91, %88, %87
strong_release %79 : $TensorHandle<Int32> // id: %86
strong_retain %85 : $TensorHandle<Float> // id: %87
strong_retain %85 : $TensorHandle<Float> // id: %88
strong_release %85 : $TensorHandle<Float> // id: %89
strong_release %79 : $TensorHandle<Int32> // id: %90
strong_release %85 : $TensorHandle<Float> // id: %91
%92 = builtin "__tfop_tfc.scalarToTensor,$in"(%50 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %104, %98, %97, %96, %94, %93
strong_retain %92 : $TensorHandle<Float> // id: %93
strong_release %92 : $TensorHandle<Float> // id: %94
strong_retain %85 : $TensorHandle<Float> // id: %95
strong_retain %92 : $TensorHandle<Float> // id: %96
%97 = builtin "__tfop_Div,$in,$in,T"(%85 : $TensorHandle<Float>, %92 : $TensorHandle<Float>, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %102, %199, %145, %144, %143, %108, %106, %103, %101, %100
strong_release %92 : $TensorHandle<Float> // id: %98
strong_release %85 : $TensorHandle<Float> // id: %99
strong_retain %97 : $TensorHandle<Float> // id: %100
strong_retain %97 : $TensorHandle<Float> // id: %101
strong_release %97 : $TensorHandle<Float> // id: %102
strong_release %97 : $TensorHandle<Float> // id: %103
strong_release %92 : $TensorHandle<Float> // id: %104
strong_release %85 : $TensorHandle<Float> // id: %105
strong_retain %97 : $TensorHandle<Float> // id: %106
strong_release %3 : $_ContiguousArrayStorageBase // id: %107
strong_release %97 : $TensorHandle<Float> // id: %108
%109 = integer_literal $Builtin.Int64, -2 // user: %110
%110 = builtin "sitofp_Int64_FPIEEE32"(%109 : $Builtin.Int64) : $Builtin.FPIEEE32 // users: %299, %118
strong_retain %56 : $TensorHandle<Float> // id: %111
%112 = builtin "__tfop_Log,$in,T"(%56 : $TensorHandle<Float>, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %116, %129, %122, %121, %120, %117, %115, %114
strong_release %56 : $TensorHandle<Float> // id: %113
strong_retain %112 : $TensorHandle<Float> // id: %114
strong_retain %112 : $TensorHandle<Float> // id: %115
strong_release %112 : $TensorHandle<Float> // id: %116
strong_release %112 : $TensorHandle<Float> // id: %117
%118 = builtin "__tfop_tfc.scalarToTensor,$in"(%110 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %128, %123, %121, %119
strong_retain %118 : $TensorHandle<Float> // id: %119
strong_retain %112 : $TensorHandle<Float> // id: %120
%121 = builtin "__tfop_Mul,$in,$in,T"(%118 : $TensorHandle<Float>, %112 : $TensorHandle<Float>, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %126, %137, %132, %131, %130, %127, %125, %124
strong_release %112 : $TensorHandle<Float> // id: %122
strong_release %118 : $TensorHandle<Float> // id: %123
strong_retain %121 : $TensorHandle<Float> // id: %124
strong_retain %121 : $TensorHandle<Float> // id: %125
strong_release %121 : $TensorHandle<Float> // id: %126
strong_release %121 : $TensorHandle<Float> // id: %127
strong_release %118 : $TensorHandle<Float> // id: %128
strong_release %112 : $TensorHandle<Float> // id: %129
strong_retain %121 : $TensorHandle<Float> // id: %130
%131 = builtin "__tfop_Sqrt,$in,T"(%121 : $TensorHandle<Float>, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %135, %170, %164, %162, %160, %136, %134, %133
strong_release %121 : $TensorHandle<Float> // id: %132
strong_retain %131 : $TensorHandle<Float> // id: %133
strong_retain %131 : $TensorHandle<Float> // id: %134
strong_release %131 : $TensorHandle<Float> // id: %135
strong_release %131 : $TensorHandle<Float> // id: %136
strong_release %121 : $TensorHandle<Float> // id: %137
%138 = builtin "sitofp_Int64_FPIEEE32"(%0 : $Builtin.Int64) : $Builtin.FPIEEE32 // user: %140
%139 = float_literal $Builtin.FPIEEE32, 0x40490FDA // 3.1415925 // user: %140
%140 = builtin "fmul_FPIEEE32"(%138 : $Builtin.FPIEEE32, %139 : $Builtin.FPIEEE32) : $Builtin.FPIEEE32 // users: %319, %141
%141 = builtin "__tfop_tfc.scalarToTensor,$in"(%140 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %151, %146, %144, %142
strong_retain %141 : $TensorHandle<Float> // id: %142
strong_retain %97 : $TensorHandle<Float> // id: %143
%144 = builtin "__tfop_Mul,$in,$in,T"(%141 : $TensorHandle<Float>, %97 : $TensorHandle<Float>, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %149, %159, %154, %153, %152, %150, %148, %147
strong_release %97 : $TensorHandle<Float> // id: %145
strong_release %141 : $TensorHandle<Float> // id: %146
strong_retain %144 : $TensorHandle<Float> // id: %147
strong_retain %144 : $TensorHandle<Float> // id: %148
strong_release %144 : $TensorHandle<Float> // id: %149
strong_release %144 : $TensorHandle<Float> // id: %150
strong_release %141 : $TensorHandle<Float> // id: %151
strong_retain %144 : $TensorHandle<Float> // id: %152
%153 = builtin "__tfop_Cos,$in,T"(%144 : $TensorHandle<Float>, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %157, %169, %163, %162, %161, %158, %156, %155
strong_release %144 : $TensorHandle<Float> // id: %154
strong_retain %153 : $TensorHandle<Float> // id: %155
strong_retain %153 : $TensorHandle<Float> // id: %156
strong_release %153 : $TensorHandle<Float> // id: %157
strong_release %153 : $TensorHandle<Float> // id: %158
strong_release %144 : $TensorHandle<Float> // id: %159
strong_retain %131 : $TensorHandle<Float> // id: %160
strong_retain %153 : $TensorHandle<Float> // id: %161
%162 = builtin "__tfop_Mul,$in,$in,T"(%131 : $TensorHandle<Float>, %153 : $TensorHandle<Float>, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %167, %198, %178, %176, %174, %168, %166, %165
strong_release %153 : $TensorHandle<Float> // id: %163
strong_release %131 : $TensorHandle<Float> // id: %164
strong_retain %162 : $TensorHandle<Float> // id: %165
strong_retain %162 : $TensorHandle<Float> // id: %166
strong_release %162 : $TensorHandle<Float> // id: %167
strong_release %162 : $TensorHandle<Float> // id: %168
strong_release %153 : $TensorHandle<Float> // id: %169
strong_release %131 : $TensorHandle<Float> // id: %170
%171 = builtin "__tfop_tfc.scalarToTensor,$in"(%17 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %183, %177, %176, %175, %173, %172
strong_retain %171 : $TensorHandle<Float> // id: %172
strong_release %171 : $TensorHandle<Float> // id: %173
strong_retain %162 : $TensorHandle<Float> // id: %174
strong_retain %171 : $TensorHandle<Float> // id: %175
%176 = builtin "__tfop_Mul,$in,$in,T"(%162 : $TensorHandle<Float>, %171 : $TensorHandle<Float>, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %181, %197, %191, %189, %187, %182, %180, %179
strong_release %171 : $TensorHandle<Float> // id: %177
strong_release %162 : $TensorHandle<Float> // id: %178
strong_retain %176 : $TensorHandle<Float> // id: %179
strong_retain %176 : $TensorHandle<Float> // id: %180
strong_release %176 : $TensorHandle<Float> // id: %181
strong_release %176 : $TensorHandle<Float> // id: %182
strong_release %171 : $TensorHandle<Float> // id: %183
%184 = builtin "__tfop_tfc.scalarToTensor,$in"(%15 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %196, %190, %189, %188, %186, %185
strong_retain %184 : $TensorHandle<Float> // id: %185
strong_release %184 : $TensorHandle<Float> // id: %186
strong_retain %176 : $TensorHandle<Float> // id: %187
strong_retain %184 : $TensorHandle<Float> // id: %188
%189 = builtin "__tfop_Add,$in,$in,T"(%176 : $TensorHandle<Float>, %184 : $TensorHandle<Float>, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %194, %615, %551, %549, %547, %203, %201, %195, %193, %192
strong_release %184 : $TensorHandle<Float> // id: %190
strong_release %176 : $TensorHandle<Float> // id: %191
strong_retain %189 : $TensorHandle<Float> // id: %192
strong_retain %189 : $TensorHandle<Float> // id: %193
strong_release %189 : $TensorHandle<Float> // id: %194
strong_release %189 : $TensorHandle<Float> // id: %195
strong_release %184 : $TensorHandle<Float> // id: %196
strong_release %176 : $TensorHandle<Float> // id: %197
strong_release %162 : $TensorHandle<Float> // id: %198
strong_release %97 : $TensorHandle<Float> // id: %199
strong_release %56 : $TensorHandle<Float> // id: %200
strong_retain %189 : $TensorHandle<Float> // id: %201
strong_release %3 : $_ContiguousArrayStorageBase // id: %202
strong_release %189 : $TensorHandle<Float> // id: %203
%204 = global_value @$S7no_copy5mnistyyFTv0_ : $_ContiguousArrayStorage<Int32> // users: %206, %205
strong_retain %204 : $_ContiguousArrayStorage<Int32> // id: %205
%206 = upcast %204 : $_ContiguousArrayStorage<Int32> to $_ContiguousArrayStorageBase // users: %209, %211, %212, %226, %249, %251, %252, %253, %267, %290, %380, %207
%207 = struct $_ContiguousArrayBuffer<Int32> (%206 : $_ContiguousArrayStorageBase) // user: %208
%208 = struct $Array<Int32> (%207 : $_ContiguousArrayBuffer<Int32>) // user: %210
strong_retain %206 : $_ContiguousArrayStorageBase // id: %209
%210 = struct $TensorShape (%208 : $Array<Int32>) // users: %213, %254
strong_retain %206 : $_ContiguousArrayStorageBase // id: %211
strong_retain %206 : $_ContiguousArrayStorageBase // id: %212
%213 = partial_apply [callee_guaranteed] %21(%18, %210) : $@convention(thin) (@guaranteed Optional<RandomState>, @guaranteed TensorShape) -> @owned TensorHandle<Int32> // users: %218, %217, %215, %214
strong_retain %213 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %214
%215 = convert_escape_to_noescape %213 : $@callee_guaranteed () -> @owned TensorHandle<Int32> to $@noescape @callee_guaranteed () -> @owned TensorHandle<Int32> // user: %216
%216 = apply %27(%215, %26) : $@convention(method) (@noescape @callee_guaranteed () -> @owned TensorHandle<Int32>, @thin Int32.Type) -> @owned TensorHandle<Int32> // users: %221, %220, %224, %219
strong_release %213 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %217
strong_release %213 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %218
strong_retain %216 : $TensorHandle<Int32> // id: %219
strong_release %216 : $TensorHandle<Int32> // id: %220
%221 = apply %33<Int32>(%216) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed TensorHandle<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %223, %232, %228, %227, %225, %222
strong_retain %221 : $TensorHandle<Int32> // id: %222
strong_release %221 : $TensorHandle<Int32> // id: %223
strong_release %216 : $TensorHandle<Int32> // id: %224
strong_retain %221 : $TensorHandle<Int32> // id: %225
strong_release %206 : $_ContiguousArrayStorageBase // id: %226
%227 = builtin "__tfop_Cast,$in,SrcT,DstT"(%221 : $TensorHandle<Int32>, %40 : $@thick Int32.Type, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %231, %247, %241, %239, %237, %233, %230, %229
strong_release %221 : $TensorHandle<Int32> // id: %228
strong_retain %227 : $TensorHandle<Float> // id: %229
strong_retain %227 : $TensorHandle<Float> // id: %230
strong_release %227 : $TensorHandle<Float> // id: %231
strong_release %221 : $TensorHandle<Int32> // id: %232
strong_release %227 : $TensorHandle<Float> // id: %233
%234 = builtin "__tfop_tfc.scalarToTensor,$in"(%50 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %246, %240, %239, %238, %236, %235
strong_retain %234 : $TensorHandle<Float> // id: %235
strong_release %234 : $TensorHandle<Float> // id: %236
strong_retain %227 : $TensorHandle<Float> // id: %237
strong_retain %234 : $TensorHandle<Float> // id: %238
%239 = builtin "__tfop_Div,$in,$in,T"(%227 : $TensorHandle<Float>, %234 : $TensorHandle<Float>, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %244, %378, %294, %293, %292, %250, %248, %245, %243, %242
strong_release %234 : $TensorHandle<Float> // id: %240
strong_release %227 : $TensorHandle<Float> // id: %241
strong_retain %239 : $TensorHandle<Float> // id: %242
strong_retain %239 : $TensorHandle<Float> // id: %243
strong_release %239 : $TensorHandle<Float> // id: %244
strong_release %239 : $TensorHandle<Float> // id: %245
strong_release %234 : $TensorHandle<Float> // id: %246
strong_release %227 : $TensorHandle<Float> // id: %247
strong_retain %239 : $TensorHandle<Float> // id: %248
strong_release %206 : $_ContiguousArrayStorageBase // id: %249
strong_release %239 : $TensorHandle<Float> // id: %250
strong_retain %206 : $_ContiguousArrayStorageBase // id: %251
strong_retain %206 : $_ContiguousArrayStorageBase // id: %252
strong_retain %206 : $_ContiguousArrayStorageBase // id: %253
%254 = partial_apply [callee_guaranteed] %21(%18, %210) : $@convention(thin) (@guaranteed Optional<RandomState>, @guaranteed TensorShape) -> @owned TensorHandle<Int32> // users: %259, %258, %256, %255
strong_retain %254 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %255
%256 = convert_escape_to_noescape %254 : $@callee_guaranteed () -> @owned TensorHandle<Int32> to $@noescape @callee_guaranteed () -> @owned TensorHandle<Int32> // user: %257
%257 = apply %27(%256, %26) : $@convention(method) (@noescape @callee_guaranteed () -> @owned TensorHandle<Int32>, @thin Int32.Type) -> @owned TensorHandle<Int32> // users: %262, %261, %265, %260
strong_release %254 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %258
strong_release %254 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %259
strong_retain %257 : $TensorHandle<Int32> // id: %260
strong_release %257 : $TensorHandle<Int32> // id: %261
%262 = apply %33<Int32>(%257) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed TensorHandle<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %264, %273, %269, %268, %266, %263
strong_retain %262 : $TensorHandle<Int32> // id: %263
strong_release %262 : $TensorHandle<Int32> // id: %264
strong_release %257 : $TensorHandle<Int32> // id: %265
strong_retain %262 : $TensorHandle<Int32> // id: %266
strong_release %206 : $_ContiguousArrayStorageBase // id: %267
%268 = builtin "__tfop_Cast,$in,SrcT,DstT"(%262 : $TensorHandle<Int32>, %40 : $@thick Int32.Type, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %272, %288, %282, %280, %278, %274, %271, %270
strong_release %262 : $TensorHandle<Int32> // id: %269
strong_retain %268 : $TensorHandle<Float> // id: %270
strong_retain %268 : $TensorHandle<Float> // id: %271
strong_release %268 : $TensorHandle<Float> // id: %272
strong_release %262 : $TensorHandle<Int32> // id: %273
strong_release %268 : $TensorHandle<Float> // id: %274
%275 = builtin "__tfop_tfc.scalarToTensor,$in"(%50 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %287, %281, %280, %279, %277, %276
strong_retain %275 : $TensorHandle<Float> // id: %276
strong_release %275 : $TensorHandle<Float> // id: %277
strong_retain %268 : $TensorHandle<Float> // id: %278
strong_retain %275 : $TensorHandle<Float> // id: %279
%280 = builtin "__tfop_Div,$in,$in,T"(%268 : $TensorHandle<Float>, %275 : $TensorHandle<Float>, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %285, %377, %323, %322, %321, %291, %289, %286, %284, %283
strong_release %275 : $TensorHandle<Float> // id: %281
strong_release %268 : $TensorHandle<Float> // id: %282
strong_retain %280 : $TensorHandle<Float> // id: %283
strong_retain %280 : $TensorHandle<Float> // id: %284
strong_release %280 : $TensorHandle<Float> // id: %285
strong_release %280 : $TensorHandle<Float> // id: %286
strong_release %275 : $TensorHandle<Float> // id: %287
strong_release %268 : $TensorHandle<Float> // id: %288
strong_retain %280 : $TensorHandle<Float> // id: %289
strong_release %206 : $_ContiguousArrayStorageBase // id: %290
strong_release %280 : $TensorHandle<Float> // id: %291
strong_retain %239 : $TensorHandle<Float> // id: %292
%293 = builtin "__tfop_Log,$in,T"(%239 : $TensorHandle<Float>, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %297, %310, %303, %302, %301, %298, %296, %295
strong_release %239 : $TensorHandle<Float> // id: %294
strong_retain %293 : $TensorHandle<Float> // id: %295
strong_retain %293 : $TensorHandle<Float> // id: %296
strong_release %293 : $TensorHandle<Float> // id: %297
strong_release %293 : $TensorHandle<Float> // id: %298
%299 = builtin "__tfop_tfc.scalarToTensor,$in"(%110 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %309, %304, %302, %300
strong_retain %299 : $TensorHandle<Float> // id: %300
strong_retain %293 : $TensorHandle<Float> // id: %301
%302 = builtin "__tfop_Mul,$in,$in,T"(%299 : $TensorHandle<Float>, %293 : $TensorHandle<Float>, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %307, %318, %313, %312, %311, %308, %306, %305
strong_release %293 : $TensorHandle<Float> // id: %303
strong_release %299 : $TensorHandle<Float> // id: %304
strong_retain %302 : $TensorHandle<Float> // id: %305
strong_retain %302 : $TensorHandle<Float> // id: %306
strong_release %302 : $TensorHandle<Float> // id: %307
strong_release %302 : $TensorHandle<Float> // id: %308
strong_release %299 : $TensorHandle<Float> // id: %309
strong_release %293 : $TensorHandle<Float> // id: %310
strong_retain %302 : $TensorHandle<Float> // id: %311
%312 = builtin "__tfop_Sqrt,$in,T"(%302 : $TensorHandle<Float>, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %316, %348, %342, %340, %338, %317, %315, %314
strong_release %302 : $TensorHandle<Float> // id: %313
strong_retain %312 : $TensorHandle<Float> // id: %314
strong_retain %312 : $TensorHandle<Float> // id: %315
strong_release %312 : $TensorHandle<Float> // id: %316
strong_release %312 : $TensorHandle<Float> // id: %317
strong_release %302 : $TensorHandle<Float> // id: %318
%319 = builtin "__tfop_tfc.scalarToTensor,$in"(%140 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %329, %324, %322, %320
strong_retain %319 : $TensorHandle<Float> // id: %320
strong_retain %280 : $TensorHandle<Float> // id: %321
%322 = builtin "__tfop_Mul,$in,$in,T"(%319 : $TensorHandle<Float>, %280 : $TensorHandle<Float>, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %327, %337, %332, %331, %330, %328, %326, %325
strong_release %280 : $TensorHandle<Float> // id: %323
strong_release %319 : $TensorHandle<Float> // id: %324
strong_retain %322 : $TensorHandle<Float> // id: %325
strong_retain %322 : $TensorHandle<Float> // id: %326
strong_release %322 : $TensorHandle<Float> // id: %327
strong_release %322 : $TensorHandle<Float> // id: %328
strong_release %319 : $TensorHandle<Float> // id: %329
strong_retain %322 : $TensorHandle<Float> // id: %330
%331 = builtin "__tfop_Cos,$in,T"(%322 : $TensorHandle<Float>, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %335, %347, %341, %340, %339, %336, %334, %333
strong_release %322 : $TensorHandle<Float> // id: %332
strong_retain %331 : $TensorHandle<Float> // id: %333
strong_retain %331 : $TensorHandle<Float> // id: %334
strong_release %331 : $TensorHandle<Float> // id: %335
strong_release %331 : $TensorHandle<Float> // id: %336
strong_release %322 : $TensorHandle<Float> // id: %337
strong_retain %312 : $TensorHandle<Float> // id: %338
strong_retain %331 : $TensorHandle<Float> // id: %339
%340 = builtin "__tfop_Mul,$in,$in,T"(%312 : $TensorHandle<Float>, %331 : $TensorHandle<Float>, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %345, %376, %356, %354, %352, %346, %344, %343
strong_release %331 : $TensorHandle<Float> // id: %341
strong_release %312 : $TensorHandle<Float> // id: %342
strong_retain %340 : $TensorHandle<Float> // id: %343
strong_retain %340 : $TensorHandle<Float> // id: %344
strong_release %340 : $TensorHandle<Float> // id: %345
strong_release %340 : $TensorHandle<Float> // id: %346
strong_release %331 : $TensorHandle<Float> // id: %347
strong_release %312 : $TensorHandle<Float> // id: %348
%349 = builtin "__tfop_tfc.scalarToTensor,$in"(%17 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %361, %355, %354, %353, %351, %350
strong_retain %349 : $TensorHandle<Float> // id: %350
strong_release %349 : $TensorHandle<Float> // id: %351
strong_retain %340 : $TensorHandle<Float> // id: %352
strong_retain %349 : $TensorHandle<Float> // id: %353
%354 = builtin "__tfop_Mul,$in,$in,T"(%340 : $TensorHandle<Float>, %349 : $TensorHandle<Float>, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %359, %375, %369, %367, %365, %360, %358, %357
strong_release %349 : $TensorHandle<Float> // id: %355
strong_release %340 : $TensorHandle<Float> // id: %356
strong_retain %354 : $TensorHandle<Float> // id: %357
strong_retain %354 : $TensorHandle<Float> // id: %358
strong_release %354 : $TensorHandle<Float> // id: %359
strong_release %354 : $TensorHandle<Float> // id: %360
strong_release %349 : $TensorHandle<Float> // id: %361
%362 = builtin "__tfop_tfc.scalarToTensor,$in"(%15 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %374, %368, %367, %366, %364, %363
strong_retain %362 : $TensorHandle<Float> // id: %363
strong_release %362 : $TensorHandle<Float> // id: %364
strong_retain %354 : $TensorHandle<Float> // id: %365
strong_retain %362 : $TensorHandle<Float> // id: %366
%367 = builtin "__tfop_Add,$in,$in,T"(%354 : $TensorHandle<Float>, %362 : $TensorHandle<Float>, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %372, %614, %381, %379, %373, %371, %370
strong_release %362 : $TensorHandle<Float> // id: %368
strong_release %354 : $TensorHandle<Float> // id: %369
strong_retain %367 : $TensorHandle<Float> // id: %370
strong_retain %367 : $TensorHandle<Float> // id: %371
strong_release %367 : $TensorHandle<Float> // id: %372
strong_release %367 : $TensorHandle<Float> // id: %373
strong_release %362 : $TensorHandle<Float> // id: %374
strong_release %354 : $TensorHandle<Float> // id: %375
strong_release %340 : $TensorHandle<Float> // id: %376
strong_release %280 : $TensorHandle<Float> // id: %377
strong_release %239 : $TensorHandle<Float> // id: %378
strong_retain %367 : $TensorHandle<Float> // id: %379
strong_release %206 : $_ContiguousArrayStorageBase // id: %380
strong_release %367 : $TensorHandle<Float> // id: %381
%382 = global_value @$S7no_copy5mnistyyFTv1_ : $_ContiguousArrayStorage<Int32> // users: %384, %383
strong_retain %382 : $_ContiguousArrayStorage<Int32> // id: %383
%384 = upcast %382 : $_ContiguousArrayStorage<Int32> to $_ContiguousArrayStorageBase // users: %387, %389, %403, %426, %385
%385 = struct $_ContiguousArrayBuffer<Int32> (%384 : $_ContiguousArrayStorageBase) // user: %386
%386 = struct $Array<Int32> (%385 : $_ContiguousArrayBuffer<Int32>) // user: %388
strong_retain %384 : $_ContiguousArrayStorageBase // id: %387
%388 = struct $TensorShape (%386 : $Array<Int32>) // user: %390
strong_retain %384 : $_ContiguousArrayStorageBase // id: %389
%390 = partial_apply [callee_guaranteed] %21(%18, %388) : $@convention(thin) (@guaranteed Optional<RandomState>, @guaranteed TensorShape) -> @owned TensorHandle<Int32> // users: %395, %394, %392, %391
strong_retain %390 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %391
%392 = convert_escape_to_noescape %390 : $@callee_guaranteed () -> @owned TensorHandle<Int32> to $@noescape @callee_guaranteed () -> @owned TensorHandle<Int32> // user: %393
%393 = apply %27(%392, %26) : $@convention(method) (@noescape @callee_guaranteed () -> @owned TensorHandle<Int32>, @thin Int32.Type) -> @owned TensorHandle<Int32> // users: %398, %397, %401, %396
strong_release %390 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %394
strong_release %390 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %395
strong_retain %393 : $TensorHandle<Int32> // id: %396
strong_release %393 : $TensorHandle<Int32> // id: %397
%398 = apply %33<Int32>(%393) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed TensorHandle<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %400, %409, %405, %404, %402, %399
strong_retain %398 : $TensorHandle<Int32> // id: %399
strong_release %398 : $TensorHandle<Int32> // id: %400
strong_release %393 : $TensorHandle<Int32> // id: %401
strong_retain %398 : $TensorHandle<Int32> // id: %402
strong_release %384 : $_ContiguousArrayStorageBase // id: %403
%404 = builtin "__tfop_Cast,$in,SrcT,DstT"(%398 : $TensorHandle<Int32>, %40 : $@thick Int32.Type, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %408, %424, %418, %416, %414, %410, %407, %406
strong_release %398 : $TensorHandle<Int32> // id: %405
strong_retain %404 : $TensorHandle<Float> // id: %406
strong_retain %404 : $TensorHandle<Float> // id: %407
strong_release %404 : $TensorHandle<Float> // id: %408
strong_release %398 : $TensorHandle<Int32> // id: %409
strong_release %404 : $TensorHandle<Float> // id: %410
%411 = builtin "__tfop_tfc.scalarToTensor,$in"(%50 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %423, %417, %416, %415, %413, %412
strong_retain %411 : $TensorHandle<Float> // id: %412
strong_release %411 : $TensorHandle<Float> // id: %413
strong_retain %404 : $TensorHandle<Float> // id: %414
strong_retain %411 : $TensorHandle<Float> // id: %415
%416 = builtin "__tfop_Div,$in,$in,T"(%404 : $TensorHandle<Float>, %411 : $TensorHandle<Float>, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %610, %556, %546, %548, %549, %550, %421, %537, %533, %427, %425, %422, %420, %419
strong_release %411 : $TensorHandle<Float> // id: %417
strong_release %404 : $TensorHandle<Float> // id: %418
strong_retain %416 : $TensorHandle<Float> // id: %419
strong_retain %416 : $TensorHandle<Float> // id: %420
strong_release %416 : $TensorHandle<Float> // id: %421
strong_release %416 : $TensorHandle<Float> // id: %422
strong_release %411 : $TensorHandle<Float> // id: %423
strong_release %404 : $TensorHandle<Float> // id: %424
strong_retain %416 : $TensorHandle<Float> // id: %425
strong_release %384 : $_ContiguousArrayStorageBase // id: %426
strong_release %416 : $TensorHandle<Float> // id: %427
%428 = global_value @$S7no_copy5mnistyyFTv2_ : $_ContiguousArrayStorage<Int32> // users: %430, %429
strong_retain %428 : $_ContiguousArrayStorage<Int32> // id: %429
%430 = upcast %428 : $_ContiguousArrayStorage<Int32> to $_ContiguousArrayStorageBase // users: %433, %435, %449, %472, %431
%431 = struct $_ContiguousArrayBuffer<Int32> (%430 : $_ContiguousArrayStorageBase) // user: %432
%432 = struct $Array<Int32> (%431 : $_ContiguousArrayBuffer<Int32>) // user: %434
strong_retain %430 : $_ContiguousArrayStorageBase // id: %433
%434 = struct $TensorShape (%432 : $Array<Int32>) // user: %436
strong_retain %430 : $_ContiguousArrayStorageBase // id: %435
%436 = partial_apply [callee_guaranteed] %21(%18, %434) : $@convention(thin) (@guaranteed Optional<RandomState>, @guaranteed TensorShape) -> @owned TensorHandle<Int32> // users: %441, %440, %438, %437
strong_retain %436 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %437
%438 = convert_escape_to_noescape %436 : $@callee_guaranteed () -> @owned TensorHandle<Int32> to $@noescape @callee_guaranteed () -> @owned TensorHandle<Int32> // user: %439
%439 = apply %27(%438, %26) : $@convention(method) (@noescape @callee_guaranteed () -> @owned TensorHandle<Int32>, @thin Int32.Type) -> @owned TensorHandle<Int32> // users: %444, %443, %447, %442
strong_release %436 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %440
strong_release %436 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %441
strong_retain %439 : $TensorHandle<Int32> // id: %442
strong_release %439 : $TensorHandle<Int32> // id: %443
%444 = apply %33<Int32>(%439) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed TensorHandle<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %446, %455, %451, %450, %448, %445
strong_retain %444 : $TensorHandle<Int32> // id: %445
strong_release %444 : $TensorHandle<Int32> // id: %446
strong_release %439 : $TensorHandle<Int32> // id: %447
strong_retain %444 : $TensorHandle<Int32> // id: %448
strong_release %430 : $_ContiguousArrayStorageBase // id: %449
%450 = builtin "__tfop_Cast,$in,SrcT,DstT"(%444 : $TensorHandle<Int32>, %40 : $@thick Int32.Type, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %454, %470, %464, %462, %460, %456, %453, %452
strong_release %444 : $TensorHandle<Int32> // id: %451
strong_retain %450 : $TensorHandle<Float> // id: %452
strong_retain %450 : $TensorHandle<Float> // id: %453
strong_release %450 : $TensorHandle<Float> // id: %454
strong_release %444 : $TensorHandle<Int32> // id: %455
strong_release %450 : $TensorHandle<Float> // id: %456
%457 = builtin "__tfop_tfc.scalarToTensor,$in"(%50 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %469, %463, %462, %461, %459, %458
strong_retain %457 : $TensorHandle<Float> // id: %458
strong_release %457 : $TensorHandle<Float> // id: %459
strong_retain %450 : $TensorHandle<Float> // id: %460
strong_retain %457 : $TensorHandle<Float> // id: %461
%462 = builtin "__tfop_Div,$in,$in,T"(%450 : $TensorHandle<Float>, %457 : $TensorHandle<Float>, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %611, %538, %467, %534, %473, %471, %468, %466, %465
strong_release %457 : $TensorHandle<Float> // id: %463
strong_release %450 : $TensorHandle<Float> // id: %464
strong_retain %462 : $TensorHandle<Float> // id: %465
strong_retain %462 : $TensorHandle<Float> // id: %466
strong_release %462 : $TensorHandle<Float> // id: %467
strong_release %462 : $TensorHandle<Float> // id: %468
strong_release %457 : $TensorHandle<Float> // id: %469
strong_release %450 : $TensorHandle<Float> // id: %470
strong_retain %462 : $TensorHandle<Float> // id: %471
strong_release %430 : $_ContiguousArrayStorageBase // id: %472
strong_release %462 : $TensorHandle<Float> // id: %473
%474 = global_value @$S7no_copy5mnistyyFTv3_ : $_ContiguousArrayStorage<Int32> // users: %476, %475
strong_retain %474 : $_ContiguousArrayStorage<Int32> // id: %475
%476 = upcast %474 : $_ContiguousArrayStorage<Int32> to $_ContiguousArrayStorageBase // users: %479, %480, %484, %501, %502, %477
%477 = struct $_ContiguousArrayBuffer<Int32> (%476 : $_ContiguousArrayStorageBase) // user: %478
%478 = struct $Array<Int32> (%477 : $_ContiguousArrayBuffer<Int32>) // user: %482
strong_retain %476 : $_ContiguousArrayStorageBase // id: %479
strong_retain %476 : $_ContiguousArrayStorageBase // id: %480
// function_ref __tf_tensor_from_scalars_1d
%481 = function_ref @__tf_tensor_from_scalars_1d : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %511, %482
%482 = apply %481<Int32>(%478) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %499, %493, %491, %489, %485, %483
strong_retain %482 : $TensorHandle<Int32> // id: %483
strong_release %476 : $_ContiguousArrayStorageBase // id: %484
strong_release %482 : $TensorHandle<Int32> // id: %485
%486 = builtin "__tfop_tfc.scalarToTensor,$in"(%15 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %498, %492, %491, %490, %488, %487
strong_retain %486 : $TensorHandle<Float> // id: %487
strong_release %486 : $TensorHandle<Float> // id: %488
strong_retain %482 : $TensorHandle<Int32> // id: %489
strong_retain %486 : $TensorHandle<Float> // id: %490
%491 = builtin "__tfop_Fill,$in,$in,T,index_type"(%482 : $TensorHandle<Int32>, %486 : $TensorHandle<Float>, %41 : $@thick Float.Type, %40 : $@thick Int32.Type) : $TensorHandle<Float> // users: %612, %561, %560, %559, %557, %567, %496, %539, %535, %503, %500, %497, %495, %494
strong_release %486 : $TensorHandle<Float> // id: %492
strong_release %482 : $TensorHandle<Int32> // id: %493
strong_retain %491 : $TensorHandle<Float> // id: %494
strong_retain %491 : $TensorHandle<Float> // id: %495
strong_release %491 : $TensorHandle<Float> // id: %496
strong_release %491 : $TensorHandle<Float> // id: %497
strong_release %486 : $TensorHandle<Float> // id: %498
strong_release %482 : $TensorHandle<Int32> // id: %499
strong_retain %491 : $TensorHandle<Float> // id: %500
strong_release %476 : $_ContiguousArrayStorageBase // id: %501
strong_release %476 : $_ContiguousArrayStorageBase // id: %502
strong_release %491 : $TensorHandle<Float> // id: %503
%504 = global_value @$S7no_copy5mnistyyFTv4_ : $_ContiguousArrayStorage<Int32> // users: %506, %505
strong_retain %504 : $_ContiguousArrayStorage<Int32> // id: %505
%506 = upcast %504 : $_ContiguousArrayStorage<Int32> to $_ContiguousArrayStorageBase // users: %509, %510, %513, %530, %531, %507
%507 = struct $_ContiguousArrayBuffer<Int32> (%506 : $_ContiguousArrayStorageBase) // user: %508
%508 = struct $Array<Int32> (%507 : $_ContiguousArrayBuffer<Int32>) // user: %511
strong_retain %506 : $_ContiguousArrayStorageBase // id: %509
strong_retain %506 : $_ContiguousArrayStorageBase // id: %510
%511 = apply %481<Int32>(%508) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %528, %522, %520, %518, %514, %512
strong_retain %511 : $TensorHandle<Int32> // id: %512
strong_release %506 : $_ContiguousArrayStorageBase // id: %513
strong_release %511 : $TensorHandle<Int32> // id: %514
%515 = builtin "__tfop_tfc.scalarToTensor,$in"(%15 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %527, %521, %520, %519, %517, %516
strong_retain %515 : $TensorHandle<Float> // id: %516
strong_release %515 : $TensorHandle<Float> // id: %517
strong_retain %511 : $TensorHandle<Int32> // id: %518
strong_retain %515 : $TensorHandle<Float> // id: %519
%520 = builtin "__tfop_Fill,$in,$in,T,index_type"(%511 : $TensorHandle<Int32>, %515 : $TensorHandle<Float>, %41 : $@thick Float.Type, %40 : $@thick Int32.Type) : $TensorHandle<Float> // users: %613, %525, %540, %536, %532, %529, %526, %524, %523
strong_release %515 : $TensorHandle<Float> // id: %521
strong_release %511 : $TensorHandle<Int32> // id: %522
strong_retain %520 : $TensorHandle<Float> // id: %523
strong_retain %520 : $TensorHandle<Float> // id: %524
strong_release %520 : $TensorHandle<Float> // id: %525
strong_release %520 : $TensorHandle<Float> // id: %526
strong_release %515 : $TensorHandle<Float> // id: %527
strong_release %511 : $TensorHandle<Int32> // id: %528
strong_retain %520 : $TensorHandle<Float> // id: %529
strong_release %506 : $_ContiguousArrayStorageBase // id: %530
strong_release %506 : $_ContiguousArrayStorageBase // id: %531
strong_release %520 : $TensorHandle<Float> // id: %532
strong_retain %416 : $TensorHandle<Float> // id: %533
strong_retain %462 : $TensorHandle<Float> // id: %534
strong_retain %491 : $TensorHandle<Float> // id: %535
strong_retain %520 : $TensorHandle<Float> // id: %536
strong_release %416 : $TensorHandle<Float> // id: %537
strong_release %462 : $TensorHandle<Float> // id: %538
strong_release %491 : $TensorHandle<Float> // id: %539
strong_release %520 : $TensorHandle<Float> // id: %540
%541 = integer_literal $Builtin.Int64, 100 // user: %544
%542 = integer_literal $Builtin.Int1, 0 // users: %549, %549
%543 = integer_literal $Builtin.Int1, -1 // user: %569
br bb1(%541 : $Builtin.Int64) // id: %544
// %545 // user: %569
bb1(%545 : $Builtin.Int64): // Preds: bb0 bb2
strong_retain %416 : $TensorHandle<Float> // id: %546
strong_retain %189 : $TensorHandle<Float> // id: %547
strong_retain %416 : $TensorHandle<Float> // id: %548
%549 = builtin "__tfop_MatMul,$in,$in,T,transpose_a,transpose_b"(%189 : $TensorHandle<Float>, %416 : $TensorHandle<Float>, %41 : $@thick Float.Type, %542 : $Builtin.Int1, %542 : $Builtin.Int1) : $TensorHandle<Float> // users: %554, %568, %562, %560, %558, %555, %553, %552
strong_release %416 : $TensorHandle<Float> // id: %550
strong_release %189 : $TensorHandle<Float> // id: %551
strong_retain %549 : $TensorHandle<Float> // id: %552
strong_retain %549 : $TensorHandle<Float> // id: %553
strong_release %549 : $TensorHandle<Float> // id: %554
strong_release %549 : $TensorHandle<Float> // id: %555
strong_release %416 : $TensorHandle<Float> // id: %556
strong_retain %491 : $TensorHandle<Float> // id: %557
strong_retain %549 : $TensorHandle<Float> // id: %558
strong_retain %491 : $TensorHandle<Float> // id: %559
%560 = builtin "__tfop_Add,$in,$in,T"(%549 : $TensorHandle<Float>, %491 : $TensorHandle<Float>, %41 : $@thick Float.Type) : $TensorHandle<Float> // users: %565, %573, %566, %564, %563
strong_release %491 : $TensorHandle<Float> // id: %561
strong_release %549 : $TensorHandle<Float> // id: %562
strong_retain %560 : $TensorHandle<Float> // id: %563
strong_retain %560 : $TensorHandle<Float> // id: %564
strong_release %560 : $TensorHandle<Float> // id: %565
strong_release %560 : $TensorHandle<Float> // id: %566
strong_release %491 : $TensorHandle<Float> // id: %567
strong_release %549 : $TensorHandle<Float> // id: %568
%569 = builtin "ssub_with_overflow_Int64"(%545 : $Builtin.Int64, %16 : $Builtin.Int64, %543 : $Builtin.Int1) : $(Builtin.Int64, Builtin.Int1) // users: %571, %570
%570 = tuple_extract %569 : $(Builtin.Int64, Builtin.Int1), 0 // users: %574, %576
%571 = tuple_extract %569 : $(Builtin.Int64, Builtin.Int1), 1 // user: %572
cond_fail %571 : $Builtin.Int1 // id: %572
strong_release %560 : $TensorHandle<Float> // id: %573
%574 = builtin "cmp_slt_Int64"(%14 : $Builtin.Int64, %570 : $Builtin.Int64) : $Builtin.Int1 // user: %575
cond_br %574, bb2, bb3 // id: %575
bb2: // Preds: bb1
br bb1(%570 : $Builtin.Int64) // id: %576
bb3: // Preds: bb1
%577 = float_literal $Builtin.FPIEEE32, 0x3F800000 // 1 // user: %578
%578 = struct $Float (%577 : $Builtin.FPIEEE32) // users: %594, %579
debug_value %578 : $Float, let, name "loss" // id: %579
%580 = struct $Int (%16 : $Builtin.Int64) // user: %584
%581 = alloc_ref [tail_elems $Any * %8 : $Builtin.Word] $_ContiguousArrayStorage<Any> // user: %582
%582 = upcast %581 : $_ContiguousArrayStorage<Any> to $_ContiguousArrayStorageBase // users: %591, %592, %609, %590, %588, %586
%583 = struct $UInt (%0 : $Builtin.Int64) // user: %584
%584 = struct $_SwiftArrayBodyStorage (%580 : $Int, %583 : $UInt) // user: %585
%585 = struct $_ArrayBody (%584 : $_SwiftArrayBodyStorage) // user: %587
%586 = ref_element_addr %582 : $_ContiguousArrayStorageBase, #_ContiguousArrayStorageBase.countAndCapacity // user: %587
store %585 to %586 : $*_ArrayBody // id: %587
%588 = struct $_ContiguousArrayBuffer<Any> (%582 : $_ContiguousArrayStorageBase) // user: %589
%589 = struct $Array<Any> (%588 : $_ContiguousArrayBuffer<Any>) // user: %600
%590 = ref_tail_addr %582 : $_ContiguousArrayStorageBase, $Any // user: %593
strong_retain %582 : $_ContiguousArrayStorageBase // id: %591
strong_release %582 : $_ContiguousArrayStorageBase // id: %592
%593 = init_existential_addr %590 : $*Any, $Float // user: %594
store %578 to %593 : $*Float // id: %594
// function_ref default argument 1 of print(_:separator:terminator:)
%595 = function_ref @$Ss5print_9separator10terminatoryypd_S2StFfA0_ : $@convention(thin) () -> @owned String // user: %596
%596 = apply %595() : $@convention(thin) () -> @owned String // users: %605, %600
// function_ref default argument 2 of print(_:separator:terminator:)
%597 = function_ref @$Ss5print_9separator10terminatoryypd_S2StFfA1_ : $@convention(thin) () -> @owned String // user: %598
%598 = apply %597() : $@convention(thin) () -> @owned String // users: %601, %600
// function_ref print(_:separator:terminator:)
%599 = function_ref @$Ss5print_9separator10terminatoryypd_S2StF : $@convention(thin) (@guaranteed Array<Any>, @guaranteed String, @guaranteed String) -> () // user: %600
%600 = apply %599(%589, %596, %598) : $@convention(thin) (@guaranteed Array<Any>, @guaranteed String, @guaranteed String) -> ()
%601 = struct_extract %598 : $String, #String._guts // user: %602
%602 = struct_extract %601 : $_StringGuts, #_StringGuts._object // user: %603
%603 = struct_extract %602 : $_StringObject, #_StringObject._object // user: %604
strong_release %603 : $Builtin.BridgeObject // id: %604
%605 = struct_extract %596 : $String, #String._guts // user: %606
%606 = struct_extract %605 : $_StringGuts, #_StringGuts._object // user: %607
%607 = struct_extract %606 : $_StringObject, #_StringObject._object // user: %608
strong_release %607 : $Builtin.BridgeObject // id: %608
strong_release %582 : $_ContiguousArrayStorageBase // id: %609
strong_release %416 : $TensorHandle<Float> // id: %610
strong_release %462 : $TensorHandle<Float> // id: %611
strong_release %491 : $TensorHandle<Float> // id: %612
strong_release %520 : $TensorHandle<Float> // id: %613
strong_release %367 : $TensorHandle<Float> // id: %614
strong_release %189 : $TensorHandle<Float> // id: %615
%616 = tuple () // user: %617
return %616 : $() // id: %617
} // end sil function '$S7no_copy5mnistyyF'
---- END OF INPUT FUNCTION ----------
---- ANALYSIS STATE FOR FUNCTION $S7no_copy5mnistyyF ----------
Tensor start point: %77 = integer_literal $Builtin.Int64, 0 // users: %596, %78
Tensor end point: %599 = float_literal $Builtin.FPIEEE32, 0x3F800000 // 1 // user: %600
SIL with markings:
bb0:
%0 = integer_literal $Builtin.Int64, 2 // users: %605, %43
%1 = global_value @$S7no_copy5mnistyyFTv_ : $_ContiguousArrayStorage<Int32> // users: %3, %2
strong_retain %1 : $_ContiguousArrayStorage<Int32> // id: %2
%3 = upcast %1 : $_ContiguousArrayStorage<Int32> to $_ContiguousArrayStorageBase // users: %6, %7, %9, %11, %12, %13, %15, %16, %18, %35, %106, %108, %109, %110, %120, %145, %245, %4
%4 = struct $_ContiguousArrayBuffer<Int32> (%3 : $_ContiguousArrayStorageBase) // user: %5
%5 = struct $Array<Int32> (%4 : $_ContiguousArrayBuffer<Int32>) // user: %10
strong_retain %3 : $_ContiguousArrayStorageBase // id: %6
strong_release %3 : $_ContiguousArrayStorageBase // id: %7
%8 = integer_literal $Builtin.Word, 1 // user: %603
strong_retain %3 : $_ContiguousArrayStorageBase // id: %9
%10 = struct $TensorShape (%5 : $Array<Int32>) // users: %19, %39
strong_retain %3 : $_ContiguousArrayStorageBase // id: %11
strong_release %3 : $_ContiguousArrayStorageBase // id: %12
strong_release %3 : $_ContiguousArrayStorageBase // id: %13
%14 = enum $Optional<RandomState>, #Optional.none!enumelt // users: %73, %64, %51, %55, %39, %19
strong_retain %3 : $_ContiguousArrayStorageBase // id: %15
strong_retain %3 : $_ContiguousArrayStorageBase // id: %16
// function_ref closure #1 in Tensor<>.init(randomStandardUniform:state:)
%17 = function_ref @$S10TensorFlow0A0VAAs5Int32VRszrlE21randomStandardUniform5stateACyAEGAA0A5ShapeV_AA11RandomStateCSgtcfcAA0A6HandleCyAEGyXEfU_ : $@convention(thin) (@guaranteed Optional<RandomState>, @guaranteed TensorShape) -> @owned TensorHandle<Int32> // users: %73, %64, %55, %51, %39, %19
strong_retain %3 : $_ContiguousArrayStorageBase // id: %18
%19 = partial_apply [callee_guaranteed] %17(%14, %10) : $@convention(thin) (@guaranteed Optional<RandomState>, @guaranteed TensorShape) -> @owned TensorHandle<Int32> // users: %26, %25, %21, %20
strong_retain %19 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %20
%21 = convert_escape_to_noescape %19 : $@callee_guaranteed () -> @owned TensorHandle<Int32> to $@noescape @callee_guaranteed () -> @owned TensorHandle<Int32> // user: %24
%22 = metatype $@thin Int32.Type // users: %75, %66, %57, %53, %41, %24
// function_ref __tf_hoistable_Int32
%23 = function_ref @__tf_hoistable_Int32 : $@convention(method) (@noescape @callee_guaranteed () -> @owned TensorHandle<Int32>, @thin Int32.Type) -> @owned TensorHandle<Int32> // users: %75, %66, %57, %53, %41, %24
%24 = apply %23(%21, %22) : $@convention(method) (@noescape @callee_guaranteed () -> @owned TensorHandle<Int32>, @thin Int32.Type) -> @owned TensorHandle<Int32> // users: %30, %28, %33, %27
strong_release %19 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %25
strong_release %19 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %26
strong_retain %24 : $TensorHandle<Int32> // id: %27
strong_release %24 : $TensorHandle<Int32> // id: %28
// function_ref __tf_send
%29 = function_ref @__tf_send : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed TensorHandle<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %76, %67, %58, %54, %42, %30
[Arg] %30 = apply %29<Int32>(%24) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed TensorHandle<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %81, %32, %86, %82, %34, %31
strong_retain %30 : $TensorHandle<Int32> // id: %31
strong_release %30 : $TensorHandle<Int32> // id: %32
strong_release %24 : $TensorHandle<Int32> // id: %33
strong_retain %30 : $TensorHandle<Int32> // id: %34
strong_release %3 : $_ContiguousArrayStorageBase // id: %35
%36 = metatype $@thick Int32.Type // users: %542, %517, %477, %438, %301, %262, %122, %81
%37 = metatype $@thick Float.Type // users: %582, %570, %542, %517, %490, %477, %451, %438, %409, %395, %380, %370, %360, %349, %338, %328, %314, %301, %275, %262, %232, %218, %203, %193, %183, %172, %161, %151, %135, %122, %96, %81
%38 = string_literal utf8 "/device:CPU:0" // user: %81
%39 = partial_apply [callee_guaranteed] %17(%14, %10) : $@convention(thin) (@guaranteed Optional<RandomState>, @guaranteed TensorShape) -> @owned TensorHandle<Int32> // users: %113, %112, %40, %111
%40 = convert_escape_to_noescape %39 : $@callee_guaranteed () -> @owned TensorHandle<Int32> to $@noescape @callee_guaranteed () -> @owned TensorHandle<Int32> // user: %41
%41 = apply %23(%40, %22) : $@convention(method) (@noescape @callee_guaranteed () -> @owned TensorHandle<Int32>, @thin Int32.Type) -> @owned TensorHandle<Int32> // users: %42, %115, %118, %114
[Arg] %42 = apply %29<Int32>(%41) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed TensorHandle<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %122, %117, %127, %123, %119, %116
%43 = builtin "sitofp_Int64_FPIEEE32"(%0 : $Builtin.Int64) : $Builtin.FPIEEE32 // user: %45
%44 = float_literal $Builtin.FPIEEE32, 0x40490FDA // 3.1415925 // user: %45
[Arg] %45 = builtin "fmul_FPIEEE32"(%43 : $Builtin.FPIEEE32, %44 : $Builtin.FPIEEE32) : $Builtin.FPIEEE32 // users: %356, %179
%46 = global_value @$S7no_copy5mnistyyFTv0_ : $_ContiguousArrayStorage<Int32> // users: %47, %247
%47 = upcast %46 : $_ContiguousArrayStorage<Int32> to $_ContiguousArrayStorageBase // users: %248, %249, %250, %260, %285, %287, %288, %289, %299, %324, %422, %48
%48 = struct $_ContiguousArrayBuffer<Int32> (%47 : $_ContiguousArrayStorageBase) // user: %49
%49 = struct $Array<Int32> (%48 : $_ContiguousArrayBuffer<Int32>) // user: %50
%50 = struct $TensorShape (%49 : $Array<Int32>) // users: %51, %55
%51 = partial_apply [callee_guaranteed] %17(%14, %50) : $@convention(thin) (@guaranteed Optional<RandomState>, @guaranteed TensorShape) -> @owned TensorHandle<Int32> // users: %253, %252, %52, %251
%52 = convert_escape_to_noescape %51 : $@callee_guaranteed () -> @owned TensorHandle<Int32> to $@noescape @callee_guaranteed () -> @owned TensorHandle<Int32> // user: %53
%53 = apply %23(%52, %22) : $@convention(method) (@noescape @callee_guaranteed () -> @owned TensorHandle<Int32>, @thin Int32.Type) -> @owned TensorHandle<Int32> // users: %54, %255, %258, %254
[Arg] %54 = apply %29<Int32>(%53) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed TensorHandle<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %262, %257, %267, %263, %259, %256
%55 = partial_apply [callee_guaranteed] %17(%14, %50) : $@convention(thin) (@guaranteed Optional<RandomState>, @guaranteed TensorShape) -> @owned TensorHandle<Int32> // users: %292, %291, %56, %290
%56 = convert_escape_to_noescape %55 : $@callee_guaranteed () -> @owned TensorHandle<Int32> to $@noescape @callee_guaranteed () -> @owned TensorHandle<Int32> // user: %57
%57 = apply %23(%56, %22) : $@convention(method) (@noescape @callee_guaranteed () -> @owned TensorHandle<Int32>, @thin Int32.Type) -> @owned TensorHandle<Int32> // users: %58, %294, %297, %293
[Arg] %58 = apply %29<Int32>(%57) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed TensorHandle<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %301, %296, %306, %302, %298, %295
%59 = global_value @$S7no_copy5mnistyyFTv1_ : $_ContiguousArrayStorage<Int32> // users: %60, %424
%60 = upcast %59 : $_ContiguousArrayStorage<Int32> to $_ContiguousArrayStorageBase // users: %425, %426, %436, %461, %61
%61 = struct $_ContiguousArrayBuffer<Int32> (%60 : $_ContiguousArrayStorageBase) // user: %62
%62 = struct $Array<Int32> (%61 : $_ContiguousArrayBuffer<Int32>) // user: %63
%63 = struct $TensorShape (%62 : $Array<Int32>) // user: %64
%64 = partial_apply [callee_guaranteed] %17(%14, %63) : $@convention(thin) (@guaranteed Optional<RandomState>, @guaranteed TensorShape) -> @owned TensorHandle<Int32> // users: %429, %428, %65, %427
%65 = convert_escape_to_noescape %64 : $@callee_guaranteed () -> @owned TensorHandle<Int32> to $@noescape @callee_guaranteed () -> @owned TensorHandle<Int32> // user: %66
%66 = apply %23(%65, %22) : $@convention(method) (@noescape @callee_guaranteed () -> @owned TensorHandle<Int32>, @thin Int32.Type) -> @owned TensorHandle<Int32> // users: %67, %431, %434, %430
[Arg] %67 = apply %29<Int32>(%66) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed TensorHandle<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %438, %433, %443, %439, %435, %432
%68 = global_value @$S7no_copy5mnistyyFTv2_ : $_ContiguousArrayStorage<Int32> // users: %69, %463
%69 = upcast %68 : $_ContiguousArrayStorage<Int32> to $_ContiguousArrayStorageBase // users: %464, %465, %475, %500, %70
%70 = struct $_ContiguousArrayBuffer<Int32> (%69 : $_ContiguousArrayStorageBase) // user: %71
%71 = struct $Array<Int32> (%70 : $_ContiguousArrayBuffer<Int32>) // user: %72
%72 = struct $TensorShape (%71 : $Array<Int32>) // user: %73
%73 = partial_apply [callee_guaranteed] %17(%14, %72) : $@convention(thin) (@guaranteed Optional<RandomState>, @guaranteed TensorShape) -> @owned TensorHandle<Int32> // users: %468, %467, %74, %466
%74 = convert_escape_to_noescape %73 : $@callee_guaranteed () -> @owned TensorHandle<Int32> to $@noescape @callee_guaranteed () -> @owned TensorHandle<Int32> // user: %75
%75 = apply %23(%74, %22) : $@convention(method) (@noescape @callee_guaranteed () -> @owned TensorHandle<Int32>, @thin Int32.Type) -> @owned TensorHandle<Int32> // users: %76, %470, %473, %469
[Arg] %76 = apply %29<Int32>(%75) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed TensorHandle<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %477, %472, %482, %478, %474, %471
[Copy] %77 = integer_literal $Builtin.Int64, 0 // users: %596, %78
[Move] %78 = builtin "sitofp_Int64_FPIEEE32"(%77 : $Builtin.Int64) : $Builtin.FPIEEE32 // users: %536, %511, %403, %226
[Copy] %79 = integer_literal $Builtin.Int64, 1 // users: %602, %591, %80
[Move] %80 = builtin "sitofp_Int64_FPIEEE32"(%79 : $Builtin.Int64) : $Builtin.FPIEEE32 // users: %389, %212
[Move] %81 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%30 : $TensorHandle<Int32>, %36 : $@thick Int32.Type, %37 : $@thick Float.Type, %38 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %96, %83, %84, %87, %93, %98, %104, %85
strong_release %30 : $TensorHandle<Int32> // id: %82
strong_retain %81 : $TensorHandle<Float> // id: %83
strong_retain %81 : $TensorHandle<Float> // id: %84
strong_release %81 : $TensorHandle<Float> // id: %85
strong_release %30 : $TensorHandle<Int32> // id: %86
strong_release %81 : $TensorHandle<Float> // id: %87
[Move] %88 = integer_literal $Builtin.Int32, 2147483647 // user: %89
[Move] %89 = builtin "sitofp_Int32_FPIEEE32"(%88 : $Builtin.Int32) : $Builtin.FPIEEE32 // users: %484, %445, %308, %269, %129, %90
[Move] %90 = builtin "__tfop_tfc.scalarToTensor,$in"(%89 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %96, %91, %92, %94, %97, %103
strong_retain %90 : $TensorHandle<Float> // id: %91
strong_release %90 : $TensorHandle<Float> // id: %92
strong_retain %81 : $TensorHandle<Float> // id: %93
strong_retain %90 : $TensorHandle<Float> // id: %94
%95 = string_literal utf8 "/device:CPU:0" // user: %96
[Move] %96 = builtin "__tfop_Div,$in,$in,T,__device"(%81 : $TensorHandle<Float>, %90 : $TensorHandle<Float>, %37 : $@thick Float.Type, %95 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %151, %99, %100, %102, %105, %107, %149, %152, %243, %101
strong_release %90 : $TensorHandle<Float> // id: %97
strong_release %81 : $TensorHandle<Float> // id: %98
strong_retain %96 : $TensorHandle<Float> // id: %99
strong_retain %96 : $TensorHandle<Float> // id: %100
strong_release %96 : $TensorHandle<Float> // id: %101
strong_release %96 : $TensorHandle<Float> // id: %102
strong_release %90 : $TensorHandle<Float> // id: %103
strong_release %81 : $TensorHandle<Float> // id: %104
strong_retain %96 : $TensorHandle<Float> // id: %105
strong_release %3 : $_ContiguousArrayStorageBase // id: %106
strong_release %96 : $TensorHandle<Float> // id: %107
strong_retain %3 : $_ContiguousArrayStorageBase // id: %108
strong_retain %3 : $_ContiguousArrayStorageBase // id: %109
strong_retain %3 : $_ContiguousArrayStorageBase // id: %110
strong_retain %39 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %111
strong_release %39 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %112
strong_release %39 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %113
strong_retain %41 : $TensorHandle<Int32> // id: %114
strong_release %41 : $TensorHandle<Int32> // id: %115
strong_retain %42 : $TensorHandle<Int32> // id: %116
strong_release %42 : $TensorHandle<Int32> // id: %117
strong_release %41 : $TensorHandle<Int32> // id: %118
strong_retain %42 : $TensorHandle<Int32> // id: %119
strong_release %3 : $_ContiguousArrayStorageBase // id: %120
%121 = string_literal utf8 "/device:CPU:0" // user: %122
[Move] %122 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%42 : $TensorHandle<Int32>, %36 : $@thick Int32.Type, %37 : $@thick Float.Type, %121 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %135, %124, %125, %128, %132, %137, %143, %126
strong_release %42 : $TensorHandle<Int32> // id: %123
strong_retain %122 : $TensorHandle<Float> // id: %124
strong_retain %122 : $TensorHandle<Float> // id: %125
strong_release %122 : $TensorHandle<Float> // id: %126
strong_release %42 : $TensorHandle<Int32> // id: %127
strong_release %122 : $TensorHandle<Float> // id: %128
[Move] %129 = builtin "__tfop_tfc.scalarToTensor,$in"(%89 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %135, %130, %131, %133, %136, %142
strong_retain %129 : $TensorHandle<Float> // id: %130
strong_release %129 : $TensorHandle<Float> // id: %131
strong_retain %122 : $TensorHandle<Float> // id: %132
strong_retain %129 : $TensorHandle<Float> // id: %133
%134 = string_literal utf8 "/device:CPU:0" // user: %135
[Move] %135 = builtin "__tfop_Div,$in,$in,T,__device"(%122 : $TensorHandle<Float>, %129 : $TensorHandle<Float>, %37 : $@thick Float.Type, %134 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %183, %138, %139, %141, %144, %146, %181, %184, %242, %140
strong_release %129 : $TensorHandle<Float> // id: %136
strong_release %122 : $TensorHandle<Float> // id: %137
strong_retain %135 : $TensorHandle<Float> // id: %138
strong_retain %135 : $TensorHandle<Float> // id: %139
strong_release %135 : $TensorHandle<Float> // id: %140
strong_release %135 : $TensorHandle<Float> // id: %141
strong_release %129 : $TensorHandle<Float> // id: %142
strong_release %122 : $TensorHandle<Float> // id: %143
strong_retain %135 : $TensorHandle<Float> // id: %144
strong_release %3 : $_ContiguousArrayStorageBase // id: %145
strong_release %135 : $TensorHandle<Float> // id: %146
[Move] %147 = integer_literal $Builtin.Int64, -2 // user: %148
[Move] %148 = builtin "sitofp_Int64_FPIEEE32"(%147 : $Builtin.Int64) : $Builtin.FPIEEE32 // users: %334, %157
strong_retain %96 : $TensorHandle<Float> // id: %149
%150 = string_literal utf8 "/device:CPU:0" // user: %151
[Move] %151 = builtin "__tfop_Log,$in,T,__device"(%96 : $TensorHandle<Float>, %37 : $@thick Float.Type, %150 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %161, %153, %154, %156, %159, %162, %169, %155
strong_release %96 : $TensorHandle<Float> // id: %152
strong_retain %151 : $TensorHandle<Float> // id: %153
strong_retain %151 : $TensorHandle<Float> // id: %154
strong_release %151 : $TensorHandle<Float> // id: %155
strong_release %151 : $TensorHandle<Float> // id: %156
[Move] %157 = builtin "__tfop_tfc.scalarToTensor,$in"(%148 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %161, %158, %163, %168
strong_retain %157 : $TensorHandle<Float> // id: %158
strong_retain %151 : $TensorHandle<Float> // id: %159
%160 = string_literal utf8 "/device:CPU:0" // user: %161
[Move] %161 = builtin "__tfop_Mul,$in,$in,T,__device"(%157 : $TensorHandle<Float>, %151 : $TensorHandle<Float>, %37 : $@thick Float.Type, %160 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %172, %164, %165, %167, %170, %173, %178, %166
strong_release %151 : $TensorHandle<Float> // id: %162
strong_release %157 : $TensorHandle<Float> // id: %163
strong_retain %161 : $TensorHandle<Float> // id: %164
strong_retain %161 : $TensorHandle<Float> // id: %165
strong_release %161 : $TensorHandle<Float> // id: %166
strong_release %161 : $TensorHandle<Float> // id: %167
strong_release %157 : $TensorHandle<Float> // id: %168
strong_release %151 : $TensorHandle<Float> // id: %169
strong_retain %161 : $TensorHandle<Float> // id: %170
%171 = string_literal utf8 "/device:CPU:0" // user: %172
[Move] %172 = builtin "__tfop_Sqrt,$in,T,__device"(%161 : $TensorHandle<Float>, %37 : $@thick Float.Type, %171 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %203, %174, %175, %177, %200, %205, %211, %176
strong_release %161 : $TensorHandle<Float> // id: %173
strong_retain %172 : $TensorHandle<Float> // id: %174
strong_retain %172 : $TensorHandle<Float> // id: %175
strong_release %172 : $TensorHandle<Float> // id: %176
strong_release %172 : $TensorHandle<Float> // id: %177
strong_release %161 : $TensorHandle<Float> // id: %178
[Move] %179 = builtin "__tfop_tfc.scalarToTensor,$in"(%45 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %183, %180, %185, %190
strong_retain %179 : $TensorHandle<Float> // id: %180
strong_retain %135 : $TensorHandle<Float> // id: %181
%182 = string_literal utf8 "/device:CPU:0" // user: %183
[Move] %183 = builtin "__tfop_Mul,$in,$in,T,__device"(%179 : $TensorHandle<Float>, %135 : $TensorHandle<Float>, %37 : $@thick Float.Type, %182 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %193, %186, %187, %189, %191, %194, %199, %188
strong_release %135 : $TensorHandle<Float> // id: %184
strong_release %179 : $TensorHandle<Float> // id: %185
strong_retain %183 : $TensorHandle<Float> // id: %186
strong_retain %183 : $TensorHandle<Float> // id: %187
strong_release %183 : $TensorHandle<Float> // id: %188
strong_release %183 : $TensorHandle<Float> // id: %189
strong_release %179 : $TensorHandle<Float> // id: %190
strong_retain %183 : $TensorHandle<Float> // id: %191
%192 = string_literal utf8 "/device:CPU:0" // user: %193
[Move] %193 = builtin "__tfop_Cos,$in,T,__device"(%183 : $TensorHandle<Float>, %37 : $@thick Float.Type, %192 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %203, %195, %196, %198, %201, %204, %210, %197
strong_release %183 : $TensorHandle<Float> // id: %194
strong_retain %193 : $TensorHandle<Float> // id: %195
strong_retain %193 : $TensorHandle<Float> // id: %196
strong_release %193 : $TensorHandle<Float> // id: %197
strong_release %193 : $TensorHandle<Float> // id: %198
strong_release %183 : $TensorHandle<Float> // id: %199
strong_retain %172 : $TensorHandle<Float> // id: %200
strong_retain %193 : $TensorHandle<Float> // id: %201
%202 = string_literal utf8 "/device:CPU:0" // user: %203
[Move] %203 = builtin "__tfop_Mul,$in,$in,T,__device"(%172 : $TensorHandle<Float>, %193 : $TensorHandle<Float>, %37 : $@thick Float.Type, %202 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %218, %206, %207, %209, %215, %220, %241, %208
strong_release %193 : $TensorHandle<Float> // id: %204
strong_release %172 : $TensorHandle<Float> // id: %205
strong_retain %203 : $TensorHandle<Float> // id: %206
strong_retain %203 : $TensorHandle<Float> // id: %207
strong_release %203 : $TensorHandle<Float> // id: %208
strong_release %203 : $TensorHandle<Float> // id: %209
strong_release %193 : $TensorHandle<Float> // id: %210
strong_release %172 : $TensorHandle<Float> // id: %211
[Move] %212 = builtin "__tfop_tfc.scalarToTensor,$in"(%80 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %218, %213, %214, %216, %219, %225
strong_retain %212 : $TensorHandle<Float> // id: %213
strong_release %212 : $TensorHandle<Float> // id: %214
strong_retain %203 : $TensorHandle<Float> // id: %215
strong_retain %212 : $TensorHandle<Float> // id: %216
%217 = string_literal utf8 "/device:CPU:0" // user: %218
[Move] %218 = builtin "__tfop_Mul,$in,$in,T,__device"(%203 : $TensorHandle<Float>, %212 : $TensorHandle<Float>, %37 : $@thick Float.Type, %217 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %232, %221, %222, %224, %229, %234, %240, %223
strong_release %212 : $TensorHandle<Float> // id: %219
strong_release %203 : $TensorHandle<Float> // id: %220
strong_retain %218 : $TensorHandle<Float> // id: %221
strong_retain %218 : $TensorHandle<Float> // id: %222
strong_release %218 : $TensorHandle<Float> // id: %223
strong_release %218 : $TensorHandle<Float> // id: %224
strong_release %212 : $TensorHandle<Float> // id: %225
[Move] %226 = builtin "__tfop_tfc.scalarToTensor,$in"(%78 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %232, %227, %228, %230, %233, %239
strong_retain %226 : $TensorHandle<Float> // id: %227
strong_release %226 : $TensorHandle<Float> // id: %228
strong_retain %218 : $TensorHandle<Float> // id: %229
strong_retain %226 : $TensorHandle<Float> // id: %230
%231 = string_literal utf8 "/device:CPU:0" // user: %232
[Move] %232 = builtin "__tfop_Add,$in,$in,T,__device"(%218 : $TensorHandle<Float>, %226 : $TensorHandle<Float>, %37 : $@thick Float.Type, %231 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %570, %235, %236, %238, %244, %246, %567, %572, %637, %237
strong_release %226 : $TensorHandle<Float> // id: %233
strong_release %218 : $TensorHandle<Float> // id: %234
strong_retain %232 : $TensorHandle<Float> // id: %235
strong_retain %232 : $TensorHandle<Float> // id: %236
strong_release %232 : $TensorHandle<Float> // id: %237
strong_release %232 : $TensorHandle<Float> // id: %238
strong_release %226 : $TensorHandle<Float> // id: %239
strong_release %218 : $TensorHandle<Float> // id: %240
strong_release %203 : $TensorHandle<Float> // id: %241
strong_release %135 : $TensorHandle<Float> // id: %242
strong_release %96 : $TensorHandle<Float> // id: %243
strong_retain %232 : $TensorHandle<Float> // id: %244
strong_release %3 : $_ContiguousArrayStorageBase // id: %245
strong_release %232 : $TensorHandle<Float> // id: %246
strong_retain %46 : $_ContiguousArrayStorage<Int32> // id: %247
strong_retain %47 : $_ContiguousArrayStorageBase // id: %248
strong_retain %47 : $_ContiguousArrayStorageBase // id: %249
strong_retain %47 : $_ContiguousArrayStorageBase // id: %250
strong_retain %51 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %251
strong_release %51 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %252
strong_release %51 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %253
strong_retain %53 : $TensorHandle<Int32> // id: %254
strong_release %53 : $TensorHandle<Int32> // id: %255
strong_retain %54 : $TensorHandle<Int32> // id: %256
strong_release %54 : $TensorHandle<Int32> // id: %257
strong_release %53 : $TensorHandle<Int32> // id: %258
strong_retain %54 : $TensorHandle<Int32> // id: %259
strong_release %47 : $_ContiguousArrayStorageBase // id: %260
%261 = string_literal utf8 "/device:CPU:0" // user: %262
[Move] %262 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%54 : $TensorHandle<Int32>, %36 : $@thick Int32.Type, %37 : $@thick Float.Type, %261 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %275, %264, %265, %268, %272, %277, %283, %266
strong_release %54 : $TensorHandle<Int32> // id: %263
strong_retain %262 : $TensorHandle<Float> // id: %264
strong_retain %262 : $TensorHandle<Float> // id: %265
strong_release %262 : $TensorHandle<Float> // id: %266
strong_release %54 : $TensorHandle<Int32> // id: %267
strong_release %262 : $TensorHandle<Float> // id: %268
[Move] %269 = builtin "__tfop_tfc.scalarToTensor,$in"(%89 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %275, %270, %271, %273, %276, %282
strong_retain %269 : $TensorHandle<Float> // id: %270
strong_release %269 : $TensorHandle<Float> // id: %271
strong_retain %262 : $TensorHandle<Float> // id: %272
strong_retain %269 : $TensorHandle<Float> // id: %273
%274 = string_literal utf8 "/device:CPU:0" // user: %275
[Move] %275 = builtin "__tfop_Div,$in,$in,T,__device"(%262 : $TensorHandle<Float>, %269 : $TensorHandle<Float>, %37 : $@thick Float.Type, %274 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %328, %278, %279, %281, %284, %286, %326, %329, %420, %280
strong_release %269 : $TensorHandle<Float> // id: %276
strong_release %262 : $TensorHandle<Float> // id: %277
strong_retain %275 : $TensorHandle<Float> // id: %278
strong_retain %275 : $TensorHandle<Float> // id: %279
strong_release %275 : $TensorHandle<Float> // id: %280
strong_release %275 : $TensorHandle<Float> // id: %281
strong_release %269 : $TensorHandle<Float> // id: %282
strong_release %262 : $TensorHandle<Float> // id: %283
strong_retain %275 : $TensorHandle<Float> // id: %284
strong_release %47 : $_ContiguousArrayStorageBase // id: %285
strong_release %275 : $TensorHandle<Float> // id: %286
strong_retain %47 : $_ContiguousArrayStorageBase // id: %287
strong_retain %47 : $_ContiguousArrayStorageBase // id: %288
strong_retain %47 : $_ContiguousArrayStorageBase // id: %289
strong_retain %55 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %290
strong_release %55 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %291
strong_release %55 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %292
strong_retain %57 : $TensorHandle<Int32> // id: %293
strong_release %57 : $TensorHandle<Int32> // id: %294
strong_retain %58 : $TensorHandle<Int32> // id: %295
strong_release %58 : $TensorHandle<Int32> // id: %296
strong_release %57 : $TensorHandle<Int32> // id: %297
strong_retain %58 : $TensorHandle<Int32> // id: %298
strong_release %47 : $_ContiguousArrayStorageBase // id: %299
%300 = string_literal utf8 "/device:CPU:0" // user: %301
[Move] %301 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%58 : $TensorHandle<Int32>, %36 : $@thick Int32.Type, %37 : $@thick Float.Type, %300 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %314, %303, %304, %307, %311, %316, %322, %305
strong_release %58 : $TensorHandle<Int32> // id: %302
strong_retain %301 : $TensorHandle<Float> // id: %303
strong_retain %301 : $TensorHandle<Float> // id: %304
strong_release %301 : $TensorHandle<Float> // id: %305
strong_release %58 : $TensorHandle<Int32> // id: %306
strong_release %301 : $TensorHandle<Float> // id: %307
[Move] %308 = builtin "__tfop_tfc.scalarToTensor,$in"(%89 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %314, %309, %310, %312, %315, %321
strong_retain %308 : $TensorHandle<Float> // id: %309
strong_release %308 : $TensorHandle<Float> // id: %310
strong_retain %301 : $TensorHandle<Float> // id: %311
strong_retain %308 : $TensorHandle<Float> // id: %312
%313 = string_literal utf8 "/device:CPU:0" // user: %314
[Move] %314 = builtin "__tfop_Div,$in,$in,T,__device"(%301 : $TensorHandle<Float>, %308 : $TensorHandle<Float>, %37 : $@thick Float.Type, %313 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %360, %317, %318, %320, %323, %325, %358, %361, %419, %319
strong_release %308 : $TensorHandle<Float> // id: %315
strong_release %301 : $TensorHandle<Float> // id: %316
strong_retain %314 : $TensorHandle<Float> // id: %317
strong_retain %314 : $TensorHandle<Float> // id: %318
strong_release %314 : $TensorHandle<Float> // id: %319
strong_release %314 : $TensorHandle<Float> // id: %320
strong_release %308 : $TensorHandle<Float> // id: %321
strong_release %301 : $TensorHandle<Float> // id: %322
strong_retain %314 : $TensorHandle<Float> // id: %323
strong_release %47 : $_ContiguousArrayStorageBase // id: %324
strong_release %314 : $TensorHandle<Float> // id: %325
strong_retain %275 : $TensorHandle<Float> // id: %326
%327 = string_literal utf8 "/device:CPU:0" // user: %328
[Move] %328 = builtin "__tfop_Log,$in,T,__device"(%275 : $TensorHandle<Float>, %37 : $@thick Float.Type, %327 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %338, %330, %331, %333, %336, %339, %346, %332
strong_release %275 : $TensorHandle<Float> // id: %329
strong_retain %328 : $TensorHandle<Float> // id: %330
strong_retain %328 : $TensorHandle<Float> // id: %331
strong_release %328 : $TensorHandle<Float> // id: %332
strong_release %328 : $TensorHandle<Float> // id: %333
[Move] %334 = builtin "__tfop_tfc.scalarToTensor,$in"(%148 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %338, %335, %340, %345
strong_retain %334 : $TensorHandle<Float> // id: %335
strong_retain %328 : $TensorHandle<Float> // id: %336
%337 = string_literal utf8 "/device:CPU:0" // user: %338
[Move] %338 = builtin "__tfop_Mul,$in,$in,T,__device"(%334 : $TensorHandle<Float>, %328 : $TensorHandle<Float>, %37 : $@thick Float.Type, %337 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %349, %341, %342, %344, %347, %350, %355, %343
strong_release %328 : $TensorHandle<Float> // id: %339
strong_release %334 : $TensorHandle<Float> // id: %340
strong_retain %338 : $TensorHandle<Float> // id: %341
strong_retain %338 : $TensorHandle<Float> // id: %342
strong_release %338 : $TensorHandle<Float> // id: %343
strong_release %338 : $TensorHandle<Float> // id: %344
strong_release %334 : $TensorHandle<Float> // id: %345
strong_release %328 : $TensorHandle<Float> // id: %346
strong_retain %338 : $TensorHandle<Float> // id: %347
%348 = string_literal utf8 "/device:CPU:0" // user: %349
[Move] %349 = builtin "__tfop_Sqrt,$in,T,__device"(%338 : $TensorHandle<Float>, %37 : $@thick Float.Type, %348 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %380, %351, %352, %354, %377, %382, %388, %353
strong_release %338 : $TensorHandle<Float> // id: %350
strong_retain %349 : $TensorHandle<Float> // id: %351
strong_retain %349 : $TensorHandle<Float> // id: %352
strong_release %349 : $TensorHandle<Float> // id: %353
strong_release %349 : $TensorHandle<Float> // id: %354
strong_release %338 : $TensorHandle<Float> // id: %355
[Move] %356 = builtin "__tfop_tfc.scalarToTensor,$in"(%45 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %360, %357, %362, %367
strong_retain %356 : $TensorHandle<Float> // id: %357
strong_retain %314 : $TensorHandle<Float> // id: %358
%359 = string_literal utf8 "/device:CPU:0" // user: %360
[Move] %360 = builtin "__tfop_Mul,$in,$in,T,__device"(%356 : $TensorHandle<Float>, %314 : $TensorHandle<Float>, %37 : $@thick Float.Type, %359 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %370, %363, %364, %366, %368, %371, %376, %365
strong_release %314 : $TensorHandle<Float> // id: %361
strong_release %356 : $TensorHandle<Float> // id: %362
strong_retain %360 : $TensorHandle<Float> // id: %363
strong_retain %360 : $TensorHandle<Float> // id: %364
strong_release %360 : $TensorHandle<Float> // id: %365
strong_release %360 : $TensorHandle<Float> // id: %366
strong_release %356 : $TensorHandle<Float> // id: %367
strong_retain %360 : $TensorHandle<Float> // id: %368
%369 = string_literal utf8 "/device:CPU:0" // user: %370
[Move] %370 = builtin "__tfop_Cos,$in,T,__device"(%360 : $TensorHandle<Float>, %37 : $@thick Float.Type, %369 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %380, %372, %373, %375, %378, %381, %387, %374
strong_release %360 : $TensorHandle<Float> // id: %371
strong_retain %370 : $TensorHandle<Float> // id: %372
strong_retain %370 : $TensorHandle<Float> // id: %373
strong_release %370 : $TensorHandle<Float> // id: %374
strong_release %370 : $TensorHandle<Float> // id: %375
strong_release %360 : $TensorHandle<Float> // id: %376
strong_retain %349 : $TensorHandle<Float> // id: %377
strong_retain %370 : $TensorHandle<Float> // id: %378
%379 = string_literal utf8 "/device:CPU:0" // user: %380
[Move] %380 = builtin "__tfop_Mul,$in,$in,T,__device"(%349 : $TensorHandle<Float>, %370 : $TensorHandle<Float>, %37 : $@thick Float.Type, %379 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %395, %383, %384, %386, %392, %397, %418, %385
strong_release %370 : $TensorHandle<Float> // id: %381
strong_release %349 : $TensorHandle<Float> // id: %382
strong_retain %380 : $TensorHandle<Float> // id: %383
strong_retain %380 : $TensorHandle<Float> // id: %384
strong_release %380 : $TensorHandle<Float> // id: %385
strong_release %380 : $TensorHandle<Float> // id: %386
strong_release %370 : $TensorHandle<Float> // id: %387
strong_release %349 : $TensorHandle<Float> // id: %388
[Move] %389 = builtin "__tfop_tfc.scalarToTensor,$in"(%80 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %395, %390, %391, %393, %396, %402
strong_retain %389 : $TensorHandle<Float> // id: %390
strong_release %389 : $TensorHandle<Float> // id: %391
strong_retain %380 : $TensorHandle<Float> // id: %392
strong_retain %389 : $TensorHandle<Float> // id: %393
%394 = string_literal utf8 "/device:CPU:0" // user: %395
[Move] %395 = builtin "__tfop_Mul,$in,$in,T,__device"(%380 : $TensorHandle<Float>, %389 : $TensorHandle<Float>, %37 : $@thick Float.Type, %394 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %409, %398, %399, %401, %406, %411, %417, %400
strong_release %389 : $TensorHandle<Float> // id: %396
strong_release %380 : $TensorHandle<Float> // id: %397
strong_retain %395 : $TensorHandle<Float> // id: %398
strong_retain %395 : $TensorHandle<Float> // id: %399
strong_release %395 : $TensorHandle<Float> // id: %400
strong_release %395 : $TensorHandle<Float> // id: %401
strong_release %389 : $TensorHandle<Float> // id: %402
[Move] %403 = builtin "__tfop_tfc.scalarToTensor,$in"(%78 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %409, %404, %405, %407, %410, %416
strong_retain %403 : $TensorHandle<Float> // id: %404
strong_release %403 : $TensorHandle<Float> // id: %405
strong_retain %395 : $TensorHandle<Float> // id: %406
strong_retain %403 : $TensorHandle<Float> // id: %407
%408 = string_literal utf8 "/device:CPU:0" // user: %409
[Move] %409 = builtin "__tfop_Add,$in,$in,T,__device"(%395 : $TensorHandle<Float>, %403 : $TensorHandle<Float>, %37 : $@thick Float.Type, %408 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %412, %413, %415, %421, %423, %636, %414
strong_release %403 : $TensorHandle<Float> // id: %410
strong_release %395 : $TensorHandle<Float> // id: %411
strong_retain %409 : $TensorHandle<Float> // id: %412
strong_retain %409 : $TensorHandle<Float> // id: %413
strong_release %409 : $TensorHandle<Float> // id: %414
strong_release %409 : $TensorHandle<Float> // id: %415
strong_release %403 : $TensorHandle<Float> // id: %416
strong_release %395 : $TensorHandle<Float> // id: %417
strong_release %380 : $TensorHandle<Float> // id: %418
strong_release %314 : $TensorHandle<Float> // id: %419
strong_release %275 : $TensorHandle<Float> // id: %420
strong_retain %409 : $TensorHandle<Float> // id: %421
strong_release %47 : $_ContiguousArrayStorageBase // id: %422
strong_release %409 : $TensorHandle<Float> // id: %423
strong_retain %59 : $_ContiguousArrayStorage<Int32> // id: %424
strong_retain %60 : $_ContiguousArrayStorageBase // id: %425
strong_retain %60 : $_ContiguousArrayStorageBase // id: %426
strong_retain %64 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %427
strong_release %64 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %428
strong_release %64 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %429
strong_retain %66 : $TensorHandle<Int32> // id: %430
strong_release %66 : $TensorHandle<Int32> // id: %431
strong_retain %67 : $TensorHandle<Int32> // id: %432
strong_release %67 : $TensorHandle<Int32> // id: %433
strong_release %66 : $TensorHandle<Int32> // id: %434
strong_retain %67 : $TensorHandle<Int32> // id: %435
strong_release %60 : $_ContiguousArrayStorageBase // id: %436
%437 = string_literal utf8 "/device:CPU:0" // user: %438
[Move] %438 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%67 : $TensorHandle<Int32>, %36 : $@thick Int32.Type, %37 : $@thick Float.Type, %437 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %451, %440, %441, %444, %448, %453, %459, %442
strong_release %67 : $TensorHandle<Int32> // id: %439
strong_retain %438 : $TensorHandle<Float> // id: %440
strong_retain %438 : $TensorHandle<Float> // id: %441
strong_release %438 : $TensorHandle<Float> // id: %442
strong_release %67 : $TensorHandle<Int32> // id: %443
strong_release %438 : $TensorHandle<Float> // id: %444
[Move] %445 = builtin "__tfop_tfc.scalarToTensor,$in"(%89 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %451, %446, %447, %449, %452, %458
strong_retain %445 : $TensorHandle<Float> // id: %446
strong_release %445 : $TensorHandle<Float> // id: %447
strong_retain %438 : $TensorHandle<Float> // id: %448
strong_retain %445 : $TensorHandle<Float> // id: %449
%450 = string_literal utf8 "/device:CPU:0" // user: %451
[Move] %451 = builtin "__tfop_Div,$in,$in,T,__device"(%438 : $TensorHandle<Float>, %445 : $TensorHandle<Float>, %37 : $@thick Float.Type, %450 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %570, %454, %455, %457, %460, %462, %553, %557, %456, %571, %568, %566, %577, %632
strong_release %445 : $TensorHandle<Float> // id: %452
strong_release %438 : $TensorHandle<Float> // id: %453
strong_retain %451 : $TensorHandle<Float> // id: %454
strong_retain %451 : $TensorHandle<Float> // id: %455
strong_release %451 : $TensorHandle<Float> // id: %456
strong_release %451 : $TensorHandle<Float> // id: %457
strong_release %445 : $TensorHandle<Float> // id: %458
strong_release %438 : $TensorHandle<Float> // id: %459
strong_retain %451 : $TensorHandle<Float> // id: %460
strong_release %60 : $_ContiguousArrayStorageBase // id: %461
strong_release %451 : $TensorHandle<Float> // id: %462
strong_retain %68 : $_ContiguousArrayStorage<Int32> // id: %463
strong_retain %69 : $_ContiguousArrayStorageBase // id: %464
strong_retain %69 : $_ContiguousArrayStorageBase // id: %465
strong_retain %73 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %466
strong_release %73 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %467
strong_release %73 : $@callee_guaranteed () -> @owned TensorHandle<Int32> // id: %468
strong_retain %75 : $TensorHandle<Int32> // id: %469
strong_release %75 : $TensorHandle<Int32> // id: %470
strong_retain %76 : $TensorHandle<Int32> // id: %471
strong_release %76 : $TensorHandle<Int32> // id: %472
strong_release %75 : $TensorHandle<Int32> // id: %473
strong_retain %76 : $TensorHandle<Int32> // id: %474
strong_release %69 : $_ContiguousArrayStorageBase // id: %475
%476 = string_literal utf8 "/device:CPU:0" // user: %477
[Move] %477 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%76 : $TensorHandle<Int32>, %36 : $@thick Int32.Type, %37 : $@thick Float.Type, %476 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %490, %479, %480, %483, %487, %492, %498, %481
strong_release %76 : $TensorHandle<Int32> // id: %478
strong_retain %477 : $TensorHandle<Float> // id: %479
strong_retain %477 : $TensorHandle<Float> // id: %480
strong_release %477 : $TensorHandle<Float> // id: %481
strong_release %76 : $TensorHandle<Int32> // id: %482
strong_release %477 : $TensorHandle<Float> // id: %483
[Move] %484 = builtin "__tfop_tfc.scalarToTensor,$in"(%89 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %490, %485, %486, %488, %491, %497
strong_retain %484 : $TensorHandle<Float> // id: %485
strong_release %484 : $TensorHandle<Float> // id: %486
strong_retain %477 : $TensorHandle<Float> // id: %487
strong_retain %484 : $TensorHandle<Float> // id: %488
%489 = string_literal utf8 "/device:CPU:0" // user: %490
[Move] %490 = builtin "__tfop_Div,$in,$in,T,__device"(%477 : $TensorHandle<Float>, %484 : $TensorHandle<Float>, %37 : $@thick Float.Type, %489 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %493, %494, %496, %499, %501, %554, %495, %558, %633
strong_release %484 : $TensorHandle<Float> // id: %491
strong_release %477 : $TensorHandle<Float> // id: %492
strong_retain %490 : $TensorHandle<Float> // id: %493
strong_retain %490 : $TensorHandle<Float> // id: %494
strong_release %490 : $TensorHandle<Float> // id: %495
strong_release %490 : $TensorHandle<Float> // id: %496
strong_release %484 : $TensorHandle<Float> // id: %497
strong_release %477 : $TensorHandle<Float> // id: %498
strong_retain %490 : $TensorHandle<Float> // id: %499
strong_release %69 : $_ContiguousArrayStorageBase // id: %500
strong_release %490 : $TensorHandle<Float> // id: %501
// function_ref __tf_tensor_from_scalars_1d
%502 = function_ref @__tf_tensor_from_scalars_1d : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0>
%503 = metatype $@thin Int32.Type // users: %508, %508, %508
%504 = integer_literal $Builtin.Int32, 1 // user: %508
%505 = integer_literal $Builtin.Int32, 30 // user: %508
%506 = integer_literal $Builtin.Int64, 2 // user: %508
%507 = string_literal utf8 "/device:CPU:0" // user: %508
[Move] %508 = builtin "__tfop_Const,value$tensor,$elt,$elt,shape$shape,$elt,dtype,__device"(%503 : $@thin Int32.Type, %504 : $Builtin.Int32, %505 : $Builtin.Int32, %503 : $@thin Int32.Type, %506 : $Builtin.Int64, %503 : $@thin Int32.Type, %507 : $Builtin.RawPointer) : $TensorHandle<Int32> // users: %517, %525, %519, %514, %510, %509
strong_retain %508 : $TensorHandle<Int32> // id: %509
strong_release %508 : $TensorHandle<Int32> // id: %510
[Move] %511 = builtin "__tfop_tfc.scalarToTensor,$in"(%78 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %517, %512, %513, %515, %518, %524
strong_retain %511 : $TensorHandle<Float> // id: %512
strong_release %511 : $TensorHandle<Float> // id: %513
strong_retain %508 : $TensorHandle<Int32> // id: %514
strong_retain %511 : $TensorHandle<Float> // id: %515
%516 = string_literal utf8 "/device:CPU:0" // user: %517
[Move] %517 = builtin "__tfop_Fill,$in,$in,T,index_type,__device"(%508 : $TensorHandle<Int32>, %511 : $TensorHandle<Float>, %37 : $@thick Float.Type, %36 : $@thick Int32.Type, %516 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %582, %520, %521, %523, %526, %527, %555, %559, %522, %589, %578, %580, %583, %634
strong_release %511 : $TensorHandle<Float> // id: %518
strong_release %508 : $TensorHandle<Int32> // id: %519
strong_retain %517 : $TensorHandle<Float> // id: %520
strong_retain %517 : $TensorHandle<Float> // id: %521
strong_release %517 : $TensorHandle<Float> // id: %522
strong_release %517 : $TensorHandle<Float> // id: %523
strong_release %511 : $TensorHandle<Float> // id: %524
strong_release %508 : $TensorHandle<Int32> // id: %525
strong_retain %517 : $TensorHandle<Float> // id: %526
strong_release %517 : $TensorHandle<Float> // id: %527
%528 = metatype $@thin Int32.Type // users: %533, %533, %533
%529 = integer_literal $Builtin.Int32, 1 // user: %533
%530 = integer_literal $Builtin.Int32, 10 // user: %533
%531 = integer_literal $Builtin.Int64, 2 // user: %533
%532 = string_literal utf8 "/device:CPU:0" // user: %533
[Move] %533 = builtin "__tfop_Const,value$tensor,$elt,$elt,shape$shape,$elt,dtype,__device"(%528 : $@thin Int32.Type, %529 : $Builtin.Int32, %530 : $Builtin.Int32, %528 : $@thin Int32.Type, %531 : $Builtin.Int64, %528 : $@thin Int32.Type, %532 : $Builtin.RawPointer) : $TensorHandle<Int32> // users: %542, %550, %544, %539, %535, %534
strong_retain %533 : $TensorHandle<Int32> // id: %534
strong_release %533 : $TensorHandle<Int32> // id: %535
[Move] %536 = builtin "__tfop_tfc.scalarToTensor,$in"(%78 : $Builtin.FPIEEE32) : $TensorHandle<Float> // users: %542, %537, %538, %540, %543, %549
strong_retain %536 : $TensorHandle<Float> // id: %537
strong_release %536 : $TensorHandle<Float> // id: %538
strong_retain %533 : $TensorHandle<Int32> // id: %539
strong_retain %536 : $TensorHandle<Float> // id: %540
%541 = string_literal utf8 "/device:CPU:0" // user: %542
[Move] %542 = builtin "__tfop_Fill,$in,$in,T,index_type,__device"(%533 : $TensorHandle<Int32>, %536 : $TensorHandle<Float>, %37 : $@thick Float.Type, %36 : $@thick Int32.Type, %541 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %545, %546, %548, %551, %552, %556, %560, %547, %635
strong_release %536 : $TensorHandle<Float> // id: %543
strong_release %533 : $TensorHandle<Int32> // id: %544
strong_retain %542 : $TensorHandle<Float> // id: %545
strong_retain %542 : $TensorHandle<Float> // id: %546
strong_release %542 : $TensorHandle<Float> // id: %547
strong_release %542 : $TensorHandle<Float> // id: %548
strong_release %536 : $TensorHandle<Float> // id: %549
strong_release %533 : $TensorHandle<Int32> // id: %550
strong_retain %542 : $TensorHandle<Float> // id: %551
strong_release %542 : $TensorHandle<Float> // id: %552
strong_retain %451 : $TensorHandle<Float> // id: %553
strong_retain %490 : $TensorHandle<Float> // id: %554
strong_retain %517 : $TensorHandle<Float> // id: %555
strong_retain %542 : $TensorHandle<Float> // id: %556
strong_release %451 : $TensorHandle<Float> // id: %557
strong_release %490 : $TensorHandle<Float> // id: %558
strong_release %517 : $TensorHandle<Float> // id: %559
strong_release %542 : $TensorHandle<Float> // id: %560
[Copy] %561 = integer_literal $Builtin.Int64, 100 // user: %564
%562 = integer_literal $Builtin.Int1, 0 // users: %570, %570
%563 = integer_literal $Builtin.Int1, -1 // user: %591
[Copy] br bb1(%561 : $Builtin.Int64) // id: %564
bb1:
[Copy] %565 = argument of bb1 : $Builtin.Int64 // user: %591
strong_retain %451 : $TensorHandle<Float> // id: %566
strong_retain %232 : $TensorHandle<Float> // id: %567
strong_retain %451 : $TensorHandle<Float> // id: %568
%569 = string_literal utf8 "/device:CPU:0" // user: %570
[Move] %570 = builtin "__tfop_MatMul,$in,$in,T,transpose_a,transpose_b,__device"(%232 : $TensorHandle<Float>, %451 : $TensorHandle<Float>, %37 : $@thick Float.Type, %562 : $Builtin.Int1, %562 : $Builtin.Int1, %569 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %582, %573, %574, %576, %579, %584, %590, %575
strong_release %451 : $TensorHandle<Float> // id: %571
strong_release %232 : $TensorHandle<Float> // id: %572
strong_retain %570 : $TensorHandle<Float> // id: %573
strong_retain %570 : $TensorHandle<Float> // id: %574
strong_release %570 : $TensorHandle<Float> // id: %575
strong_release %570 : $TensorHandle<Float> // id: %576
strong_release %451 : $TensorHandle<Float> // id: %577
strong_retain %517 : $TensorHandle<Float> // id: %578
strong_retain %570 : $TensorHandle<Float> // id: %579
strong_retain %517 : $TensorHandle<Float> // id: %580
%581 = string_literal utf8 "/device:CPU:0" // user: %582
[Move] %582 = builtin "__tfop_Add,$in,$in,T,__device"(%570 : $TensorHandle<Float>, %517 : $TensorHandle<Float>, %37 : $@thick Float.Type, %581 : $Builtin.RawPointer) : $TensorHandle<Float> // users: %585, %586, %588, %595, %587
strong_release %517 : $TensorHandle<Float> // id: %583
strong_release %570 : $TensorHandle<Float> // id: %584
strong_retain %582 : $TensorHandle<Float> // id: %585
strong_retain %582 : $TensorHandle<Float> // id: %586
strong_release %582 : $TensorHandle<Float> // id: %587
strong_release %582 : $TensorHandle<Float> // id: %588
strong_release %517 : $TensorHandle<Float> // id: %589
strong_release %570 : $TensorHandle<Float> // id: %590
[Copy] %591 = builtin "ssub_with_overflow_Int64"(%565 : $Builtin.Int64, %79 : $Builtin.Int64, %563 : $Builtin.Int1) : $(Builtin.Int64, Builtin.Int1) // users: %593, %592
[Copy] %592 = tuple_extract %591 : $(Builtin.Int64, Builtin.Int1), 0 // users: %596, %598
%593 = tuple_extract %591 : $(Builtin.Int64, Builtin.Int1), 1 // user: %594
cond_fail %593 : $Builtin.Int1 // id: %594
strong_release %582 : $TensorHandle<Float> // id: %595
[Copy] %596 = builtin "cmp_slt_Int64"(%77 : $Builtin.Int64, %592 : $Builtin.Int64) : $Builtin.Int1 // user: %597
[Copy] cond_br %596, bb2, bb3 // id: %597
bb2:
[Copy] br bb1(%592 : $Builtin.Int64) // id: %598
bb3:
%599 = float_literal $Builtin.FPIEEE32, 0x3F800000 // 1 // user: %600
%600 = struct $Float (%599 : $Builtin.FPIEEE32) // users: %616, %601
debug_value %600 : $Float, let, name "loss" // id: %601
%602 = struct $Int (%79 : $Builtin.Int64) // user: %606
%603 = alloc_ref [tail_elems $Any * %8 : $Builtin.Word] $_ContiguousArrayStorage<Any> // user: %604
%604 = upcast %603 : $_ContiguousArrayStorage<Any> to $_ContiguousArrayStorageBase // users: %613, %614, %631, %612, %610, %608
%605 = struct $UInt (%0 : $Builtin.Int64) // user: %606
%606 = struct $_SwiftArrayBodyStorage (%602 : $Int, %605 : $UInt) // user: %607
%607 = struct $_ArrayBody (%606 : $_SwiftArrayBodyStorage) // user: %609
%608 = ref_element_addr %604 : $_ContiguousArrayStorageBase, #_ContiguousArrayStorageBase.countAndCapacity // user: %609
store %607 to %608 : $*_ArrayBody // id: %609
%610 = struct $_ContiguousArrayBuffer<Any> (%604 : $_ContiguousArrayStorageBase) // user: %611
%611 = struct $Array<Any> (%610 : $_ContiguousArrayBuffer<Any>) // user: %622
%612 = ref_tail_addr %604 : $_ContiguousArrayStorageBase, $Any // user: %615
strong_retain %604 : $_ContiguousArrayStorageBase // id: %613
strong_release %604 : $_ContiguousArrayStorageBase // id: %614
%615 = init_existential_addr %612 : $*Any, $Float // user: %616
store %600 to %615 : $*Float // id: %616
// function_ref default argument 1 of print(_:separator:terminator:)
%617 = function_ref @$Ss5print_9separator10terminatoryypd_S2StFfA0_ : $@convention(thin) () -> @owned String // user: %618
%618 = apply %617() : $@convention(thin) () -> @owned String // users: %627, %622
// function_ref default argument 2 of print(_:separator:terminator:)
%619 = function_ref @$Ss5print_9separator10terminatoryypd_S2StFfA1_ : $@convention(thin) () -> @owned String // user: %620
%620 = apply %619() : $@convention(thin) () -> @owned String // users: %623, %622
// function_ref print(_:separator:terminator:)
%621 = function_ref @$Ss5print_9separator10terminatoryypd_S2StF : $@convention(thin) (@guaranteed Array<Any>, @guaranteed String, @guaranteed String) -> () // user: %622
%622 = apply %621(%611, %618, %620) : $@convention(thin) (@guaranteed Array<Any>, @guaranteed String, @guaranteed String) -> ()
%623 = struct_extract %620 : $String, #String._guts // user: %624
%624 = struct_extract %623 : $_StringGuts, #_StringGuts._object // user: %625
%625 = struct_extract %624 : $_StringObject, #_StringObject._object // user: %626
strong_release %625 : $Builtin.BridgeObject // id: %626
%627 = struct_extract %618 : $String, #String._guts // user: %628
%628 = struct_extract %627 : $_StringGuts, #_StringGuts._object // user: %629
%629 = struct_extract %628 : $_StringObject, #_StringObject._object // user: %630
strong_release %629 : $Builtin.BridgeObject // id: %630
strong_release %604 : $_ContiguousArrayStorageBase // id: %631
strong_release %451 : $TensorHandle<Float> // id: %632
strong_release %490 : $TensorHandle<Float> // id: %633
strong_release %517 : $TensorHandle<Float> // id: %634
strong_release %542 : $TensorHandle<Float> // id: %635
strong_release %409 : $TensorHandle<Float> // id: %636
strong_release %232 : $TensorHandle<Float> // id: %637
%638 = tuple () // user: %639
return %638 : $() // id: %639
---- END OF ANALYSIS STATE FOR FUNCTION ----------
---- PARTITION STATE FOR FUNCTION $S7no_copy5mnistyyF ----------
(Possibly updated) tensor end point: %599 = float_literal $Builtin.FPIEEE32, 0x3F800000 // 1 // user: %600
There are 0 result values:
---- END OF PARTITION STATE FOR FUNCTION ----------
--- TFPartition Accelerator Result: $S7no_copy5mnistyyF.tf
// mnist()
sil private @$S7no_copy5mnistyyF.tf : $@callee_owned (TensorHandle<Int32>, TensorHandle<Int32>, TensorHandle<Builtin.FPIEEE32>, TensorHandle<Int32>, TensorHandle<Int32>, TensorHandle<Int32>, TensorHandle<Int32>) -> () {
// %0 // user: %14
// %1 // user: %24
// %2 // users: %85, %41
// %3 // user: %62
// %4 // user: %70
// %5 // user: %106
// %6 // user: %114
bb0(%0 : $TensorHandle<Int32>, %1 : $TensorHandle<Int32>, %2 : $TensorHandle<Builtin.FPIEEE32>, %3 : $TensorHandle<Int32>, %4 : $TensorHandle<Int32>, %5 : $TensorHandle<Int32>, %6 : $TensorHandle<Int32>):
%7 = graph_op "Const"() {dtype$dtype: $Builtin.Int64, value$tensor: i64 0, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int64> // users: %157, %8
%8 = graph_op "Cast,i"(%7 : $TensorHandle<Builtin.Int64>) {DstT$dtype: $Builtin.FPIEEE32, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.FPIEEE32> // users: %140, %127, %99, %55
%9 = graph_op "Const"() {dtype$dtype: $Builtin.Int64, value$tensor: i64 1, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int64> // users: %156, %10
%10 = graph_op "Cast,i"(%9 : $TensorHandle<Builtin.Int64>) {DstT$dtype: $Builtin.FPIEEE32, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.FPIEEE32> // users: %95, %51
%11 = metatype $@thick Int32.Type // user: %14
%12 = metatype $@thick Float.Type // user: %14
%13 = string_literal utf8 "/device:CPU:0" // user: %14
%14 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%0 : $TensorHandle<Int32>, %11 : $@thick Int32.Type, %12 : $@thick Float.Type, %13 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %20
%15 = graph_op "Const"() {dtype$dtype: $Builtin.Int32, value$tensor: i32 2147483647, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int32> // user: %16
%16 = graph_op "Cast,i"(%15 : $TensorHandle<Builtin.Int32>) {DstT$dtype: $Builtin.FPIEEE32, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.FPIEEE32> // users: %115, %107, %71, %63, %25, %17
%17 = unchecked_ref_cast %16 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %20
%18 = metatype $@thick Float.Type // user: %20
%19 = string_literal utf8 "/device:CPU:0" // user: %20
%20 = builtin "__tfop_Div,$in,$in,T,__device"(%14 : $TensorHandle<Float>, %17 : $TensorHandle<Float>, %18 : $@thick Float.Type, %19 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %33
%21 = metatype $@thick Int32.Type // user: %24
%22 = metatype $@thick Float.Type // user: %24
%23 = string_literal utf8 "/device:CPU:0" // user: %24
%24 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%1 : $TensorHandle<Int32>, %21 : $@thick Int32.Type, %22 : $@thick Float.Type, %23 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %28
%25 = unchecked_ref_cast %16 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %28
%26 = metatype $@thick Float.Type // user: %28
%27 = string_literal utf8 "/device:CPU:0" // user: %28
%28 = builtin "__tfop_Div,$in,$in,T,__device"(%24 : $TensorHandle<Float>, %25 : $TensorHandle<Float>, %26 : $@thick Float.Type, %27 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %44
%29 = graph_op "Const"() {dtype$dtype: $Builtin.Int64, value$tensor: i64 -2, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int64> // user: %30
%30 = graph_op "Cast,i"(%29 : $TensorHandle<Builtin.Int64>) {DstT$dtype: $Builtin.FPIEEE32, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.FPIEEE32> // users: %78, %34
%31 = metatype $@thick Float.Type // user: %33
%32 = string_literal utf8 "/device:CPU:0" // user: %33
%33 = builtin "__tfop_Log,$in,T,__device"(%20 : $TensorHandle<Float>, %31 : $@thick Float.Type, %32 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %37
%34 = unchecked_ref_cast %30 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %37
%35 = metatype $@thick Float.Type // user: %37
%36 = string_literal utf8 "/device:CPU:0" // user: %37
%37 = builtin "__tfop_Mul,$in,$in,T,__device"(%34 : $TensorHandle<Float>, %33 : $TensorHandle<Float>, %35 : $@thick Float.Type, %36 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %40
%38 = metatype $@thick Float.Type // user: %40
%39 = string_literal utf8 "/device:CPU:0" // user: %40
%40 = builtin "__tfop_Sqrt,$in,T,__device"(%37 : $TensorHandle<Float>, %38 : $@thick Float.Type, %39 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %50
%41 = unchecked_ref_cast %2 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %44
%42 = metatype $@thick Float.Type // user: %44
%43 = string_literal utf8 "/device:CPU:0" // user: %44
%44 = builtin "__tfop_Mul,$in,$in,T,__device"(%41 : $TensorHandle<Float>, %28 : $TensorHandle<Float>, %42 : $@thick Float.Type, %43 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %47
%45 = metatype $@thick Float.Type // user: %47
%46 = string_literal utf8 "/device:CPU:0" // user: %47
%47 = builtin "__tfop_Cos,$in,T,__device"(%44 : $TensorHandle<Float>, %45 : $@thick Float.Type, %46 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %50
%48 = metatype $@thick Float.Type // user: %50
%49 = string_literal utf8 "/device:CPU:0" // user: %50
%50 = builtin "__tfop_Mul,$in,$in,T,__device"(%40 : $TensorHandle<Float>, %47 : $TensorHandle<Float>, %48 : $@thick Float.Type, %49 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %54
%51 = unchecked_ref_cast %10 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %54
%52 = metatype $@thick Float.Type // user: %54
%53 = string_literal utf8 "/device:CPU:0" // user: %54
%54 = builtin "__tfop_Mul,$in,$in,T,__device"(%50 : $TensorHandle<Float>, %51 : $TensorHandle<Float>, %52 : $@thick Float.Type, %53 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %58
%55 = unchecked_ref_cast %8 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %58
%56 = metatype $@thick Float.Type // user: %58
%57 = string_literal utf8 "/device:CPU:0" // user: %58
%58 = builtin "__tfop_Add,$in,$in,T,__device"(%54 : $TensorHandle<Float>, %55 : $TensorHandle<Float>, %56 : $@thick Float.Type, %57 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %152
%59 = metatype $@thick Int32.Type // user: %62
%60 = metatype $@thick Float.Type // user: %62
%61 = string_literal utf8 "/device:CPU:0" // user: %62
%62 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%3 : $TensorHandle<Int32>, %59 : $@thick Int32.Type, %60 : $@thick Float.Type, %61 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %66
%63 = unchecked_ref_cast %16 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %66
%64 = metatype $@thick Float.Type // user: %66
%65 = string_literal utf8 "/device:CPU:0" // user: %66
%66 = builtin "__tfop_Div,$in,$in,T,__device"(%62 : $TensorHandle<Float>, %63 : $TensorHandle<Float>, %64 : $@thick Float.Type, %65 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %77
%67 = metatype $@thick Int32.Type // user: %70
%68 = metatype $@thick Float.Type // user: %70
%69 = string_literal utf8 "/device:CPU:0" // user: %70
%70 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%4 : $TensorHandle<Int32>, %67 : $@thick Int32.Type, %68 : $@thick Float.Type, %69 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %74
%71 = unchecked_ref_cast %16 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %74
%72 = metatype $@thick Float.Type // user: %74
%73 = string_literal utf8 "/device:CPU:0" // user: %74
%74 = builtin "__tfop_Div,$in,$in,T,__device"(%70 : $TensorHandle<Float>, %71 : $TensorHandle<Float>, %72 : $@thick Float.Type, %73 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %88
%75 = metatype $@thick Float.Type // user: %77
%76 = string_literal utf8 "/device:CPU:0" // user: %77
%77 = builtin "__tfop_Log,$in,T,__device"(%66 : $TensorHandle<Float>, %75 : $@thick Float.Type, %76 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %81
%78 = unchecked_ref_cast %30 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %81
%79 = metatype $@thick Float.Type // user: %81
%80 = string_literal utf8 "/device:CPU:0" // user: %81
%81 = builtin "__tfop_Mul,$in,$in,T,__device"(%78 : $TensorHandle<Float>, %77 : $TensorHandle<Float>, %79 : $@thick Float.Type, %80 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %84
%82 = metatype $@thick Float.Type // user: %84
%83 = string_literal utf8 "/device:CPU:0" // user: %84
%84 = builtin "__tfop_Sqrt,$in,T,__device"(%81 : $TensorHandle<Float>, %82 : $@thick Float.Type, %83 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %94
%85 = unchecked_ref_cast %2 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %88
%86 = metatype $@thick Float.Type // user: %88
%87 = string_literal utf8 "/device:CPU:0" // user: %88
%88 = builtin "__tfop_Mul,$in,$in,T,__device"(%85 : $TensorHandle<Float>, %74 : $TensorHandle<Float>, %86 : $@thick Float.Type, %87 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %91
%89 = metatype $@thick Float.Type // user: %91
%90 = string_literal utf8 "/device:CPU:0" // user: %91
%91 = builtin "__tfop_Cos,$in,T,__device"(%88 : $TensorHandle<Float>, %89 : $@thick Float.Type, %90 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %94
%92 = metatype $@thick Float.Type // user: %94
%93 = string_literal utf8 "/device:CPU:0" // user: %94
%94 = builtin "__tfop_Mul,$in,$in,T,__device"(%84 : $TensorHandle<Float>, %91 : $TensorHandle<Float>, %92 : $@thick Float.Type, %93 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %98
%95 = unchecked_ref_cast %10 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %98
%96 = metatype $@thick Float.Type // user: %98
%97 = string_literal utf8 "/device:CPU:0" // user: %98
%98 = builtin "__tfop_Mul,$in,$in,T,__device"(%94 : $TensorHandle<Float>, %95 : $TensorHandle<Float>, %96 : $@thick Float.Type, %97 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %102
%99 = unchecked_ref_cast %8 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %102
%100 = metatype $@thick Float.Type // user: %102
%101 = string_literal utf8 "/device:CPU:0" // user: %102
%102 = builtin "__tfop_Add,$in,$in,T,__device"(%98 : $TensorHandle<Float>, %99 : $TensorHandle<Float>, %100 : $@thick Float.Type, %101 : $Builtin.RawPointer) : $TensorHandle<Float>
%103 = metatype $@thick Int32.Type // user: %106
%104 = metatype $@thick Float.Type // user: %106
%105 = string_literal utf8 "/device:CPU:0" // user: %106
%106 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%5 : $TensorHandle<Int32>, %103 : $@thick Int32.Type, %104 : $@thick Float.Type, %105 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %110
%107 = unchecked_ref_cast %16 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %110
%108 = metatype $@thick Float.Type // user: %110
%109 = string_literal utf8 "/device:CPU:0" // user: %110
%110 = builtin "__tfop_Div,$in,$in,T,__device"(%106 : $TensorHandle<Float>, %107 : $TensorHandle<Float>, %108 : $@thick Float.Type, %109 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %152
%111 = metatype $@thick Int32.Type // user: %114
%112 = metatype $@thick Float.Type // user: %114
%113 = string_literal utf8 "/device:CPU:0" // user: %114
%114 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%6 : $TensorHandle<Int32>, %111 : $@thick Int32.Type, %112 : $@thick Float.Type, %113 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %118
%115 = unchecked_ref_cast %16 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %118
%116 = metatype $@thick Float.Type // user: %118
%117 = string_literal utf8 "/device:CPU:0" // user: %118
%118 = builtin "__tfop_Div,$in,$in,T,__device"(%114 : $TensorHandle<Float>, %115 : $TensorHandle<Float>, %116 : $@thick Float.Type, %117 : $Builtin.RawPointer) : $TensorHandle<Float>
%119 = metatype $@thin Int32.Type // user: %126
%120 = integer_literal $Builtin.Int32, 1 // user: %126
%121 = integer_literal $Builtin.Int32, 30 // user: %126
%122 = metatype $@thin Int32.Type // user: %126
%123 = integer_literal $Builtin.Int64, 2 // user: %126
%124 = metatype $@thin Int32.Type // user: %126
%125 = string_literal utf8 "/device:CPU:0" // user: %126
%126 = builtin "__tfop_Const,value$tensor,$elt,$elt,shape$shape,$elt,dtype,__device"(%119 : $@thin Int32.Type, %120 : $Builtin.Int32, %121 : $Builtin.Int32, %122 : $@thin Int32.Type, %123 : $Builtin.Int64, %124 : $@thin Int32.Type, %125 : $Builtin.RawPointer) : $TensorHandle<Int32> // user: %131
%127 = unchecked_ref_cast %8 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %131
%128 = metatype $@thick Float.Type // user: %131
%129 = metatype $@thick Int32.Type // user: %131
%130 = string_literal utf8 "/device:CPU:0" // user: %131
%131 = builtin "__tfop_Fill,$in,$in,T,index_type,__device"(%126 : $TensorHandle<Int32>, %127 : $TensorHandle<Float>, %128 : $@thick Float.Type, %129 : $@thick Int32.Type, %130 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %155
%132 = metatype $@thin Int32.Type // user: %139
%133 = integer_literal $Builtin.Int32, 1 // user: %139
%134 = integer_literal $Builtin.Int32, 10 // user: %139
%135 = metatype $@thin Int32.Type // user: %139
%136 = integer_literal $Builtin.Int64, 2 // user: %139
%137 = metatype $@thin Int32.Type // user: %139
%138 = string_literal utf8 "/device:CPU:0" // user: %139
%139 = builtin "__tfop_Const,value$tensor,$elt,$elt,shape$shape,$elt,dtype,__device"(%132 : $@thin Int32.Type, %133 : $Builtin.Int32, %134 : $Builtin.Int32, %135 : $@thin Int32.Type, %136 : $Builtin.Int64, %137 : $@thin Int32.Type, %138 : $Builtin.RawPointer) : $TensorHandle<Int32> // user: %144
%140 = unchecked_ref_cast %8 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %144
%141 = metatype $@thick Float.Type // user: %144
%142 = metatype $@thick Int32.Type // user: %144
%143 = string_literal utf8 "/device:CPU:0" // user: %144
%144 = builtin "__tfop_Fill,$in,$in,T,index_type,__device"(%139 : $TensorHandle<Int32>, %140 : $TensorHandle<Float>, %141 : $@thick Float.Type, %142 : $@thick Int32.Type, %143 : $Builtin.RawPointer) : $TensorHandle<Float>
%145 = graph_op "Const"() {dtype$dtype: $Builtin.Int64, value$tensor: i64 100, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int64> // user: %146
br bb1(%145 : $TensorHandle<Builtin.Int64>) // id: %146
// %147 // user: %156
bb1(%147 : $TensorHandle<Builtin.Int64>): // Preds: bb2 bb0
%148 = metatype $@thick Float.Type // user: %152
%149 = integer_literal $Builtin.Int1, 0 // user: %152
%150 = integer_literal $Builtin.Int1, 0 // user: %152
%151 = string_literal utf8 "/device:CPU:0" // user: %152
%152 = builtin "__tfop_MatMul,$in,$in,T,transpose_a,transpose_b,__device"(%58 : $TensorHandle<Float>, %110 : $TensorHandle<Float>, %148 : $@thick Float.Type, %149 : $Builtin.Int1, %150 : $Builtin.Int1, %151 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %155
%153 = metatype $@thick Float.Type // user: %155
%154 = string_literal utf8 "/device:CPU:0" // user: %155
%155 = builtin "__tfop_Add,$in,$in,T,__device"(%152 : $TensorHandle<Float>, %131 : $TensorHandle<Float>, %153 : $@thick Float.Type, %154 : $Builtin.RawPointer) : $TensorHandle<Float>
%156 = graph_op "Sub,i,i"(%147 : $TensorHandle<Builtin.Int64>, %9 : $TensorHandle<Builtin.Int64>) {__device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int64> // users: %160, %157
%157 = graph_op "Less,i,i"(%7 : $TensorHandle<Builtin.Int64>, %156 : $TensorHandle<Builtin.Int64>) {__device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int1> // user: %158
%158 = builtin "tf_tensor_to_i1"(%157 : $TensorHandle<Builtin.Int1>) : $Builtin.Int1 // user: %159
cond_br %158, bb2, bb3 // id: %159
bb2: // Preds: bb1
br bb1(%156 : $TensorHandle<Builtin.Int64>) // id: %160
bb3: // Preds: bb1
%161 = tuple () // user: %162
return %161 : $() // id: %162
} // end sil function '$S7no_copy5mnistyyF.tf'
----
--- XLA CFG Canonicalize: $S7no_copy5mnistyyF.tf
[sequence
<while Preheader: bb0, Header: bb1, exit: bb3
block bb2>
block bb3]
--- XLA CFG Canonicalize end
----
--- TFDevicePartition Cross Device Tensor Transfer Annotation Result: $S7no_copy5mnistyyF.tf
// mnist()
sil private @$S7no_copy5mnistyyF.tf : $@callee_owned (TensorHandle<Int32>, TensorHandle<Int32>, TensorHandle<Builtin.FPIEEE32>, TensorHandle<Int32>, TensorHandle<Int32>, TensorHandle<Int32>, TensorHandle<Int32>) -> () {
// %0 // user: %14
// %1 // user: %24
// %2 // users: %85, %41
// %3 // user: %62
// %4 // user: %70
// %5 // user: %106
// %6 // user: %114
bb0(%0 : $TensorHandle<Int32>, %1 : $TensorHandle<Int32>, %2 : $TensorHandle<Builtin.FPIEEE32>, %3 : $TensorHandle<Int32>, %4 : $TensorHandle<Int32>, %5 : $TensorHandle<Int32>, %6 : $TensorHandle<Int32>):
%7 = graph_op "Const"() {dtype$dtype: $Builtin.Int64, value$tensor: i64 0, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int64> // users: %157, %8
%8 = graph_op "Cast,i"(%7 : $TensorHandle<Builtin.Int64>) {DstT$dtype: $Builtin.FPIEEE32, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.FPIEEE32> // users: %140, %127, %99, %55
%9 = graph_op "Const"() {dtype$dtype: $Builtin.Int64, value$tensor: i64 1, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int64> // users: %156, %10
%10 = graph_op "Cast,i"(%9 : $TensorHandle<Builtin.Int64>) {DstT$dtype: $Builtin.FPIEEE32, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.FPIEEE32> // users: %95, %51
%11 = metatype $@thick Int32.Type // user: %14
%12 = metatype $@thick Float.Type // user: %14
%13 = string_literal utf8 "/device:CPU:0" // user: %14
%14 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%0 : $TensorHandle<Int32>, %11 : $@thick Int32.Type, %12 : $@thick Float.Type, %13 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %20
%15 = graph_op "Const"() {dtype$dtype: $Builtin.Int32, value$tensor: i32 2147483647, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int32> // user: %16
%16 = graph_op "Cast,i"(%15 : $TensorHandle<Builtin.Int32>) {DstT$dtype: $Builtin.FPIEEE32, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.FPIEEE32> // users: %115, %107, %71, %63, %25, %17
%17 = unchecked_ref_cast %16 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %20
%18 = metatype $@thick Float.Type // user: %20
%19 = string_literal utf8 "/device:CPU:0" // user: %20
%20 = builtin "__tfop_Div,$in,$in,T,__device"(%14 : $TensorHandle<Float>, %17 : $TensorHandle<Float>, %18 : $@thick Float.Type, %19 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %33
%21 = metatype $@thick Int32.Type // user: %24
%22 = metatype $@thick Float.Type // user: %24
%23 = string_literal utf8 "/device:CPU:0" // user: %24
%24 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%1 : $TensorHandle<Int32>, %21 : $@thick Int32.Type, %22 : $@thick Float.Type, %23 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %28
%25 = unchecked_ref_cast %16 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %28
%26 = metatype $@thick Float.Type // user: %28
%27 = string_literal utf8 "/device:CPU:0" // user: %28
%28 = builtin "__tfop_Div,$in,$in,T,__device"(%24 : $TensorHandle<Float>, %25 : $TensorHandle<Float>, %26 : $@thick Float.Type, %27 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %44
%29 = graph_op "Const"() {dtype$dtype: $Builtin.Int64, value$tensor: i64 -2, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int64> // user: %30
%30 = graph_op "Cast,i"(%29 : $TensorHandle<Builtin.Int64>) {DstT$dtype: $Builtin.FPIEEE32, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.FPIEEE32> // users: %78, %34
%31 = metatype $@thick Float.Type // user: %33
%32 = string_literal utf8 "/device:CPU:0" // user: %33
%33 = builtin "__tfop_Log,$in,T,__device"(%20 : $TensorHandle<Float>, %31 : $@thick Float.Type, %32 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %37
%34 = unchecked_ref_cast %30 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %37
%35 = metatype $@thick Float.Type // user: %37
%36 = string_literal utf8 "/device:CPU:0" // user: %37
%37 = builtin "__tfop_Mul,$in,$in,T,__device"(%34 : $TensorHandle<Float>, %33 : $TensorHandle<Float>, %35 : $@thick Float.Type, %36 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %40
%38 = metatype $@thick Float.Type // user: %40
%39 = string_literal utf8 "/device:CPU:0" // user: %40
%40 = builtin "__tfop_Sqrt,$in,T,__device"(%37 : $TensorHandle<Float>, %38 : $@thick Float.Type, %39 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %50
%41 = unchecked_ref_cast %2 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %44
%42 = metatype $@thick Float.Type // user: %44
%43 = string_literal utf8 "/device:CPU:0" // user: %44
%44 = builtin "__tfop_Mul,$in,$in,T,__device"(%41 : $TensorHandle<Float>, %28 : $TensorHandle<Float>, %42 : $@thick Float.Type, %43 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %47
%45 = metatype $@thick Float.Type // user: %47
%46 = string_literal utf8 "/device:CPU:0" // user: %47
%47 = builtin "__tfop_Cos,$in,T,__device"(%44 : $TensorHandle<Float>, %45 : $@thick Float.Type, %46 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %50
%48 = metatype $@thick Float.Type // user: %50
%49 = string_literal utf8 "/device:CPU:0" // user: %50
%50 = builtin "__tfop_Mul,$in,$in,T,__device"(%40 : $TensorHandle<Float>, %47 : $TensorHandle<Float>, %48 : $@thick Float.Type, %49 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %54
%51 = unchecked_ref_cast %10 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %54
%52 = metatype $@thick Float.Type // user: %54
%53 = string_literal utf8 "/device:CPU:0" // user: %54
%54 = builtin "__tfop_Mul,$in,$in,T,__device"(%50 : $TensorHandle<Float>, %51 : $TensorHandle<Float>, %52 : $@thick Float.Type, %53 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %58
%55 = unchecked_ref_cast %8 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %58
%56 = metatype $@thick Float.Type // user: %58
%57 = string_literal utf8 "/device:CPU:0" // user: %58
%58 = builtin "__tfop_Add,$in,$in,T,__device"(%54 : $TensorHandle<Float>, %55 : $TensorHandle<Float>, %56 : $@thick Float.Type, %57 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %152
%59 = metatype $@thick Int32.Type // user: %62
%60 = metatype $@thick Float.Type // user: %62
%61 = string_literal utf8 "/device:CPU:0" // user: %62
%62 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%3 : $TensorHandle<Int32>, %59 : $@thick Int32.Type, %60 : $@thick Float.Type, %61 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %66
%63 = unchecked_ref_cast %16 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %66
%64 = metatype $@thick Float.Type // user: %66
%65 = string_literal utf8 "/device:CPU:0" // user: %66
%66 = builtin "__tfop_Div,$in,$in,T,__device"(%62 : $TensorHandle<Float>, %63 : $TensorHandle<Float>, %64 : $@thick Float.Type, %65 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %77
%67 = metatype $@thick Int32.Type // user: %70
%68 = metatype $@thick Float.Type // user: %70
%69 = string_literal utf8 "/device:CPU:0" // user: %70
%70 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%4 : $TensorHandle<Int32>, %67 : $@thick Int32.Type, %68 : $@thick Float.Type, %69 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %74
%71 = unchecked_ref_cast %16 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %74
%72 = metatype $@thick Float.Type // user: %74
%73 = string_literal utf8 "/device:CPU:0" // user: %74
%74 = builtin "__tfop_Div,$in,$in,T,__device"(%70 : $TensorHandle<Float>, %71 : $TensorHandle<Float>, %72 : $@thick Float.Type, %73 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %88
%75 = metatype $@thick Float.Type // user: %77
%76 = string_literal utf8 "/device:CPU:0" // user: %77
%77 = builtin "__tfop_Log,$in,T,__device"(%66 : $TensorHandle<Float>, %75 : $@thick Float.Type, %76 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %81
%78 = unchecked_ref_cast %30 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %81
%79 = metatype $@thick Float.Type // user: %81
%80 = string_literal utf8 "/device:CPU:0" // user: %81
%81 = builtin "__tfop_Mul,$in,$in,T,__device"(%78 : $TensorHandle<Float>, %77 : $TensorHandle<Float>, %79 : $@thick Float.Type, %80 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %84
%82 = metatype $@thick Float.Type // user: %84
%83 = string_literal utf8 "/device:CPU:0" // user: %84
%84 = builtin "__tfop_Sqrt,$in,T,__device"(%81 : $TensorHandle<Float>, %82 : $@thick Float.Type, %83 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %94
%85 = unchecked_ref_cast %2 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %88
%86 = metatype $@thick Float.Type // user: %88
%87 = string_literal utf8 "/device:CPU:0" // user: %88
%88 = builtin "__tfop_Mul,$in,$in,T,__device"(%85 : $TensorHandle<Float>, %74 : $TensorHandle<Float>, %86 : $@thick Float.Type, %87 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %91
%89 = metatype $@thick Float.Type // user: %91
%90 = string_literal utf8 "/device:CPU:0" // user: %91
%91 = builtin "__tfop_Cos,$in,T,__device"(%88 : $TensorHandle<Float>, %89 : $@thick Float.Type, %90 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %94
%92 = metatype $@thick Float.Type // user: %94
%93 = string_literal utf8 "/device:CPU:0" // user: %94
%94 = builtin "__tfop_Mul,$in,$in,T,__device"(%84 : $TensorHandle<Float>, %91 : $TensorHandle<Float>, %92 : $@thick Float.Type, %93 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %98
%95 = unchecked_ref_cast %10 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %98
%96 = metatype $@thick Float.Type // user: %98
%97 = string_literal utf8 "/device:CPU:0" // user: %98
%98 = builtin "__tfop_Mul,$in,$in,T,__device"(%94 : $TensorHandle<Float>, %95 : $TensorHandle<Float>, %96 : $@thick Float.Type, %97 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %102
%99 = unchecked_ref_cast %8 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %102
%100 = metatype $@thick Float.Type // user: %102
%101 = string_literal utf8 "/device:CPU:0" // user: %102
%102 = builtin "__tfop_Add,$in,$in,T,__device"(%98 : $TensorHandle<Float>, %99 : $TensorHandle<Float>, %100 : $@thick Float.Type, %101 : $Builtin.RawPointer) : $TensorHandle<Float>
%103 = metatype $@thick Int32.Type // user: %106
%104 = metatype $@thick Float.Type // user: %106
%105 = string_literal utf8 "/device:CPU:0" // user: %106
%106 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%5 : $TensorHandle<Int32>, %103 : $@thick Int32.Type, %104 : $@thick Float.Type, %105 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %110
%107 = unchecked_ref_cast %16 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %110
%108 = metatype $@thick Float.Type // user: %110
%109 = string_literal utf8 "/device:CPU:0" // user: %110
%110 = builtin "__tfop_Div,$in,$in,T,__device"(%106 : $TensorHandle<Float>, %107 : $TensorHandle<Float>, %108 : $@thick Float.Type, %109 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %152
%111 = metatype $@thick Int32.Type // user: %114
%112 = metatype $@thick Float.Type // user: %114
%113 = string_literal utf8 "/device:CPU:0" // user: %114
%114 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%6 : $TensorHandle<Int32>, %111 : $@thick Int32.Type, %112 : $@thick Float.Type, %113 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %118
%115 = unchecked_ref_cast %16 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %118
%116 = metatype $@thick Float.Type // user: %118
%117 = string_literal utf8 "/device:CPU:0" // user: %118
%118 = builtin "__tfop_Div,$in,$in,T,__device"(%114 : $TensorHandle<Float>, %115 : $TensorHandle<Float>, %116 : $@thick Float.Type, %117 : $Builtin.RawPointer) : $TensorHandle<Float>
%119 = metatype $@thin Int32.Type // user: %126
%120 = integer_literal $Builtin.Int32, 1 // user: %126
%121 = integer_literal $Builtin.Int32, 30 // user: %126
%122 = metatype $@thin Int32.Type // user: %126
%123 = integer_literal $Builtin.Int64, 2 // user: %126
%124 = metatype $@thin Int32.Type // user: %126
%125 = string_literal utf8 "/device:CPU:0" // user: %126
%126 = builtin "__tfop_Const,value$tensor,$elt,$elt,shape$shape,$elt,dtype,__device"(%119 : $@thin Int32.Type, %120 : $Builtin.Int32, %121 : $Builtin.Int32, %122 : $@thin Int32.Type, %123 : $Builtin.Int64, %124 : $@thin Int32.Type, %125 : $Builtin.RawPointer) : $TensorHandle<Int32> // user: %131
%127 = unchecked_ref_cast %8 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %131
%128 = metatype $@thick Float.Type // user: %131
%129 = metatype $@thick Int32.Type // user: %131
%130 = string_literal utf8 "/device:CPU:0" // user: %131
%131 = builtin "__tfop_Fill,$in,$in,T,index_type,__device"(%126 : $TensorHandle<Int32>, %127 : $TensorHandle<Float>, %128 : $@thick Float.Type, %129 : $@thick Int32.Type, %130 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %155
%132 = metatype $@thin Int32.Type // user: %139
%133 = integer_literal $Builtin.Int32, 1 // user: %139
%134 = integer_literal $Builtin.Int32, 10 // user: %139
%135 = metatype $@thin Int32.Type // user: %139
%136 = integer_literal $Builtin.Int64, 2 // user: %139
%137 = metatype $@thin Int32.Type // user: %139
%138 = string_literal utf8 "/device:CPU:0" // user: %139
%139 = builtin "__tfop_Const,value$tensor,$elt,$elt,shape$shape,$elt,dtype,__device"(%132 : $@thin Int32.Type, %133 : $Builtin.Int32, %134 : $Builtin.Int32, %135 : $@thin Int32.Type, %136 : $Builtin.Int64, %137 : $@thin Int32.Type, %138 : $Builtin.RawPointer) : $TensorHandle<Int32> // user: %144
%140 = unchecked_ref_cast %8 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %144
%141 = metatype $@thick Float.Type // user: %144
%142 = metatype $@thick Int32.Type // user: %144
%143 = string_literal utf8 "/device:CPU:0" // user: %144
%144 = builtin "__tfop_Fill,$in,$in,T,index_type,__device"(%139 : $TensorHandle<Int32>, %140 : $TensorHandle<Float>, %141 : $@thick Float.Type, %142 : $@thick Int32.Type, %143 : $Builtin.RawPointer) : $TensorHandle<Float>
%145 = graph_op "Const"() {dtype$dtype: $Builtin.Int64, value$tensor: i64 100, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int64> // user: %146
br bb1(%145 : $TensorHandle<Builtin.Int64>) // id: %146
// %147 // user: %156
bb1(%147 : $TensorHandle<Builtin.Int64>): // Preds: bb2 bb0
%148 = metatype $@thick Float.Type // user: %152
%149 = integer_literal $Builtin.Int1, 0 // user: %152
%150 = integer_literal $Builtin.Int1, 0 // user: %152
%151 = string_literal utf8 "/device:CPU:0" // user: %152
%152 = builtin "__tfop_MatMul,$in,$in,T,transpose_a,transpose_b,__device"(%58 : $TensorHandle<Float>, %110 : $TensorHandle<Float>, %148 : $@thick Float.Type, %149 : $Builtin.Int1, %150 : $Builtin.Int1, %151 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %155
%153 = metatype $@thick Float.Type // user: %155
%154 = string_literal utf8 "/device:CPU:0" // user: %155
%155 = builtin "__tfop_Add,$in,$in,T,__device"(%152 : $TensorHandle<Float>, %131 : $TensorHandle<Float>, %153 : $@thick Float.Type, %154 : $Builtin.RawPointer) : $TensorHandle<Float>
%156 = graph_op "Sub,i,i"(%147 : $TensorHandle<Builtin.Int64>, %9 : $TensorHandle<Builtin.Int64>) {__device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int64> // users: %160, %157
%157 = graph_op "Less,i,i"(%7 : $TensorHandle<Builtin.Int64>, %156 : $TensorHandle<Builtin.Int64>) {__device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int1> // user: %158
%158 = builtin "tf_tensor_to_i1"(%157 : $TensorHandle<Builtin.Int1>) : $Builtin.Int1 // user: %159
cond_br %158, bb2, bb3 // id: %159
bb2: // Preds: bb1
br bb1(%156 : $TensorHandle<Builtin.Int64>) // id: %160
bb3: // Preds: bb1
%161 = tuple () // user: %162
return %161 : $() // id: %162
} // end sil function '$S7no_copy5mnistyyF.tf'
----
--- TFDevicePartition Per-Device Function Extraction Result: $S7no_copy5mnistyyF.tf_CPU.device_partition
// mnist()
sil private @$S7no_copy5mnistyyF.tf_CPU.device_partition : $@callee_owned (TensorHandle<Int32>, TensorHandle<Int32>, TensorHandle<Builtin.FPIEEE32>, TensorHandle<Int32>, TensorHandle<Int32>, TensorHandle<Int32>, TensorHandle<Int32>) -> () {
// %0 // user: %14
// %1 // user: %24
// %2 // users: %85, %41
// %3 // user: %62
// %4 // user: %70
// %5 // user: %106
// %6 // user: %114
bb0(%0 : $TensorHandle<Int32>, %1 : $TensorHandle<Int32>, %2 : $TensorHandle<Builtin.FPIEEE32>, %3 : $TensorHandle<Int32>, %4 : $TensorHandle<Int32>, %5 : $TensorHandle<Int32>, %6 : $TensorHandle<Int32>):
%7 = graph_op "Const"() {dtype$dtype: $Builtin.Int64, value$tensor: i64 0, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int64> // users: %157, %8
%8 = graph_op "Cast,i"(%7 : $TensorHandle<Builtin.Int64>) {DstT$dtype: $Builtin.FPIEEE32, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.FPIEEE32> // users: %140, %127, %99, %55
%9 = graph_op "Const"() {dtype$dtype: $Builtin.Int64, value$tensor: i64 1, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int64> // users: %156, %10
%10 = graph_op "Cast,i"(%9 : $TensorHandle<Builtin.Int64>) {DstT$dtype: $Builtin.FPIEEE32, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.FPIEEE32> // users: %95, %51
%11 = metatype $@thick Int32.Type // user: %14
%12 = metatype $@thick Float.Type // user: %14
%13 = string_literal utf8 "/device:CPU:0" // user: %14
%14 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%0 : $TensorHandle<Int32>, %11 : $@thick Int32.Type, %12 : $@thick Float.Type, %13 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %20
%15 = graph_op "Const"() {dtype$dtype: $Builtin.Int32, value$tensor: i32 2147483647, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int32> // user: %16
%16 = graph_op "Cast,i"(%15 : $TensorHandle<Builtin.Int32>) {DstT$dtype: $Builtin.FPIEEE32, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.FPIEEE32> // users: %115, %107, %71, %63, %25, %17
%17 = unchecked_ref_cast %16 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %20
%18 = metatype $@thick Float.Type // user: %20
%19 = string_literal utf8 "/device:CPU:0" // user: %20
%20 = builtin "__tfop_Div,$in,$in,T,__device"(%14 : $TensorHandle<Float>, %17 : $TensorHandle<Float>, %18 : $@thick Float.Type, %19 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %33
%21 = metatype $@thick Int32.Type // user: %24
%22 = metatype $@thick Float.Type // user: %24
%23 = string_literal utf8 "/device:CPU:0" // user: %24
%24 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%1 : $TensorHandle<Int32>, %21 : $@thick Int32.Type, %22 : $@thick Float.Type, %23 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %28
%25 = unchecked_ref_cast %16 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %28
%26 = metatype $@thick Float.Type // user: %28
%27 = string_literal utf8 "/device:CPU:0" // user: %28
%28 = builtin "__tfop_Div,$in,$in,T,__device"(%24 : $TensorHandle<Float>, %25 : $TensorHandle<Float>, %26 : $@thick Float.Type, %27 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %44
%29 = graph_op "Const"() {dtype$dtype: $Builtin.Int64, value$tensor: i64 -2, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int64> // user: %30
%30 = graph_op "Cast,i"(%29 : $TensorHandle<Builtin.Int64>) {DstT$dtype: $Builtin.FPIEEE32, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.FPIEEE32> // users: %78, %34
%31 = metatype $@thick Float.Type // user: %33
%32 = string_literal utf8 "/device:CPU:0" // user: %33
%33 = builtin "__tfop_Log,$in,T,__device"(%20 : $TensorHandle<Float>, %31 : $@thick Float.Type, %32 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %37
%34 = unchecked_ref_cast %30 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %37
%35 = metatype $@thick Float.Type // user: %37
%36 = string_literal utf8 "/device:CPU:0" // user: %37
%37 = builtin "__tfop_Mul,$in,$in,T,__device"(%34 : $TensorHandle<Float>, %33 : $TensorHandle<Float>, %35 : $@thick Float.Type, %36 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %40
%38 = metatype $@thick Float.Type // user: %40
%39 = string_literal utf8 "/device:CPU:0" // user: %40
%40 = builtin "__tfop_Sqrt,$in,T,__device"(%37 : $TensorHandle<Float>, %38 : $@thick Float.Type, %39 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %50
%41 = unchecked_ref_cast %2 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %44
%42 = metatype $@thick Float.Type // user: %44
%43 = string_literal utf8 "/device:CPU:0" // user: %44
%44 = builtin "__tfop_Mul,$in,$in,T,__device"(%41 : $TensorHandle<Float>, %28 : $TensorHandle<Float>, %42 : $@thick Float.Type, %43 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %47
%45 = metatype $@thick Float.Type // user: %47
%46 = string_literal utf8 "/device:CPU:0" // user: %47
%47 = builtin "__tfop_Cos,$in,T,__device"(%44 : $TensorHandle<Float>, %45 : $@thick Float.Type, %46 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %50
%48 = metatype $@thick Float.Type // user: %50
%49 = string_literal utf8 "/device:CPU:0" // user: %50
%50 = builtin "__tfop_Mul,$in,$in,T,__device"(%40 : $TensorHandle<Float>, %47 : $TensorHandle<Float>, %48 : $@thick Float.Type, %49 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %54
%51 = unchecked_ref_cast %10 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %54
%52 = metatype $@thick Float.Type // user: %54
%53 = string_literal utf8 "/device:CPU:0" // user: %54
%54 = builtin "__tfop_Mul,$in,$in,T,__device"(%50 : $TensorHandle<Float>, %51 : $TensorHandle<Float>, %52 : $@thick Float.Type, %53 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %58
%55 = unchecked_ref_cast %8 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %58
%56 = metatype $@thick Float.Type // user: %58
%57 = string_literal utf8 "/device:CPU:0" // user: %58
%58 = builtin "__tfop_Add,$in,$in,T,__device"(%54 : $TensorHandle<Float>, %55 : $TensorHandle<Float>, %56 : $@thick Float.Type, %57 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %152
%59 = metatype $@thick Int32.Type // user: %62
%60 = metatype $@thick Float.Type // user: %62
%61 = string_literal utf8 "/device:CPU:0" // user: %62
%62 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%3 : $TensorHandle<Int32>, %59 : $@thick Int32.Type, %60 : $@thick Float.Type, %61 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %66
%63 = unchecked_ref_cast %16 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %66
%64 = metatype $@thick Float.Type // user: %66
%65 = string_literal utf8 "/device:CPU:0" // user: %66
%66 = builtin "__tfop_Div,$in,$in,T,__device"(%62 : $TensorHandle<Float>, %63 : $TensorHandle<Float>, %64 : $@thick Float.Type, %65 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %77
%67 = metatype $@thick Int32.Type // user: %70
%68 = metatype $@thick Float.Type // user: %70
%69 = string_literal utf8 "/device:CPU:0" // user: %70
%70 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%4 : $TensorHandle<Int32>, %67 : $@thick Int32.Type, %68 : $@thick Float.Type, %69 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %74
%71 = unchecked_ref_cast %16 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %74
%72 = metatype $@thick Float.Type // user: %74
%73 = string_literal utf8 "/device:CPU:0" // user: %74
%74 = builtin "__tfop_Div,$in,$in,T,__device"(%70 : $TensorHandle<Float>, %71 : $TensorHandle<Float>, %72 : $@thick Float.Type, %73 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %88
%75 = metatype $@thick Float.Type // user: %77
%76 = string_literal utf8 "/device:CPU:0" // user: %77
%77 = builtin "__tfop_Log,$in,T,__device"(%66 : $TensorHandle<Float>, %75 : $@thick Float.Type, %76 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %81
%78 = unchecked_ref_cast %30 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %81
%79 = metatype $@thick Float.Type // user: %81
%80 = string_literal utf8 "/device:CPU:0" // user: %81
%81 = builtin "__tfop_Mul,$in,$in,T,__device"(%78 : $TensorHandle<Float>, %77 : $TensorHandle<Float>, %79 : $@thick Float.Type, %80 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %84
%82 = metatype $@thick Float.Type // user: %84
%83 = string_literal utf8 "/device:CPU:0" // user: %84
%84 = builtin "__tfop_Sqrt,$in,T,__device"(%81 : $TensorHandle<Float>, %82 : $@thick Float.Type, %83 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %94
%85 = unchecked_ref_cast %2 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %88
%86 = metatype $@thick Float.Type // user: %88
%87 = string_literal utf8 "/device:CPU:0" // user: %88
%88 = builtin "__tfop_Mul,$in,$in,T,__device"(%85 : $TensorHandle<Float>, %74 : $TensorHandle<Float>, %86 : $@thick Float.Type, %87 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %91
%89 = metatype $@thick Float.Type // user: %91
%90 = string_literal utf8 "/device:CPU:0" // user: %91
%91 = builtin "__tfop_Cos,$in,T,__device"(%88 : $TensorHandle<Float>, %89 : $@thick Float.Type, %90 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %94
%92 = metatype $@thick Float.Type // user: %94
%93 = string_literal utf8 "/device:CPU:0" // user: %94
%94 = builtin "__tfop_Mul,$in,$in,T,__device"(%84 : $TensorHandle<Float>, %91 : $TensorHandle<Float>, %92 : $@thick Float.Type, %93 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %98
%95 = unchecked_ref_cast %10 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %98
%96 = metatype $@thick Float.Type // user: %98
%97 = string_literal utf8 "/device:CPU:0" // user: %98
%98 = builtin "__tfop_Mul,$in,$in,T,__device"(%94 : $TensorHandle<Float>, %95 : $TensorHandle<Float>, %96 : $@thick Float.Type, %97 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %102
%99 = unchecked_ref_cast %8 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %102
%100 = metatype $@thick Float.Type // user: %102
%101 = string_literal utf8 "/device:CPU:0" // user: %102
%102 = builtin "__tfop_Add,$in,$in,T,__device"(%98 : $TensorHandle<Float>, %99 : $TensorHandle<Float>, %100 : $@thick Float.Type, %101 : $Builtin.RawPointer) : $TensorHandle<Float>
%103 = metatype $@thick Int32.Type // user: %106
%104 = metatype $@thick Float.Type // user: %106
%105 = string_literal utf8 "/device:CPU:0" // user: %106
%106 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%5 : $TensorHandle<Int32>, %103 : $@thick Int32.Type, %104 : $@thick Float.Type, %105 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %110
%107 = unchecked_ref_cast %16 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %110
%108 = metatype $@thick Float.Type // user: %110
%109 = string_literal utf8 "/device:CPU:0" // user: %110
%110 = builtin "__tfop_Div,$in,$in,T,__device"(%106 : $TensorHandle<Float>, %107 : $TensorHandle<Float>, %108 : $@thick Float.Type, %109 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %152
%111 = metatype $@thick Int32.Type // user: %114
%112 = metatype $@thick Float.Type // user: %114
%113 = string_literal utf8 "/device:CPU:0" // user: %114
%114 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%6 : $TensorHandle<Int32>, %111 : $@thick Int32.Type, %112 : $@thick Float.Type, %113 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %118
%115 = unchecked_ref_cast %16 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %118
%116 = metatype $@thick Float.Type // user: %118
%117 = string_literal utf8 "/device:CPU:0" // user: %118
%118 = builtin "__tfop_Div,$in,$in,T,__device"(%114 : $TensorHandle<Float>, %115 : $TensorHandle<Float>, %116 : $@thick Float.Type, %117 : $Builtin.RawPointer) : $TensorHandle<Float>
%119 = metatype $@thin Int32.Type // user: %126
%120 = integer_literal $Builtin.Int32, 1 // user: %126
%121 = integer_literal $Builtin.Int32, 30 // user: %126
%122 = metatype $@thin Int32.Type // user: %126
%123 = integer_literal $Builtin.Int64, 2 // user: %126
%124 = metatype $@thin Int32.Type // user: %126
%125 = string_literal utf8 "/device:CPU:0" // user: %126
%126 = builtin "__tfop_Const,value$tensor,$elt,$elt,shape$shape,$elt,dtype,__device"(%119 : $@thin Int32.Type, %120 : $Builtin.Int32, %121 : $Builtin.Int32, %122 : $@thin Int32.Type, %123 : $Builtin.Int64, %124 : $@thin Int32.Type, %125 : $Builtin.RawPointer) : $TensorHandle<Int32> // user: %131
%127 = unchecked_ref_cast %8 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %131
%128 = metatype $@thick Float.Type // user: %131
%129 = metatype $@thick Int32.Type // user: %131
%130 = string_literal utf8 "/device:CPU:0" // user: %131
%131 = builtin "__tfop_Fill,$in,$in,T,index_type,__device"(%126 : $TensorHandle<Int32>, %127 : $TensorHandle<Float>, %128 : $@thick Float.Type, %129 : $@thick Int32.Type, %130 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %155
%132 = metatype $@thin Int32.Type // user: %139
%133 = integer_literal $Builtin.Int32, 1 // user: %139
%134 = integer_literal $Builtin.Int32, 10 // user: %139
%135 = metatype $@thin Int32.Type // user: %139
%136 = integer_literal $Builtin.Int64, 2 // user: %139
%137 = metatype $@thin Int32.Type // user: %139
%138 = string_literal utf8 "/device:CPU:0" // user: %139
%139 = builtin "__tfop_Const,value$tensor,$elt,$elt,shape$shape,$elt,dtype,__device"(%132 : $@thin Int32.Type, %133 : $Builtin.Int32, %134 : $Builtin.Int32, %135 : $@thin Int32.Type, %136 : $Builtin.Int64, %137 : $@thin Int32.Type, %138 : $Builtin.RawPointer) : $TensorHandle<Int32> // user: %144
%140 = unchecked_ref_cast %8 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %144
%141 = metatype $@thick Float.Type // user: %144
%142 = metatype $@thick Int32.Type // user: %144
%143 = string_literal utf8 "/device:CPU:0" // user: %144
%144 = builtin "__tfop_Fill,$in,$in,T,index_type,__device"(%139 : $TensorHandle<Int32>, %140 : $TensorHandle<Float>, %141 : $@thick Float.Type, %142 : $@thick Int32.Type, %143 : $Builtin.RawPointer) : $TensorHandle<Float>
%145 = graph_op "Const"() {dtype$dtype: $Builtin.Int64, value$tensor: i64 100, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int64> // user: %146
br bb1(%145 : $TensorHandle<Builtin.Int64>) // id: %146
// %147 // user: %156
bb1(%147 : $TensorHandle<Builtin.Int64>): // Preds: bb2 bb0
%148 = metatype $@thick Float.Type // user: %152
%149 = integer_literal $Builtin.Int1, 0 // user: %152
%150 = integer_literal $Builtin.Int1, 0 // user: %152
%151 = string_literal utf8 "/device:CPU:0" // user: %152
%152 = builtin "__tfop_MatMul,$in,$in,T,transpose_a,transpose_b,__device"(%58 : $TensorHandle<Float>, %110 : $TensorHandle<Float>, %148 : $@thick Float.Type, %149 : $Builtin.Int1, %150 : $Builtin.Int1, %151 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %155
%153 = metatype $@thick Float.Type // user: %155
%154 = string_literal utf8 "/device:CPU:0" // user: %155
%155 = builtin "__tfop_Add,$in,$in,T,__device"(%152 : $TensorHandle<Float>, %131 : $TensorHandle<Float>, %153 : $@thick Float.Type, %154 : $Builtin.RawPointer) : $TensorHandle<Float>
%156 = graph_op "Sub,i,i"(%147 : $TensorHandle<Builtin.Int64>, %9 : $TensorHandle<Builtin.Int64>) {__device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int64> // users: %160, %157
%157 = graph_op "Less,i,i"(%7 : $TensorHandle<Builtin.Int64>, %156 : $TensorHandle<Builtin.Int64>) {__device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int1> // user: %158
%158 = builtin "tf_tensor_to_i1"(%157 : $TensorHandle<Builtin.Int1>) : $Builtin.Int1 // user: %159
cond_br %158, bb2, bb3 // id: %159
bb2: // Preds: bb1
br bb1(%156 : $TensorHandle<Builtin.Int64>) // id: %160
bb3: // Preds: bb1
%161 = tuple () // user: %162
return %161 : $() // id: %162
} // end sil function '$S7no_copy5mnistyyF.tf_CPU.device_partition'
----
SIL verification failed: artificial locations are only allowed on Unreachable instructions: InstKind == SILInstructionKind::UnreachableInst
Verifying instruction:
**%7** = = graph_op "Const"() {dtype$dtype: $Builtin.Int64, value$tensor: i64 0, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int64> // users: %157, %8
**%156** = = graph_op "Sub,i,i"(%147 : $TensorHandle<Builtin.Int64>, %9 : $TensorHandle<Builtin.Int64>) {__device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int64> // users: %160, %157
-> %157 = graph_op "Less,i,i"(%7 : $TensorHandle<Builtin.Int64>, %156 : $TensorHandle<Builtin.Int64>) {__device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int1> // user: %158
In function:
// mnist()
sil private @$S7no_copy5mnistyyF.tf_CPU.device_partition : $@callee_owned (TensorHandle<Int32>, TensorHandle<Int32>, TensorHandle<Builtin.FPIEEE32>, TensorHandle<Int32>, TensorHandle<Int32>, TensorHandle<Int32>, TensorHandle<Int32>) -> () {
// %0 // user: %14
// %1 // user: %24
// %2 // users: %85, %41
// %3 // user: %62
// %4 // user: %70
// %5 // user: %106
// %6 // user: %114
bb0(%0 : $TensorHandle<Int32>, %1 : $TensorHandle<Int32>, %2 : $TensorHandle<Builtin.FPIEEE32>, %3 : $TensorHandle<Int32>, %4 : $TensorHandle<Int32>, %5 : $TensorHandle<Int32>, %6 : $TensorHandle<Int32>):
%7 = graph_op "Const"() {dtype$dtype: $Builtin.Int64, value$tensor: i64 0, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int64> // users: %157, %8
%8 = graph_op "Cast,i"(%7 : $TensorHandle<Builtin.Int64>) {DstT$dtype: $Builtin.FPIEEE32, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.FPIEEE32> // users: %140, %127, %99, %55
%9 = graph_op "Const"() {dtype$dtype: $Builtin.Int64, value$tensor: i64 1, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int64> // users: %156, %10
%10 = graph_op "Cast,i"(%9 : $TensorHandle<Builtin.Int64>) {DstT$dtype: $Builtin.FPIEEE32, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.FPIEEE32> // users: %95, %51
%11 = metatype $@thick Int32.Type // user: %14
%12 = metatype $@thick Float.Type // user: %14
%13 = string_literal utf8 "/device:CPU:0" // user: %14
%14 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%0 : $TensorHandle<Int32>, %11 : $@thick Int32.Type, %12 : $@thick Float.Type, %13 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %20
%15 = graph_op "Const"() {dtype$dtype: $Builtin.Int32, value$tensor: i32 2147483647, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int32> // user: %16
%16 = graph_op "Cast,i"(%15 : $TensorHandle<Builtin.Int32>) {DstT$dtype: $Builtin.FPIEEE32, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.FPIEEE32> // users: %115, %107, %71, %63, %25, %17
%17 = unchecked_ref_cast %16 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %20
%18 = metatype $@thick Float.Type // user: %20
%19 = string_literal utf8 "/device:CPU:0" // user: %20
%20 = builtin "__tfop_Div,$in,$in,T,__device"(%14 : $TensorHandle<Float>, %17 : $TensorHandle<Float>, %18 : $@thick Float.Type, %19 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %33
%21 = metatype $@thick Int32.Type // user: %24
%22 = metatype $@thick Float.Type // user: %24
%23 = string_literal utf8 "/device:CPU:0" // user: %24
%24 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%1 : $TensorHandle<Int32>, %21 : $@thick Int32.Type, %22 : $@thick Float.Type, %23 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %28
%25 = unchecked_ref_cast %16 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %28
%26 = metatype $@thick Float.Type // user: %28
%27 = string_literal utf8 "/device:CPU:0" // user: %28
%28 = builtin "__tfop_Div,$in,$in,T,__device"(%24 : $TensorHandle<Float>, %25 : $TensorHandle<Float>, %26 : $@thick Float.Type, %27 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %44
%29 = graph_op "Const"() {dtype$dtype: $Builtin.Int64, value$tensor: i64 -2, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int64> // user: %30
%30 = graph_op "Cast,i"(%29 : $TensorHandle<Builtin.Int64>) {DstT$dtype: $Builtin.FPIEEE32, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.FPIEEE32> // users: %78, %34
%31 = metatype $@thick Float.Type // user: %33
%32 = string_literal utf8 "/device:CPU:0" // user: %33
%33 = builtin "__tfop_Log,$in,T,__device"(%20 : $TensorHandle<Float>, %31 : $@thick Float.Type, %32 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %37
%34 = unchecked_ref_cast %30 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %37
%35 = metatype $@thick Float.Type // user: %37
%36 = string_literal utf8 "/device:CPU:0" // user: %37
%37 = builtin "__tfop_Mul,$in,$in,T,__device"(%34 : $TensorHandle<Float>, %33 : $TensorHandle<Float>, %35 : $@thick Float.Type, %36 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %40
%38 = metatype $@thick Float.Type // user: %40
%39 = string_literal utf8 "/device:CPU:0" // user: %40
%40 = builtin "__tfop_Sqrt,$in,T,__device"(%37 : $TensorHandle<Float>, %38 : $@thick Float.Type, %39 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %50
%41 = unchecked_ref_cast %2 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %44
%42 = metatype $@thick Float.Type // user: %44
%43 = string_literal utf8 "/device:CPU:0" // user: %44
%44 = builtin "__tfop_Mul,$in,$in,T,__device"(%41 : $TensorHandle<Float>, %28 : $TensorHandle<Float>, %42 : $@thick Float.Type, %43 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %47
%45 = metatype $@thick Float.Type // user: %47
%46 = string_literal utf8 "/device:CPU:0" // user: %47
%47 = builtin "__tfop_Cos,$in,T,__device"(%44 : $TensorHandle<Float>, %45 : $@thick Float.Type, %46 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %50
%48 = metatype $@thick Float.Type // user: %50
%49 = string_literal utf8 "/device:CPU:0" // user: %50
%50 = builtin "__tfop_Mul,$in,$in,T,__device"(%40 : $TensorHandle<Float>, %47 : $TensorHandle<Float>, %48 : $@thick Float.Type, %49 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %54
%51 = unchecked_ref_cast %10 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %54
%52 = metatype $@thick Float.Type // user: %54
%53 = string_literal utf8 "/device:CPU:0" // user: %54
%54 = builtin "__tfop_Mul,$in,$in,T,__device"(%50 : $TensorHandle<Float>, %51 : $TensorHandle<Float>, %52 : $@thick Float.Type, %53 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %58
%55 = unchecked_ref_cast %8 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %58
%56 = metatype $@thick Float.Type // user: %58
%57 = string_literal utf8 "/device:CPU:0" // user: %58
%58 = builtin "__tfop_Add,$in,$in,T,__device"(%54 : $TensorHandle<Float>, %55 : $TensorHandle<Float>, %56 : $@thick Float.Type, %57 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %152
%59 = metatype $@thick Int32.Type // user: %62
%60 = metatype $@thick Float.Type // user: %62
%61 = string_literal utf8 "/device:CPU:0" // user: %62
%62 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%3 : $TensorHandle<Int32>, %59 : $@thick Int32.Type, %60 : $@thick Float.Type, %61 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %66
%63 = unchecked_ref_cast %16 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %66
%64 = metatype $@thick Float.Type // user: %66
%65 = string_literal utf8 "/device:CPU:0" // user: %66
%66 = builtin "__tfop_Div,$in,$in,T,__device"(%62 : $TensorHandle<Float>, %63 : $TensorHandle<Float>, %64 : $@thick Float.Type, %65 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %77
%67 = metatype $@thick Int32.Type // user: %70
%68 = metatype $@thick Float.Type // user: %70
%69 = string_literal utf8 "/device:CPU:0" // user: %70
%70 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%4 : $TensorHandle<Int32>, %67 : $@thick Int32.Type, %68 : $@thick Float.Type, %69 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %74
%71 = unchecked_ref_cast %16 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %74
%72 = metatype $@thick Float.Type // user: %74
%73 = string_literal utf8 "/device:CPU:0" // user: %74
%74 = builtin "__tfop_Div,$in,$in,T,__device"(%70 : $TensorHandle<Float>, %71 : $TensorHandle<Float>, %72 : $@thick Float.Type, %73 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %88
%75 = metatype $@thick Float.Type // user: %77
%76 = string_literal utf8 "/device:CPU:0" // user: %77
%77 = builtin "__tfop_Log,$in,T,__device"(%66 : $TensorHandle<Float>, %75 : $@thick Float.Type, %76 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %81
%78 = unchecked_ref_cast %30 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %81
%79 = metatype $@thick Float.Type // user: %81
%80 = string_literal utf8 "/device:CPU:0" // user: %81
%81 = builtin "__tfop_Mul,$in,$in,T,__device"(%78 : $TensorHandle<Float>, %77 : $TensorHandle<Float>, %79 : $@thick Float.Type, %80 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %84
%82 = metatype $@thick Float.Type // user: %84
%83 = string_literal utf8 "/device:CPU:0" // user: %84
%84 = builtin "__tfop_Sqrt,$in,T,__device"(%81 : $TensorHandle<Float>, %82 : $@thick Float.Type, %83 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %94
%85 = unchecked_ref_cast %2 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %88
%86 = metatype $@thick Float.Type // user: %88
%87 = string_literal utf8 "/device:CPU:0" // user: %88
%88 = builtin "__tfop_Mul,$in,$in,T,__device"(%85 : $TensorHandle<Float>, %74 : $TensorHandle<Float>, %86 : $@thick Float.Type, %87 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %91
%89 = metatype $@thick Float.Type // user: %91
%90 = string_literal utf8 "/device:CPU:0" // user: %91
%91 = builtin "__tfop_Cos,$in,T,__device"(%88 : $TensorHandle<Float>, %89 : $@thick Float.Type, %90 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %94
%92 = metatype $@thick Float.Type // user: %94
%93 = string_literal utf8 "/device:CPU:0" // user: %94
%94 = builtin "__tfop_Mul,$in,$in,T,__device"(%84 : $TensorHandle<Float>, %91 : $TensorHandle<Float>, %92 : $@thick Float.Type, %93 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %98
%95 = unchecked_ref_cast %10 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %98
%96 = metatype $@thick Float.Type // user: %98
%97 = string_literal utf8 "/device:CPU:0" // user: %98
%98 = builtin "__tfop_Mul,$in,$in,T,__device"(%94 : $TensorHandle<Float>, %95 : $TensorHandle<Float>, %96 : $@thick Float.Type, %97 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %102
%99 = unchecked_ref_cast %8 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %102
%100 = metatype $@thick Float.Type // user: %102
%101 = string_literal utf8 "/device:CPU:0" // user: %102
%102 = builtin "__tfop_Add,$in,$in,T,__device"(%98 : $TensorHandle<Float>, %99 : $TensorHandle<Float>, %100 : $@thick Float.Type, %101 : $Builtin.RawPointer) : $TensorHandle<Float>
%103 = metatype $@thick Int32.Type // user: %106
%104 = metatype $@thick Float.Type // user: %106
%105 = string_literal utf8 "/device:CPU:0" // user: %106
%106 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%5 : $TensorHandle<Int32>, %103 : $@thick Int32.Type, %104 : $@thick Float.Type, %105 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %110
%107 = unchecked_ref_cast %16 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %110
%108 = metatype $@thick Float.Type // user: %110
%109 = string_literal utf8 "/device:CPU:0" // user: %110
%110 = builtin "__tfop_Div,$in,$in,T,__device"(%106 : $TensorHandle<Float>, %107 : $TensorHandle<Float>, %108 : $@thick Float.Type, %109 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %152
%111 = metatype $@thick Int32.Type // user: %114
%112 = metatype $@thick Float.Type // user: %114
%113 = string_literal utf8 "/device:CPU:0" // user: %114
%114 = builtin "__tfop_Cast,$in,SrcT,DstT,__device"(%6 : $TensorHandle<Int32>, %111 : $@thick Int32.Type, %112 : $@thick Float.Type, %113 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %118
%115 = unchecked_ref_cast %16 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %118
%116 = metatype $@thick Float.Type // user: %118
%117 = string_literal utf8 "/device:CPU:0" // user: %118
%118 = builtin "__tfop_Div,$in,$in,T,__device"(%114 : $TensorHandle<Float>, %115 : $TensorHandle<Float>, %116 : $@thick Float.Type, %117 : $Builtin.RawPointer) : $TensorHandle<Float>
%119 = metatype $@thin Int32.Type // user: %126
%120 = integer_literal $Builtin.Int32, 1 // user: %126
%121 = integer_literal $Builtin.Int32, 30 // user: %126
%122 = metatype $@thin Int32.Type // user: %126
%123 = integer_literal $Builtin.Int64, 2 // user: %126
%124 = metatype $@thin Int32.Type // user: %126
%125 = string_literal utf8 "/device:CPU:0" // user: %126
%126 = builtin "__tfop_Const,value$tensor,$elt,$elt,shape$shape,$elt,dtype,__device"(%119 : $@thin Int32.Type, %120 : $Builtin.Int32, %121 : $Builtin.Int32, %122 : $@thin Int32.Type, %123 : $Builtin.Int64, %124 : $@thin Int32.Type, %125 : $Builtin.RawPointer) : $TensorHandle<Int32> // user: %131
%127 = unchecked_ref_cast %8 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %131
%128 = metatype $@thick Float.Type // user: %131
%129 = metatype $@thick Int32.Type // user: %131
%130 = string_literal utf8 "/device:CPU:0" // user: %131
%131 = builtin "__tfop_Fill,$in,$in,T,index_type,__device"(%126 : $TensorHandle<Int32>, %127 : $TensorHandle<Float>, %128 : $@thick Float.Type, %129 : $@thick Int32.Type, %130 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %155
%132 = metatype $@thin Int32.Type // user: %139
%133 = integer_literal $Builtin.Int32, 1 // user: %139
%134 = integer_literal $Builtin.Int32, 10 // user: %139
%135 = metatype $@thin Int32.Type // user: %139
%136 = integer_literal $Builtin.Int64, 2 // user: %139
%137 = metatype $@thin Int32.Type // user: %139
%138 = string_literal utf8 "/device:CPU:0" // user: %139
%139 = builtin "__tfop_Const,value$tensor,$elt,$elt,shape$shape,$elt,dtype,__device"(%132 : $@thin Int32.Type, %133 : $Builtin.Int32, %134 : $Builtin.Int32, %135 : $@thin Int32.Type, %136 : $Builtin.Int64, %137 : $@thin Int32.Type, %138 : $Builtin.RawPointer) : $TensorHandle<Int32> // user: %144
%140 = unchecked_ref_cast %8 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %144
%141 = metatype $@thick Float.Type // user: %144
%142 = metatype $@thick Int32.Type // user: %144
%143 = string_literal utf8 "/device:CPU:0" // user: %144
%144 = builtin "__tfop_Fill,$in,$in,T,index_type,__device"(%139 : $TensorHandle<Int32>, %140 : $TensorHandle<Float>, %141 : $@thick Float.Type, %142 : $@thick Int32.Type, %143 : $Builtin.RawPointer) : $TensorHandle<Float>
%145 = graph_op "Const"() {dtype$dtype: $Builtin.Int64, value$tensor: i64 100, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int64> // user: %146
br bb1(%145 : $TensorHandle<Builtin.Int64>) // id: %146
// %147 // user: %156
bb1(%147 : $TensorHandle<Builtin.Int64>): // Preds: bb2 bb0
%148 = metatype $@thick Float.Type // user: %152
%149 = integer_literal $Builtin.Int1, 0 // user: %152
%150 = integer_literal $Builtin.Int1, 0 // user: %152
%151 = string_literal utf8 "/device:CPU:0" // user: %152
%152 = builtin "__tfop_MatMul,$in,$in,T,transpose_a,transpose_b,__device"(%58 : $TensorHandle<Float>, %110 : $TensorHandle<Float>, %148 : $@thick Float.Type, %149 : $Builtin.Int1, %150 : $Builtin.Int1, %151 : $Builtin.RawPointer) : $TensorHandle<Float> // user: %155
%153 = metatype $@thick Float.Type // user: %155
%154 = string_literal utf8 "/device:CPU:0" // user: %155
%155 = builtin "__tfop_Add,$in,$in,T,__device"(%152 : $TensorHandle<Float>, %131 : $TensorHandle<Float>, %153 : $@thick Float.Type, %154 : $Builtin.RawPointer) : $TensorHandle<Float>
%156 = graph_op "Sub,i,i"(%147 : $TensorHandle<Builtin.Int64>, %9 : $TensorHandle<Builtin.Int64>) {__device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int64> // users: %160, %157
%157 = graph_op "Less,i,i"(%7 : $TensorHandle<Builtin.Int64>, %156 : $TensorHandle<Builtin.Int64>) {__device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int1> // user: %158
%158 = builtin "tf_tensor_to_i1"(%157 : $TensorHandle<Builtin.Int1>) : $Builtin.Int1 // user: %159
cond_br %158, bb2, bb3 // id: %159
bb2: // Preds: bb1
br bb1(%156 : $TensorHandle<Builtin.Int64>) // id: %160
bb3: // Preds: bb1
%161 = tuple () // user: %162
return %161 : $() // id: %162
} // end sil function '$S7no_copy5mnistyyF.tf_CPU.device_partition'
build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swiftc[0x41a7764]
build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swiftc[0x41a55f2]
build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swiftc[0x41a7912]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7f6b6191f390]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38)[0x7f6b5b61d428]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x7f6b5b61f02a]
build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swiftc[0x12e633a]
build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swiftc[0x131b8cc]
build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swiftc[0x12ef3df]
build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swiftc[0x12ec085]
build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swiftc[0x12ea2e6]
build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swiftc[0x12e23f1]
build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swiftc[0x10b859d]
build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swiftc[0x109afd2]
build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swiftc[0x109f834]
build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swiftc[0x104f661]
build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swiftc[0xd54cd3]
build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swiftc[0xd557d1]
build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swiftc[0xd56704]
build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swiftc[0x5c6e68]
build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swiftc[0xd5dcde]
build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swiftc[0x4e3432]
build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swiftc[0x4deea5]
build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swiftc[0x48e128]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7f6b5b608830]
build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swiftc[0x48bde9]
Stack dump:
0. Program arguments: build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swiftc -frontend -Xllvm -tf-dump-intermediates -O -emit-sil -verify no_copy.swift
1. While running pass #3 SILFunctionTransform "TFPartition" on SILFunction "@$S7no_copy5mnistyyF".
for 'mnist()' at no_copy.swift:60:8
2. While verifying SIL function "@$S7no_copy5mnistyyF.tf_CPU.device_partition".
for 'mnist()' at no_copy.swift:60:8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment