import Foundation

let DEBUG = false

struct Point {
    var x: Double
    var y: Double
}

func dprint(_ str: String) {
    if DEBUG {
        print(str)
    }
}

// pからangle度回転した座標を求める
func calcMovePoint(_ p: Point, _ angle: Double) -> Point {
    let rad = angle * Double.pi / 180
    let x = p.x * cos(rad) - p.y * sin(rad)
    let y = p.x * sin(rad) + p.y * cos(rad)
    return Point(x: x, y: y)
}

let words = readLine()!.components(separatedBy: " ")
let A = Double(words[0])!
let B = Double(words[1])!
let H = Double(words[2])!
let M = Double(words[3])!

dprint("\(A) \(B) \(H) \(M)")

let angle_a = 360 / 12 * H + (360/12/60*M)
let angle_b = 360 / 60 * M

dprint("\(angle_a) \(angle_b)")

let na = calcMovePoint(Point(x: 0, y: A), angle_a)
let nb = calcMovePoint(Point(x: 0, y: B), angle_b)
dprint("na: \(na)")
dprint("nb: \(nb)")

let dx = abs(na.x - nb.x)
let dy = abs(na.y - nb.y)
let dc = sqrt(dx * dx + dy * dy)
print(dc)


; ModuleID = '/data/TheStack_IR/OJ_Samples/Collated/Swift/Source_1051/llvm_O3.ll'
source_filename = "/data/TheStack_IR/OJ_Samples/Collated/Swift/Source_1051/llvm_O3.ll"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%TSb = type <{ i1 }>
%TSa = type <{ %Ts22_ContiguousArrayBufferV }>
%Ts22_ContiguousArrayBufferV = type <{ %Ts28__ContiguousArrayStorageBaseC* }>
%Ts28__ContiguousArrayStorageBaseC = type <{ %swift.refcounted, %Ts10_ArrayBodyV }>
%swift.refcounted = type { %swift.type*, i64 }
%swift.type = type { i64 }
%Ts10_ArrayBodyV = type <{ %TSo22_SwiftArrayBodyStorageV }>
%TSo22_SwiftArrayBodyStorageV = type <{ %TSi, %TSu }>
%TSi = type <{ i64 }>
%TSu = type <{ i64 }>
%TSd = type <{ double }>
%T7llvm_O35PointV = type <{ %TSd, %TSd }>
%swift.protocol_conformance_descriptor = type { i32, i32, i32, i32 }
%swift.type_descriptor = type opaque
%swift.vwtable = type { i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i64, i64, i32, i32 }
%swift.type_metadata_record = type { i32 }
%TSS = type <{ %Ts11_StringGutsV }>
%Ts11_StringGutsV = type <{ %Ts13_StringObjectV }>
%Ts13_StringObjectV = type <{ %Ts6UInt64V, %swift.bridge* }>
%Ts6UInt64V = type <{ i64 }>
%swift.bridge = type opaque
%Ts26DefaultStringInterpolationV = type <{ %TSS }>
%swift.opaque = type opaque
%swift.metadata_response = type { %swift.type*, i64 }

@"$s7llvm_O35DEBUGSbvp" = hidden local_unnamed_addr global %TSb zeroinitializer, align 1
@"$s7llvm_O35wordsSaySSGvp" = hidden local_unnamed_addr global %TSa zeroinitializer, align 8
@"$s7llvm_O31ASdvp" = hidden local_unnamed_addr global %TSd zeroinitializer, align 8
@"$s7llvm_O31BSdvp" = hidden local_unnamed_addr global %TSd zeroinitializer, align 8
@"$s7llvm_O31HSdvp" = hidden local_unnamed_addr global %TSd zeroinitializer, align 8
@"$s7llvm_O31MSdvp" = hidden local_unnamed_addr global %TSd zeroinitializer, align 8
@"$s7llvm_O37angle_aSdvp" = hidden local_unnamed_addr global %TSd zeroinitializer, align 8
@"$s7llvm_O37angle_bSdvp" = hidden local_unnamed_addr global %TSd zeroinitializer, align 8
@"$s7llvm_O32naAA5PointVvp" = hidden local_unnamed_addr global %T7llvm_O35PointV zeroinitializer, align 16
@"$s7llvm_O32nbAA5PointVvp" = hidden local_unnamed_addr global %T7llvm_O35PointV zeroinitializer, align 16
@"$s7llvm_O32dxSdvp" = hidden local_unnamed_addr global %TSd zeroinitializer, align 8
@"$s7llvm_O32dySdvp" = hidden local_unnamed_addr global %TSd zeroinitializer, align 8
@"$s7llvm_O32dcSdvp" = hidden local_unnamed_addr global %TSd zeroinitializer, align 8
@"$sSSN" = external global %swift.type, align 8
@"$sS2SSysWL" = linkonce_odr hidden local_unnamed_addr global i8** null, align 8
@"$sSSSysMc" = external global %swift.protocol_conformance_descriptor, align 4
@"$sSSSTsWP" = external global i8*, align 8
@"$ss26DefaultStringInterpolationVN" = external global %swift.type, align 8
@"$ss26DefaultStringInterpolationVs16TextOutputStreamsWP" = external global i8*, align 8
@"$ss23_ContiguousArrayStorageCMn" = external global %swift.type_descriptor, align 4
@"got.$ss23_ContiguousArrayStorageCMn" = private unnamed_addr constant %swift.type_descriptor* @"$ss23_ContiguousArrayStorageCMn"
@"symbolic _____yypG s23_ContiguousArrayStorageC" = linkonce_odr hidden constant <{ i8, i32, [4 x i8], i8 }> <{ i8 2, i32 trunc (i64 sub (i64 ptrtoint (%swift.type_descriptor** @"got.$ss23_ContiguousArrayStorageCMn" to i64), i64 ptrtoint (i32* getelementptr inbounds (<{ i8, i32, [4 x i8], i8 }>, <{ i8, i32, [4 x i8], i8 }>* @"symbolic _____yypG s23_ContiguousArrayStorageC", i32 0, i32 1) to i64)) to i32), [4 x i8] c"yypG", i8 0 }>, section "swift5_typeref", no_sanitize_address, align 2
@"$ss23_ContiguousArrayStorageCyypGMD" = linkonce_odr hidden global { i32, i32 } { i32 trunc (i64 sub (i64 ptrtoint (<{ i8, i32, [4 x i8], i8 }>* @"symbolic _____yypG s23_ContiguousArrayStorageC" to i64), i64 ptrtoint ({ i32, i32 }* @"$ss23_ContiguousArrayStorageCyypGMD" to i64)) to i32), i32 -9 }, align 8
@"$sSdN" = external global %swift.type, align 8
@"\01l_entry_point" = private constant { i32, i32 } { i32 trunc (i64 sub (i64 ptrtoint (i32 (i32, i8**)* @main to i64), i64 ptrtoint ({ i32, i32 }* @"\01l_entry_point" to i64)) to i32), i32 0 }, section "swift5_entry", align 4
@"$s7llvm_O35PointVWV" = internal constant %swift.vwtable { i8* bitcast (i8* (i8*, i8*, %swift.type*)* @__swift_memcpy16_8 to i8*), i8* bitcast (void (i8*, %swift.type*)* @__swift_noop_void_return to i8*), i8* bitcast (i8* (i8*, i8*, %swift.type*)* @__swift_memcpy16_8 to i8*), i8* bitcast (i8* (i8*, i8*, %swift.type*)* @__swift_memcpy16_8 to i8*), i8* bitcast (i8* (i8*, i8*, %swift.type*)* @__swift_memcpy16_8 to i8*), i8* bitcast (i8* (i8*, i8*, %swift.type*)* @__swift_memcpy16_8 to i8*), i8* bitcast (i32 (%swift.opaque*, i32, %swift.type*)* @"$s7llvm_O35PointVwet" to i8*), i8* bitcast (void (%swift.opaque*, i32, i32, %swift.type*)* @"$s7llvm_O35PointVwst" to i8*), i64 16, i64 16, i32 7, i32 0 }, align 8
@.str.7.llvm_O3 = private constant [8 x i8] c"llvm_O3\00"
@"$s7llvm_O3MXM" = linkonce_odr hidden constant <{ i32, i32, i32 }> <{ i32 0, i32 0, i32 trunc (i64 sub (i64 ptrtoint ([8 x i8]* @.str.7.llvm_O3 to i64), i64 ptrtoint (i32* getelementptr inbounds (<{ i32, i32, i32 }>, <{ i32, i32, i32 }>* @"$s7llvm_O3MXM", i32 0, i32 2) to i64)) to i32) }>, section ".rodata", no_sanitize_address, align 4
@.str.5.Point = private constant [6 x i8] c"Point\00"
@"$s7llvm_O35PointVMn" = hidden constant <{ i32, i32, i32, i32, i32, i32, i32 }> <{ i32 81, i32 trunc (i64 sub (i64 ptrtoint (<{ i32, i32, i32 }>* @"$s7llvm_O3MXM" to i64), i64 ptrtoint (i32* getelementptr inbounds (<{ i32, i32, i32, i32, i32, i32, i32 }>, <{ i32, i32, i32, i32, i32, i32, i32 }>* @"$s7llvm_O35PointVMn", i32 0, i32 1) to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([6 x i8]* @.str.5.Point to i64), i64 ptrtoint (i32* getelementptr inbounds (<{ i32, i32, i32, i32, i32, i32, i32 }>, <{ i32, i32, i32, i32, i32, i32, i32 }>* @"$s7llvm_O35PointVMn", i32 0, i32 2) to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint (%swift.metadata_response (i64)* @"$s7llvm_O35PointVMa" to i64), i64 ptrtoint (i32* getelementptr inbounds (<{ i32, i32, i32, i32, i32, i32, i32 }>, <{ i32, i32, i32, i32, i32, i32, i32 }>* @"$s7llvm_O35PointVMn", i32 0, i32 3) to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ({ i32, i32, i16, i16, i32, i32, i32, i32, i32, i32, i32 }* @"$s7llvm_O35PointVMF" to i64), i64 ptrtoint (i32* getelementptr inbounds (<{ i32, i32, i32, i32, i32, i32, i32 }>, <{ i32, i32, i32, i32, i32, i32, i32 }>* @"$s7llvm_O35PointVMn", i32 0, i32 4) to i64)) to i32), i32 2, i32 2 }>, section ".rodata", no_sanitize_address, align 4
@"$s7llvm_O35PointVMf" = internal constant <{ i8*, i8**, i64, <{ i32, i32, i32, i32, i32, i32, i32 }>*, i32, i32 }> <{ i8* null, i8** getelementptr inbounds (%swift.vwtable, %swift.vwtable* @"$s7llvm_O35PointVWV", i32 0, i32 0), i64 512, <{ i32, i32, i32, i32, i32, i32, i32 }>* @"$s7llvm_O35PointVMn", i32 0, i32 8 }>, align 8
@"symbolic _____ 7llvm_O35PointV" = linkonce_odr hidden constant <{ i8, i32, i8 }> <{ i8 1, i32 trunc (i64 sub (i64 ptrtoint (<{ i32, i32, i32, i32, i32, i32, i32 }>* @"$s7llvm_O35PointVMn" to i64), i64 ptrtoint (i32* getelementptr inbounds (<{ i8, i32, i8 }>, <{ i8, i32, i8 }>* @"symbolic _____ 7llvm_O35PointV", i32 0, i32 1) to i64)) to i32), i8 0 }>, section "swift5_typeref", no_sanitize_address, align 2
@"symbolic Sd" = linkonce_odr hidden constant <{ [2 x i8], i8 }> <{ [2 x i8] c"Sd", i8 0 }>, section "swift5_typeref", no_sanitize_address, align 2
@0 = private constant [2 x i8] c"x\00", section "swift5_reflstr", no_sanitize_address
@1 = private constant [2 x i8] c"y\00", section "swift5_reflstr", no_sanitize_address
@"$s7llvm_O35PointVMF" = internal constant { i32, i32, i16, i16, i32, i32, i32, i32, i32, i32, i32 } { i32 trunc (i64 sub (i64 ptrtoint (<{ i8, i32, i8 }>* @"symbolic _____ 7llvm_O35PointV" to i64), i64 ptrtoint ({ i32, i32, i16, i16, i32, i32, i32, i32, i32, i32, i32 }* @"$s7llvm_O35PointVMF" to i64)) to i32), i32 0, i16 0, i16 12, i32 2, i32 2, i32 trunc (i64 sub (i64 ptrtoint (<{ [2 x i8], i8 }>* @"symbolic Sd" to i64), i64 ptrtoint (i32* getelementptr inbounds ({ i32, i32, i16, i16, i32, i32, i32, i32, i32, i32, i32 }, { i32, i32, i16, i16, i32, i32, i32, i32, i32, i32, i32 }* @"$s7llvm_O35PointVMF", i32 0, i32 6) to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([2 x i8]* @0 to i64), i64 ptrtoint (i32* getelementptr inbounds ({ i32, i32, i16, i16, i32, i32, i32, i32, i32, i32, i32 }, { i32, i32, i16, i16, i32, i32, i32, i32, i32, i32, i32 }* @"$s7llvm_O35PointVMF", i32 0, i32 7) to i64)) to i32), i32 2, i32 trunc (i64 sub (i64 ptrtoint (<{ [2 x i8], i8 }>* @"symbolic Sd" to i64), i64 ptrtoint (i32* getelementptr inbounds ({ i32, i32, i16, i16, i32, i32, i32, i32, i32, i32, i32 }, { i32, i32, i16, i16, i32, i32, i32, i32, i32, i32, i32 }* @"$s7llvm_O35PointVMF", i32 0, i32 9) to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([2 x i8]* @1 to i64), i64 ptrtoint (i32* getelementptr inbounds ({ i32, i32, i16, i16, i32, i32, i32, i32, i32, i32, i32 }, { i32, i32, i16, i16, i32, i32, i32, i32, i32, i32, i32 }* @"$s7llvm_O35PointVMF", i32 0, i32 10) to i64)) to i32) }, section "swift5_fieldmd", no_sanitize_address, align 4
@"$s7llvm_O35PointVHn" = private constant %swift.type_metadata_record { i32 trunc (i64 sub (i64 ptrtoint (<{ i32, i32, i32, i32, i32, i32, i32 }>* @"$s7llvm_O35PointVMn" to i64), i64 ptrtoint (%swift.type_metadata_record* @"$s7llvm_O35PointVHn" to i64)) to i32) }, section "swift5_type_metadata", no_sanitize_address, align 4
@__swift_reflection_version = linkonce_odr hidden constant i16 3
@_swift1_autolink_entries = private constant [172 x i8] c"-lFoundation\00-lswiftCore\00-lswift_StringProcessing\00-lswift_RegexParser\00-lswift_Concurrency\00-lswiftGlibc\00-lm\00-lpthread\00-lutil\00-ldl\00-lswiftDispatch\00-ldispatch\00-lBlocksRuntime\00", section ".swift1_autolink_entries", no_sanitize_address, align 8
@llvm.compiler.used = appending global [6 x i8*] [i8* bitcast ({ i32, i32 }* @"\01l_entry_point" to i8*), i8* bitcast (%swift.type_metadata_record* @"$s7llvm_O35PointVHn" to i8*), i8* bitcast ({ i32, i32, i16, i16, i32, i32, i32, i32, i32, i32, i32 }* @"$s7llvm_O35PointVMF" to i8*), i8* bitcast (i16* @__swift_reflection_version to i8*), i8* getelementptr inbounds ([172 x i8], [172 x i8]* @_swift1_autolink_entries, i32 0, i32 0), i8* bitcast (i32 (i32, i8**)* @main to i8*)], section "llvm.metadata"

@"$s7llvm_O35PointVN" = hidden alias %swift.type, bitcast (i64* getelementptr inbounds (<{ i8*, i8**, i64, <{ i32, i32, i32, i32, i32, i32, i32 }>*, i32, i32 }>, <{ i8*, i8**, i64, <{ i32, i32, i32, i32, i32, i32, i32 }>*, i32, i32 }>* @"$s7llvm_O35PointVMf", i32 0, i32 2) to %swift.type*)

define protected i32 @main(i32 %0, i8** nocapture readnone %1) #0 {
entry:
  %2 = alloca %TSS, align 8
  %3 = alloca %TSS, align 8
  %4 = alloca %TSS, align 8
  %5 = alloca %TSS, align 8
  %6 = alloca %TSS, align 8
  %7 = alloca %TSS, align 8
  %8 = alloca %Ts26DefaultStringInterpolationV, align 8
  %9 = alloca %Ts26DefaultStringInterpolationV, align 8
  %10 = alloca %Ts26DefaultStringInterpolationV, align 8
  %11 = alloca <2 x double>, align 16
  %12 = alloca %Ts26DefaultStringInterpolationV, align 8
  %13 = alloca <2 x double>, align 16
  store i8 0, i8* bitcast (%TSb* @"$s7llvm_O35DEBUGSbvp" to i8*), align 1
  %14 = tail call swiftcc { i64, i64 } @"$ss8readLine16strippingNewlineSSSgSb_tF"(i1 true)
  %15 = extractvalue { i64, i64 } %14, 1
  %16 = icmp eq i64 %15, 0
  br i1 %16, label %191, label %17

17:                                               ; preds = %entry
  %18 = extractvalue { i64, i64 } %14, 0
  %19 = inttoptr i64 %15 to %swift.bridge*
  %20 = bitcast %TSS* %2 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %20)
  %._guts._object._countAndFlagsBits._value = getelementptr inbounds %TSS, %TSS* %2, i64 0, i32 0, i32 0, i32 0, i32 0
  store i64 %18, i64* %._guts._object._countAndFlagsBits._value, align 8
  %._guts._object._object = getelementptr inbounds %TSS, %TSS* %2, i64 0, i32 0, i32 0, i32 1
  store %swift.bridge* %19, %swift.bridge** %._guts._object._object, align 8
  %21 = bitcast %TSS* %3 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %21)
  %._guts1._object._countAndFlagsBits._value = getelementptr inbounds %TSS, %TSS* %3, i64 0, i32 0, i32 0, i32 0, i32 0
  store i64 32, i64* %._guts1._object._countAndFlagsBits._value, align 8
  %._guts1._object._object = getelementptr inbounds %TSS, %TSS* %3, i64 0, i32 0, i32 0, i32 1
  store %swift.bridge* inttoptr (i64 -2233785415175766016 to %swift.bridge*), %swift.bridge** %._guts1._object._object, align 8
  %22 = bitcast %TSS* %3 to %swift.opaque*
  %23 = tail call i8** @"$sS2SSysWl"() #18
  %24 = bitcast %TSS* %2 to %swift.opaque*
  %25 = call swiftcc %Ts28__ContiguousArrayStorageBaseC* @"$sSy10FoundationE10components11separatedBySaySSGqd___tSyRd__lF"(%swift.opaque* noalias nocapture nonnull %22, %swift.type* nonnull @"$sSSN", %swift.type* nonnull @"$sSSN", i8** %23, i8** %23, %swift.opaque* noalias nocapture nonnull swiftself %24)
  tail call void @swift_bridgeObjectRelease(%swift.bridge* nonnull %19) #5
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %21)
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %20)
  store %Ts28__ContiguousArrayStorageBaseC* %25, %Ts28__ContiguousArrayStorageBaseC** getelementptr inbounds (%TSa, %TSa* @"$s7llvm_O35wordsSaySSGvp", i64 0, i32 0, i32 0), align 8
  %._storage.count._value = getelementptr inbounds %Ts28__ContiguousArrayStorageBaseC, %Ts28__ContiguousArrayStorageBaseC* %25, i64 0, i32 1, i32 0, i32 0, i32 0
  %26 = load i64, i64* %._storage.count._value, align 8, !range !6
  %.not = icmp eq i64 %26, 0
  br i1 %.not, label %192, label %27, !prof !7

27:                                               ; preds = %17
  %28 = getelementptr inbounds %Ts28__ContiguousArrayStorageBaseC, %Ts28__ContiguousArrayStorageBaseC* %25, i64 1
  %tailaddr._guts._object._countAndFlagsBits._value = bitcast %Ts28__ContiguousArrayStorageBaseC* %28 to i64*
  %29 = load i64, i64* %tailaddr._guts._object._countAndFlagsBits._value, align 8
  %tailaddr._guts._object._object = getelementptr inbounds %Ts28__ContiguousArrayStorageBaseC, %Ts28__ContiguousArrayStorageBaseC* %25, i64 1, i32 0, i32 1
  %30 = bitcast i64* %tailaddr._guts._object._object to %swift.bridge**
  %31 = load %swift.bridge*, %swift.bridge** %30, align 8
  %32 = bitcast %TSS* %4 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %32)
  %._guts2._object._countAndFlagsBits._value = getelementptr inbounds %TSS, %TSS* %4, i64 0, i32 0, i32 0, i32 0, i32 0
  store i64 %29, i64* %._guts2._object._countAndFlagsBits._value, align 8
  %._guts2._object._object = getelementptr inbounds %TSS, %TSS* %4, i64 0, i32 0, i32 0, i32 1
  store %swift.bridge* %31, %swift.bridge** %._guts2._object._object, align 8
  %33 = bitcast %TSS* %4 to %swift.opaque*
  %34 = tail call %swift.bridge* @swift_bridgeObjectRetain(%swift.bridge* returned %31) #5
  %35 = call swiftcc { i64, i64, i64, %swift.bridge* } @"$sSsySsxcSTRzSJ7ElementRtzlufC"(%swift.opaque* noalias nocapture nonnull %33, %swift.type* nonnull @"$sSSN", i8** nonnull @"$sSSSTsWP")
  %36 = extractvalue { i64, i64, i64, %swift.bridge* } %35, 0
  %37 = extractvalue { i64, i64, i64, %swift.bridge* } %35, 1
  %38 = extractvalue { i64, i64, i64, %swift.bridge* } %35, 2
  %39 = extractvalue { i64, i64, i64, %swift.bridge* } %35, 3
  %40 = tail call swiftcc { i64, i8 } @"$sSdySdSgSscfC"(i64 %36, i64 %37, i64 %38, %swift.bridge* %39)
  %41 = extractvalue { i64, i8 } %40, 1
  %42 = and i8 %41, 1
  %.not32 = icmp eq i8 %42, 0
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %32)
  br i1 %.not32, label %43, label %193

43:                                               ; preds = %27
  %44 = extractvalue { i64, i8 } %40, 0
  store i64 %44, i64* bitcast (%TSd* @"$s7llvm_O31ASdvp" to i64*), align 8
  %45 = load %Ts28__ContiguousArrayStorageBaseC*, %Ts28__ContiguousArrayStorageBaseC** getelementptr inbounds (%TSa, %TSa* @"$s7llvm_O35wordsSaySSGvp", i64 0, i32 0, i32 0), align 8
  %._storage3.count._value = getelementptr inbounds %Ts28__ContiguousArrayStorageBaseC, %Ts28__ContiguousArrayStorageBaseC* %45, i64 0, i32 1, i32 0, i32 0, i32 0
  %46 = load i64, i64* %._storage3.count._value, align 8, !range !6
  %47 = icmp ult i64 %46, 2
  br i1 %47, label %194, label %48, !prof !7

48:                                               ; preds = %43
  %._guts5._object._countAndFlagsBits._value = getelementptr inbounds %Ts28__ContiguousArrayStorageBaseC, %Ts28__ContiguousArrayStorageBaseC* %45, i64 1, i32 1, i32 0, i32 0, i32 0
  %49 = load i64, i64* %._guts5._object._countAndFlagsBits._value, align 8
  %._guts5._object._object = getelementptr inbounds %Ts28__ContiguousArrayStorageBaseC, %Ts28__ContiguousArrayStorageBaseC* %45, i64 1, i32 1, i32 0, i32 1
  %50 = bitcast %TSu* %._guts5._object._object to %swift.bridge**
  %51 = load %swift.bridge*, %swift.bridge** %50, align 8
  %52 = bitcast %TSS* %5 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %52)
  %._guts6._object._countAndFlagsBits._value = getelementptr inbounds %TSS, %TSS* %5, i64 0, i32 0, i32 0, i32 0, i32 0
  store i64 %49, i64* %._guts6._object._countAndFlagsBits._value, align 8
  %._guts6._object._object = getelementptr inbounds %TSS, %TSS* %5, i64 0, i32 0, i32 0, i32 1
  store %swift.bridge* %51, %swift.bridge** %._guts6._object._object, align 8
  %53 = bitcast %TSS* %5 to %swift.opaque*
  %54 = tail call %swift.bridge* @swift_bridgeObjectRetain(%swift.bridge* returned %51) #5
  %55 = call swiftcc { i64, i64, i64, %swift.bridge* } @"$sSsySsxcSTRzSJ7ElementRtzlufC"(%swift.opaque* noalias nocapture nonnull %53, %swift.type* nonnull @"$sSSN", i8** nonnull @"$sSSSTsWP")
  %56 = extractvalue { i64, i64, i64, %swift.bridge* } %55, 0
  %57 = extractvalue { i64, i64, i64, %swift.bridge* } %55, 1
  %58 = extractvalue { i64, i64, i64, %swift.bridge* } %55, 2
  %59 = extractvalue { i64, i64, i64, %swift.bridge* } %55, 3
  %60 = tail call swiftcc { i64, i8 } @"$sSdySdSgSscfC"(i64 %56, i64 %57, i64 %58, %swift.bridge* %59)
  %61 = extractvalue { i64, i8 } %60, 1
  %62 = and i8 %61, 1
  %.not33 = icmp eq i8 %62, 0
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %52)
  br i1 %.not33, label %63, label %195

63:                                               ; preds = %48
  %64 = extractvalue { i64, i8 } %60, 0
  store i64 %64, i64* bitcast (%TSd* @"$s7llvm_O31BSdvp" to i64*), align 8
  %65 = load %Ts28__ContiguousArrayStorageBaseC*, %Ts28__ContiguousArrayStorageBaseC** getelementptr inbounds (%TSa, %TSa* @"$s7llvm_O35wordsSaySSGvp", i64 0, i32 0, i32 0), align 8
  %._storage7.count._value = getelementptr inbounds %Ts28__ContiguousArrayStorageBaseC, %Ts28__ContiguousArrayStorageBaseC* %65, i64 0, i32 1, i32 0, i32 0, i32 0
  %66 = load i64, i64* %._storage7.count._value, align 8, !range !6
  %67 = icmp ult i64 %66, 3
  br i1 %67, label %196, label %68, !prof !7

68:                                               ; preds = %63
  %69 = getelementptr inbounds %Ts28__ContiguousArrayStorageBaseC, %Ts28__ContiguousArrayStorageBaseC* %65, i64 2
  %._guts9._object._countAndFlagsBits._value = bitcast %Ts28__ContiguousArrayStorageBaseC* %69 to i64*
  %70 = load i64, i64* %._guts9._object._countAndFlagsBits._value, align 8
  %._guts9._object._object = getelementptr inbounds %Ts28__ContiguousArrayStorageBaseC, %Ts28__ContiguousArrayStorageBaseC* %65, i64 2, i32 0, i32 1
  %71 = bitcast i64* %._guts9._object._object to %swift.bridge**
  %72 = load %swift.bridge*, %swift.bridge** %71, align 8
  %73 = bitcast %TSS* %6 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %73)
  %._guts10._object._countAndFlagsBits._value = getelementptr inbounds %TSS, %TSS* %6, i64 0, i32 0, i32 0, i32 0, i32 0
  store i64 %70, i64* %._guts10._object._countAndFlagsBits._value, align 8
  %._guts10._object._object = getelementptr inbounds %TSS, %TSS* %6, i64 0, i32 0, i32 0, i32 1
  store %swift.bridge* %72, %swift.bridge** %._guts10._object._object, align 8
  %74 = bitcast %TSS* %6 to %swift.opaque*
  %75 = tail call %swift.bridge* @swift_bridgeObjectRetain(%swift.bridge* returned %72) #5
  %76 = call swiftcc { i64, i64, i64, %swift.bridge* } @"$sSsySsxcSTRzSJ7ElementRtzlufC"(%swift.opaque* noalias nocapture nonnull %74, %swift.type* nonnull @"$sSSN", i8** nonnull @"$sSSSTsWP")
  %77 = extractvalue { i64, i64, i64, %swift.bridge* } %76, 0
  %78 = extractvalue { i64, i64, i64, %swift.bridge* } %76, 1
  %79 = extractvalue { i64, i64, i64, %swift.bridge* } %76, 2
  %80 = extractvalue { i64, i64, i64, %swift.bridge* } %76, 3
  %81 = tail call swiftcc { i64, i8 } @"$sSdySdSgSscfC"(i64 %77, i64 %78, i64 %79, %swift.bridge* %80)
  %82 = extractvalue { i64, i8 } %81, 1
  %83 = and i8 %82, 1
  %.not34 = icmp eq i8 %83, 0
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %73)
  br i1 %.not34, label %84, label %197

84:                                               ; preds = %68
  %85 = extractvalue { i64, i8 } %81, 0
  store i64 %85, i64* bitcast (%TSd* @"$s7llvm_O31HSdvp" to i64*), align 8
  %86 = load %Ts28__ContiguousArrayStorageBaseC*, %Ts28__ContiguousArrayStorageBaseC** getelementptr inbounds (%TSa, %TSa* @"$s7llvm_O35wordsSaySSGvp", i64 0, i32 0, i32 0), align 8
  %._storage11.count._value = getelementptr inbounds %Ts28__ContiguousArrayStorageBaseC, %Ts28__ContiguousArrayStorageBaseC* %86, i64 0, i32 1, i32 0, i32 0, i32 0
  %87 = load i64, i64* %._storage11.count._value, align 8, !range !6
  %88 = icmp ult i64 %87, 4
  br i1 %88, label %198, label %89, !prof !7

89:                                               ; preds = %84
  %._guts13._object._countAndFlagsBits._value = getelementptr inbounds %Ts28__ContiguousArrayStorageBaseC, %Ts28__ContiguousArrayStorageBaseC* %86, i64 2, i32 1, i32 0, i32 0, i32 0
  %90 = load i64, i64* %._guts13._object._countAndFlagsBits._value, align 8
  %._guts13._object._object = getelementptr inbounds %Ts28__ContiguousArrayStorageBaseC, %Ts28__ContiguousArrayStorageBaseC* %86, i64 2, i32 1, i32 0, i32 1
  %91 = bitcast %TSu* %._guts13._object._object to %swift.bridge**
  %92 = load %swift.bridge*, %swift.bridge** %91, align 8
  %93 = bitcast %TSS* %7 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %93)
  %._guts14._object._countAndFlagsBits._value = getelementptr inbounds %TSS, %TSS* %7, i64 0, i32 0, i32 0, i32 0, i32 0
  store i64 %90, i64* %._guts14._object._countAndFlagsBits._value, align 8
  %._guts14._object._object = getelementptr inbounds %TSS, %TSS* %7, i64 0, i32 0, i32 0, i32 1
  store %swift.bridge* %92, %swift.bridge** %._guts14._object._object, align 8
  %94 = bitcast %TSS* %7 to %swift.opaque*
  %95 = tail call %swift.bridge* @swift_bridgeObjectRetain(%swift.bridge* returned %92) #5
  %96 = call swiftcc { i64, i64, i64, %swift.bridge* } @"$sSsySsxcSTRzSJ7ElementRtzlufC"(%swift.opaque* noalias nocapture nonnull %94, %swift.type* nonnull @"$sSSN", i8** nonnull @"$sSSSTsWP")
  %97 = extractvalue { i64, i64, i64, %swift.bridge* } %96, 0
  %98 = extractvalue { i64, i64, i64, %swift.bridge* } %96, 1
  %99 = extractvalue { i64, i64, i64, %swift.bridge* } %96, 2
  %100 = extractvalue { i64, i64, i64, %swift.bridge* } %96, 3
  %101 = tail call swiftcc { i64, i8 } @"$sSdySdSgSscfC"(i64 %97, i64 %98, i64 %99, %swift.bridge* %100)
  %102 = extractvalue { i64, i8 } %101, 1
  %103 = and i8 %102, 1
  %.not35 = icmp eq i8 %103, 0
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %93)
  br i1 %.not35, label %104, label %199

104:                                              ; preds = %89
  %105 = extractvalue { i64, i8 } %101, 0
  %106 = bitcast i64 %105 to double
  store i64 %105, i64* bitcast (%TSd* @"$s7llvm_O31MSdvp" to i64*), align 8
  %107 = bitcast %Ts26DefaultStringInterpolationV* %8 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %107)
  %._storage16 = getelementptr inbounds %Ts26DefaultStringInterpolationV, %Ts26DefaultStringInterpolationV* %8, i64 0, i32 0
  %._storage16._guts._object._countAndFlagsBits._value = getelementptr inbounds %Ts26DefaultStringInterpolationV, %Ts26DefaultStringInterpolationV* %8, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0
  store i64 0, i64* %._storage16._guts._object._countAndFlagsBits._value, align 8
  %._storage16._guts._object._object = getelementptr inbounds %Ts26DefaultStringInterpolationV, %Ts26DefaultStringInterpolationV* %8, i64 0, i32 0, i32 0, i32 0, i32 1
  store %swift.bridge* inttoptr (i64 -2305843009213693952 to %swift.bridge*), %swift.bridge** %._storage16._guts._object._object, align 8
  %108 = load double, double* getelementptr inbounds (%TSd, %TSd* @"$s7llvm_O31ASdvp", i64 0, i32 0), align 8
  %109 = bitcast %Ts26DefaultStringInterpolationV* %8 to %swift.opaque*
  call swiftcc void @"$sSd5write2toyxz_ts16TextOutputStreamRzlF"(%swift.opaque* nocapture nonnull %109, double %108, %swift.type* nonnull @"$ss26DefaultStringInterpolationVN", i8** nonnull @"$ss26DefaultStringInterpolationVs16TextOutputStreamsWP")
  call swiftcc void @"$sSS6appendyySSF"(i64 32, %swift.bridge* nonnull inttoptr (i64 -2233785415175766016 to %swift.bridge*), %TSS* nocapture nonnull swiftself dereferenceable(16) %._storage16)
  %110 = load double, double* getelementptr inbounds (%TSd, %TSd* @"$s7llvm_O31BSdvp", i64 0, i32 0), align 8
  call swiftcc void @"$sSd5write2toyxz_ts16TextOutputStreamRzlF"(%swift.opaque* nocapture nonnull %109, double %110, %swift.type* nonnull @"$ss26DefaultStringInterpolationVN", i8** nonnull @"$ss26DefaultStringInterpolationVs16TextOutputStreamsWP")
  call swiftcc void @"$sSS6appendyySSF"(i64 32, %swift.bridge* nonnull inttoptr (i64 -2233785415175766016 to %swift.bridge*), %TSS* nocapture nonnull swiftself dereferenceable(16) %._storage16)
  %111 = load double, double* getelementptr inbounds (%TSd, %TSd* @"$s7llvm_O31HSdvp", i64 0, i32 0), align 8
  call swiftcc void @"$sSd5write2toyxz_ts16TextOutputStreamRzlF"(%swift.opaque* nocapture nonnull %109, double %111, %swift.type* nonnull @"$ss26DefaultStringInterpolationVN", i8** nonnull @"$ss26DefaultStringInterpolationVs16TextOutputStreamsWP")
  call swiftcc void @"$sSS6appendyySSF"(i64 32, %swift.bridge* nonnull inttoptr (i64 -2233785415175766016 to %swift.bridge*), %TSS* nocapture nonnull swiftself dereferenceable(16) %._storage16)
  call swiftcc void @"$sSd5write2toyxz_ts16TextOutputStreamRzlF"(%swift.opaque* nocapture nonnull %109, double %106, %swift.type* nonnull @"$ss26DefaultStringInterpolationVN", i8** nonnull @"$ss26DefaultStringInterpolationVs16TextOutputStreamsWP")
  %112 = load %swift.bridge*, %swift.bridge** %._storage16._guts._object._object, align 8
  tail call void @swift_bridgeObjectRelease(%swift.bridge* %112) #5
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %107)
  %113 = load double, double* getelementptr inbounds (%TSd, %TSd* @"$s7llvm_O31HSdvp", i64 0, i32 0), align 8
  %114 = fmul double %113, 3.000000e+01
  %115 = load double, double* getelementptr inbounds (%TSd, %TSd* @"$s7llvm_O31MSdvp", i64 0, i32 0), align 8
  %116 = fmul double %115, 5.000000e-01
  %117 = fadd double %114, %116
  store double %117, double* getelementptr inbounds (%TSd, %TSd* @"$s7llvm_O37angle_aSdvp", i64 0, i32 0), align 8
  %118 = fmul double %115, 6.000000e+00
  store double %118, double* getelementptr inbounds (%TSd, %TSd* @"$s7llvm_O37angle_bSdvp", i64 0, i32 0), align 8
  %119 = bitcast %Ts26DefaultStringInterpolationV* %9 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %119)
  %._storage18 = getelementptr inbounds %Ts26DefaultStringInterpolationV, %Ts26DefaultStringInterpolationV* %9, i64 0, i32 0
  %._storage18._guts._object._countAndFlagsBits._value = getelementptr inbounds %Ts26DefaultStringInterpolationV, %Ts26DefaultStringInterpolationV* %9, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0
  store i64 0, i64* %._storage18._guts._object._countAndFlagsBits._value, align 8
  %._storage18._guts._object._object = getelementptr inbounds %Ts26DefaultStringInterpolationV, %Ts26DefaultStringInterpolationV* %9, i64 0, i32 0, i32 0, i32 0, i32 1
  store %swift.bridge* inttoptr (i64 -2305843009213693952 to %swift.bridge*), %swift.bridge** %._storage18._guts._object._object, align 8
  %120 = bitcast %Ts26DefaultStringInterpolationV* %9 to %swift.opaque*
  call swiftcc void @"$sSd5write2toyxz_ts16TextOutputStreamRzlF"(%swift.opaque* nocapture nonnull %120, double %117, %swift.type* nonnull @"$ss26DefaultStringInterpolationVN", i8** nonnull @"$ss26DefaultStringInterpolationVs16TextOutputStreamsWP")
  call swiftcc void @"$sSS6appendyySSF"(i64 32, %swift.bridge* nonnull inttoptr (i64 -2233785415175766016 to %swift.bridge*), %TSS* nocapture nonnull swiftself dereferenceable(16) %._storage18)
  call swiftcc void @"$sSd5write2toyxz_ts16TextOutputStreamRzlF"(%swift.opaque* nocapture nonnull %120, double %118, %swift.type* nonnull @"$ss26DefaultStringInterpolationVN", i8** nonnull @"$ss26DefaultStringInterpolationVs16TextOutputStreamsWP")
  %121 = load %swift.bridge*, %swift.bridge** %._storage18._guts._object._object, align 8
  tail call void @swift_bridgeObjectRelease(%swift.bridge* %121) #5
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %119)
  %122 = load double, double* getelementptr inbounds (%TSd, %TSd* @"$s7llvm_O31ASdvp", i64 0, i32 0), align 8
  %123 = load double, double* getelementptr inbounds (%TSd, %TSd* @"$s7llvm_O37angle_aSdvp", i64 0, i32 0), align 8
  %124 = fmul double %123, 0x400921FB54442D18
  %125 = fdiv double %124, 1.800000e+02
  %126 = tail call double @cos(double %125)
  %127 = tail call double @sin(double %125)
  %128 = tail call double @sin(double %125)
  %129 = insertelement <2 x double> poison, double %126, i64 0
  %130 = insertelement <2 x double> %129, double %128, i64 1
  %131 = fmul <2 x double> %130, zeroinitializer
  %132 = tail call double @cos(double %125)
  %133 = insertelement <2 x double> poison, double %122, i64 0
  %134 = shufflevector <2 x double> %133, <2 x double> poison, <2 x i32> zeroinitializer
  %135 = insertelement <2 x double> poison, double %127, i64 0
  %136 = insertelement <2 x double> %135, double %132, i64 1
  %137 = fmul <2 x double> %134, %136
  %138 = fsub <2 x double> %131, %137
  %139 = fadd <2 x double> %131, %137
  %140 = shufflevector <2 x double> %138, <2 x double> %139, <2 x i32> <i32 0, i32 3>
  store <2 x double> %140, <2 x double>* bitcast (%T7llvm_O35PointV* @"$s7llvm_O32naAA5PointVvp" to <2 x double>*), align 16
  %141 = load double, double* getelementptr inbounds (%TSd, %TSd* @"$s7llvm_O31BSdvp", i64 0, i32 0), align 8
  %142 = load double, double* getelementptr inbounds (%TSd, %TSd* @"$s7llvm_O37angle_bSdvp", i64 0, i32 0), align 8
  %143 = fmul double %142, 0x400921FB54442D18
  %144 = fdiv double %143, 1.800000e+02
  %145 = tail call double @cos(double %144)
  %146 = tail call double @sin(double %144)
  %147 = tail call double @sin(double %144)
  %148 = insertelement <2 x double> poison, double %145, i64 0
  %149 = insertelement <2 x double> %148, double %147, i64 1
  %150 = fmul <2 x double> %149, zeroinitializer
  %151 = tail call double @cos(double %144)
  %152 = insertelement <2 x double> poison, double %141, i64 0
  %153 = shufflevector <2 x double> %152, <2 x double> poison, <2 x i32> zeroinitializer
  %154 = insertelement <2 x double> poison, double %146, i64 0
  %155 = insertelement <2 x double> %154, double %151, i64 1
  %156 = fmul <2 x double> %153, %155
  %157 = fsub <2 x double> %150, %156
  %158 = fadd <2 x double> %150, %156
  %159 = shufflevector <2 x double> %157, <2 x double> %158, <2 x i32> <i32 0, i32 3>
  store <2 x double> %159, <2 x double>* bitcast (%T7llvm_O35PointV* @"$s7llvm_O32nbAA5PointVvp" to <2 x double>*), align 16
  %160 = bitcast %Ts26DefaultStringInterpolationV* %10 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %160)
  %._storage20 = getelementptr inbounds %Ts26DefaultStringInterpolationV, %Ts26DefaultStringInterpolationV* %10, i64 0, i32 0
  %._storage20._guts._object._countAndFlagsBits._value = getelementptr inbounds %Ts26DefaultStringInterpolationV, %Ts26DefaultStringInterpolationV* %10, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0
  store i64 0, i64* %._storage20._guts._object._countAndFlagsBits._value, align 8
  %._storage20._guts._object._object = getelementptr inbounds %Ts26DefaultStringInterpolationV, %Ts26DefaultStringInterpolationV* %10, i64 0, i32 0, i32 0, i32 0, i32 1
  store %swift.bridge* inttoptr (i64 -2305843009213693952 to %swift.bridge*), %swift.bridge** %._storage20._guts._object._object, align 8
  call swiftcc void @"$sSS6appendyySSF"(i64 540696942, %swift.bridge* nonnull inttoptr (i64 -2017612633061982208 to %swift.bridge*), %TSS* nocapture nonnull swiftself dereferenceable(16) %._storage20)
  %161 = bitcast <2 x double>* %11 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %161)
  %162 = load <2 x double>, <2 x double>* bitcast (%T7llvm_O35PointV* @"$s7llvm_O32naAA5PointVvp" to <2 x double>*), align 16
  store <2 x double> %162, <2 x double>* %11, align 16
  %163 = bitcast <2 x double>* %11 to %swift.opaque*
  %164 = bitcast %Ts26DefaultStringInterpolationV* %10 to %swift.opaque*
  call swiftcc void @"$ss15_print_unlockedyyx_q_zts16TextOutputStreamR_r0_lF"(%swift.opaque* noalias nocapture nonnull %163, %swift.opaque* nocapture nonnull %164, %swift.type* nonnull bitcast (i64* getelementptr inbounds (<{ i8*, i8**, i64, <{ i32, i32, i32, i32, i32, i32, i32 }>*, i32, i32 }>, <{ i8*, i8**, i64, <{ i32, i32, i32, i32, i32, i32, i32 }>*, i32, i32 }>* @"$s7llvm_O35PointVMf", i64 0, i32 2) to %swift.type*), %swift.type* nonnull @"$ss26DefaultStringInterpolationVN", i8** nonnull @"$ss26DefaultStringInterpolationVs16TextOutputStreamsWP")
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %161)
  %165 = load %swift.bridge*, %swift.bridge** %._storage20._guts._object._object, align 8
  tail call void @swift_bridgeObjectRelease(%swift.bridge* %165) #5
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %160)
  %166 = bitcast %Ts26DefaultStringInterpolationV* %12 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %166)
  %._storage23 = getelementptr inbounds %Ts26DefaultStringInterpolationV, %Ts26DefaultStringInterpolationV* %12, i64 0, i32 0
  %._storage23._guts._object._countAndFlagsBits._value = getelementptr inbounds %Ts26DefaultStringInterpolationV, %Ts26DefaultStringInterpolationV* %12, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0
  store i64 0, i64* %._storage23._guts._object._countAndFlagsBits._value, align 8
  %._storage23._guts._object._object = getelementptr inbounds %Ts26DefaultStringInterpolationV, %Ts26DefaultStringInterpolationV* %12, i64 0, i32 0, i32 0, i32 0, i32 1
  store %swift.bridge* inttoptr (i64 -2305843009213693952 to %swift.bridge*), %swift.bridge** %._storage23._guts._object._object, align 8
  call swiftcc void @"$sSS6appendyySSF"(i64 540697198, %swift.bridge* nonnull inttoptr (i64 -2017612633061982208 to %swift.bridge*), %TSS* nocapture nonnull swiftself dereferenceable(16) %._storage23)
  %167 = bitcast <2 x double>* %13 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %167)
  %168 = load <2 x double>, <2 x double>* bitcast (%T7llvm_O35PointV* @"$s7llvm_O32nbAA5PointVvp" to <2 x double>*), align 16
  store <2 x double> %168, <2 x double>* %13, align 16
  %169 = bitcast <2 x double>* %13 to %swift.opaque*
  %170 = bitcast %Ts26DefaultStringInterpolationV* %12 to %swift.opaque*
  call swiftcc void @"$ss15_print_unlockedyyx_q_zts16TextOutputStreamR_r0_lF"(%swift.opaque* noalias nocapture nonnull %169, %swift.opaque* nocapture nonnull %170, %swift.type* nonnull bitcast (i64* getelementptr inbounds (<{ i8*, i8**, i64, <{ i32, i32, i32, i32, i32, i32, i32 }>*, i32, i32 }>, <{ i8*, i8**, i64, <{ i32, i32, i32, i32, i32, i32, i32 }>*, i32, i32 }>* @"$s7llvm_O35PointVMf", i64 0, i32 2) to %swift.type*), %swift.type* nonnull @"$ss26DefaultStringInterpolationVN", i8** nonnull @"$ss26DefaultStringInterpolationVs16TextOutputStreamsWP")
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %167)
  %171 = load %swift.bridge*, %swift.bridge** %._storage23._guts._object._object, align 8
  tail call void @swift_bridgeObjectRelease(%swift.bridge* %171) #5
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %166)
  %172 = load double, double* getelementptr inbounds (%T7llvm_O35PointV, %T7llvm_O35PointV* @"$s7llvm_O32naAA5PointVvp", i64 0, i32 0, i32 0), align 16
  %173 = load double, double* getelementptr inbounds (%T7llvm_O35PointV, %T7llvm_O35PointV* @"$s7llvm_O32nbAA5PointVvp", i64 0, i32 0, i32 0), align 16
  %174 = fsub double %172, %173
  %175 = tail call double @llvm.fabs.f64(double %174)
  store double %175, double* getelementptr inbounds (%TSd, %TSd* @"$s7llvm_O32dxSdvp", i64 0, i32 0), align 8
  %176 = load double, double* getelementptr inbounds (%T7llvm_O35PointV, %T7llvm_O35PointV* @"$s7llvm_O32naAA5PointVvp", i64 0, i32 1, i32 0), align 8
  %177 = load double, double* getelementptr inbounds (%T7llvm_O35PointV, %T7llvm_O35PointV* @"$s7llvm_O32nbAA5PointVvp", i64 0, i32 1, i32 0), align 8
  %178 = fsub double %176, %177
  %179 = tail call double @llvm.fabs.f64(double %178)
  store double %179, double* getelementptr inbounds (%TSd, %TSd* @"$s7llvm_O32dySdvp", i64 0, i32 0), align 8
  %180 = fmul double %174, %174
  %181 = fmul double %178, %178
  %182 = fadd double %180, %181
  %183 = tail call double @sqrt(double %182)
  store double %183, double* getelementptr inbounds (%TSd, %TSd* @"$s7llvm_O32dcSdvp", i64 0, i32 0), align 8
  %184 = tail call %swift.type* @__swift_instantiateConcreteTypeFromMangledName({ i32, i32 }* nonnull @"$ss23_ContiguousArrayStorageCyypGMD") #19
  %185 = tail call noalias %swift.refcounted* @swift_allocObject(%swift.type* %184, i64 64, i64 7) #5
  %186 = bitcast %swift.refcounted* %185 to %Ts28__ContiguousArrayStorageBaseC*
  %187 = getelementptr inbounds %swift.refcounted, %swift.refcounted* %185, i64 1
  %._storage27.count._value = bitcast %swift.refcounted* %187 to i64*
  store i64 1, i64* %._storage27.count._value, align 8
  %._storage27._capacityAndFlags = getelementptr inbounds %swift.refcounted, %swift.refcounted* %185, i64 1, i32 1
  store i64 2, i64* %._storage27._capacityAndFlags, align 8
  %188 = getelementptr inbounds %swift.refcounted, %swift.refcounted* %185, i64 2
  %189 = getelementptr inbounds %swift.refcounted, %swift.refcounted* %185, i64 3, i32 1
  %190 = bitcast i64* %189 to %swift.type**
  store %swift.type* @"$sSdN", %swift.type** %190, align 8
  %._value = bitcast %swift.refcounted* %188 to double*
  store double %183, double* %._value, align 8
  tail call swiftcc void @"$ss5print_9separator10terminatoryypd_S2StF"(%Ts28__ContiguousArrayStorageBaseC* %186, i64 32, %swift.bridge* nonnull inttoptr (i64 -2233785415175766016 to %swift.bridge*), i64 10, %swift.bridge* nonnull inttoptr (i64 -2233785415175766016 to %swift.bridge*))
  tail call void @swift_release(%swift.refcounted* %185) #5
  ret i32 0

191:                                              ; preds = %entry
  tail call void asm sideeffect "", "n"(i32 0) #5
  tail call void @llvm.trap()
  unreachable

192:                                              ; preds = %17
  tail call void asm sideeffect "", "n"(i32 1) #5
  tail call void @llvm.trap()
  unreachable

193:                                              ; preds = %27
  tail call void asm sideeffect "", "n"(i32 2) #5
  tail call void @llvm.trap()
  unreachable

194:                                              ; preds = %43
  tail call void asm sideeffect "", "n"(i32 3) #5
  tail call void @llvm.trap()
  unreachable

195:                                              ; preds = %48
  tail call void asm sideeffect "", "n"(i32 4) #5
  tail call void @llvm.trap()
  unreachable

196:                                              ; preds = %63
  tail call void asm sideeffect "", "n"(i32 5) #5
  tail call void @llvm.trap()
  unreachable

197:                                              ; preds = %68
  tail call void asm sideeffect "", "n"(i32 6) #5
  tail call void @llvm.trap()
  unreachable

198:                                              ; preds = %84
  tail call void asm sideeffect "", "n"(i32 7) #5
  tail call void @llvm.trap()
  unreachable

199:                                              ; preds = %89
  tail call void asm sideeffect "", "n"(i32 8) #5
  tail call void @llvm.trap()
  unreachable
}

declare swiftcc { i64, i64 } @"$ss8readLine16strippingNewlineSSSgSb_tF"(i1) local_unnamed_addr #0

; Function Attrs: cold noreturn nounwind
declare void @llvm.trap() #1

; Function Attrs: argmemonly mustprogress nocallback nofree nosync nounwind willreturn
declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture) #2

; Function Attrs: argmemonly mustprogress nocallback nofree nosync nounwind willreturn
declare void @llvm.lifetime.end.p0i8(i64 immarg, i8* nocapture) #2

declare swiftcc %Ts28__ContiguousArrayStorageBaseC* @"$sSy10FoundationE10components11separatedBySaySSGqd___tSyRd__lF"(%swift.opaque* noalias nocapture, %swift.type*, %swift.type*, i8**, i8**, %swift.opaque* noalias nocapture swiftself) local_unnamed_addr #0

; Function Attrs: nofree noinline nosync nounwind readnone
define linkonce_odr hidden i8** @"$sS2SSysWl"() local_unnamed_addr #3 {
entry:
  %0 = load i8**, i8*** @"$sS2SSysWL", align 8
  %1 = icmp eq i8** %0, null
  br i1 %1, label %cacheIsNull, label %cont

cacheIsNull:                                      ; preds = %entry
  %2 = tail call i8** @swift_getWitnessTable(%swift.protocol_conformance_descriptor* nonnull @"$sSSSysMc", %swift.type* nonnull @"$sSSN", i8*** undef) #19
  store atomic i8** %2, i8*** @"$sS2SSysWL" release, align 8
  br label %cont

cont:                                             ; preds = %cacheIsNull, %entry
  %3 = phi i8** [ %0, %entry ], [ %2, %cacheIsNull ]
  ret i8** %3
}

; Function Attrs: nofree nounwind readonly
declare i8** @swift_getWitnessTable(%swift.protocol_conformance_descriptor*, %swift.type*, i8***) local_unnamed_addr #4

; Function Attrs: nounwind
declare void @swift_bridgeObjectRelease(%swift.bridge*) local_unnamed_addr #5

declare swiftcc { i64, i64, i64, %swift.bridge* } @"$sSsySsxcSTRzSJ7ElementRtzlufC"(%swift.opaque* noalias nocapture, %swift.type*, i8**) local_unnamed_addr #0

; Function Attrs: nounwind
declare %swift.bridge* @swift_bridgeObjectRetain(%swift.bridge* returned) local_unnamed_addr #5

declare swiftcc { i64, i8 } @"$sSdySdSgSscfC"(i64, i64, i64, %swift.bridge*) local_unnamed_addr #0

declare swiftcc void @"$sSS6appendyySSF"(i64, %swift.bridge*, %TSS* nocapture swiftself dereferenceable(16)) local_unnamed_addr #0

declare swiftcc void @"$sSd5write2toyxz_ts16TextOutputStreamRzlF"(%swift.opaque* nocapture, double, %swift.type*, i8**) local_unnamed_addr #0

; Function Attrs: mustprogress nofree nounwind optsize willreturn writeonly
declare double @cos(double noundef) local_unnamed_addr #6

; Function Attrs: mustprogress nofree nounwind optsize willreturn writeonly
declare double @sin(double noundef) local_unnamed_addr #6

declare swiftcc void @"$ss15_print_unlockedyyx_q_zts16TextOutputStreamR_r0_lF"(%swift.opaque* noalias nocapture, %swift.opaque* nocapture, %swift.type*, %swift.type*, i8**) local_unnamed_addr #0

; Function Attrs: mustprogress nocallback nofree nosync nounwind readnone speculatable willreturn
declare double @llvm.fabs.f64(double) #7

; Function Attrs: mustprogress nofree nounwind optsize willreturn writeonly
declare double @sqrt(double noundef) local_unnamed_addr #6

; Function Attrs: mustprogress nofree noinline nounwind readonly willreturn
define linkonce_odr hidden %swift.type* @__swift_instantiateConcreteTypeFromMangledName({ i32, i32 }* %0) local_unnamed_addr #8 {
entry:
  %1 = bitcast { i32, i32 }* %0 to i64*
  %2 = load atomic i64, i64* %1 monotonic, align 8
  %3 = icmp slt i64 %2, 0
  br i1 %3, label %7, label %4, !prof !7

4:                                                ; preds = %7, %entry
  %5 = phi i64 [ %2, %entry ], [ %15, %7 ]
  %6 = inttoptr i64 %5 to %swift.type*
  ret %swift.type* %6

7:                                                ; preds = %entry
  %8 = ashr i64 %2, 32
  %9 = sub nsw i64 0, %8
  %sext = shl i64 %2, 32
  %10 = ashr exact i64 %sext, 32
  %11 = ptrtoint { i32, i32 }* %0 to i64
  %12 = add i64 %10, %11
  %13 = inttoptr i64 %12 to i8*
  %14 = tail call swiftcc %swift.type* @swift_getTypeByMangledNameInContext2(i8* %13, i64 %9, %swift.type_descriptor* null, i8** null) #20
  %15 = ptrtoint %swift.type* %14 to i64
  store atomic i64 %15, i64* %1 monotonic, align 8
  br label %4
}

; Function Attrs: argmemonly nounwind
declare swiftcc %swift.type* @swift_getTypeByMangledNameInContext2(i8*, i64, %swift.type_descriptor*, i8**) local_unnamed_addr #9

; Function Attrs: nounwind
declare %swift.refcounted* @swift_allocObject(%swift.type*, i64, i64) local_unnamed_addr #5

declare swiftcc void @"$ss5print_9separator10terminatoryypd_S2StF"(%Ts28__ContiguousArrayStorageBaseC*, i64, %swift.bridge*, i64, %swift.bridge*) local_unnamed_addr #0

; Function Attrs: nounwind
declare void @swift_release(%swift.refcounted*) local_unnamed_addr #5

; Function Attrs: mustprogress nofree norecurse nosync nounwind readnone willreturn
define hidden swiftcc double @"$s7llvm_O35PointV1xSdvg"(double returned %0, double %1) local_unnamed_addr #10 {
entry:
  ret double %0
}

; Function Attrs: argmemonly mustprogress nofree norecurse nosync nounwind willreturn writeonly
define hidden swiftcc void @"$s7llvm_O35PointV1xSdvs"(double %0, %T7llvm_O35PointV* nocapture swiftself writeonly dereferenceable(16) %1) local_unnamed_addr #11 {
entry:
  %.x._value = getelementptr inbounds %T7llvm_O35PointV, %T7llvm_O35PointV* %1, i64 0, i32 0, i32 0
  store double %0, double* %.x._value, align 8
  ret void
}

; Function Attrs: noinline nounwind
define hidden swiftcc { i8*, %TSd* } @"$s7llvm_O35PointV1xSdvM"(i8* noalias dereferenceable(32) %0, %T7llvm_O35PointV* nocapture swiftself dereferenceable(16) %1) local_unnamed_addr #12 {
coro.return:
  %.x = getelementptr inbounds %T7llvm_O35PointV, %T7llvm_O35PointV* %1, i64 0, i32 0
  %2 = insertvalue { i8*, %TSd* } { i8* bitcast (void (i8*, i1)* @"$s7llvm_O35PointV1xSdvM.resume.0" to i8*), %TSd* undef }, %TSd* %.x, 1
  ret { i8*, %TSd* } %2
}

; Function Attrs: nounwind
define internal swiftcc void @"$s7llvm_O35PointV1xSdvM.resume.0"(i8* noalias nocapture nonnull readnone align 8 %0, i1 %1) #13 {
entryresume.0:
  ret void
}

; Function Attrs: mustprogress nofree norecurse nosync nounwind readnone willreturn
define hidden swiftcc double @"$s7llvm_O35PointV1ySdvg"(double %0, double returned %1) local_unnamed_addr #10 {
entry:
  ret double %1
}

; Function Attrs: argmemonly mustprogress nofree norecurse nosync nounwind willreturn writeonly
define hidden swiftcc void @"$s7llvm_O35PointV1ySdvs"(double %0, %T7llvm_O35PointV* nocapture swiftself writeonly dereferenceable(16) %1) local_unnamed_addr #11 {
entry:
  %.y._value = getelementptr inbounds %T7llvm_O35PointV, %T7llvm_O35PointV* %1, i64 0, i32 1, i32 0
  store double %0, double* %.y._value, align 8
  ret void
}

; Function Attrs: noinline nounwind
define hidden swiftcc { i8*, %TSd* } @"$s7llvm_O35PointV1ySdvM"(i8* noalias dereferenceable(32) %0, %T7llvm_O35PointV* nocapture swiftself dereferenceable(16) %1) local_unnamed_addr #12 {
coro.return:
  %.y = getelementptr inbounds %T7llvm_O35PointV, %T7llvm_O35PointV* %1, i64 0, i32 1
  %2 = insertvalue { i8*, %TSd* } { i8* bitcast (void (i8*, i1)* @"$s7llvm_O35PointV1ySdvM.resume.0" to i8*), %TSd* undef }, %TSd* %.y, 1
  ret { i8*, %TSd* } %2
}

; Function Attrs: nounwind
define internal swiftcc void @"$s7llvm_O35PointV1ySdvM.resume.0"(i8* noalias nocapture nonnull readnone align 8 %0, i1 %1) #13 {
entryresume.0:
  ret void
}

; Function Attrs: mustprogress nofree norecurse nosync nounwind readnone willreturn
define hidden swiftcc { double, double } @"$s7llvm_O35PointV1x1yACSd_SdtcfC"(double %0, double %1) local_unnamed_addr #10 {
entry:
  %2 = insertvalue { double, double } undef, double %0, 0
  %3 = insertvalue { double, double } %2, double %1, 1
  ret { double, double } %3
}

; Function Attrs: mustprogress nofree norecurse nosync nounwind readnone willreturn
define hidden swiftcc void @"$s7llvm_O36dprintyySSF"(i64 %0, %swift.bridge* nocapture readnone %1) local_unnamed_addr #10 {
entry:
  ret void
}

; Function Attrs: mustprogress nofree nounwind willreturn writeonly
define hidden swiftcc { double, double } @"$s7llvm_O313calcMovePointyAA0E0VAD_SdtF"(double %0, double %1, double %2) local_unnamed_addr #14 {
entry:
  %3 = fmul double %2, 0x400921FB54442D18
  %4 = fdiv double %3, 1.800000e+02
  %5 = tail call double @cos(double %4)
  %6 = fmul double %5, %0
  %7 = tail call double @sin(double %4)
  %8 = fmul double %7, %1
  %9 = fsub double %6, %8
  %10 = tail call double @sin(double %4)
  %11 = fmul double %10, %0
  %12 = tail call double @cos(double %4)
  %13 = fmul double %12, %1
  %14 = fadd double %11, %13
  %15 = insertvalue { double, double } undef, double %9, 0
  %16 = insertvalue { double, double } %15, double %14, 1
  ret { double, double } %16
}

; Function Attrs: nounwind
define linkonce_odr hidden i8* @__swift_memcpy16_8(i8* %0, i8* %1, %swift.type* %2) #13 {
entry:
  tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* noundef nonnull align 8 dereferenceable(16) %0, i8* noundef nonnull align 8 dereferenceable(16) %1, i64 16, i1 false)
  ret i8* %0
}

; Function Attrs: argmemonly mustprogress nocallback nofree nounwind willreturn
declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #15

; Function Attrs: nounwind
define linkonce_odr hidden void @__swift_noop_void_return(i8* %0, %swift.type* %1) #13 {
entry:
  ret void
}

; Function Attrs: argmemonly mustprogress nofree norecurse nosync nounwind readonly willreturn
define internal i32 @"$s7llvm_O35PointVwet"(%swift.opaque* noalias nocapture readonly %value, i32 %numEmptyCases, %swift.type* nocapture readnone %Point) #16 {
entry:
  %.not = icmp eq i32 %numEmptyCases, 0
  br i1 %.not, label %10, label %0

0:                                                ; preds = %entry
  %1 = bitcast %swift.opaque* %value to i8*
  %2 = getelementptr inbounds i8, i8* %1, i64 16
  %3 = load i8, i8* %2, align 1
  %4 = icmp eq i8 %3, 0
  br i1 %4, label %10, label %5

5:                                                ; preds = %0
  %6 = bitcast %swift.opaque* %value to i128*
  %7 = load i128, i128* %6, align 1
  %8 = trunc i128 %7 to i32
  %9 = add i32 %8, 1
  br label %10

10:                                               ; preds = %entry, %0, %5
  %11 = phi i32 [ %9, %5 ], [ 0, %0 ], [ 0, %entry ]
  ret i32 %11
}

; Function Attrs: argmemonly mustprogress nofree norecurse nosync nounwind willreturn writeonly
define internal void @"$s7llvm_O35PointVwst"(%swift.opaque* noalias nocapture writeonly %value, i32 %whichCase, i32 %numEmptyCases, %swift.type* nocapture readnone %Point) #11 {
entry:
  %0 = bitcast %swift.opaque* %value to i8*
  %1 = getelementptr inbounds i8, i8* %0, i64 16
  %.not = icmp eq i32 %numEmptyCases, 0
  %2 = icmp eq i32 %whichCase, 0
  br i1 %2, label %3, label %4

3:                                                ; preds = %entry
  br i1 %.not, label %8, label %.sink.split

4:                                                ; preds = %entry
  %5 = add i32 %whichCase, -1
  %6 = zext i32 %5 to i128
  %7 = bitcast %swift.opaque* %value to i128*
  store i128 %6, i128* %7, align 8
  br i1 %.not, label %8, label %.sink.split

.sink.split:                                      ; preds = %4, %3
  %.sink = phi i8 [ 0, %3 ], [ 1, %4 ]
  store i8 %.sink, i8* %1, align 8
  br label %8

8:                                                ; preds = %.sink.split, %4, %3
  ret void
}

; Function Attrs: mustprogress nofree noinline norecurse nosync nounwind readnone willreturn
define hidden swiftcc %swift.metadata_response @"$s7llvm_O35PointVMa"(i64 %0) #17 {
entry:
  ret %swift.metadata_response { %swift.type* bitcast (i64* getelementptr inbounds (<{ i8*, i8**, i64, <{ i32, i32, i32, i32, i32, i32, i32 }>*, i32, i32 }>, <{ i8*, i8**, i64, <{ i32, i32, i32, i32, i32, i32, i32 }>*, i32, i32 }>* @"$s7llvm_O35PointVMf", i32 0, i32 2) to %swift.type*), i64 0 }
}

attributes #0 = { "frame-pointer"="none" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx16,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { cold noreturn nounwind }
attributes #2 = { argmemonly mustprogress nocallback nofree nosync nounwind willreturn }
attributes #3 = { nofree noinline nosync nounwind readnone "frame-pointer"="non-leaf" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx16,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { nofree nounwind readonly }
attributes #5 = { nounwind }
attributes #6 = { mustprogress nofree nounwind optsize willreturn writeonly "frame-pointer"="none" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx16,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { mustprogress nocallback nofree nosync nounwind readnone speculatable willreturn }
attributes #8 = { mustprogress nofree noinline nounwind readonly willreturn "frame-pointer"="non-leaf" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx16,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { argmemonly nounwind }
attributes #10 = { mustprogress nofree norecurse nosync nounwind readnone willreturn "frame-pointer"="none" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx16,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #11 = { argmemonly mustprogress nofree norecurse nosync nounwind willreturn writeonly "frame-pointer"="none" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx16,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #12 = { noinline nounwind "frame-pointer"="none" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx16,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #13 = { nounwind "frame-pointer"="none" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx16,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #14 = { mustprogress nofree nounwind willreturn writeonly "frame-pointer"="none" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx16,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #15 = { argmemonly mustprogress nocallback nofree nounwind willreturn }
attributes #16 = { argmemonly mustprogress nofree norecurse nosync nounwind readonly willreturn "frame-pointer"="none" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx16,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #17 = { mustprogress nofree noinline norecurse nosync nounwind readnone willreturn "frame-pointer"="non-leaf" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx16,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #18 = { nounwind readnone }
attributes #19 = { nounwind readonly }
attributes #20 = { argmemonly nounwind readonly }

!swift.module.flags = !{!0}
!llvm.linker.options = !{}
!llvm.module.flags = !{!1, !2, !3, !4, !5}

!0 = !{!"standard-library", i1 false}
!1 = !{i32 1, !"wchar_size", i32 4}
!2 = !{i32 8, !"PIC Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{i32 4, !"Objective-C Garbage Collection", i32 84477696}
!5 = !{i32 1, !"Swift Version", i32 7}
!6 = !{i64 0, i64 9223372036854775807}
!7 = !{!"branch_weights", i32 1, i32 2000}
