#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*/ lr_end_transaction(char *, int /*<<< orphan*/);
int /*<<< orphan*/ lr_start_transaction(char *);
int /*<<< orphan*/ truclient_step(char *, char *, char *);
Action() {
  lr_start_transaction("Initial Correlation Challenge Load");
  truclient_step("1", "Navigate to 'http://www.myloadtest.c...tion-challenge/'",
                 "snapshot=Action_1.inf");
  truclient_step("3",
                 "Verify Correlation Challenge 's 'Visible Text' Contain "
                 "Correlation Challenge",
                 "snapshot=Action_3.inf");
  lr_end_transaction("Initial Correlation Challenge Load", 0);
  lr_start_transaction("Step 0 - Begin by clicking next");
  truclient_step("4", "Click on Next button", "snapshot=Action_4.inf");
  truclient_step("5", "Verify Step 1 's 'Visible Text' Contain Step 1",
                 "snapshot=Action_5.inf");
  lr_end_transaction("Step 0 - Begin by clicking next", 0);
  truclient_step(
      "6",
      "Evaluate JavaScript code var content = document.g...lue',array[1]);",
      "snapshot=Action_6.inf");
  truclient_step("7", "Click on Step 1 Here is a simple... textbox",
                 "snapshot=Action_7.inf");
  truclient_step(
      "8",
      "Type TC.getParam('Step1Value');  in Step 1 Here is a simple... textbox",
      "snapshot=Action_8.inf");
  lr_start_transaction("Step 1 - Enter the random number");
  truclient_step("9", "Click on Next button", "snapshot=Action_9.inf");
  truclient_step("10", "Verify Step 1 's 'Visible Text' Contain Step 2",
                 "snapshot=Action_10.inf");
  lr_end_transaction("Step 1 - Enter the random number", 0);
  lr_start_transaction("Step 2 - Select the default colour");
  truclient_step("11", "Click on Next button", "snapshot=Action_11.inf");
  truclient_step("12", "Verify Step 1 's 'Visible Text' Contain Step 3",
                 "snapshot=Action_12.inf");
  lr_end_transaction("Step 2 - Select the default colour", 0);
  truclient_step(
      "13", "Evaluate JavaScript code var re = /<td>In S...ount',counter);",
      "snapshot=Action_13.inf");
  truclient_step(
      "14",
      "For ( var i = 1 ; i < eval(TC.getParam(...p3Value_count')) ; i++ )",
      "snapshot=Action_14.inf");
  {
    truclient_step(
        "14.1",
        "Evaluate JavaScript code Step3Value=window.Step3V...'+i.toString())",
        "snapshot=Action_14.1.inf");
    truclient_step("14.2", "Click on Step3Value checkbox",
                   "snapshot=Action_14.2.inf");
  }
  lr_start_transaction("Step 3 - Select the in-stock items");
  truclient_step("18", "Click on Next button", "snapshot=Action_18.inf");
  truclient_step("19", "Verify Step 1 's 'Visible Text' Contain Step 4",
                 "snapshot=Action_19.inf");
  lr_end_transaction("Step 3 - Select the in-stock items", 0);
  lr_start_transaction("Step 4 - Final step");
  truclient_step("20", "Click on Next button", "snapshot=Action_20.inf");
  truclient_step("21",
                 "Verify Correlation Challenge 's 'Visible Text' Contain "
                 "Correlation Challenge",
                 "snapshot=Action_21.inf");
  lr_end_transaction("Step 4 - Final step", 0);
  return 0;
}


x86 assembly (clang, -O0):
<Action>:
push   %rbp
mov    %rsp,%rbp
lea    0xec5(%rip),%rdi
call   1050 <lr_start_transaction@plt>
lea    0x1007(%rip),%rdi
lea    0xed5(%rip),%rsi
lea    0xf06(%rip),%rdx
call   1040 <truclient_step@plt>
lea    0x11ef(%rip),%rdi
lea    0xf09(%rip),%rsi
lea    0xf4f(%rip),%rdx
call   1040 <truclient_step@plt>
lea    0xe85(%rip),%rdi
xor    %esi,%esi
call   1030 <lr_end_transaction@plt>
lea    0xf4b(%rip),%rdi
call   1050 <lr_start_transaction@plt>
lea    0x1393(%rip),%rdi
lea    0xf58(%rip),%rsi
lea    0xf66(%rip),%rdx
call   1040 <truclient_step@plt>
lea    0xf70(%rip),%rdi
lea    0xf6b(%rip),%rsi
lea    0xf93(%rip),%rdx
call   1040 <truclient_step@plt>
lea    0xf0b(%rip),%rdi
xor    %esi,%esi
call   1030 <lr_end_transaction@plt>
lea    0xf8f(%rip),%rdi
lea    0xf8a(%rip),%rsi
lea    0xfc7(%rip),%rdx
call   1040 <truclient_step@plt>
lea    0xfd1(%rip),%rdi
lea    0xfcc(%rip),%rsi
lea    0xff1(%rip),%rdx
call   1040 <truclient_step@plt>
lea    0x12d4(%rip),%rdi
lea    0xff4(%rip),%rsi
lea    0x1034(%rip),%rdx
call   1040 <truclient_step@plt>
lea    0x103e(%rip),%rdi
call   1050 <lr_start_transaction@plt>
lea    0x12c8(%rip),%rdi
lea    0xebc(%rip),%rsi
lea    0x1045(%rip),%rdx
call   1040 <truclient_step@plt>
lea    0x104f(%rip),%rdi
lea    0x104b(%rip),%rsi
lea    0x1073(%rip),%rdx
call   1040 <truclient_step@plt>
lea    0xffe(%rip),%rdi
xor    %esi,%esi
call   1030 <lr_end_transaction@plt>
lea    0x1070(%rip),%rdi
call   1050 <lr_start_transaction@plt>
lea    0x1087(%rip),%rdi
lea    0xe6e(%rip),%rsi
lea    0x107c(%rip),%rdx
call   1040 <truclient_step@plt>
lea    0x1087(%rip),%rdi
lea    0x1083(%rip),%rsi
lea    0x10ab(%rip),%rdx
call   1040 <truclient_step@plt>
lea    0x1030(%rip),%rdi
xor    %esi,%esi
call   1030 <lr_end_transaction@plt>
lea    0x10a8(%rip),%rdi
lea    0x10a4(%rip),%rsi
lea    0x10db(%rip),%rdx
call   1040 <truclient_step@plt>
lea    0x10e6(%rip),%rdi
lea    0x10e2(%rip),%rsi
lea    0x111e(%rip),%rdx
call   1040 <truclient_step@plt>
lea    0x1129(%rip),%rdi
lea    0x1127(%rip),%rsi
lea    0x1164(%rip),%rdx
call   1040 <truclient_step@plt>
lea    0x1171(%rip),%rdi
lea    0x116f(%rip),%rsi
lea    0x1185(%rip),%rdx
call   1040 <truclient_step@plt>
lea    0x1192(%rip),%rdi
call   1050 <lr_start_transaction@plt>
lea    0x11a9(%rip),%rdi
lea    0xdb8(%rip),%rsi
lea    0x119e(%rip),%rdx
call   1040 <truclient_step@plt>
lea    0x11a9(%rip),%rdi
lea    0x11a5(%rip),%rsi
lea    0x11cd(%rip),%rdx
call   1040 <truclient_step@plt>
lea    0x1152(%rip),%rdi
xor    %esi,%esi
call   1030 <lr_end_transaction@plt>
lea    0x11ca(%rip),%rdi
call   1050 <lr_start_transaction@plt>
lea    0x11d2(%rip),%rdi
lea    0xd6a(%rip),%rsi
lea    0x11c7(%rip),%rdx
call   1040 <truclient_step@plt>
lea    0x11d2(%rip),%rdi
lea    0xccd(%rip),%rsi
lea    0x11c7(%rip),%rdx
call   1040 <truclient_step@plt>
lea    0x118a(%rip),%rdi
xor    %esi,%esi
call   1030 <lr_end_transaction@plt>
xor    %eax,%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<Action>:
push   %r15
push   %r14
push   %rbx
lea    0xec4(%rip),%rbx
mov    %rbx,%rdi
call   1050 <lr_start_transaction@plt>
lea    0x1003(%rip),%rdi
lea    0xed1(%rip),%rsi
lea    0xf02(%rip),%rdx
call   1040 <truclient_step@plt>
lea    0x11eb(%rip),%rdi
lea    0xf05(%rip),%r14
lea    0xf4b(%rip),%rdx
mov    %r14,%rsi
call   1040 <truclient_step@plt>
mov    %rbx,%rdi
xor    %esi,%esi
call   1030 <lr_end_transaction@plt>
lea    0xf48(%rip),%rbx
mov    %rbx,%rdi
call   1050 <lr_start_transaction@plt>
lea    0x138d(%rip),%rdi
lea    0xf52(%rip),%r15
lea    0xf60(%rip),%rdx
mov    %r15,%rsi
call   1040 <truclient_step@plt>
lea    0xf67(%rip),%rdi
lea    0xf62(%rip),%rsi
lea    0xf8a(%rip),%rdx
call   1040 <truclient_step@plt>
mov    %rbx,%rdi
xor    %esi,%esi
call   1030 <lr_end_transaction@plt>
lea    0xf8a(%rip),%rdi
lea    0xf85(%rip),%rsi
lea    0xfc2(%rip),%rdx
call   1040 <truclient_step@plt>
lea    0xfcc(%rip),%rdi
lea    0xfc7(%rip),%rsi
lea    0xfec(%rip),%rdx
call   1040 <truclient_step@plt>
lea    0x12cf(%rip),%rdi
lea    0xfef(%rip),%rsi
lea    0x102f(%rip),%rdx
call   1040 <truclient_step@plt>
lea    0x1039(%rip),%rbx
mov    %rbx,%rdi
call   1050 <lr_start_transaction@plt>
lea    0x12c0(%rip),%rdi
lea    0x1044(%rip),%rdx
mov    %r15,%rsi
call   1040 <truclient_step@plt>
lea    0x104b(%rip),%rdi
lea    0x1047(%rip),%rsi
lea    0x106f(%rip),%rdx
call   1040 <truclient_step@plt>
mov    %rbx,%rdi
xor    %esi,%esi
call   1030 <lr_end_transaction@plt>
lea    0x1070(%rip),%rbx
mov    %rbx,%rdi
call   1050 <lr_start_transaction@plt>
lea    0x1084(%rip),%rdi
lea    0x1080(%rip),%rdx
mov    %r15,%rsi
call   1040 <truclient_step@plt>
lea    0x1088(%rip),%rdi
lea    0x1084(%rip),%rsi
lea    0x10ac(%rip),%rdx
call   1040 <truclient_step@plt>
mov    %rbx,%rdi
xor    %esi,%esi
call   1030 <lr_end_transaction@plt>
lea    0x10ad(%rip),%rdi
lea    0x10a9(%rip),%rsi
lea    0x10e0(%rip),%rdx
call   1040 <truclient_step@plt>
lea    0x10eb(%rip),%rdi
lea    0x10e7(%rip),%rsi
lea    0x1123(%rip),%rdx
call   1040 <truclient_step@plt>
lea    0x112e(%rip),%rdi
lea    0x112c(%rip),%rsi
lea    0x1169(%rip),%rdx
call   1040 <truclient_step@plt>
lea    0x1176(%rip),%rdi
lea    0x1174(%rip),%rsi
lea    0x118a(%rip),%rdx
call   1040 <truclient_step@plt>
lea    0x1197(%rip),%rbx
mov    %rbx,%rdi
call   1050 <lr_start_transaction@plt>
lea    0x11ab(%rip),%rdi
lea    0x11a7(%rip),%rdx
mov    %r15,%rsi
call   1040 <truclient_step@plt>
lea    0x11af(%rip),%rdi
lea    0x11ab(%rip),%rsi
lea    0x11d3(%rip),%rdx
call   1040 <truclient_step@plt>
mov    %rbx,%rdi
xor    %esi,%esi
call   1030 <lr_end_transaction@plt>
lea    0x11d4(%rip),%rbx
mov    %rbx,%rdi
call   1050 <lr_start_transaction@plt>
lea    0x11d9(%rip),%rdi
lea    0x11d5(%rip),%rdx
mov    %r15,%rsi
call   1040 <truclient_step@plt>
lea    0x11dd(%rip),%rdi
lea    0x11d9(%rip),%rdx
mov    %r14,%rsi
call   1040 <truclient_step@plt>
mov    %rbx,%rdi
xor    %esi,%esi
call   1030 <lr_end_transaction@plt>
xor    %eax,%eax
pop    %rbx
pop    %r14
pop    %r15
ret

LLVM IR (-O0):
@.str = [35 x i8] c"Initial Correlation Challenge Load\00"
@.str.1 = [2 x i8] c"1\00"
@.str.2 = [56 x i8] c"Navigate to 'http://www.myloadtest.c...tion-challenge/'\00"
@.str.3 = [22 x i8] c"snapshot=Action_1.inf\00"
@.str.4 = [2 x i8] c"3\00"
@.str.5 = [77 x i8] c"Verify Correlation Challenge 's 'Visible Text' Contain Correlation Challenge\00"
@.str.6 = [22 x i8] c"snapshot=Action_3.inf\00"
@.str.7 = [32 x i8] c"Step 0 - Begin by clicking next\00"
@.str.8 = [2 x i8] c"4\00"
@.str.9 = [21 x i8] c"Click on Next button\00"
@.str.10 = [22 x i8] c"snapshot=Action_4.inf\00"
@.str.11 = [2 x i8] c"5\00"
@.str.12 = [47 x i8] c"Verify Step 1 's 'Visible Text' Contain Step 1\00"
@.str.13 = [22 x i8] c"snapshot=Action_5.inf\00"
@.str.14 = [2 x i8] c"6\00"
@.str.15 = [68 x i8] c"Evaluate JavaScript code var content = document.g...lue',array[1]);\00"
@.str.16 = [22 x i8] c"snapshot=Action_6.inf\00"
@.str.17 = [2 x i8] c"7\00"
@.str.18 = [44 x i8] c"Click on Step 1 Here is a simple... textbox\00"
@.str.19 = [22 x i8] c"snapshot=Action_7.inf\00"
@.str.20 = [2 x i8] c"8\00"
@.str.21 = [71 x i8] c"Type TC.getParam('Step1Value'); in Step 1 Here is a simple... textbox\00"
@.str.22 = [22 x i8] c"snapshot=Action_8.inf\00"
@.str.23 = [33 x i8] c"Step 1 - Enter the random number\00"
@.str.24 = [2 x i8] c"9\00"
@.str.25 = [22 x i8] c"snapshot=Action_9.inf\00"
@.str.26 = [3 x i8] c"10\00"
@.str.27 = [47 x i8] c"Verify Step 1 's 'Visible Text' Contain Step 2\00"
@.str.28 = [23 x i8] c"snapshot=Action_10.inf\00"
@.str.29 = [35 x i8] c"Step 2 - Select the default colour\00"
@.str.30 = [3 x i8] c"11\00"
@.str.31 = [23 x i8] c"snapshot=Action_11.inf\00"
@.str.32 = [3 x i8] c"12\00"
@.str.33 = [47 x i8] c"Verify Step 1 's 'Visible Text' Contain Step 3\00"
@.str.34 = [23 x i8] c"snapshot=Action_12.inf\00"
@.str.35 = [3 x i8] c"13\00"
@.str.36 = [62 x i8] c"Evaluate JavaScript code var re = /<td>In S...ount',counter);\00"
@.str.37 = [23 x i8] c"snapshot=Action_13.inf\00"
@.str.38 = [3 x i8] c"14\00"
@.str.39 = [67 x i8] c"For ( var i = 1 ; i < eval(TC.getParam(...p3Value_count')) ; i++ )\00"
@.str.40 = [23 x i8] c"snapshot=Action_14.inf\00"
@.str.41 = [5 x i8] c"14.1\00"
@.str.42 = [68 x i8] c"Evaluate JavaScript code Step3Value=window.Step3V...'+i.toString())\00"
@.str.43 = [25 x i8] c"snapshot=Action_14.1.inf\00"
@.str.44 = [5 x i8] c"14.2\00"
@.str.45 = [29 x i8] c"Click on Step3Value checkbox\00"
@.str.46 = [25 x i8] c"snapshot=Action_14.2.inf\00"
@.str.47 = [35 x i8] c"Step 3 - Select the in-stock items\00"
@.str.48 = [3 x i8] c"18\00"
@.str.49 = [23 x i8] c"snapshot=Action_18.inf\00"
@.str.50 = [3 x i8] c"19\00"
@.str.51 = [47 x i8] c"Verify Step 1 's 'Visible Text' Contain Step 4\00"
@.str.52 = [23 x i8] c"snapshot=Action_19.inf\00"
@.str.53 = [20 x i8] c"Step 4 - Final step\00"
@.str.54 = [3 x i8] c"20\00"
@.str.55 = [23 x i8] c"snapshot=Action_20.inf\00"
@.str.56 = [3 x i8] c"21\00"
@.str.57 = [23 x i8] c"snapshot=Action_21.inf\00"
define i32 @Action() {
%1 = call i32 @lr_start_transaction(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str, i64 0, i64 0))
%2 = call i32 @truclient_step(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.3, i64 0, i64 0))
%3 = call i32 @truclient_step(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.5, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.6, i64 0, i64 0))
%4 = call i32 @lr_end_transaction(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str, i64 0, i64 0), i32 0)
%5 = call i32 @lr_start_transaction(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.7, i64 0, i64 0))
%6 = call i32 @truclient_step(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.9, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.10, i64 0, i64 0))
%7 = call i32 @truclient_step(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11, i64 0, i64 0), i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.12, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.13, i64 0, i64 0))
%8 = call i32 @lr_end_transaction(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.7, i64 0, i64 0), i32 0)
%9 = call i32 @truclient_step(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0), i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.15, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.16, i64 0, i64 0))
%10 = call i32 @truclient_step(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.17, i64 0, i64 0), i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.18, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.19, i64 0, i64 0))
%11 = call i32 @truclient_step(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.20, i64 0, i64 0), i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.21, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.22, i64 0, i64 0))
%12 = call i32 @lr_start_transaction(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.23, i64 0, i64 0))
%13 = call i32 @truclient_step(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.24, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.9, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.25, i64 0, i64 0))
%14 = call i32 @truclient_step(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.26, i64 0, i64 0), i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.27, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.28, i64 0, i64 0))
%15 = call i32 @lr_end_transaction(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.23, i64 0, i64 0), i32 0)
%16 = call i32 @lr_start_transaction(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.29, i64 0, i64 0))
%17 = call i32 @truclient_step(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.30, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.9, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.31, i64 0, i64 0))
%18 = call i32 @truclient_step(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.32, i64 0, i64 0), i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.33, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.34, i64 0, i64 0))
%19 = call i32 @lr_end_transaction(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.29, i64 0, i64 0), i32 0)
%20 = call i32 @truclient_step(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.35, i64 0, i64 0), i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.36, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.37, i64 0, i64 0))
%21 = call i32 @truclient_step(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.38, i64 0, i64 0), i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.39, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.40, i64 0, i64 0))
%22 = call i32 @truclient_step(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.41, i64 0, i64 0), i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.42, i64 0, i64 0), i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.43, i64 0, i64 0))
%23 = call i32 @truclient_step(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.44, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.45, i64 0, i64 0), i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.46, i64 0, i64 0))
%24 = call i32 @lr_start_transaction(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.47, i64 0, i64 0))
%25 = call i32 @truclient_step(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.48, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.9, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.49, i64 0, i64 0))
%26 = call i32 @truclient_step(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.50, i64 0, i64 0), i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.51, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.52, i64 0, i64 0))
%27 = call i32 @lr_end_transaction(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.47, i64 0, i64 0), i32 0)
%28 = call i32 @lr_start_transaction(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.53, i64 0, i64 0))
%29 = call i32 @truclient_step(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.54, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.9, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.55, i64 0, i64 0))
%30 = call i32 @truclient_step(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.56, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.5, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.57, i64 0, i64 0))
%31 = call i32 @lr_end_transaction(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.53, i64 0, i64 0), i32 0)
ret i32 0
}

LLVM IR (-O2):
@.str = [35 x i8] c"Initial Correlation Challenge Load\00"
@.str.1 = [2 x i8] c"1\00"
@.str.2 = [56 x i8] c"Navigate to 'http://www.myloadtest.c...tion-challenge/'\00"
@.str.3 = [22 x i8] c"snapshot=Action_1.inf\00"
@.str.4 = [2 x i8] c"3\00"
@.str.5 = [77 x i8] c"Verify Correlation Challenge 's 'Visible Text' Contain Correlation Challenge\00"
@.str.6 = [22 x i8] c"snapshot=Action_3.inf\00"
@.str.7 = [32 x i8] c"Step 0 - Begin by clicking next\00"
@.str.8 = [2 x i8] c"4\00"
@.str.9 = [21 x i8] c"Click on Next button\00"
@.str.10 = [22 x i8] c"snapshot=Action_4.inf\00"
@.str.11 = [2 x i8] c"5\00"
@.str.12 = [47 x i8] c"Verify Step 1 's 'Visible Text' Contain Step 1\00"
@.str.13 = [22 x i8] c"snapshot=Action_5.inf\00"
@.str.14 = [2 x i8] c"6\00"
@.str.15 = [68 x i8] c"Evaluate JavaScript code var content = document.g...lue',array[1]);\00"
@.str.16 = [22 x i8] c"snapshot=Action_6.inf\00"
@.str.17 = [2 x i8] c"7\00"
@.str.18 = [44 x i8] c"Click on Step 1 Here is a simple... textbox\00"
@.str.19 = [22 x i8] c"snapshot=Action_7.inf\00"
@.str.20 = [2 x i8] c"8\00"
@.str.21 = [71 x i8] c"Type TC.getParam('Step1Value'); in Step 1 Here is a simple... textbox\00"
@.str.22 = [22 x i8] c"snapshot=Action_8.inf\00"
@.str.23 = [33 x i8] c"Step 1 - Enter the random number\00"
@.str.24 = [2 x i8] c"9\00"
@.str.25 = [22 x i8] c"snapshot=Action_9.inf\00"
@.str.26 = [3 x i8] c"10\00"
@.str.27 = [47 x i8] c"Verify Step 1 's 'Visible Text' Contain Step 2\00"
@.str.28 = [23 x i8] c"snapshot=Action_10.inf\00"
@.str.29 = [35 x i8] c"Step 2 - Select the default colour\00"
@.str.30 = [3 x i8] c"11\00"
@.str.31 = [23 x i8] c"snapshot=Action_11.inf\00"
@.str.32 = [3 x i8] c"12\00"
@.str.33 = [47 x i8] c"Verify Step 1 's 'Visible Text' Contain Step 3\00"
@.str.34 = [23 x i8] c"snapshot=Action_12.inf\00"
@.str.35 = [3 x i8] c"13\00"
@.str.36 = [62 x i8] c"Evaluate JavaScript code var re = /<td>In S...ount',counter);\00"
@.str.37 = [23 x i8] c"snapshot=Action_13.inf\00"
@.str.38 = [3 x i8] c"14\00"
@.str.39 = [67 x i8] c"For ( var i = 1 ; i < eval(TC.getParam(...p3Value_count')) ; i++ )\00"
@.str.40 = [23 x i8] c"snapshot=Action_14.inf\00"
@.str.41 = [5 x i8] c"14.1\00"
@.str.42 = [68 x i8] c"Evaluate JavaScript code Step3Value=window.Step3V...'+i.toString())\00"
@.str.43 = [25 x i8] c"snapshot=Action_14.1.inf\00"
@.str.44 = [5 x i8] c"14.2\00"
@.str.45 = [29 x i8] c"Click on Step3Value checkbox\00"
@.str.46 = [25 x i8] c"snapshot=Action_14.2.inf\00"
@.str.47 = [35 x i8] c"Step 3 - Select the in-stock items\00"
@.str.48 = [3 x i8] c"18\00"
@.str.49 = [23 x i8] c"snapshot=Action_18.inf\00"
@.str.50 = [3 x i8] c"19\00"
@.str.51 = [47 x i8] c"Verify Step 1 's 'Visible Text' Contain Step 4\00"
@.str.52 = [23 x i8] c"snapshot=Action_19.inf\00"
@.str.53 = [20 x i8] c"Step 4 - Final step\00"
@.str.54 = [3 x i8] c"20\00"
@.str.55 = [23 x i8] c"snapshot=Action_20.inf\00"
@.str.56 = [3 x i8] c"21\00"
@.str.57 = [23 x i8] c"snapshot=Action_21.inf\00"
define i32 @Action() {
%1 = tail call i32 @lr_start_transaction(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str, i64 0, i64 0))
%2 = tail call i32 @truclient_step(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.3, i64 0, i64 0))
%3 = tail call i32 @truclient_step(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.5, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.6, i64 0, i64 0))
%4 = tail call i32 @lr_end_transaction(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str, i64 0, i64 0), i32 0)
%5 = tail call i32 @lr_start_transaction(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.7, i64 0, i64 0))
%6 = tail call i32 @truclient_step(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.9, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.10, i64 0, i64 0))
%7 = tail call i32 @truclient_step(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11, i64 0, i64 0), i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.12, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.13, i64 0, i64 0))
%8 = tail call i32 @lr_end_transaction(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.7, i64 0, i64 0), i32 0)
%9 = tail call i32 @truclient_step(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0), i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.15, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.16, i64 0, i64 0))
%10 = tail call i32 @truclient_step(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.17, i64 0, i64 0), i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.18, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.19, i64 0, i64 0))
%11 = tail call i32 @truclient_step(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.20, i64 0, i64 0), i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.21, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.22, i64 0, i64 0))
%12 = tail call i32 @lr_start_transaction(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.23, i64 0, i64 0))
%13 = tail call i32 @truclient_step(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.24, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.9, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.25, i64 0, i64 0))
%14 = tail call i32 @truclient_step(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.26, i64 0, i64 0), i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.27, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.28, i64 0, i64 0))
%15 = tail call i32 @lr_end_transaction(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.23, i64 0, i64 0), i32 0)
%16 = tail call i32 @lr_start_transaction(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.29, i64 0, i64 0))
%17 = tail call i32 @truclient_step(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.30, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.9, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.31, i64 0, i64 0))
%18 = tail call i32 @truclient_step(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.32, i64 0, i64 0), i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.33, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.34, i64 0, i64 0))
%19 = tail call i32 @lr_end_transaction(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.29, i64 0, i64 0), i32 0)
%20 = tail call i32 @truclient_step(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.35, i64 0, i64 0), i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.36, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.37, i64 0, i64 0))
%21 = tail call i32 @truclient_step(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.38, i64 0, i64 0), i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.39, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.40, i64 0, i64 0))
%22 = tail call i32 @truclient_step(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.41, i64 0, i64 0), i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.42, i64 0, i64 0), i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.43, i64 0, i64 0))
%23 = tail call i32 @truclient_step(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.44, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.45, i64 0, i64 0), i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.46, i64 0, i64 0))
%24 = tail call i32 @lr_start_transaction(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.47, i64 0, i64 0))
%25 = tail call i32 @truclient_step(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.48, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.9, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.49, i64 0, i64 0))
%26 = tail call i32 @truclient_step(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.50, i64 0, i64 0), i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.51, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.52, i64 0, i64 0))
%27 = tail call i32 @lr_end_transaction(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.47, i64 0, i64 0), i32 0)
%28 = tail call i32 @lr_start_transaction(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.53, i64 0, i64 0))
%29 = tail call i32 @truclient_step(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.54, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.9, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.55, i64 0, i64 0))
%30 = tail call i32 @truclient_step(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.56, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.5, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.57, i64 0, i64 0))
%31 = tail call i32 @lr_end_transaction(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.53, i64 0, i64 0), i32 0)
ret i32 0
}