#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ exit(int);
double fabs(double);
int /*<<< orphan*/ fprintf(int /*<<< orphan*/, char *, char const *);
int /*<<< orphan*/ stderr;
double student_t(double, double, char const *);
double student_t_density(double, double, char const *);
double student_t_inv(double n, double p, const char *prompt) {
  static double last_n = 1, last_p = 0.5, last_x = 0;
  double x, xx;
  static const double eps = 1e-10;
  if (n <= 0 || p <= 0 || p >= 1) {
    fprintf(stderr,
            "%s: IMPLEMENTATION ERROR! (Invalid argument in function "
            "\"student_t_inv\")\n",
            prompt);
    exit(4);
  }
  if ((((n) != (n)) || ((last_n) != (last_n))
           ? (((n) != (n)) && ((last_n) != (last_n)) ? 1 : 0)
           : !(n < last_n || last_n < n)) &&
      (((p) != (p)) || ((last_p) != (last_p))
           ? (((p) != (p)) && ((last_p) != (last_p)) ? 1 : 0)
           : !(p < last_p || last_p < p)))
    return last_x;
  if ((((p) != (p)) || ((0.5) != (0.5))
           ? (((p) != (p)) && ((0.5) != (0.5)) ? 1 : 0)
           : !(p < 0.5 || 0.5 < p)))
    return 0;
  else if (p < 0.5)
    return -student_t_inv(n, 1 - p, prompt);
  else {
    x = 0;
    while (1) {
      xx = x - (student_t(n, x, prompt) - p) / student_t_density(n, x, prompt);
      if (fabs(xx - x) < x * eps)
        break;
      x = xx;
    }
    last_n = n;
    last_p = p;
    last_x = x;
    return x;
  }
}


x86 assembly (clang, -O0):
<student_t_inv>:
push   %rbp
mov    %rsp,%rbp
sub    $0x40,%rsp
movsd  %xmm0,-0x10(%rbp)
movsd  %xmm1,-0x18(%rbp)
mov    %rdi,-0x20(%rbp)
xorps  %xmm0,%xmm0
ucomisd -0x10(%rbp),%xmm0
jae    1199 <student_t_inv+0x49>
xorps  %xmm0,%xmm0
ucomisd -0x18(%rbp),%xmm0
jae    1199 <student_t_inv+0x49>
movsd  -0x18(%rbp),%xmm0
movsd  0xe71(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     11bc <student_t_inv+0x6c>
mov    0x2e40(%rip),%rax
mov    (%rax),%edi
mov    -0x20(%rbp),%rdx
lea    0xe8b(%rip),%rsi
call   1050 <fprintf@plt>
mov    $0x4,%edi
call   1060 <exit@plt>
movsd  -0x10(%rbp),%xmm0
ucomisd -0x10(%rbp),%xmm0
jne    11f3 <student_t_inv+0xa3>
jp     11f3 <student_t_inv+0xa3>
movsd  0x2e6e(%rip),%xmm0
ucomisd 0x2e66(%rip),%xmm0
jne    11f3 <student_t_inv+0xa3>
jp     11f3 <student_t_inv+0xa3>
jmp    124d <student_t_inv+0xfd>
movsd  -0x10(%rbp),%xmm0
ucomisd -0x10(%rbp),%xmm0
jne    120e <student_t_inv+0xbe>
jp     120e <student_t_inv+0xbe>
jmp    123e <student_t_inv+0xee>
movsd  0x2e32(%rip),%xmm0
ucomisd 0x2e2a(%rip),%xmm0
jne    122f <student_t_inv+0xdf>
jp     122f <student_t_inv+0xdf>
jmp    123e <student_t_inv+0xee>
mov    $0x1,%al
test   $0x1,%al
jne    127b <student_t_inv+0x12b>
jmp    134c <student_t_inv+0x1fc>
xor    %eax,%eax
test   $0x1,%al
jne    127b <student_t_inv+0x12b>
jmp    134c <student_t_inv+0x1fc>
movsd  -0x10(%rbp),%xmm1
movsd  0x2dee(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     134c <student_t_inv+0x1fc>
movsd  0x2ddc(%rip),%xmm1
movsd  -0x10(%rbp),%xmm0
ucomisd %xmm1,%xmm0
ja     134c <student_t_inv+0x1fc>
movsd  -0x18(%rbp),%xmm0
ucomisd -0x18(%rbp),%xmm0
jne    12b2 <student_t_inv+0x162>
jp     12b2 <student_t_inv+0x162>
movsd  0x2db7(%rip),%xmm0
ucomisd 0x2daf(%rip),%xmm0
jne    12b2 <student_t_inv+0x162>
jp     12b2 <student_t_inv+0x162>
jmp    130c <student_t_inv+0x1bc>
movsd  -0x18(%rbp),%xmm0
ucomisd -0x18(%rbp),%xmm0
jne    12cd <student_t_inv+0x17d>
jp     12cd <student_t_inv+0x17d>
jmp    12fd <student_t_inv+0x1ad>
movsd  0x2d7b(%rip),%xmm0
ucomisd 0x2d73(%rip),%xmm0
jne    12ee <student_t_inv+0x19e>
jp     12ee <student_t_inv+0x19e>
jmp    12fd <student_t_inv+0x1ad>
mov    $0x1,%al
test   $0x1,%al
jne    133a <student_t_inv+0x1ea>
jmp    134c <student_t_inv+0x1fc>
xor    %eax,%eax
test   $0x1,%al
jne    133a <student_t_inv+0x1ea>
jmp    134c <student_t_inv+0x1fc>
movsd  -0x18(%rbp),%xmm1
movsd  0x2d37(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     134c <student_t_inv+0x1fc>
movsd  0x2d25(%rip),%xmm1
movsd  -0x18(%rbp),%xmm0
ucomisd %xmm1,%xmm0
ja     134c <student_t_inv+0x1fc>
movsd  0x2d1e(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    1502 <student_t_inv+0x3b2>
movsd  -0x18(%rbp),%xmm0
ucomisd -0x18(%rbp),%xmm0
jne    1367 <student_t_inv+0x217>
jp     1367 <student_t_inv+0x217>
jmp    13af <student_t_inv+0x25f>
movsd  -0x18(%rbp),%xmm0
ucomisd -0x18(%rbp),%xmm0
jne    1382 <student_t_inv+0x232>
jp     1382 <student_t_inv+0x232>
jmp    13a0 <student_t_inv+0x250>
xor    %eax,%eax
test   $0x1,%al
jne    1391 <student_t_inv+0x241>
jmp    13a0 <student_t_inv+0x250>
mov    $0x1,%al
test   $0x1,%al
jne    13d9 <student_t_inv+0x289>
jmp    13e6 <student_t_inv+0x296>
xor    %eax,%eax
test   $0x1,%al
jne    13d9 <student_t_inv+0x289>
jmp    13e6 <student_t_inv+0x296>
movsd  0xc51(%rip),%xmm0
ucomisd -0x18(%rbp),%xmm0
ja     13e6 <student_t_inv+0x296>
movsd  -0x18(%rbp),%xmm0
movsd  0xc39(%rip),%xmm1
ucomisd %xmm1,%xmm0
ja     13e6 <student_t_inv+0x296>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    1502 <student_t_inv+0x3b2>
movsd  0xc1a(%rip),%xmm0
ucomisd -0x18(%rbp),%xmm0
jbe    1435 <student_t_inv+0x2e5>
movsd  -0x10(%rbp),%xmm0
movsd  0xbfa(%rip),%xmm1
subsd  -0x18(%rbp),%xmm1
mov    -0x20(%rbp),%rdi
call   1040 <student_t_inv@plt>
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    1502 <student_t_inv+0x3b2>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x28(%rbp)
movsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  -0x28(%rbp),%xmm1
mov    -0x20(%rbp),%rdi
call   1070 <student_t@plt>
subsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  -0x28(%rbp),%xmm1
mov    -0x20(%rbp),%rdi
call   1030 <student_t_density@plt>
movsd  -0x40(%rbp),%xmm1
movaps %xmm0,%xmm2
movsd  -0x38(%rbp),%xmm0
divsd  %xmm2,%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x30(%rbp)
movsd  -0x30(%rbp),%xmm1
subsd  -0x28(%rbp),%xmm1
movaps 0xb7e(%rip),%xmm0
pand   %xmm0,%xmm1
movsd  0xb62(%rip),%xmm0
mulsd  -0x28(%rbp),%xmm0
ucomisd %xmm1,%xmm0
jbe    14c2 <student_t_inv+0x372>
jmp    14d1 <student_t_inv+0x381>
movsd  -0x30(%rbp),%xmm0
movsd  %xmm0,-0x28(%rbp)
jmp    143d <student_t_inv+0x2ed>
movsd  -0x10(%rbp),%xmm0
movsd  %xmm0,0x2b6a(%rip)
movsd  -0x18(%rbp),%xmm0
movsd  %xmm0,0x2b65(%rip)
movsd  -0x28(%rbp),%xmm0
movsd  %xmm0,0x2b68(%rip)
movsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
movsd  -0x8(%rbp),%xmm0
add    $0x40,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<student_t_inv>:
push   %rbx
sub    $0x30,%rsp
mov    %rdi,%rbx
ucomisd 0xea0(%rip),%xmm1
jae    11bb <student_t_inv+0x6b>
movapd %xmm0,%xmm2
xorpd  %xmm0,%xmm0
ucomisd %xmm2,%xmm0
jae    11bb <student_t_inv+0x6b>
movapd %xmm1,%xmm3
ucomisd %xmm1,%xmm0
jae    11bb <student_t_inv+0x6b>
ucomisd %xmm2,%xmm2
movsd  0x2ec2(%rip),%xmm0
jp     11dd <student_t_inv+0x8d>
ucomisd %xmm0,%xmm0
jp     11eb <student_t_inv+0x9b>
ucomisd %xmm2,%xmm0
jne    11eb <student_t_inv+0x9b>
ucomisd %xmm3,%xmm3
movsd  0x2eb0(%rip),%xmm0
jp     11e5 <student_t_inv+0x95>
ucomisd %xmm0,%xmm0
jp     11eb <student_t_inv+0x9b>
ucomisd %xmm3,%xmm0
jne    11eb <student_t_inv+0x9b>
movsd  0x2eaa(%rip),%xmm4
jmp    12e9 <student_t_inv+0x199>
mov    0x2e1e(%rip),%rax
mov    (%rax),%edi
lea    0xe75(%rip),%rsi
mov    %rbx,%rdx
call   1050 <fprintf@plt>
mov    $0x4,%edi
call   1060 <exit@plt>
ucomisd %xmm0,%xmm0
jnp    11eb <student_t_inv+0x9b>
jmp    1194 <student_t_inv+0x44>
ucomisd %xmm0,%xmm0
jp     11ae <student_t_inv+0x5e>
ucomisd %xmm3,%xmm3
jp     1203 <student_t_inv+0xb3>
xorpd  %xmm4,%xmm4
ucomisd 0xe0b(%rip),%xmm3
je     12e9 <student_t_inv+0x199>
movsd  0xdfd(%rip),%xmm0
ucomisd %xmm3,%xmm0
jbe    123a <student_t_inv+0xea>
movsd  0xde7(%rip),%xmm1
subsd  %xmm3,%xmm1
movapd %xmm2,%xmm0
mov    %rbx,%rdi
call   1040 <student_t_inv@plt>
movapd %xmm0,%xmm4
xorpd  0xdfb(%rip),%xmm4
jmp    12e9 <student_t_inv+0x199>
xorpd  %xmm5,%xmm5
movsd  %xmm3,(%rsp)
movsd  %xmm2,0x8(%rsp)
nopl   0x0(%rax)
movsd  %xmm5,0x18(%rsp)
movapd %xmm5,%xmm1
movapd %xmm5,0x20(%rsp)
movapd %xmm2,%xmm0
mov    %rbx,%rdi
call   1070 <student_t@plt>
subsd  (%rsp),%xmm0
movsd  %xmm0,0x10(%rsp)
movsd  0x8(%rsp),%xmm0
movaps 0x20(%rsp),%xmm1
mov    %rbx,%rdi
call   1030 <student_t_density@plt>
movsd  0x18(%rsp),%xmm5
movapd 0x20(%rsp),%xmm4
movsd  0x8(%rsp),%xmm2
movsd  0x10(%rsp),%xmm1
divsd  %xmm0,%xmm1
subsd  %xmm1,%xmm5
movapd %xmm5,%xmm0
subsd  %xmm4,%xmm0
andpd  0xd66(%rip),%xmm0
movapd %xmm4,%xmm1
mulsd  0xd4a(%rip),%xmm1
ucomisd %xmm0,%xmm1
jbe    1250 <student_t_inv+0x100>
movsd  %xmm2,0x2d74(%rip)
movsd  (%rsp),%xmm0
movsd  %xmm0,0x2d6f(%rip)
movsd  %xmm4,0x2d77(%rip)
movapd %xmm4,%xmm0
add    $0x30,%rsp
pop    %rbx
ret

LLVM IR (-O0):
@student_t_inv.last_n = internal global double 1.000000e+00
@student_t_inv.last_p = internal global double 5.000000e-01
@student_t_inv.last_x = internal global double 0.000000e+00
@student_t_inv.eps = internal constant double 1.000000e-10
@stderr = global i32 0
@.str = [74 x i8] c"%s: IMPLEMENTATION ERROR! (Invalid argument in function \22student_t_inv\22)\0A\00"
define double @student_t_inv(double %0, double %1, i8* %2) {
%4 = alloca double
%5 = alloca double
%6 = alloca double
%7 = alloca i8*
%8 = alloca double
%9 = alloca double
store double %0, double* %5
store double %1, double* %6
store i8* %2, i8** %7
%10 = load double, double* %5
%11 = fcmp ole double %10, 0.000000e+00
br i1 %11, label %18, label %12
12: ; preds = %3
%13 = load double, double* %6
%14 = fcmp ole double %13, 0.000000e+00
br i1 %14, label %18, label %15
15: ; preds = %12
%16 = load double, double* %6
%17 = fcmp oge double %16, 1.000000e+00
br i1 %17, label %18, label %23
18: ; preds = %15, %12, %3
%19 = load i32, i32* @stderr
%20 = load i8*, i8** %7
%21 = call i32 @fprintf(i32 %19, i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str, i64 0, i64 0), i8* %20)
%22 = call i32 @exit(i32 4)
unreachable
23: ; preds = %15
%24 = load double, double* %5
%25 = load double, double* %5
%26 = fcmp une double %24, %25
br i1 %26, label %31, label %27
27: ; preds = %23
%28 = load double, double* @student_t_inv.last_n
%29 = load double, double* @student_t_inv.last_n
%30 = fcmp une double %28, %29
br i1 %30, label %31, label %41
31: ; preds = %27, %23
%32 = load double, double* %5
%33 = load double, double* %5
%34 = fcmp une double %32, %33
br i1 %34, label %35, label %40
35: ; preds = %31
%36 = load double, double* @student_t_inv.last_n
%37 = load double, double* @student_t_inv.last_n
%38 = fcmp une double %36, %37
br i1 %38, label %39, label %40
39: ; preds = %35
br i1 true, label %49, label %77
40: ; preds = %35, %31
br i1 false, label %49, label %77
41: ; preds = %27
%42 = load double, double* %5
%43 = load double, double* @student_t_inv.last_n
%44 = fcmp olt double %42, %43
br i1 %44, label %77, label %45
45: ; preds = %41
%46 = load double, double* @student_t_inv.last_n
%47 = load double, double* %5
%48 = fcmp olt double %46, %47
br i1 %48, label %77, label %49
49: ; preds = %45, %40, %39
%50 = load double, double* %6
%51 = load double, double* %6
%52 = fcmp une double %50, %51
br i1 %52, label %57, label %53
53: ; preds = %49
%54 = load double, double* @student_t_inv.last_p
%55 = load double, double* @student_t_inv.last_p
%56 = fcmp une double %54, %55
br i1 %56, label %57, label %67
57: ; preds = %53, %49
%58 = load double, double* %6
%59 = load double, double* %6
%60 = fcmp une double %58, %59
br i1 %60, label %61, label %66
61: ; preds = %57
%62 = load double, double* @student_t_inv.last_p
%63 = load double, double* @student_t_inv.last_p
%64 = fcmp une double %62, %63
br i1 %64, label %65, label %66
65: ; preds = %61
br i1 true, label %75, label %77
66: ; preds = %61, %57
br i1 false, label %75, label %77
67: ; preds = %53
%68 = load double, double* %6
%69 = load double, double* @student_t_inv.last_p
%70 = fcmp olt double %68, %69
br i1 %70, label %77, label %71
71: ; preds = %67
%72 = load double, double* @student_t_inv.last_p
%73 = load double, double* %6
%74 = fcmp olt double %72, %73
br i1 %74, label %77, label %75
75: ; preds = %71, %66, %65
%76 = load double, double* @student_t_inv.last_x
store double %76, double* %4
br label %135
77: ; preds = %71, %67, %66, %65, %45, %41, %40, %39
%78 = load double, double* %6
%79 = load double, double* %6
%80 = fcmp une double %78, %79
br i1 %80, label %81, label %88
81: ; preds = %77
%82 = load double, double* %6
%83 = load double, double* %6
%84 = fcmp une double %82, %83
br i1 %84, label %85, label %87
85: ; preds = %81
br i1 false, label %86, label %87
86: ; preds = %85
br i1 true, label %94, label %95
87: ; preds = %85, %81
br i1 false, label %94, label %95
88: ; preds = %77
%89 = load double, double* %6
%90 = fcmp olt double %89, 5.000000e-01
br i1 %90, label %95, label %91
91: ; preds = %88
%92 = load double, double* %6
%93 = fcmp olt double 5.000000e-01, %92
br i1 %93, label %95, label %94
94: ; preds = %91, %87, %86
store double 0.000000e+00, double* %4
br label %135
95: ; preds = %91, %88, %87, %86
%96 = load double, double* %6
%97 = fcmp olt double %96, 5.000000e-01
br i1 %97, label %98, label %105
98: ; preds = %95
%99 = load double, double* %5
%100 = load double, double* %6
%101 = fsub double 1.000000e+00, %100
%102 = load i8*, i8** %7
%103 = call double @student_t_inv(double %99, double %101, i8* %102)
%104 = fneg double %103
store double %104, double* %4
br label %135
105: ; preds = %95
store double 0.000000e+00, double* %8
br label %106
106: ; preds = %105, %128
%107 = load double, double* %8
%108 = load double, double* %5
%109 = load double, double* %8
%110 = load i8*, i8** %7
%111 = call double @student_t(double %108, double %109, i8* %110)
%112 = load double, double* %6
%113 = fsub double %111, %112
%114 = load double, double* %5
%115 = load double, double* %8
%116 = load i8*, i8** %7
%117 = call double @student_t_density(double %114, double %115, i8* %116)
%118 = fdiv double %113, %117
%119 = fsub double %107, %118
store double %119, double* %9
%120 = load double, double* %9
%121 = load double, double* %8
%122 = fsub double %120, %121
%123 = call double @llvm.fabs.f64(double %122)
%124 = load double, double* %8
%125 = fmul double %124, 1.000000e-10
%126 = fcmp olt double %123, %125
br i1 %126, label %127, label %128
127: ; preds = %106
br label %130
128: ; preds = %106
%129 = load double, double* %9
store double %129, double* %8
br label %106
130: ; preds = %127
%131 = load double, double* %5
store double %131, double* @student_t_inv.last_n
%132 = load double, double* %6
store double %132, double* @student_t_inv.last_p
%133 = load double, double* %8
store double %133, double* @student_t_inv.last_x
%134 = load double, double* %8
store double %134, double* %4
br label %135
135: ; preds = %130, %98, %94, %75
%136 = load double, double* %4
ret double %136
}

LLVM IR (-O2):
@student_t_inv.last_n = internal unnamed_addr global double 1.000000e+00
@student_t_inv.last_p = internal unnamed_addr global double 5.000000e-01
@student_t_inv.last_x = internal unnamed_addr global double 0.000000e+00
@stderr = global i32 0
@.str = [74 x i8] c"%s: IMPLEMENTATION ERROR! (Invalid argument in function \22student_t_inv\22)\0A\00"
define double @student_t_inv(double %0, double %1, i8* %2) {
%4 = fcmp ole double %0, 0.000000e+00
%5 = fcmp ole double %1, 0.000000e+00
%6 = or i1 %4, %5
%7 = fcmp oge double %1, 1.000000e+00
%8 = or i1 %7, %6
br i1 %8, label %9, label %13
9: ; preds = %3
%10 = load i32, i32* @stderr
%11 = tail call i32 @fprintf(i32 %10, i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str, i64 0, i64 0), i8* %2)
%12 = tail call i32 @exit(i32 4)
unreachable
13: ; preds = %3
%14 = fcmp uno double %0, 0.000000e+00
%15 = load double, double* @student_t_inv.last_n
br i1 %14, label %20, label %16
16: ; preds = %13
%17 = fcmp ord double %15, 0.000000e+00
%18 = fcmp ueq double %15, %0
%19 = and i1 %17, %18
br i1 %19, label %22, label %33
20: ; preds = %13
%21 = fcmp uno double %15, 0.000000e+00
br i1 %21, label %22, label %33
22: ; preds = %16, %20
%23 = fcmp uno double %1, 0.000000e+00
%24 = load double, double* @student_t_inv.last_p
br i1 %23, label %29, label %25
25: ; preds = %22
%26 = fcmp ord double %24, 0.000000e+00
%27 = fcmp ueq double %24, %1
%28 = and i1 %26, %27
br i1 %28, label %31, label %33
29: ; preds = %22
%30 = fcmp uno double %24, 0.000000e+00
br i1 %30, label %31, label %33
31: ; preds = %25, %29
%32 = load double, double* @student_t_inv.last_x
br label %39
33: ; preds = %25, %16, %29, %20
%34 = fcmp ord double %1, 0.000000e+00
%35 = fcmp ueq double %1, 5.000000e-01
%36 = and i1 %34, %35
br i1 %36, label %39, label %37
37: ; preds = %33
%38 = fcmp olt double %1, 5.000000e-01
br i1 %38, label %41, label %45
39: ; preds = %31, %56, %33, %41
%40 = phi double [ %44, %41 ], [ %32, %31 ], [ %46, %56 ], [ 0.000000e+00, %33 ]
ret double %40
41: ; preds = %37
%42 = fsub double 1.000000e+00, %1
%43 = tail call double @student_t_inv(double %0, double %42, i8* %2)
%44 = fneg double %43
br label %39
45: ; preds = %37, %45
%46 = phi double [ %51, %45 ], [ 0.000000e+00, %37 ]
%47 = tail call double @student_t(double %0, double %46, i8* %2)
%48 = fsub double %47, %1
%49 = tail call double @student_t_density(double %0, double %46, i8* %2)
%50 = fdiv double %48, %49
%51 = fsub double %46, %50
%52 = fsub double %51, %46
%53 = tail call double @llvm.fabs.f64(double %52)
%54 = fmul double %46, 1.000000e-10
%55 = fcmp olt double %53, %54
br i1 %55, label %56, label %45
56: ; preds = %45
store double %0, double* @student_t_inv.last_n
store double %1, double* @student_t_inv.last_p
store double %46, double* @student_t_inv.last_x
br label %39
}