From 0615c8e6ea93f8cf210079f0f78bc03b2e11d454 Mon Sep 17 00:00:00 2001 From: New Author svkeerthy Date: Wed, 2 Oct 2024 14:08:16 +0530 Subject: [PATCH 01/17] Fixing minor bugs in seedemb training --- seed_embeddings/OpenKE/config/Trainer.py | 45 ++++++--- .../OpenKE/generate_embedding_ray.py | 95 +++++++------------ 2 files changed, 67 insertions(+), 73 deletions(-) diff --git a/seed_embeddings/OpenKE/config/Trainer.py b/seed_embeddings/OpenKE/config/Trainer.py index 6d05f1fc..b95f25f2 100755 --- a/seed_embeddings/OpenKE/config/Trainer.py +++ b/seed_embeddings/OpenKE/config/Trainer.py @@ -54,7 +54,7 @@ def __init__( # self.out_path = out_path self.entity_names = self.load_entity_names(index_dir) - self.analogies = analogy.AnalogyScorer(analogy_file="analogies.txt") + self.analogies = analogy.AnalogyScorer(analogy_file="/lfs1/usrscratch/staff/nvk1tb/IR2Vec/seed_embeddings/OpenKE/analogies.txt") def load_entity_names(self, index_dir): with open(os.path.join(index_dir, "entity2id.txt")) as fEntity: @@ -94,7 +94,7 @@ def getEntityDict(self, ent_embeddings): """ entity_dict = {} - for i, entity_name in enumerate(self.entity_dict): + for i, entity_name in enumerate(self.entity_names): entity_dict[entity_name] = ent_embeddings[i].tolist() return entity_dict @@ -139,7 +139,7 @@ def run( weight_decay=self.weight_decay, ) print("Finish initializing...") - + best_metric_val = 0.0 training_range = tqdm(range(self.train_times)) for epoch in training_range: res = 0.0 @@ -148,6 +148,7 @@ def run( res += loss training_range.set_description("Epoch %d | loss: %f" % (epoch, res)) checkpoint = None + save_ckpt = False if ray and epoch % freq == 0: metrics = {"loss": res} # Link Prediction @@ -170,27 +171,43 @@ def run( "hit1": hit1, } ) + if best_metric_val <= hit1: + best_metric_val = hit1 + save_ckpt = True print("Link Prediction Scores Completed") - if is_analogy: + elif is_analogy: # self.model => Negative Sampling object # self.mode.model => Transe model - ent_embeddings = self.model.model.ent_embeddings.weight.data.numpy() + ent_embeddings = self.model.model.ent_embeddings.weight.data.cpu().numpy() entity_dict = self.getEntityDict(ent_embeddings) analogy_score = self.analogies.get_analogy_score(entity_dict) metrics.update({"AnalogiesScore": analogy_score}) - print("Analogy Score Completed") - + print("Analogy Score completed") + + del entity_dict + + if best_metric_val <= analogy_score: + best_metric_val = analogy_score + save_ckpt = True + + else: # loss + if best_metric_val >= res: + best_metric_val = res + save_ckpt = True + with tempfile.TemporaryDirectory() as temp_checkpoint_dir: - # Save the checkpoint... - self.model.save_checkpoint( - os.path.join( - temp_checkpoint_dir, - "checkpoint" + "-" + str(epoch) + ".ckpt", + # Save the checkpoint... + checkpoint = None + if save_ckpt: + self.model.save_checkpoint( + os.path.join( + temp_checkpoint_dir, + "checkpoint" + "-" + str(epoch) + ".ckpt", + ) ) - ) - checkpoint = Checkpoint.from_directory(temp_checkpoint_dir) + checkpoint = Checkpoint.from_directory(temp_checkpoint_dir) train.report(metrics, checkpoint=checkpoint) diff --git a/seed_embeddings/OpenKE/generate_embedding_ray.py b/seed_embeddings/OpenKE/generate_embedding_ray.py index f0f84807..f3953d92 100644 --- a/seed_embeddings/OpenKE/generate_embedding_ray.py +++ b/seed_embeddings/OpenKE/generate_embedding_ray.py @@ -25,7 +25,7 @@ from ray.tune.schedulers import ASHAScheduler from ray.tune.search.optuna import OptunaSearch -os.environ["CUDA_VISIBLE_DEVICES"] = "0" +os.environ["CUDA_VISIBLE_DEVICES"] = "0,1" def test_files(index_dir): @@ -199,7 +199,7 @@ def findRep(src, dest, index_dir, src_type="json"): search_space = { "epoch": arg_conf.epoch, - "dim": tune.sample_from(lambda spec: 100 * np.random.randint(1, 6)), + "dim": arg_conf.dim, "index_dir": arg_conf.index_dir, "nbatches": tune.sample_from(lambda spec: 2 ** np.random.randint(8, 12)), "margin": tune.quniform(3, 6, 0.5), @@ -222,38 +222,28 @@ def findRep(src, dest, index_dir, src_type="json"): raise Exception("Error in files") if arg_conf.is_analogy: - scheduler = ASHAScheduler( - time_attr="training_iteration", - max_t=arg_conf.epoch, - grace_period=15, - reduction_factor=3, - metric="AnalogiesScore", - mode="max", - ) - optuna = OptunaSearch(metric="AnalogiesScore", mode="max") + metric = "AnalogiesScore" + mode = "max" elif arg_conf.link_pred: - scheduler = ASHAScheduler( - time_attr="training_iteration", - max_t=arg_conf.epoch, - grace_period=15, - reduction_factor=3, - metric="hit1", - mode="max", - ) - optuna = OptunaSearch(metric="hit1", mode="max") + metric = "hit1" + mode = "max" else: - scheduler = ASHAScheduler( - time_attr="training_iteration", - max_t=arg_conf.epoch, - grace_period=15, - reduction_factor=3, - metric="loss", - mode="min", - ) - optuna = OptunaSearch(metric="loss", mode="min") + metric = "loss" + mode = "min" + + scheduler = ASHAScheduler( + time_attr="training_iteration", + max_t=arg_conf.epoch, + grace_period=15, + reduction_factor=3, + metric=metric, + mode=mode, + ) + optuna = OptunaSearch(metric=metric, mode=mode) + if arg_conf.use_gpu: train_with_resources = tune.with_resources( - train, resources={"cpu": 0, "gpu": 0.0625} + train, resources={"cpu": 8, "gpu": 0.15} ) else: train_with_resources = tune.with_resources( @@ -265,60 +255,47 @@ def findRep(src, dest, index_dir, src_type="json"): param_space=search_space, tune_config=TuneConfig( search_alg=optuna, - max_concurrent_trials=16, + max_concurrent_trials=12, scheduler=scheduler, num_samples=512, ), run_config=RunConfig( + storage_path="/lfs1/usrscratch/staff/nvk1tb/ray_results/", checkpoint_config=CheckpointConfig( num_to_keep=1, # *Best* checkpoints are determined by these params: - checkpoint_score_attribute="loss", - checkpoint_score_order="min", + checkpoint_score_attribute=metric, + checkpoint_score_order=mode, ) ), ) results = tuner.fit() # Write the best result to a file, best_result.txt - best_result = None - if arg_conf.is_analogy: - - with open(os.path.join(search_space["index_dir"], "best_result.txt"), "a") as f: - f.write( - "\n" + str(results.get_best_result(metric="AnalogiesScore", mode="max")) - ) + fin_res = results.get_best_result(metric=metric, mode=mode) + with open(os.path.join(search_space["index_dir"], "best_result.txt"), "a") as f: + f.write( + "\n" + str(fin_res) + ) + if arg_conf.is_analogy: print( "Best Config Based on Analogy Score : ", - results.get_best_result(metric="AnalogiesScore", mode="max"), + fin_res, ) - - best_result = results.get_best_result(metric="AnalogiesScore", mode="max") - elif arg_conf.link_pred: - - with open(os.path.join(search_space["index_dir"], "best_result.txt"), "a") as f: - f.write("\n" + str(results.get_best_result(metric="hit1", mode="max"))) - print( "Best Config Based on Hit1 : ", - results.get_best_result(metric="hit1", mode="max"), + fin_res, ) - best_result = results.get_best_result(metric="hit1", mode="max") else: - - with open(os.path.join(search_space["index_dir"], "best_result.txt"), "a") as f: - f.write("\n" + str(results.get_best_result(metric="loss", mode="min"))) - print( "Best Config Based on Loss : ", - results.get_best_result(metric="loss", mode="min"), + fin_res, ) - best_result = results.get_best_result(metric="loss", mode="min") - + # Get the best configuration - best_config = best_result.config + best_config = fin_res.config # Extract the values for constructing the file name epoch = best_config["epoch"] @@ -337,7 +314,7 @@ def findRep(src, dest, index_dir, src_type="json"): margin, ), ) - best_checkpoint_path = best_result.checkpoint.path + best_checkpoint_path = fin_res.checkpoint.path print("best_checkpoint_path is: ", best_checkpoint_path) file_name = os.listdir(best_checkpoint_path)[0] print("file_name is: ", file_name) From a379155cc24265f8c46bb28734606c0c2c842300 Mon Sep 17 00:00:00 2001 From: svkeerthy Date: Sat, 5 Oct 2024 19:04:59 +0530 Subject: [PATCH 02/17] Fixing minor bugs in vocab gen --- seed_embeddings/OpenKE/config/Trainer.py | 4 +- .../OpenKE/generate_embedding_ray.py | 206 +++++++++++------- 2 files changed, 126 insertions(+), 84 deletions(-) diff --git a/seed_embeddings/OpenKE/config/Trainer.py b/seed_embeddings/OpenKE/config/Trainer.py index b95f25f2..edc35671 100755 --- a/seed_embeddings/OpenKE/config/Trainer.py +++ b/seed_embeddings/OpenKE/config/Trainer.py @@ -34,7 +34,7 @@ def __init__( save_steps=None, checkpoint_dir=None, index_dir=None, - out_path=None, + analogy_file="analogies.txt", ): self.work_threads = 8 @@ -54,7 +54,7 @@ def __init__( # self.out_path = out_path self.entity_names = self.load_entity_names(index_dir) - self.analogies = analogy.AnalogyScorer(analogy_file="/lfs1/usrscratch/staff/nvk1tb/IR2Vec/seed_embeddings/OpenKE/analogies.txt") + self.analogies = analogy.AnalogyScorer(analogy_file=analogy_file) def load_entity_names(self, index_dir): with open(os.path.join(index_dir, "entity2id.txt")) as fEntity: diff --git a/seed_embeddings/OpenKE/generate_embedding_ray.py b/seed_embeddings/OpenKE/generate_embedding_ray.py index f3953d92..8d7c1d26 100644 --- a/seed_embeddings/OpenKE/generate_embedding_ray.py +++ b/seed_embeddings/OpenKE/generate_embedding_ray.py @@ -27,7 +27,6 @@ os.environ["CUDA_VISIBLE_DEVICES"] = "0,1" - def test_files(index_dir): entities = os.path.join(index_dir, "entity2id.txt") relations = os.path.join(index_dir, "relation2id.txt") @@ -41,67 +40,56 @@ def test_files(index_dir): if not os.path.exists(train): raise Exception("train2id.txt not found") - -# TODO :: alpha, lmda, bern, opt_method -def train(arg_conf): - - try: - test_files(arg_conf["index_dir"]) - print("Files are OK") - except: - print(arg_conf) - print("Error in files") - raise Exception("Error in files") - +def train(config, args=None): # dataloader for training - train_dataloader = TrainDataLoader( - in_path=arg_conf["index_dir"], - nbatches=arg_conf["nbatches"], + in_path=args.index_dir, + batch_size=config["batch_size"], threads=4, sampling_mode="normal", - bern_flag=arg_conf["bern"], + # bern_flag=config["bern"], filter_flag=1, - neg_ent=arg_conf["neg_ent"], - neg_rel=arg_conf["neg_rel"], + # neg_ent=config["neg_ent"], + # neg_rel=config["neg_rel"], ) # dataloader for test (link prediction) - if arg_conf["link_pred"]: - test_dataloader = TestDataLoader(arg_conf["index_dir"], "link") + if args.link_pred: + test_dataloader = TestDataLoader(args.index_dir, "link") else: test_dataloader = None transe = TransE( ent_tot=train_dataloader.get_ent_tot(), rel_tot=train_dataloader.get_rel_tot(), - dim=arg_conf["dim"], + dim=args.dim, p_norm=1, norm_flag=True, ) # define the loss function model = NegativeSampling( model=transe, - loss=MarginLoss(margin=arg_conf["margin"]), + loss=MarginLoss(margin=config["margin"]), batch_size=train_dataloader.get_batch_size(), ) # train the model trainer = Trainer( model=model, data_loader=train_dataloader, - train_times=arg_conf["epoch"], - alpha=arg_conf["alpha"], - index_dir=arg_conf["index_dir"], - use_gpu=arg_conf["use_gpu"], + train_times=args.epoch, + alpha=config["alpha"], + index_dir=args.index_dir, + use_gpu=args.use_gpu, + analogy_file=args.analogy_file, ) trainer.run( - link_prediction=arg_conf["link_pred"], + link_prediction=args.link_pred, test_dataloader=test_dataloader, model=transe, - is_analogy=arg_conf["is_analogy"], + is_analogy=args.is_analogy, ) -def findRep(src, dest, index_dir, src_type="json"): +def findRep(src, index_dir, src_type="json"): rep = None if src_type == "json": with open(src) as fSource: @@ -116,22 +104,52 @@ def findRep(src, dest, index_dir, src_type="json"): with open(os.path.join(index_dir, "entity2id.txt")) as fEntity: content = fEntity.read() - with open(dest, "w") as fDest: - entities = content.split("\n") - toTxt = "" + entities = content.split("\n") + toTxt = "" + for i in range(1, int(entities[0])): + toTxt += entities[i].split("\t")[0] + ":" + str(rep[i - 1]) + ",\n" + toTxt += ( + entities[int(entities[0])].split("\t")[0] + + ":" + + str(rep[int(entities[0]) - 1]) + ) + return toTxt - for i in range(1, int(entities[0])): - toTxt += entities[i].split("\t")[0] + ":" + str(rep[i - 1]) + ",\n" - toTxt += ( - entities[int(entities[0])].split("\t")[0] - + ":" - + str(rep[int(entities[0]) - 1]) - ) - fDest.write(toTxt) +def reformat_embeddings(data): + result = [] + current_line = "" + is_inside_brackets = False + for line in data.splitlines(): + line = line.strip() + + if '[' in line: + is_inside_brackets = True + + opening_bracket_index = line.index('[') + current_line += line[:opening_bracket_index + 1] + line[opening_bracket_index + 1:].lstrip() + + numbers_part = current_line.split('[')[1].strip() + if numbers_part: + numbers = numbers_part.split() + current_line = current_line.split('[')[0] + '[' + ', '.join(numbers) + + elif ']' in line: + + numbers = line.split(']')[0].split() + current_line += ', '.join(numbers) + ']' + is_inside_brackets = False + result.append(current_line) + current_line = "" + + elif is_inside_brackets: + numbers = line.split() + current_line += ', ' + ', '.join(numbers) + + return '\n'.join(result) -if __name__ == "__main__": +if __name__ == "__main__": ray.init() parser = argparse.ArgumentParser() parser.add_argument( @@ -145,7 +163,6 @@ def findRep(src, dest, index_dir, src_type="json"): parser.add_argument( "--epoch", dest="epoch", help="Epochs", required=False, type=int, default=1000 ) - parser.add_argument( "--is_analogy", dest="is_analogy", @@ -170,10 +187,9 @@ def findRep(src, dest, index_dir, src_type="json"): type=int, default=300, ) - parser.add_argument( - "--nbatches", - dest="nbatches", + "--batch_size", + dest="batch_size", help="Number of batches", required=False, type=int, @@ -195,27 +211,46 @@ def findRep(src, dest, index_dir, src_type="json"): type=bool, default=False, ) + parser.add_argument( + "--storage_path", + dest="storage_path", + help="Path to store the ray results", + required=False, + type=str, + default=os.path.join(os.path.expanduser("~"), "ray_results"), + ) + parser.add_argument( + "--analogy_file", + dest="analogy_file", + help="Path to the analogy file", + required=False, + type=str, + default="./analogies.txt", + ) + arg_conf = parser.parse_args() + arg_conf.index_dir = arg_conf.index_dir + "/" + + try: + test_files(arg_conf.index_dir) + print("Files are OK") + except Exception as e: + print("Exception: ", e) + print("Error in files") + raise Exception("Error in files") search_space = { - "epoch": arg_conf.epoch, - "dim": arg_conf.dim, - "index_dir": arg_conf.index_dir, - "nbatches": tune.sample_from(lambda spec: 2 ** np.random.randint(8, 12)), - "margin": tune.quniform(3, 6, 0.5), + "batch_size": tune.sample_from(lambda spec: 2 ** np.random.randint(8, 12)), + "margin": tune.quniform(0.2, 6, 0.2), "alpha": tune.loguniform(1e-4, 1e-1), - "neg_ent": tune.randint(1, 30), - "neg_rel": tune.randint(1, 30), - "bern": tune.randint(0, 2), - "opt_method": tune.choice(["SGD", "Adam"]), - # "opt_method": tune.choice(["SGD", "Adagrad", "Adam", "Adadelta"]), - "is_analogy": arg_conf.is_analogy, - "link_pred": arg_conf.link_pred, - "use_gpu": arg_conf.use_gpu, + # "neg_ent": tune.randint(1, 30), + # "neg_rel": tune.randint(1, 30), + # "bern": tune.randint(0, 2), + "opt_method": "Adam", #tune.choice(["SGD", "Adam"]), } try: - test_files(search_space["index_dir"]) + test_files(arg_conf.index_dir) print("Files are OK") except: print("Error in files") @@ -234,7 +269,7 @@ def findRep(src, dest, index_dir, src_type="json"): scheduler = ASHAScheduler( time_attr="training_iteration", max_t=arg_conf.epoch, - grace_period=15, + grace_period=10, reduction_factor=3, metric=metric, mode=mode, @@ -243,11 +278,13 @@ def findRep(src, dest, index_dir, src_type="json"): if arg_conf.use_gpu: train_with_resources = tune.with_resources( - train, resources={"cpu": 8, "gpu": 0.15} + tune.with_parameters(train, args = arg_conf), + resources={"cpu": 8, "gpu": 0.15} ) else: train_with_resources = tune.with_resources( - train, resources={"cpu": 10, "gpu": 0} + tune.with_parameters(train, args = arg_conf), + resources={"cpu": 10, "gpu": 0} ) tuner = tune.Tuner( @@ -257,10 +294,10 @@ def findRep(src, dest, index_dir, src_type="json"): search_alg=optuna, max_concurrent_trials=12, scheduler=scheduler, - num_samples=512, + num_samples=128, ), run_config=RunConfig( - storage_path="/lfs1/usrscratch/staff/nvk1tb/ray_results/", + storage_path=arg_conf.storage_path, checkpoint_config=CheckpointConfig( num_to_keep=1, # *Best* checkpoints are determined by these params: @@ -273,7 +310,7 @@ def findRep(src, dest, index_dir, src_type="json"): # Write the best result to a file, best_result.txt fin_res = results.get_best_result(metric=metric, mode=mode) - with open(os.path.join(search_space["index_dir"], "best_result.txt"), "a") as f: + with open(os.path.join(arg_conf.index_dir, "best_result.txt"), "a") as f: f.write( "\n" + str(fin_res) ) @@ -296,21 +333,22 @@ def findRep(src, dest, index_dir, src_type="json"): # Get the best configuration best_config = fin_res.config - + print("best_config: ", best_config) # Extract the values for constructing the file name - epoch = best_config["epoch"] - dim = best_config["dim"] - nbatches = best_config["nbatches"] + dim = arg_conf.dim + batch_size = best_config["batch_size"] margin = best_config["margin"] - index_dir = best_config["index_dir"] + alpha = best_config["alpha"] + index_dir = arg_conf.index_dir # Construct the output file name using the best hyperparameters outfile = os.path.join( index_dir, - "seedEmbedding_{}E_{}D_{}batches_{}margin.ckpt".format( - epoch, + "seedEmbedding_{}_{}Dim_{}Alpha_{}batchsize_{}margin.ckpt".format( + metric, dim, - nbatches, + alpha, + batch_size, margin, ), ) @@ -327,20 +365,24 @@ def findRep(src, dest, index_dir, src_type="json"): embeddings_path = os.path.join( index_dir, - "embeddings/seedEmbedding_{}E_{}D_{}batches{}margin.txt".format( - epoch, + "seedEmbedding_{}_{}Dim_{}Alpha_{}batchsize_{}margin.ckpt".format( + metric, dim, - nbatches, + alpha, + batch_size, margin, ), ) + + data = findRep(outfile, index_dir, src_type="ckpt") + formatted_data = reformat_embeddings(data) + + # Write the embeddings to outfile + embeddings_path = embeddings_path.replace(".ckpt", ".txt") print("embeddings_path: ", embeddings_path) - findRep(outfile, embeddings_path, index_dir, src_type="ckpt") + with open(embeddings_path, "w") as f: + f.write(formatted_data) else: print("No .ckpt file found in the source directory.") - for result in results: - print(result) del results - - print("Training finished...") From 533445d761e7bf9e38a6552249321df5a0912b8d Mon Sep 17 00:00:00 2001 From: svkeerthy Date: Mon, 7 Oct 2024 22:45:56 +0530 Subject: [PATCH 03/17] Vocab for different dims and fixing minor issues in vocab training --- .../OpenKE/generate_embedding_ray.py | 55 +++++++--------- vocabulary/seedEmbeddingVocab100D.txt | 63 +++++++++++++++++++ ...ngVocab.txt => seedEmbeddingVocab300D.txt} | 0 vocabulary/seedEmbeddingVocab75D.txt | 63 +++++++++++++++++++ 4 files changed, 150 insertions(+), 31 deletions(-) create mode 100644 vocabulary/seedEmbeddingVocab100D.txt rename vocabulary/{seedEmbeddingVocab.txt => seedEmbeddingVocab300D.txt} (100%) create mode 100644 vocabulary/seedEmbeddingVocab75D.txt diff --git a/seed_embeddings/OpenKE/generate_embedding_ray.py b/seed_embeddings/OpenKE/generate_embedding_ray.py index 8d7c1d26..615371f2 100644 --- a/seed_embeddings/OpenKE/generate_embedding_ray.py +++ b/seed_embeddings/OpenKE/generate_embedding_ray.py @@ -9,6 +9,7 @@ import json import argparse import shutil +import re from config import Trainer, Tester from module.model import TransE @@ -115,39 +116,31 @@ def findRep(src, index_dir, src_type="json"): ) return toTxt -def reformat_embeddings(data): - result = [] - current_line = "" - is_inside_brackets = False - - for line in data.splitlines(): - line = line.strip() - - if '[' in line: - is_inside_brackets = True - - opening_bracket_index = line.index('[') - current_line += line[:opening_bracket_index + 1] + line[opening_bracket_index + 1:].lstrip() - - numbers_part = current_line.split('[')[1].strip() - if numbers_part: - numbers = numbers_part.split() - current_line = current_line.split('[')[0] + '[' + ', '.join(numbers) - - elif ']' in line: +def reformat_embeddings(input_str): + # Split the string by '],' to isolate each object + entries = input_str.split('],') - numbers = line.split(']')[0].split() - current_line += ', '.join(numbers) + ']' - is_inside_brackets = False - result.append(current_line) - current_line = "" + formatted_entries = [] - elif is_inside_brackets: - numbers = line.split() - current_line += ', ' + ', '.join(numbers) + for entry in entries: + # Remove any newline characters + cleaned_entry = entry.replace('\n', ' ') + + # Split the object name from the values part + obj_name, values = cleaned_entry.split(':[') + + # Remove extra spaces and replace multiple spaces with a single one using regex + values = re.sub(r'\s+', ' ', values.split(']')[0].strip()) + + # Replace spaces between numbers with commas and add the closing bracket + formatted_values = values.replace(' ', ', ') + ']' + + # Recombine the object name with the formatted values + formatted_entry = f"{obj_name.strip()}:[{formatted_values}" + formatted_entries.append(formatted_entry) - return '\n'.join(result) - + # Join all entries back into one string, separated by newline + return '\n'.join(formatted_entries) if __name__ == "__main__": ray.init() @@ -274,7 +267,7 @@ def reformat_embeddings(data): metric=metric, mode=mode, ) - optuna = OptunaSearch(metric=metric, mode=mode) + optuna = OptunaSearch(metric="loss", mode="min") if arg_conf.use_gpu: train_with_resources = tune.with_resources( diff --git a/vocabulary/seedEmbeddingVocab100D.txt b/vocabulary/seedEmbeddingVocab100D.txt new file mode 100644 index 00000000..9bc6b11a --- /dev/null +++ b/vocabulary/seedEmbeddingVocab100D.txt @@ -0,0 +1,63 @@ +add:[-8.52362216e-02, -2.45945796e-01, -4.24607731e-02, 2.64923483e-01, -1.41214542e-02, -1.07707255e-01, 4.51593101e-02, 1.02487214e-01, -1.48341414e-02, 1.81787178e-01, 6.67016208e-02, 4.46189977e-02, -8.23750347e-02, 1.83093518e-01, 3.32678035e-02, -1.46622390e-01, -4.92643900e-02, -2.55224146e-02, 6.04326949e-02, 1.88715130e-01, -3.68193164e-02, 6.94231167e-02, 4.10126410e-02, -6.84764013e-02, 1.23058945e-01, -9.83736390e-05, -5.54158911e-03, 2.94519085e-02, 2.26749685e-02, 1.17240392e-01, 6.11324720e-02, -1.81771517e-01, -1.76415052e-02, -4.01592515e-02, 1.78097621e-01, 7.06670852e-03, -4.57172357e-02, -1.50619969e-01, -9.44827124e-02, -1.75480068e-01, -7.60255978e-02, 1.07171066e-01, 2.22498715e-01, 7.22258165e-02, 7.20588341e-02, -1.16421148e-01, -9.41838771e-02, 1.80813923e-01, -8.05889741e-02, 1.46086052e-01, -9.98349935e-02, 3.29788476e-02, -9.92206857e-02, 9.08804759e-02, 3.78689431e-02, 5.88943586e-02, -4.59491797e-02, -8.29120278e-02, 7.95054361e-02, 1.78439990e-02, -2.58509982e-02, 7.56616369e-02, 1.04568325e-01, -1.56202599e-01, -2.57734563e-02, 1.93596855e-02, 1.29040807e-01, -8.24761093e-02, -1.73545837e-01, 1.42969966e-01, -1.28778622e-01, -3.95107232e-02, 1.33133652e-02, -3.37289199e-02, -6.24400079e-02, -1.31070897e-01, -4.30826917e-02, -1.26567945e-01, -2.15651900e-01, -5.67506291e-02, -3.29258330e-02, 1.65608257e-01, -1.88492145e-02, 2.33287752e-01, 3.00378054e-02, -1.76738545e-01, -8.04325193e-02, 1.87702760e-01, -2.39736848e-02, -9.85645577e-02, 3.72615233e-02, -1.12956636e-01, -9.50063169e-02, 3.42431143e-02, 1.22220606e-01, -5.39523130e-03, 1.98720489e-03, 9.11523402e-03, -6.93807155e-02, 6.17282577e-02] +alloca:[-0.09549255, -0.12557219, 0.03379089, 0.12109557, -0.03531531, -0.2551805, 0.10788739, 0.09700596, -0.01370677, 0.1135722, 0.07690978, 0.05116574, -0.09614895, 0.19678918, 0.14742346, -0.00976098, 0.24440478, -0.03487564, -0.05972337, -0.07113709, -0.04069309, -0.00905408, 0.09381753, -0.05227873, 0.0185564, 0.00785588, 0.10815099, 0.09986073, 0.0029005, 0.12109574, 0.08769628, -0.07261439, -0.04622762, -0.11434357, 0.31857088, 0.05211561, -0.0501864, -0.08464269, -0.05009941, -0.16629553, -0.10458375, 0.03947812, 0.08374927, 0.02248335, 0.07524205, 0.12703352, 0.02529348, 0.05168853, -0.05606319, -0.13958237, -0.0585564, -0.05144294, -0.11440989, 0.12794414, 0.01429109, -0.02604704, 0.04282403, -0.17824344, -0.00103301, -0.00441383, -0.1290221, 0.11616968, 0.17841731, -0.17370644, 0.01878525, -0.13822994, 0.29534182, -0.08290374, -0.26018453, -0.2423333, 0.06269401, 0.15722081, 0.05572377, 0.03796894, 0.0097774, -0.09503853, -0.03461437, -0.18860193, 0.05917948, -0.05421929, 0.1554059, 0.06737203, 0.12789263, 0.18676774, -0.03264643, -0.14613546, 0.10640658, 0.04788931, 0.05284823, -0.07678876, -0.15884072, -0.09681277, -0.20900938, 0.13614763, 0.11053005, -0.01231453, 0.0082564, 0.01286345, 0.05174101, -0.03757114] +and:[-0.0881869, -0.1832501, -0.02236259, -0.08309272, -0.01707565, -0.09593864, 0.05584465, 0.11377291, 0.0052051, 0.33537892, -0.02086726, -0.04760219, -0.07862076, 0.17689508, 0.06404671, -0.24831565, -0.04806908, -0.01249005, 0.06386451, 0.17768936, -0.03290997, 0.07213664, 0.0320717, -0.06150476, 0.08116434, 0.00066787, -0.09663099, 0.09602754, 0.02356921, 0.12101333, 0.05900703, -0.16276178, -0.03739112, -0.03569444, 0.15475409, -0.07160591, -0.04432394, -0.09916383, -0.00070206, -0.13641287, -0.0825344, 0.09731495, 0.21391882, 0.05829814, 0.16758765, 0.17819895, -0.10077256, 0.01100022, -0.15785712, -0.10925666, -0.19227467, 0.02036687, 0.03744258, 0.0705176, 0.01200844, 0.06924565, 0.02984295, 0.00166557, 0.01469694, 0.01338413, 0.00133804, 0.0685681, 0.06490856, -0.13547117, 0.13122046, -0.04225351, 0.12522636, -0.07368809, -0.23429681, 0.07449005, 0.08751217, -0.01046039, 0.03592191, 0.02029108, -0.10386209, 0.05748203, -0.27302966, -0.12220228, 0.09895118, -0.04531586, -0.02545726, 0.03405684, -0.01663586, -0.09172897, -0.02909598, -0.1601327, 0.08839633, 0.0608284, -0.09534211, -0.07028268, 0.03571701, -0.10825088, -0.11168069, 0.02237209, 0.09868738, -0.0014685, -0.00517186, -0.01344037, -0.09333953, -0.03477098] +ashr:[-0.17676029, 0.10313923, -0.00422224, 0.04140399, 0.07537024, -0.09347995, 0.03889775, 0.1937052, 0.03877834, 0.12433453, -0.05621453, -0.09342647, 0.06852726, 0.11960614, 0.2329826, -0.08239498, -0.24359159, -0.02925007, 0.06965269, 0.05229177, -0.07672995, 0.02271152, 0.06093349, -0.01333139, 0.08810728, -0.0650942, -0.02691983, 0.11387724, 0.12446124, 0.08896013, 0.10819702, -0.05356165, -0.16467887, -0.13486785, 0.18615717, 0.09554695, -0.08764168, -0.00645575, -0.06144961, -0.2157099, -0.00717567, 0.02715934, 0.19245613, -0.02020936, -0.2103456, 0.01254946, -0.09238755, -0.08276135, 0.19606642, -0.14044479, -0.16258587, -0.1610684, -0.10104254, 0.15536247, -0.21380995, 0.06143969, -0.00510657, 0.06693038, 0.12561001, 0.05790403, 0.11904424, 0.06015869, 0.13805872, -0.34340182, -0.07052808, -0.07914555, 0.2187202, -0.05404146, 0.01415937, 0.01479177, 0.18482208, 0.0223961, -0.01074133, 0.18871637, -0.03872506, 0.02291136, 0.05926037, -0.1554712, -0.04937316, 0.03572288, 0.13166799, 0.3216803, -0.0597387, -0.10533224, 0.04918348, -0.12194781, 0.09272628, 0.08853518, 0.03546468, 0.00948116, -0.01518097, -0.10260459, -0.17166473, 0.1567235, 0.10187692, -0.04260992, 0.05165593, 0.09330627, -0.01242476, -0.10910615] +bitcast:[-2.07878817e-02, -8.23711231e-02, 1.00722564e-02, 1.34550288e-01, -4.26665656e-02, -1.56117603e-01, 3.60176153e-02, 1.64358735e-01, 7.73761645e-02, 1.26678392e-01, -8.82288069e-03, -8.71955529e-02, -1.34099036e-01, 2.37952948e-01, -1.03015065e-01, -3.16375331e-03, -2.05897301e-01, -2.51553040e-02, 1.34449201e-02, 1.17931567e-01, 1.30053461e-02, 7.81119913e-02, 5.57484552e-02, -1.52201191e-01, 5.92403876e-06, -3.54858898e-02, -4.84898388e-02, 4.37163413e-02, -1.17184460e-01, 1.56913966e-01, 9.40292403e-02, -4.74243090e-02, 9.07661915e-02, -1.45079255e-01, 1.06205590e-01, -2.15000622e-02, -7.28723779e-02, -1.37063980e-01, 7.85234869e-02, -3.06736454e-02, -8.54443237e-02, -3.38093308e-03, 2.71273911e-01, 2.16092374e-02, 2.23694965e-01, 3.12910303e-02, 3.58200893e-02, 1.54731227e-02, -1.15724750e-01, -1.67987525e-01, -1.97159931e-01, -8.45486671e-02, -6.90428391e-02, -1.85478870e-02, -1.13298140e-01, -6.34974837e-02, 8.66320208e-02, -7.73959830e-02, -7.51477014e-03, -4.42927331e-02, 1.62011728e-01, 6.54485524e-02, 1.05205335e-01, -3.28130648e-02, 7.44132102e-02, -2.36125980e-02, 2.33616680e-02, -4.82202284e-02, -1.56079859e-01, 6.80682734e-02, 2.08332837e-01, 9.13671404e-02, 2.21654788e-01, -1.72201872e-01, -1.04779126e-02, -4.54562865e-02, 2.02677418e-02, 1.64413229e-02, -5.17942458e-02, 1.12812768e-03, 2.52170950e-01, 1.47572741e-01, -4.16345848e-03, -8.78667831e-02, 8.03434253e-02, -3.77238467e-02, -2.80345604e-03, 1.32836118e-01, -5.94768003e-02, 1.26690671e-01, -5.75769730e-02, -6.82438612e-02, -1.56382814e-01, 1.02906309e-01, 7.42264315e-02, -4.65768129e-02, -4.51054312e-02, 2.40943264e-02, -2.39319339e-01, -6.20513149e-02] +br:[-0.099177, 0.3150131, -0.04487686, -0.01492688, -0.04303256, -0.19340976, 0.01871662, 0.08351724, 0.0033876, 0.04619076, 0.07775693, 0.03258252, -0.09622495, 0.12494505, -0.02928186, 0.12002835, -0.1534576, -0.01619091, 0.03424224, 0.13413754, -0.02958547, 0.06926636, 0.01635612, 0.04095785, 0.010296, 0.00197415, 0.09132183, 0.05388586, -0.09623589, 0.13405299, 0.09094108, -0.09166401, -0.06718332, -0.0475782, -0.0073903, -0.02782297, -0.04918024, -0.09153914, -0.02933892, -0.14185783, -0.12603974, 0.12627149, 0.23379128, 0.0762573, 0.11509198, 0.1119738, -0.03334486, 0.14956051, -0.17248306, -0.04407349, -0.09998709, -0.12013067, -0.17310591, -0.02307913, 0.12889126, -0.01481523, -0.08285125, 0.04331553, 0.05079079, 0.0329731, 0.25788632, 0.09153011, 0.08102073, -0.16415507, 0.14843951, 0.06474738, 0.1360627, -0.08181168, -0.18541642, 0.1441945, 0.1329959, -0.08139568, 0.04567936, -0.02717791, -0.10730068, -0.21552096, -0.09304699, -0.27975485, -0.21394645, -0.05183838, 0.14562888, 0.21152635, -0.0828347, -0.22074844, 0.02477005, -0.08336065, 0.01033397, -0.09007299, -0.17637205, -0.1772377, -0.05019882, -0.10411737, -0.08792149, 0.19512525, 0.11445063, 0.00522814, 0.03092966, 0.04109679, 0.05382293, -0.03247872] +call:[-1.04701392e-01, -6.70794174e-02, 4.89112502e-03, -1.47286300e-02, 2.04647966e-02, -1.97413385e-01, -3.58250663e-02, 1.59250021e-01, -1.05780900e-01, 1.55995816e-01, 5.03775179e-02, 8.49897489e-02, -9.04796049e-02, 2.17702419e-01, -2.23092780e-01, -5.64655662e-02, 6.14847466e-02, -3.92033309e-02, 7.84037113e-02, 9.65412706e-02, -3.16415839e-02, 6.42274767e-02, 2.68767532e-02, -2.76047647e-01, 7.42645115e-02, -1.03149582e-02, 5.46699017e-03, 4.80250157e-02, 1.09731639e-03, 1.77297935e-01, 7.34938905e-02, -2.02615678e-01, -4.62299883e-02, -1.33786008e-01, -8.89935810e-03, -1.12955518e-01, -8.67902562e-02, -1.19207859e-01, -1.41892117e-02, -1.07120745e-01, -5.56721240e-02, 1.47580907e-01, 2.27435231e-01, 8.31519589e-02, -1.50715411e-01, 2.31529847e-01, -1.11571252e-02, 2.63131887e-01, 6.14891164e-02, -1.42435431e-02, -2.70974010e-01, 5.35942391e-02, -1.48696870e-01, -3.24554816e-02, 4.26823422e-02, 3.30416746e-02, -8.73533264e-02, -2.07553096e-02, 7.73261711e-02, 1.87988579e-02, 1.71670690e-02, 3.21571231e-02, 8.45122114e-02, -2.24206865e-01, 2.67547332e-02, -2.14349806e-01, 1.82695374e-01, -1.00010969e-01, -8.99534896e-02, -1.20487973e-01, 7.94163868e-02, 3.91301289e-02, 1.59707248e-01, -5.97064719e-02, -1.63278416e-01, 9.43717882e-02, -9.63501409e-02, -1.49536476e-01, -3.67824845e-02, -1.04848124e-01, 1.14421330e-01, 2.97050446e-01, 9.69401076e-02, -6.76914304e-02, -2.94748805e-02, -1.53186977e-01, 9.19972137e-02, -5.97985834e-02, -2.77386606e-01, 3.22145596e-02, 4.07968536e-02, -1.31066158e-01, -2.48400986e-01, 3.02040756e-01, 1.45442486e-01, -5.20051904e-02, -9.17151477e-03, 1.16061055e-04, -1.23684011e-01, -1.22088194e-01] +constant:[-0.08644564, 0.04720904, 0.3374407, -0.18976857, 0.0811578, -0.33932808, 0.4035224, -0.07799068, -0.04368839, 0.43955603, -0.22769684, 0.35501516, 0.20531619, -0.00515914, -0.22324213, 0.09688146, -0.05597144, -0.29780877, -0.1481954, 0.08998086, 0.28699994, -0.03343057, 0.36576456, 0.29125366, -0.07470614, 0.13325071, 0.05129022, 0.10100243, -0.23313886, -0.13193938, -0.2418513, -0.07044391, 0.04079618, -0.3372998, 0.09795056, 0.40038717, 0.05735227, -0.49383435, -0.35446408, -0.23330846, 0.06698798, -0.0407949, -0.00064809, 0.40583038, -0.19727792, 0.18831186, -0.37656286, 0.2940002, -0.22246473, -0.20054726, 0.24802186, 0.25552902, 0.12516917, 0.14362192, 0.18986972, -0.09164374, 0.00373898, 0.09180713, -0.19041973, 0.24212387, 0.12381089, 0.31448025, -0.21835794, -0.16620648, -0.18439929, -0.17649852, 0.06383282, -0.3840267, 0.16084366, -0.16367114, 0.27042413, 0.11560916, 0.02215447, 0.26064414, 0.04134811, -0.09941078, -0.09943497, -0.0342853, 0.01636235, -0.11231827, -0.04950193, 0.5263929, 0.42759675, 0.10256311, 0.10700524, 0.04988717, -0.09191196, 0.06891631, -0.09606853, -0.30359405, 0.00320533, 0.11609415, 0.10246228, 0.16086128, 0.41071257, 0.18106623, 0.22133847, 0.12628044, -0.33202705, 0.09903702] +extractelement:[0.11015881, 0.1817078, -0.0108996, 0.0327295, -0.0338932, -0.15291688, 0.03729693, 0.02994337, 0.02760435, 0.2325014, 0.06247658, -0.11473273, -0.03262726, 0.21863921, -0.09958997, 0.19547632, 0.03035412, -0.05531217, -0.00231834, 0.14383015, 0.00248359, 0.07008117, 0.0485259, -0.12056551, -0.0664911, 0.02285596, 0.03037409, 0.00277384, -0.09285001, 0.08288768, 0.03289559, -0.16844527, -0.02132127, -0.14515994, -0.09100385, -0.0477846, -0.07270827, -0.12921655, -0.03342405, 0.02400822, 0.04773097, -0.10363717, 0.17770055, -0.04277344, -0.11009358, -0.04405073, -0.11866957, -0.03764169, -0.05859337, 0.04189719, -0.11980305, -0.0734432, -0.04584158, 0.14746214, 0.22073017, 0.22711752, -0.2523686, -0.10142963, 0.09167197, 0.23874976, 0.16649675, 0.01258223, 0.0985437, -0.22548202, 0.05445502, -0.04006629, 0.1540616, -0.05681247, -0.17387952, -0.15864551, -0.05983451, -0.12169134, 0.16300464, 0.19893873, -0.14403379, -0.11372939, 0.01181346, 0.03729149, 0.16335742, 0.09760231, -0.03500843, 0.14781824, 0.07057919, -0.05715268, -0.02241548, -0.16599551, 0.12072779, 0.1959893, 0.00652399, -0.0862033, 0.14193566, -0.15085481, -0.14382704, -0.03997584, 0.16362527, -0.09340642, 0.04757507, -0.08835962, -0.13892448, 0.02944472] +extractvalue:[0.12543365, 0.17244136, -0.0085203, 0.0131818, 0.12192795, -0.03234904, -0.0318835, 0.06758608, -0.11469257, 0.08445198, 0.03277346, 0.17310363, 0.03665498, 0.19127783, 0.0546701, -0.02470871, 0.17831165, -0.04748409, 0.0170707, 0.16792035, 0.01747213, 0.06124788, -0.01036114, 0.21252973, -0.18293281, 0.02461197, 0.0584524, -0.1572164, -0.18066396, 0.05628143, 0.12265512, -0.07449167, -0.03768009, -0.22513647, 0.0433997, -0.08851199, -0.09708109, -0.08637014, 0.20144814, -0.03303384, 0.07125487, 0.22310762, 0.16541758, 0.02135657, -0.05870954, 0.06865649, -0.03434946, 0.1320928, 0.03848596, -0.06029726, -0.1514179, -0.11752907, -0.10805283, -0.00667613, -0.05696455, 0.23884058, 0.07880201, -0.00506071, 0.11066493, 0.19166665, -0.05263668, 0.04985057, -0.01267756, -0.06756993, 0.05341687, -0.02555228, 0.10682516, -0.12895356, -0.20898606, 0.00580245, 0.14753044, -0.10811523, 0.12658529, -0.14201358, -0.18486081, -0.03794788, -0.01547229, -0.06546687, 0.00367165, -0.08506455, 0.03959191, 0.12186965, -0.07355496, 0.00913287, 0.02975254, -0.10356234, -0.0088994, 0.25191072, -0.05293767, -0.05974568, 0.06370568, -0.09822353, -0.10034354, 0.0989753, -0.11060101, 0.03015978, -0.04115984, -0.10316055, -0.08556107, 0.05772397] +fadd:[-3.25232595e-02, 5.97966239e-02, -2.50501605e-03, -2.41671860e-01, -1.52665913e-01, -1.24359682e-01, -8.03226829e-02, 1.29642203e-01, -1.59501564e-02, 1.40666664e-01, 8.39213580e-02, 4.61006351e-02, -9.25673097e-02, 1.98170781e-01, -1.09630287e-01, 4.72728461e-02, -6.46649897e-02, -2.74648517e-02, 2.02192622e-03, 1.81441516e-01, 1.00758284e-01, 6.08332902e-02, 8.94991308e-02, 2.63617411e-02, 1.40940383e-01, -4.16390822e-06, 1.08313389e-01, 2.59378236e-02, -1.33188190e-02, 1.23170756e-01, 7.33651593e-02, -1.85697570e-01, 1.11621693e-01, -1.12001859e-01, 3.31167787e-01, 2.48832069e-02, -4.89485338e-02, -1.66560456e-01, 2.34583430e-02, -5.56070581e-02, -9.01997834e-02, 1.03788309e-01, 2.46821225e-01, 1.28473260e-03, 1.50571883e-01, -1.87562052e-02, -6.71022683e-02, -1.91006325e-02, -1.74950168e-01, 9.15326923e-02, -9.61406156e-02, 1.26645520e-01, 7.83024654e-02, 2.19781641e-02, 1.57443378e-02, 2.66764034e-02, -1.28983065e-01, -6.55469820e-02, 8.46516714e-02, -4.30844575e-02, 2.67171681e-01, 6.13842383e-02, -1.07230216e-01, -8.59633535e-02, 1.72657594e-01, -3.23978215e-02, 3.25019495e-03, -8.00509006e-02, -1.33644626e-01, 9.82369576e-03, 1.31264478e-02, -8.20175856e-02, 9.46557242e-03, -6.53434452e-03, -4.88522872e-02, 1.28366530e-01, -1.38745621e-01, -1.28405333e-01, -2.83333976e-02, -5.56827076e-02, -1.03522474e-02, 5.20775020e-02, -9.03711002e-03, -1.90814480e-01, 2.99296528e-02, -1.22030959e-01, 9.06203166e-02, 1.90227166e-01, -8.11614543e-02, -1.64504915e-01, 5.31688742e-02, -1.14277504e-01, 6.30267933e-02, 1.96864188e-01, 1.05707690e-01, -4.49874587e-02, -5.31426445e-03, -2.54788101e-02, -1.61672890e-01, -4.85686846e-02] +fcmp:[-0.07419012, 0.11684816, -0.03898409, -0.22943959, -0.1401029, -0.10245115, 0.07488028, 0.10676046, 0.10444923, 0.17854697, 0.06504504, 0.03869213, -0.08444435, 0.19932303, -0.16914082, -0.0881528, -0.12249286, 0.10173966, -0.03760519, 0.17254528, -0.01906643, 0.08693043, -0.04417108, -0.02678977, 0.24512264, -0.00213834, 0.10567795, 0.02001777, -0.07972224, 0.09328899, 0.05786212, -0.17564139, 0.0139377, 0.06468958, -0.09446138, -0.04214328, -0.04553512, -0.06388254, -0.00670787, -0.02420081, 0.06109492, 0.09476268, 0.20108542, 0.06812051, 0.14059882, 0.02038882, -0.00827774, 0.04590783, -0.0684548, -0.11071896, -0.09700356, 0.01976173, -0.04335584, -0.06076335, 0.01395286, 0.06785708, -0.02151516, -0.00742891, 0.00734934, 0.01795086, -0.05580859, 0.06759918, 0.02109922, -0.12775181, 0.15562968, -0.07587544, 0.10828868, -0.06900802, -0.21700971, 0.21987149, 0.04424175, -0.02283643, 0.03176983, -0.039738, 0.03648339, -0.0978855, -0.13666598, -0.03817528, 0.03170637, -0.03291135, -0.03295244, 0.02152793, 0.14705418, 0.16685458, -0.02645591, -0.15356724, 0.12431041, 0.1495376, -0.07357807, -0.14828467, 0.03658584, -0.10417088, -0.12795211, 0.11975849, 0.09669127, -0.0147695, 0.07744023, 0.02918604, -0.11017347, -0.00259428] +fdiv:[-0.02851935, -0.02977753, 0.04797881, -0.16002922, -0.2739994, -0.05571995, 0.0347727, 0.07976963, 0.0122891, 0.07545689, 0.10755033, -0.07777403, -0.01965169, 0.16306162, 0.06462174, -0.06871983, 0.13782021, -0.01812159, 0.03680438, 0.17279354, -0.08469507, 0.06009267, 0.05078811, 0.05675481, 0.21506754, 0.07695015, 0.15413374, 0.06144127, -0.13497467, 0.08842142, -0.03839129, -0.20846984, 0.03480081, -0.08377707, 0.10487233, 0.07327569, -0.02101763, -0.13965248, 0.08109489, 0.1307609, -0.00660455, 0.10593361, 0.18417752, -0.02969596, -0.10129374, -0.00834186, -0.11685359, 0.24274711, -0.12930447, -0.06328312, -0.07138425, -0.14048494, -0.047382, 0.12680247, -0.06136982, 0.04713649, -0.24366245, -0.04119052, 0.0915467, -0.03433002, 0.23467347, -0.02806181, -0.08923019, -0.14692703, 0.11747012, -0.05399193, 0.01171021, -0.07405037, -0.09436411, -0.00142008, -0.11841816, -0.03983841, -0.10584622, 0.08862869, -0.15353557, -0.11465039, -0.04347554, -0.05438951, 0.0359162, 0.00674325, -0.00864024, 0.05938205, 0.11206808, 0.07246841, -0.01052807, -0.12588255, 0.08821127, 0.0906138, -0.07537003, -0.11216818, 0.08904202, -0.12487537, 0.04114659, 0.20806828, 0.14672591, -0.06176198, 0.03967106, 0.06796943, 0.02784103, -0.06661242] +floatTy:[-0.03554066, -0.07219202, 0.03032841, 0.08395071, 0.16654263, 0.02469288, 0.10792953, -0.15616006, -0.13037354, -0.05308032, 0.24445558, -0.03207595, -0.08020614, 0.09474771, -0.2580746, 0.07353462, -0.03670619, -0.08898182, 0.07204551, -0.00443542, 0.20582072, -0.15966927, -0.00936408, 0.09222627, -0.10127913, 0.20440692, -0.05475397, -0.09951981, 0.04184861, 0.01689406, 0.03628857, 0.12894958, -0.01189231, -0.04669143, -0.02333387, -0.20174949, 0.08055072, 0.00758745, 0.15534282, 0.22473206, 0.1762469, 0.00782499, -0.15731563, -0.12556803, 0.00441859, 0.00623101, -0.01149804, -0.00973536, -0.00287221, 0.18064079, 0.1013004, 0.05668283, -0.09545495, -0.08564378, -0.18737721, 0.15224598, 0.02284791, -0.02866246, -0.03221876, -0.14118108, -0.02214616, -0.0591343, -0.19087502, -0.04007247, 0.02534897, 0.04076721, -0.20957634, 0.11054103, -0.03581158, -0.07319796, -0.1329344, -0.17861629, 0.00208901, -0.24149635, -0.01556128, -0.11251435, 0.05853895, 0.1283922, -0.08415353, -0.10733026, 0.05733407, -0.09854538, -0.03878151, -0.08442533, -0.08745051, 0.06319115, -0.01616211, -0.14556316, -0.06591965, 0.16206527, -0.00886989, 0.19155751, -0.05300944, -0.05398215, 0.05403015, -0.08226205, 0.14091259, 0.1119808, 0.0555094, -0.11667454] +fmul:[-0.1185753, -0.13615306, 0.00484938, 0.04165395, -0.03317599, -0.13718367, 0.04906572, 0.00778528, 0.0764716, 0.16935678, 0.04816304, -0.0859753, -0.02958203, 0.21470581, 0.08905386, -0.11209283, 0.22241114, -0.03412962, 0.09455141, 0.1751519, 0.12894607, 0.03504061, 0.03827254, 0.13363554, -0.02161996, -0.03856876, 0.1392877, 0.00325197, -0.08855918, -0.00143537, 0.00789888, -0.21859562, 0.00343166, 0.06750929, -0.00813178, -0.06970946, -0.08563176, -0.11500722, 0.07916944, -0.00276161, 0.01209736, 0.18866448, 0.16641852, 0.01604792, 0.07490443, 0.15995884, -0.17711124, -0.05433702, -0.1643166, -0.1351143, -0.13869353, -0.12550355, -0.07411662, 0.10539798, 0.14160272, 0.14297834, -0.2371137, -0.05379802, -0.02138153, -0.00532857, 0.2032415, -0.05146542, 0.06547051, -0.11811713, 0.04982863, -0.09374387, -0.07902364, -0.06969839, -0.03203138, 0.04430814, 0.18096791, -0.00415012, -0.06312709, 0.12429202, -0.07620568, -0.11050078, -0.25231045, -0.13165767, 0.02669261, 0.00831437, -0.04078189, 0.12697074, 0.09287174, 0.10948132, 0.00567487, -0.18004748, 0.11385567, -0.01855352, -0.05886371, 0.00981937, 0.093337, -0.14039992, -0.02097351, 0.12466957, 0.16667524, -0.08684891, 0.03179542, 0.06828923, 0.01812844, -0.01773021] +fneg:[-0.07967768, 0.0257382, -0.09740639, 0.06787898, -0.12553738, -0.1588254, 0.0404582, 0.05235421, -0.13278304, -0.03190799, 0.01627852, -0.01708365, -0.16922686, 0.24339387, 0.04991701, 0.00759817, 0.06988426, -0.03634616, 0.05133811, 0.19829163, 0.00449598, 0.00958101, 0.02064109, -0.01307286, -0.143177, -0.01431423, 0.06909844, -0.06664465, -0.23599209, 0.0659041, 0.1429004, -0.22357555, 0.0963949, 0.19576049, 0.09289518, 0.01604964, -0.08336593, -0.11384837, 0.20007004, 0.12722318, -0.01336442, 0.03537125, 0.17940804, -0.04175236, 0.09377784, -0.03606307, -0.14674656, 0.03877357, -0.0593932, 0.03363463, -0.08947524, -0.10942028, -0.11241627, 0.05974098, -0.07781969, 0.1762602, -0.31520557, -0.04519112, 0.12528142, 0.07177059, 0.14049791, 0.02143748, -0.06559046, -0.13712324, 0.26525593, -0.08017721, 0.01999342, -0.13411684, -0.17971659, -0.06095642, 0.10666642, 0.03721513, 0.01934452, 0.12616944, -0.1326853, 0.16727997, -0.01583993, -0.18841387, -0.14675601, -0.15292367, 0.13459764, 0.13021947, 0.07058944, -0.13849314, -0.05655656, -0.12005194, 0.20023838, -0.05602298, 0.11965046, -0.07377418, 0.10417405, -0.02669079, -0.15781054, -0.04316432, 0.15543202, -0.0684517, 0.03773818, 0.11693568, -0.1733359, -0.0564064] +fpext:[-0.18426687, -0.15026188, 0.03890847, 0.03927221, -0.15648182, -0.16027395, 0.07988105, 0.1047267, 0.05574889, 0.2746149, 0.01715003, -0.07346141, -0.01752456, 0.2899341, -0.05475452, 0.00680553, 0.03047421, -0.03468033, 0.10530987, 0.22326142, -0.07591507, 0.080363, 0.07436662, -0.11116834, -0.07970588, -0.03727131, 0.1713403, 0.06791274, -0.08743562, 0.10569161, 0.03404247, -0.22793487, -0.05725041, -0.25389344, -0.05132939, -0.00793995, -0.04231216, -0.11769468, 0.13232592, -0.02173601, -0.03989946, -0.06245739, 0.23180124, -0.02189647, 0.14222233, -0.03469254, -0.06834032, 0.07855535, 0.00904491, -0.08018422, -0.04319506, -0.15872872, -0.04009562, 0.00186763, -0.04621039, 0.15363674, 0.00346706, -0.17390577, 0.01670262, 0.01854105, 0.18079011, -0.01880468, 0.0012762, -0.16248964, 0.17998855, -0.09201614, 0.03061481, -0.04298611, -0.26406047, 0.15737927, -0.03901811, 0.09908602, 0.19651212, -0.03613302, -0.1296272, 0.02149157, -0.2209785, 0.01423955, 0.09273185, -0.10507593, 0.13089411, 0.02410568, 0.09846523, 0.1331036, 0.01303839, 0.10926238, -0.02651915, -0.05778711, -0.16960011, 0.00833431, 0.04065713, -0.05367739, 0.03795866, 0.08211508, 0.12076677, -0.12073553, -0.00664333, 0.11101033, -0.15964875, -0.0666934] +fptosi:[-0.0554697, 0.11791588, -0.0013198, 0.12632935, 0.00447158, -0.14492078, 0.03891406, 0.09680992, 0.08548377, 0.09063601, 0.09051156, 0.05034095, -0.09754931, 0.1269517, -0.03805733, 0.04344397, 0.03175728, -0.04808291, 0.10078087, 0.1149365, -0.03799108, 0.07591638, -0.05638763, -0.0359469, 0.19751169, 0.0053115, 0.11815924, 0.0793542, 0.07977456, 0.15707728, 0.03038415, -0.18727718, -0.1367524, 0.07888949, 0.26762837, -0.03323869, 0.0277237, -0.07629527, 0.00876829, -0.07013759, -0.08821512, -0.04512594, 0.153249, 0.12013132, -0.07932937, 0.18108295, -0.1225926, 0.18256319, -0.18706508, 0.16552396, -0.25803035, 0.17260392, 0.08509452, 0.10007568, 0.09217111, 0.06008356, -0.00172302, -0.04164677, 0.03119178, 0.0876347, -0.13216065, 0.03179015, 0.18608956, -0.23122469, 0.14319035, -0.08295162, -0.06081326, -0.08201712, -0.03556689, 0.10634129, 0.06310246, -0.08388993, -0.14447589, 0.05015244, -0.18503955, -0.11269514, -0.31860548, -0.03589016, -0.12194233, 0.01626188, -0.08501407, 0.22369611, 0.18216018, -0.02301488, -0.11480652, -0.18599588, 0.07168116, 0.04052822, -0.05108454, -0.18706018, 0.14226672, -0.11834884, 0.03589581, 0.08744145, 0.15074429, 0.0439859, -0.02189867, -0.00480578, 0.05460484, -0.0682525] +fptoui:[0.01534599, 0.11102642, -0.06433313, 0.12988476, -0.1834939, -0.16949226, 0.01729213, 0.08380955, 0.11952619, -0.01518821, 0.07657523, -0.04023485, -0.07571229, 0.22758603, 0.08751385, 0.01347839, 0.02241973, 0.1481322, 0.04303844, 0.10267215, -0.08324239, 0.0142575, 0.00936347, -0.22054647, 0.25634748, -0.0381539, -0.05048601, -0.07610298, 0.1577609, 0.08765596, 0.02920991, -0.17836185, -0.15339334, 0.04885783, 0.08072589, -0.03573016, -0.18523148, -0.17444612, -0.09178676, 0.01785605, 0.07531517, 0.04415886, 0.22509561, 0.02334466, 0.06014464, 0.08462746, -0.10575932, 0.1549868, -0.25414446, -0.08759841, -0.24022678, -0.16427213, 0.10241618, -0.11295955, 0.12617837, -0.1453438, -0.21389423, -0.11913949, 0.09377643, -0.04626127, 0.09307901, 0.04208783, -0.01726591, -0.26377267, -0.02864962, -0.1088893, 0.07309006, -0.0451626, 0.01381598, -0.11376946, -0.0318372, -0.03117885, -0.00751992, 0.04759032, -0.17189564, -0.0671782, -0.04055243, 0.01991023, 0.16895834, 0.05444985, -0.15930498, 0.0692432, 0.08038696, -0.21758558, -0.058544, -0.13402379, 0.04276042, -0.05320217, 0.01905229, -0.07822247, -0.06815692, -0.08865747, 0.05312298, 0.16342764, 0.16332811, -0.08524821, 0.11748832, -0.00836508, 0.16828352, -0.06611577] +fptrunc:[0.03908361, -0.29163882, -0.01192833, 0.05700167, -0.15311228, 0.00592163, 0.11606749, 0.10364928, 0.00504514, 0.06242209, 0.02461933, -0.10485581, -0.05805987, 0.11109967, -0.21236938, -0.02764414, 0.00115695, -0.05327054, -0.04722964, 0.22064194, 0.05563463, 0.09927423, 0.00172509, 0.05695758, 0.15492564, -0.00116055, 0.10587673, -0.08940331, -0.26303604, 0.11133532, 0.06438829, -0.24923158, 0.00585104, 0.01792561, -0.05203447, -0.01861908, -0.04413635, -0.09662925, -0.06113444, -0.01912897, -0.1339004, 0.11452908, 0.21368553, -0.06880628, 0.08122889, 0.15311414, -0.0491191, 0.15580809, -0.13225053, 0.05510123, -0.03497581, -0.13011466, -0.2066264, 0.04036298, 0.00753686, -0.2602519, 0.09403002, -0.02894866, 0.12125255, 0.0565765, 0.03297821, -0.0520851, -0.01591829, -0.252252, 0.1965733, -0.07920001, -0.0565741, -0.11322758, -0.19400476, -0.0226372, -0.20854528, 0.00065207, 0.01669456, 0.00958129, -0.08440962, -0.22263911, -0.00767746, 0.01174589, 0.08269951, -0.05927481, -0.05633973, 0.34439847, 0.01708565, -0.0765264, 0.12886453, -0.04893937, 0.09297176, -0.00561692, 0.06084311, -0.04330954, 0.0815511, -0.17323127, -0.08324848, 0.14596382, 0.11188202, -0.1324599, -0.02025824, 0.14508359, -0.2174703, -0.03305363] +freeze:[-0.03251171, 0.00200092, -0.00259526, -0.01144693, 0.07541022, -0.1820837, 0.12136643, 0.1275448, -0.10030386, 0.08644852, 0.11850318, -0.11065793, -0.07471482, -0.01706886, 0.09554464, 0.14733784, 0.10404979, -0.02832513, -0.13587056, 0.20593883, -0.00259992, 0.13303153, -0.09656724, -0.16390903, 0.14290923, -0.01338019, -0.11247908, 0.09822869, -0.09266857, 0.14600083, 0.05307323, -0.06290563, -0.03556649, -0.00089339, -0.0603128, -0.14519496, -0.04811841, 0.0243117, 0.14283736, -0.09143746, 0.14046432, 0.03761658, 0.270574, 0.09178411, 0.18168195, 0.03010811, 0.0491721, 0.12065563, -0.05847578, 0.14248377, -0.19588259, -0.1006986, -0.09188465, 0.02975856, -0.128777, -0.01447822, 0.28755158, -0.10445415, 0.03533902, 0.0133198, 0.17674685, 0.04009562, -0.06872095, -0.04660055, -0.18056145, 0.02824324, -0.03542567, -0.05443713, -0.2357103, -0.02251058, -0.08036178, -0.11523858, 0.02935672, -0.06835491, 0.04550186, 0.11108991, -0.00739168, -0.19805464, -0.00315341, -0.13912842, 0.13789308, 0.37640804, -0.08988409, 0.1139189, -0.16979344, -0.19737336, 0.10531333, 0.06503565, -0.0589365, -0.09045003, 0.03648575, -0.13460322, -0.06677186, 0.35769236, 0.12746431, -0.02420334, 0.0050938, 0.03342573, -0.09689596, -0.0226867] +fsub:[1.43653125e-01, -1.32412300e-03, -2.78409017e-04, 3.85341011e-02, -7.74858668e-02, -2.86142975e-01, 2.65613496e-02, 4.87666428e-02, 1.96019560e-02, 8.04715976e-02, 5.02928011e-02, -2.45421771e-02, -2.72418857e-02, 1.48695216e-01, 7.34043792e-02, -1.14439778e-01, 1.73707098e-01, -2.42753271e-02, 5.16186655e-02, 1.55931130e-01, 1.39758410e-03, 3.22200656e-02, 1.47411730e-02, -8.05310160e-02, 1.25812709e-01, 9.25191790e-02, 1.01895370e-01, -3.19709070e-02, 9.84350592e-02, 9.15013626e-02, 1.97458472e-02, -2.15762556e-01, 4.14769538e-02, 9.13535580e-02, -6.18570857e-02, -1.36080399e-01, -9.37981233e-02, -3.23160216e-02, -1.91936027e-02, -5.41068427e-02, -8.75522662e-03, 1.37950674e-01, 1.92662671e-01, -2.14268696e-02, 3.69801782e-02, 1.98664218e-02, -1.52097628e-01, 1.65109828e-01, -1.51487887e-01, -2.57162377e-02, -1.80553540e-03, -4.98860478e-02, -7.46885687e-02, 1.18120104e-01, -3.23340250e-03, 1.65429220e-01, -1.59004137e-01, 2.62180399e-02, 3.60113941e-02, 8.32907185e-02, 1.85581386e-01, 2.19932068e-02, -1.61428750e-01, -1.06943697e-01, 1.90668121e-01, -1.47477672e-01, 1.93990812e-01, -1.04250342e-01, -1.74714252e-01, -2.20855102e-02, -7.85333589e-02, -5.84845208e-02, -1.56639423e-02, -2.07822010e-01, -4.88376580e-02, 9.55688953e-02, -9.25077945e-02, 2.45069694e-02, 6.11928031e-02, 4.78151478e-02, 1.24568343e-01, 8.31008181e-02, 9.43040401e-02, -5.49194887e-02, -2.14593876e-02, -1.22968636e-01, 1.65695976e-02, 3.39214057e-02, -1.87710542e-02, -1.11297153e-01, 1.18105434e-01, -1.11936070e-01, 1.29384607e-01, 3.65060598e-01, -8.66429787e-03, -5.79670519e-02, 4.63246480e-02, 5.36915325e-02, -1.44565403e-01, -7.03546405e-02] +function:[0.08432946, -0.13718535, 0.1798166, -0.1317964, 0.13148142, -0.11775618, 0.1532426, 0.18923613, 0.04347765, 0.13219926, -0.11602738, 0.23845321, 0.02091871, -0.03063676, -0.16969669, 0.11777938, 0.19847079, 0.01223313, -0.07809777, -0.08243314, 0.15152037, 0.05477112, -0.07050785, -0.05643432, 0.04624449, -0.11095016, -0.07817923, 0.08268431, -0.02165354, 0.05313284, -0.12874702, -0.03404368, 0.01434378, -0.04114128, 0.0605352, 0.0066458, -0.09188776, 0.03761177, -0.07798971, -0.08548588, -0.14254396, -0.00512754, -0.01704746, -0.07529174, -0.13692239, 0.14159389, 0.15625082, 0.20394756, -0.0534406, 0.03429073, -0.02854794, 0.19133213, -0.02054479, -0.14938825, 0.11266603, -0.24727456, -0.00051534, -0.01815787, -0.0888954, 0.1394308, 0.00088329, -0.09114514, 0.09761741, -0.0581107, 0.19087307, -0.17679083, 0.04638965, 0.07256806, 0.05799894, -0.07198817, 0.1536461, 0.18315509, 0.10839155, -0.15990162, -0.11709656, 0.05125028, -0.00596116, -0.00216505, -0.03288814, -0.3046133, -0.0321634, 0.24676047, 0.28927127, 0.05216954, 0.10431253, 0.02697779, -0.06505916, 0.0316359, 0.01370945, 0.12880163, -0.07995255, 0.04474904, -0.0030496, 0.08067484, 0.0821052, 0.09749625, -0.13063934, -0.08858643, -0.11060869, 0.00953265] +getelementptr:[-1.06063023e-01, -3.73198390e-02, -4.35395092e-02, 2.23260254e-01, -6.56511635e-02, -1.12049676e-01, 2.09393892e-02, 1.08264036e-01, -3.80514655e-03, -4.82548214e-02, 4.80085798e-02, 4.37810719e-02, 5.59795983e-02, 1.87313676e-01, 1.69590369e-01, 5.86156063e-02, -1.63686767e-01, 9.93320812e-03, -3.54090147e-02, 1.85476243e-01, -7.30280653e-02, 8.45279768e-02, -1.85825787e-02, -4.68590409e-02, -3.82779650e-02, -2.77343031e-04, 1.07430711e-01, 1.32057229e-02, -9.22889262e-02, 1.20579638e-01, 5.57196438e-02, -1.71571791e-01, -4.00907397e-02, -6.10451177e-02, 1.77448660e-01, -1.19765736e-01, -4.47260737e-02, -1.21931084e-01, -1.10676425e-04, -9.90907848e-02, -8.42135549e-02, 1.23196997e-01, 2.26401359e-01, 7.57011846e-02, 6.35488937e-03, 1.76852107e-01, -5.39443344e-02, 5.57306334e-02, -1.00927455e-02, 8.12712982e-02, -1.61576957e-01, 1.19383097e-01, -2.54868358e-01, 8.95112082e-02, 1.16598725e-01, -8.07882994e-02, -3.55551615e-02, -6.64514080e-02, 6.55135065e-02, -4.63855825e-02, 1.01226091e-01, 8.05892572e-02, -8.05058926e-02, -1.58557713e-01, 3.48293222e-02, 9.56726372e-02, -8.94681644e-03, -7.94050619e-02, -2.45119065e-01, -2.18818024e-01, 5.90824187e-02, 6.73788413e-02, -6.61129355e-02, -6.89433515e-02, -1.37265250e-01, 5.55576272e-02, -1.61160603e-01, -1.30748779e-01, 1.03025667e-01, -7.80676752e-02, -1.22718692e-01, 1.77025512e-01, 5.24887145e-02, -6.01164363e-02, 3.06629483e-02, -1.69721559e-01, 8.81848484e-02, 1.90549016e-01, -4.78637516e-02, -3.66856195e-02, -3.49488966e-02, -1.18229009e-01, -7.41251931e-02, 2.66166240e-01, 1.05340198e-01, 1.62121616e-02, 1.24955140e-02, -4.24992926e-02, -9.22343284e-02, -2.28578113e-02] +icmp:[-0.06381294, 0.17676495, 0.03431569, 0.20172207, 0.01039904, -0.07059901, 0.02721906, 0.04343188, -0.05227307, 0.3820558, 0.04348163, 0.04519399, -0.09151839, 0.14891335, 0.07235284, -0.21488905, -0.15366304, -0.04785908, 0.01448306, 0.15884778, -0.03996848, 0.06258953, 0.0198002, -0.01623865, 0.12808238, 0.00181316, 0.11205131, 0.01188926, -0.1492972, 0.15078227, 0.07120264, -0.10641106, -0.04608565, -0.10990186, -0.03944146, -0.01226474, -0.14484644, -0.06961066, 0.10706522, -0.10274337, -0.06439282, 0.1032786, 0.14661732, 0.07571676, 0.20919369, -0.07374114, -0.00736302, 0.07144766, 0.0203959, 0.00857562, -0.13852982, 0.01643888, 0.00455366, -0.02292045, 0.01382956, 0.00304465, -0.03656371, -0.09607888, 0.0485608, -0.03699828, 0.09713589, 0.06836824, 0.06869507, -0.16546951, -0.01076122, -0.20761381, 0.21833621, -0.07615891, -0.08275858, -0.23349804, -0.05592128, -0.06199257, -0.0009406, 0.04526978, -0.17834783, -0.03665482, 0.04198478, -0.13261084, -0.20342422, -0.03949397, 0.12425423, 0.17155804, 0.14695781, -0.00783983, 0.06012346, -0.08558455, -0.03083419, 0.19244738, -0.04821138, -0.0541654, 0.0336761, -0.09066571, -0.22810067, 0.2664105, 0.10780556, -0.09649264, -0.00929247, -0.00973827, -0.03242486, -0.02767201] +insertelement:[-0.02431526, -0.02821, -0.01474751, -0.17383182, -0.04851017, -0.2700136, 0.08769315, 0.05476001, 0.02850896, 0.11856344, 0.06085393, 0.10512923, -0.05208284, 0.25029323, 0.05559354, -0.0580108, 0.23263837, -0.02934784, -0.0694061, 0.1963453, 0.00657156, 0.04153831, -0.08736489, -0.12128452, 0.12344394, 0.10098697, 0.15986909, -0.06027528, -0.04436634, 0.1878123, 0.02212722, -0.1504686, -0.12829633, 0.1546098, -0.03594831, 0.06790844, 0.00327528, -0.05437412, -0.01389498, 0.00368347, 0.00607913, 0.07390202, 0.19065033, 0.02645727, 0.02672505, -0.02598314, -0.08120181, -0.0265095, -0.06253106, 0.1939478, -0.04663992, -0.21352085, -0.08769952, 0.13863963, -0.11080265, 0.25416508, -0.0131342, 0.00183094, 0.02272455, 0.02956321, 0.20915665, -0.05938819, -0.10566232, -0.0629337, 0.11202663, -0.03480664, 0.18482532, -0.02690433, -0.12158963, 0.03663435, -0.03684264, -0.02014683, -0.06030929, 0.12397692, -0.11643027, 0.0042477, -0.04494726, 0.05814534, -0.134404, 0.00339086, -0.00920388, 0.13428815, -0.04384674, -0.0559525, 0.08342902, -0.1993053, 0.13596928, 0.17117605, -0.03624995, -0.08287863, 0.10867614, -0.15158707, -0.15137242, 0.28727648, 0.14804833, -0.07017738, 0.04017374, -0.08594246, -0.030195, 0.04387292] +insertvalue:[0.07368766, -0.00283476, -0.01816029, -0.11995207, -0.21627477, -0.01762845, -0.09710025, -0.02184452, -0.20390469, 0.04978354, 0.02931972, -0.14109294, -0.06739342, 0.23479871, 0.08888885, -0.05747516, -0.0989153, -0.02506555, 0.12050808, 0.04612122, 0.03092545, -0.06623711, -0.01588413, -0.1149561, 0.08029485, -0.0460401, -0.00333219, 0.18208396, -0.05332236, 0.03006606, 0.09879952, -0.04365422, -0.08676033, -0.22901876, 0.0205539, 0.04544334, -0.10519175, -0.1354922, 0.12296194, -0.03680303, 0.04336058, 0.02475899, 0.16830578, -0.05031221, -0.04950489, 0.03949175, -0.12919392, -0.1605957, 0.13743988, -0.09456762, -0.09413066, -0.12290588, -0.1466488, 0.14567874, 0.30013502, 0.05705202, 0.04200117, 0.0429358, 0.02423933, -0.0431275, 0.16857034, -0.01996093, 0.04447777, -0.05015944, 0.17100777, -0.00709437, -0.15477978, -0.13746703, -0.01251285, -0.10154182, 0.07498093, -0.0593773, 0.2556743, 0.00541996, -0.03270694, -0.06651331, -0.08112945, 0.0176359, 0.07080435, 0.00481467, 0.04019531, -0.02826775, 0.17624968, -0.01392782, -0.02132884, -0.16857536, 0.08259024, -0.05456975, -0.00464022, -0.20664166, 0.02688083, -0.14457764, -0.08772081, 0.20396093, 0.03472181, 0.13362682, 0.08030541, -0.15711668, -0.24761479, -0.1486473] +integerTy:[-0.10629843, -0.00597095, -0.12177496, 0.1545618, 0.14840475, 0.06774051, -0.12312454, -0.12284395, 0.02727928, 0.0359809, 0.19541341, -0.01525921, 0.18040752, 0.02355622, -0.06778756, 0.01603565, -0.0863459, -0.09968174, -0.01177541, -0.00609532, 0.11691112, -0.09820568, -0.07312083, -0.19818097, 0.11165791, 0.10403782, -0.22467583, 0.03056726, 0.07944582, -0.10823306, 0.06485552, -0.02894754, -0.02030974, -0.0019227, -0.03297564, -0.10668563, 0.00631827, 0.12775739, 0.02394694, 0.0293906, 0.21928571, -0.11737766, -0.0596211, 0.12431481, -0.14021948, -0.05282145, 0.17827511, -0.04721097, 0.13661501, 0.13597642, 0.01365755, 0.07686953, 0.0735675, -0.12689653, -0.18581943, 0.10276816, 0.04013465, -0.00806608, 0.07205179, -0.01148596, -0.11219286, -0.01606004, -0.05517735, 0.02957282, -0.29044998, 0.1299732, 0.00213369, 0.08809072, -0.02110472, 0.03379825, -0.01002172, -0.13881044, 0.01505973, 0.0976615, 0.17016318, -0.13266183, 0.06827291, 0.17080092, -0.04742929, -0.02185343, 0.0362877, -0.12015845, -0.03688737, -0.08537249, 0.05818703, 0.06007848, -0.03808945, 0.01828563, -0.10889288, 0.26494345, 0.01937892, 0.03399719, -0.03819984, -0.04401752, 0.02702594, 0.03797123, -0.03524927, 0.06443124, 0.21449444, -0.12850355] +inttoptr:[-0.01377591, 0.11043059, -0.12844634, 0.04353043, -0.09467062, -0.14404644, -0.01046757, 0.12228243, -0.18531837, 0.08554913, -0.00769823, -0.14514306, -0.02804073, 0.00957848, 0.15271579, 0.07906365, -0.00299774, -0.02052507, 0.070458, 0.07646779, -0.15715204, 0.10599221, 0.06006987, -0.10529212, 0.13816859, -0.03392814, 0.05659771, -0.03801761, 0.16695325, 0.10533743, -0.04591336, -0.04449729, -0.165113, -0.17164642, 0.0058237, -0.19227007, 0.07325864, -0.17449997, 0.0790717, -0.15608312, 0.03779037, 0.0389495, 0.23571262, 0.12078992, -0.0966442, -0.05015961, -0.07673406, 0.16770934, -0.06837253, -0.07309788, -0.02819289, -0.12167789, -0.07492067, 0.03690268, 0.16422145, -0.07981167, 0.06598003, -0.17091176, 0.08058067, -0.03974774, 0.20942432, 0.02230899, 0.15619184, -0.04446582, 0.00584774, -0.0412904, 0.24438885, -0.12220972, 0.02975016, -0.02025965, 0.21291876, -0.06597722, -0.14096822, -0.0567697, -0.2023169, 0.18390949, 0.07024521, 0.09573201, -0.04381654, -0.0026591, 0.07957175, 0.03931009, -0.07002385, 0.0650707, 0.04962049, -0.05005969, 0.00140608, 0.12766571, -0.07744935, -0.0404495, -0.12856758, -0.10054623, -0.12929992, 0.07929495, 0.11946376, -0.0527789, 0.02238193, -0.04582688, 0.06286612, 0.11933255] +invoke:[-4.79477495e-02, -4.37538512e-02, 2.14098502e-04, -4.48970944e-02, 3.93624008e-02, -3.53455395e-02, -3.93055342e-02, 8.94530714e-02, -4.76442911e-02, 1.95293367e-01, 2.90794615e-02, 1.16118886e-01, 7.63157429e-03, 1.09598488e-01, 1.80335090e-01, -7.19198957e-02, -1.18466035e-01, -1.26239937e-02, 8.44175518e-02, 2.56773353e-01, -1.10275019e-02, -3.79480273e-02, -5.22314198e-03, 1.89141721e-01, 2.22434700e-02, 2.36968929e-03, 1.05277963e-01, -1.42625034e-01, -2.14529112e-02, 7.15086460e-02, 1.02414824e-01, -1.61834821e-01, -9.12191644e-02, -1.29776180e-01, -8.13744683e-03, -6.20572530e-02, -6.64934888e-02, -6.74760565e-02, 5.00219800e-02, -1.72701478e-01, -6.64113984e-02, 2.20640570e-01, 1.41921878e-01, -1.23179682e-01, -1.33829715e-03, 4.74685021e-02, -5.11074737e-02, 1.04639478e-01, -7.91229308e-02, 7.83334449e-02, -9.03665498e-02, 2.01174840e-01, -1.10384256e-01, -1.36460945e-01, 5.60139418e-02, -2.03792192e-02, -1.24865063e-01, 1.18873730e-01, 6.16551116e-02, -6.33603660e-03, 1.76620677e-01, 6.10028878e-02, -5.66619821e-02, -2.39012301e-01, 1.24191947e-01, 1.17043518e-02, 1.33204579e-01, -1.27141446e-01, -1.51802033e-01, -1.24671578e-01, 1.82786155e-02, -2.41206009e-02, 1.76642433e-01, -9.23082158e-02, -8.42260718e-02, -1.35295659e-01, -4.52754535e-02, -6.49391115e-02, 2.67771166e-03, -2.10763380e-01, 1.03556879e-01, 2.02133834e-01, 1.33662194e-01, 3.59767093e-03, -4.68906909e-02, -7.64989257e-02, 6.52824938e-02, -1.44288331e-01, -1.43271446e-01, -2.54415404e-02, -3.18020880e-02, -1.12537131e-01, -2.95660812e-02, 1.84705362e-01, 1.44985750e-01, -1.96307544e-02, -3.30789275e-02, 9.76456702e-02, 6.22483827e-02, -1.04234315e-01] +label:[-1.70278847e-01, -6.33158609e-02, 1.24444053e-01, -2.18309432e-01, 5.44853173e-02, -3.97669286e-01, 6.85409158e-02, -1.19578831e-01, 7.21278563e-02, 4.26745564e-01, -1.02086589e-01, 1.75334319e-01, -6.91433176e-02, -8.58651251e-02, 2.81250719e-02, 1.50861368e-01, -4.02623601e-02, -1.47487119e-01, -1.20059647e-01, 3.13228071e-01, -6.68118075e-02, -9.21474118e-03, 2.11344790e-02, 1.81965947e-01, -8.79407823e-02, -5.65940142e-02, 8.48237239e-03, -1.70364410e-01, -1.11142345e-01, -2.10978240e-02, -8.14931765e-02, 1.01985738e-01, -1.64452754e-02, -5.21999374e-02, 1.38780072e-01, 1.68702289e-01, 6.57888204e-02, -5.25406040e-02, -2.19774336e-01, -2.08418921e-01, -1.27118319e-01, -1.95882116e-02, 3.43626179e-02, -1.85499974e-02, -5.96486665e-02, -3.09314132e-02, -6.75856620e-02, 1.52055249e-01, -1.99610636e-01, -1.83554426e-01, 1.17220864e-01, 2.84789782e-02, 3.30042019e-02, 2.81458229e-01, 1.77426532e-01, -1.40411645e-01, -1.71568587e-01, 2.13158056e-02, -5.03321812e-02, 3.07152927e-01, 1.57800421e-01, 2.82562282e-02, -3.50744165e-02, -1.39990926e-01, 1.19268596e-01, -1.61711872e-01, -1.28153533e-01, -6.35592565e-02, 4.43754531e-02, -1.07930057e-01, 2.02961117e-01, 3.86973447e-03, -2.29454637e-02, 2.38456234e-01, 2.96319332e-02, -1.66371241e-01, -5.22215664e-02, -3.24533470e-02, -2.75302101e-02, 2.17241734e-01, -3.86376661e-04, 1.69234484e-01, 7.67232180e-02, 2.38987938e-01, -4.74099703e-02, 1.06001139e-01, -1.68087721e-01, -1.53467521e-01, -5.14220679e-03, -3.37484926e-01, 1.43990397e-01, 1.47677278e-02, 2.19082430e-01, 2.37994827e-02, 9.57245380e-02, 1.44380063e-01, 3.73819843e-02, 1.96425766e-01, -3.29046510e-02, 8.88913274e-02] +landingpad:[1.03113145e-01, 9.92903709e-02, 7.30866194e-02, -1.75897896e-01, -8.10509026e-02, 2.28176415e-02, 3.82100306e-02, -9.86565091e-03, -1.56279594e-01, 2.01696455e-01, 1.76040102e-02, 1.45413533e-01, -7.88529888e-02, 9.69541073e-02, 4.20627482e-02, -7.90351927e-02, -4.97990027e-02, -7.52556697e-02, 1.18502200e-01, 2.28400379e-01, -8.72700568e-03, 4.26628999e-02, -4.23901454e-02, 7.60810077e-02, -4.67239916e-02, -1.15774823e-02, 1.81137115e-01, -6.14955500e-02, -3.24456543e-02, 1.71597108e-01, 7.02524185e-02, -5.27166240e-02, -1.83869183e-01, -1.23276018e-01, -2.13556290e-01, 6.64191768e-02, -2.13614121e-01, -6.04937747e-02, 2.09989864e-02, -1.82051703e-01, 1.12142891e-01, 8.80258083e-02, 9.86292213e-02, 1.35060728e-01, 1.27289683e-01, -9.20894593e-02, -2.69087479e-02, -3.60022224e-02, 1.51578128e-01, 5.02313375e-02, 5.27352206e-02, 1.23943724e-01, -2.80857307e-06, -1.13758855e-01, 3.94643582e-02, 8.59412178e-02, 1.37303501e-01, 3.32194865e-01, 3.29371658e-03, 1.59598719e-02, -6.89905556e-03, 7.70471245e-02, 6.43394738e-02, -1.84268802e-01, 8.37943703e-02, -1.04791783e-01, 8.62041414e-02, -7.47103170e-02, -6.71094358e-02, -8.64955410e-02, 6.29674569e-02, -1.63089916e-01, 1.01876799e-02, -7.62798786e-02, -1.38638705e-01, 6.63735867e-02, 2.06998393e-01, -2.36072764e-01, -4.41362709e-02, 1.74887478e-03, -7.31557757e-02, 1.43993706e-01, 1.84361383e-01, -1.88085318e-01, 7.56450966e-02, -3.31846662e-02, 6.64059296e-02, -1.07206956e-01, -2.43195742e-01, -7.10479915e-02, -2.36829296e-01, -6.18142672e-02, -1.79122090e-01, 1.04567848e-01, 1.18763432e-01, -9.03276280e-02, -7.98200723e-03, -9.93477255e-02, 1.04339510e-01, -1.28647834e-01] +load:[-8.08405653e-02, 3.21540207e-01, -4.41686623e-02, -1.38807818e-01, -1.36429612e-02, -8.61457735e-02, 6.45549223e-02, 3.65951918e-02, -9.66648012e-02, -6.22380450e-02, 5.16491756e-02, 4.55973707e-02, -9.19684246e-02, 1.86596215e-01, 1.24360658e-01, 1.10692337e-01, 5.80766462e-02, -4.19665016e-02, 1.19262181e-01, 1.91956967e-01, -1.09953679e-01, -3.33718173e-02, 4.26402315e-02, -1.01771131e-01, 1.40093312e-01, -1.88881182e-04, 1.38682956e-02, 1.53894704e-02, 1.63484756e-02, 1.45328984e-01, 7.50646293e-02, -6.25177696e-02, 5.94270937e-02, -1.11528225e-01, 1.41719311e-01, -3.56543139e-02, -4.60029729e-02, -7.06327930e-02, -6.36029169e-02, -7.85711631e-02, -7.72892162e-02, 5.27529009e-02, 2.26394936e-01, 2.57920306e-02, -3.16273458e-02, 1.89298347e-01, -2.18151715e-02, 1.10672116e-01, -7.69285765e-03, 7.50245377e-02, -8.78641233e-02, 6.61391392e-02, 3.76431160e-02, 6.12791106e-02, -3.90478261e-02, -7.74604501e-03, -9.73058939e-02, -9.57482904e-02, 6.36115000e-02, 1.73895638e-02, 8.30394253e-02, 3.37328650e-02, -1.90865807e-02, -1.61292270e-01, 1.64209291e-01, -1.99395478e-01, -5.18193915e-02, -7.73451254e-02, -1.83285370e-01, -1.91420510e-01, 8.99169371e-02, -1.24672418e-02, 2.15710238e-01, -3.50636914e-02, -2.88546402e-02, 4.91228588e-02, -1.47718966e-01, -1.31714255e-01, -8.54195580e-02, -7.65539752e-03, -1.14223316e-01, 1.62718430e-01, 1.02798954e-01, 1.50881439e-01, 2.90946644e-02, -1.13107860e-01, 3.88892367e-02, 3.23341131e-01, 5.45694344e-02, -1.06797464e-01, 2.85433093e-03, -1.44431114e-01, -5.13872616e-02, 2.37454563e-01, 1.10516891e-01, 1.83880609e-02, 1.52829103e-03, 3.45684886e-02, 4.21399949e-03, -2.06756424e-02] +lshr:[-0.17024136, 0.10411678, -0.01164339, -0.04548335, 0.06530891, -0.2476887, 0.04210737, 0.03576789, 0.05321054, 0.10022357, 0.01811663, -0.13488461, -0.01012874, 0.26806793, 0.12345009, 0.02101261, -0.36041, 0.00430008, 0.06184491, 0.04118454, -0.02647545, 0.06767637, 0.01817472, 0.04315426, -0.1396919, -0.07239037, 0.00338489, -0.04044889, -0.15009062, 0.19606966, 0.03030269, -0.10555451, -0.12165167, -0.23948427, -0.13581164, -0.03006317, -0.08285325, -0.10617706, -0.0251316, -0.20707203, -0.03274789, 0.17637314, 0.30769143, -0.01968428, 0.09311135, 0.02482017, -0.10504574, -0.080327, 0.05108082, -0.01413484, -0.12056525, -0.13353467, 0.0683218, 0.05876585, -0.09094415, -0.1748214, 0.02682031, -0.01165269, 0.03736719, -0.0213234, 0.01267042, 0.07795929, 0.12224922, -0.06505424, -0.07419367, -0.08209741, 0.05395749, -0.01820676, -0.1347826, 0.0721442, 0.09135621, 0.03716783, 0.08097795, 0.08469485, -0.03400942, -0.10221346, -0.03802686, 0.10227831, -0.01060096, -0.07785649, 0.09980448, 0.09005487, 0.01325962, 0.01302627, -0.02368998, -0.11400393, 0.0525293, 0.14680986, -0.12547235, 0.02981818, 0.13511257, -0.09932868, 0.02514753, 0.18365589, 0.13210618, -0.0734877, 0.06043402, 0.09709161, 0.11041317, -0.0586015] +mul:[-0.11237971, 0.09876346, 0.02213491, 0.11142606, -0.01174554, -0.16785102, 0.02978942, 0.05660425, 0.07075646, 0.2599436, 0.06130151, -0.09510598, -0.00583686, -0.0388632, 0.30894345, -0.09855073, 0.09255391, -0.0444544, -0.1248768, 0.15977794, 0.1115512, 0.03567113, 0.10514766, -0.05674868, -0.04637711, 0.01645471, 0.04411943, 0.06863309, 0.09456915, 0.08464792, 0.06866521, -0.0745531, -0.19630428, -0.08132032, 0.1939253, 0.01699383, -0.0897494, -0.12735982, -0.09194063, -0.10075612, -0.00765091, 0.14485908, 0.26726627, -0.07071482, -0.07459436, 0.01122808, -0.07534542, 0.06342559, -0.01228105, 0.18302599, -0.15118791, -0.09792738, -0.09028663, 0.09337652, -0.03390493, 0.11660402, 0.00530379, 0.03476534, 0.1440348, 0.02737059, 0.00474342, 0.01751024, 0.05410315, -0.1316264, -0.1157103, -0.13902988, 0.26180732, -0.11643749, -0.13360056, 0.00479044, 0.16341007, -0.07186162, -0.09074775, 0.08933206, -0.05835011, -0.02483859, -0.2136433, 0.02075386, 0.05302465, 0.03297775, -0.18019801, 0.3633132, -0.11566965, 0.05641138, -0.0513707, -0.13744444, 0.01660597, 0.20761298, -0.06349137, 0.06110584, 0.10134917, -0.25336102, 0.02036187, 0.18552497, 0.15949447, -0.08701061, 0.03962825, -0.11503438, 0.13071242, -0.06818113] +or:[-9.66177657e-02, 2.73407191e-01, 2.23864059e-04, 2.21475124e-01, 4.85003875e-05, -1.21752143e-01, 4.06023823e-02, 1.31916046e-01, -1.30323472e-03, 3.19763809e-01, 9.23378617e-02, -4.98630889e-02, -6.11980185e-02, 2.02523589e-01, 1.36792380e-02, -1.34879962e-01, -1.00449808e-01, -1.82202570e-02, 7.11992010e-02, 1.37599483e-01, -4.95731533e-02, 1.15927979e-01, 3.43097560e-02, 8.73788670e-02, -1.03718899e-02, -7.54302251e-04, 9.91427973e-02, 5.75670004e-02, 2.77765971e-02, 1.28866941e-01, 6.80045113e-02, -1.74135745e-01, -4.34492528e-02, -4.51992936e-02, -5.44166118e-02, -1.11696772e-01, -5.18105961e-02, -7.39658251e-02, -5.64278029e-02, -1.20261356e-01, -1.17269024e-01, 1.74760714e-01, 2.49259204e-01, 9.36944038e-03, -1.36214495e-01, -1.44637778e-01, -4.15022671e-02, 5.31984307e-02, -1.79767981e-01, -7.36928359e-02, -9.24887359e-02, -1.71222940e-01, -1.82373285e-01, -9.29906964e-03, 1.49193369e-02, 7.58160204e-02, 2.72949874e-01, 8.26728195e-02, -9.04894620e-02, 1.86199173e-02, 1.07824698e-01, 8.06925595e-02, 5.78055568e-02, -1.40640184e-01, 2.23236736e-02, 3.62232737e-02, 1.33105025e-01, -8.56523365e-02, -1.93667024e-01, -2.09574699e-01, -7.98006132e-02, -5.55140786e-02, 3.89415137e-02, -1.53407948e-02, 1.76626369e-02, -1.60120890e-01, -2.01325700e-01, -6.93651214e-02, 2.11447969e-01, -7.97722116e-02, 5.25307208e-02, 1.58972085e-01, 8.88074338e-02, -8.32337886e-02, 2.15425249e-02, -1.94346011e-01, 7.49894232e-02, 2.53302604e-01, 5.90096228e-02, -1.01898521e-01, 6.36430010e-02, -1.37841716e-01, -5.60350940e-02, 3.39098088e-02, 1.11781985e-01, 8.19382295e-02, -1.64115953e-03, -5.64004667e-02, -1.19225003e-01, -3.21681350e-02] +phi:[0.04839491, -0.20099284, 0.01979376, -0.01842108, 0.36310238, -0.07578178, 0.20427679, 0.22432512, -0.3303758, 0.20915964, 0.07410439, 0.20407872, -0.05170761, 0.31521922, 0.14302452, 0.01577972, 0.22127253, 0.0049014, 0.11990388, -0.24549572, 0.02600457, 0.19602174, 0.099799, -0.07527959, 0.19014588, -0.01878966, 0.23209581, 0.24376227, 0.00832841, 0.24540855, 0.11293066, -0.35005382, -0.13304071, -0.1701065, -0.01642525, 0.09480687, -0.14326383, -0.19253689, -0.09680003, 0.04834467, 0.2307326, 0.25476447, 0.28438395, 0.15284978, 0.03590335, 0.27942657, -0.15493111, 0.11949239, -0.15559277, -0.04595242, -0.06647666, 0.08835454, -0.07909634, -0.11078117, 0.08273389, -0.34512964, 0.20871283, 0.4367814, 0.12072836, 0.04885447, 0.22460175, 0.09247412, -0.06169285, -0.45554423, -0.4579251, -0.5464737, 0.24149336, -0.19274741, -0.15641093, -0.03430081, 0.13937093, -0.18699448, 0.29745594, 0.09679671, -0.27231187, 0.08873921, -0.16079836, -0.26986456, 0.02304242, -0.35488036, 0.18229765, 0.32506648, 0.14826493, -0.115235, 0.4611771, -0.25885084, 0.16411892, 0.17685726, -0.47176343, 0.06344601, -0.24334872, -0.22168933, -0.22600527, 0.51431865, 0.27122545, -0.07349799, 0.0106428, -0.22662045, -0.10846464, -0.20229137] +pointer:[0.08265064, -0.11325785, 0.24138945, 0.04391604, 0.04041342, -0.16897543, 0.05155872, 0.05668448, -0.20431803, 0.03787981, -0.14154755, 0.19083153, -0.15171741, 0.03613846, -0.16867009, 0.05045661, 0.1885965, -0.16348945, -0.06652614, 0.05224623, 0.00306114, -0.01822854, 0.00746212, -0.09053768, 0.01182512, -0.12679613, 0.02318091, -0.03448309, -0.14373, 0.11279057, -0.16327009, -0.01706993, -0.05909263, -0.05614747, 0.08785715, 0.03881708, -0.20423181, -0.25661093, -0.20674756, -0.0282055, 0.03397173, -0.05737212, 0.04555275, 0.29361734, -0.13415915, 0.22118185, -0.00615504, 0.22260945, 0.04279921, 0.07884003, -0.11532544, 0.18356562, -0.00895991, -0.20645134, 0.02267926, -0.02170515, 0.0055044, 0.08456168, -0.13216546, 0.1462568, 0.05603937, -0.10927387, 0.03516431, -0.10315878, -0.09545423, -0.1033304, 0.0631221, -0.02092238, 0.09208758, -0.15736684, 0.16018824, 0.01738762, 0.2023443, -0.0589956, 0.01683514, 0.03994492, 0.06800775, -0.00613363, -0.00847713, -0.21867423, -0.05061867, 0.3211215, 0.33026937, 0.05790993, 0.06120717, 0.02437131, -0.07114349, -0.03603282, -0.04117692, 0.1735056, -0.0605395, 0.06951058, -0.0519618, 0.08257511, 0.2369263, -0.09280536, -0.17680594, 0.07420892, -0.12455291, -0.21443702] +pointerTy:[0.02051745, 0.03930061, -0.13780822, 0.08145397, 0.16789572, 0.13065016, -0.10542524, -0.05467955, -0.01762146, -0.04604477, 0.1701438, -0.09423845, 0.1351082, 0.05933728, 0.05937228, 0.14169995, -0.01656263, 0.04579956, -0.2092349, -0.21342191, -0.09793468, -0.13235041, -0.08375326, -0.16085519, -0.14973304, -0.08252603, -0.073769, -0.09369481, 0.11209913, -0.13380662, -0.07154229, -0.02884781, -0.1415144, -0.07497177, 0.08765043, -0.0837753, 0.18112853, 0.1547869, 0.15566485, 0.17924021, 0.24602093, -0.17226125, -0.13778397, -0.07413437, -0.16374694, 0.00985143, 0.02035384, -0.03247173, -0.14573525, -0.0355336, 0.01563889, 0.12733588, -0.01560288, -0.05402131, -0.05402966, 0.08729934, -0.07325768, -0.12084138, -0.03669873, -0.12557755, -0.00469869, -0.08747385, -0.15456621, 0.08866332, -0.07173667, 0.03690774, 0.005266, -0.14193033, -0.0655769, -0.13864315, -0.03037775, 0.10747161, 0.0863423, -0.1658659, 0.12764077, -0.10386666, 0.01972863, 0.10985653, -0.08763743, -0.22322369, 0.15891893, 0.07639797, -0.2104053, -0.06249189, -0.08361356, 0.02993679, -0.01047027, -0.01381014, -0.08932375, 0.03384283, -0.13624993, 0.034237, -0.07883053, 0.05878386, 0.02540432, -0.09568438, 0.136876, -0.1094427, 0.06140319, 0.0642976] +ptrtoint:[-0.17909163, 0.05978185, -0.01525458, 0.0827358, 0.13590105, -0.00665695, -0.04676352, -0.00894423, -0.07710728, 0.11890139, 0.06090152, -0.01691178, -0.04377104, 0.02271768, 0.19308871, -0.012085, 0.10865739, -0.02500987, -0.03387405, 0.19162256, -0.08741821, 0.03657227, 0.05859031, -0.15887739, -0.15453449, -0.03917694, -0.06103262, 0.04360914, -0.18288018, 0.10369539, 0.04278736, -0.12600316, -0.09115013, 0.07365742, 0.16715185, -0.16013275, -0.23858479, -0.03704453, -0.23288286, -0.0922052, -0.01609032, 0.04052043, 0.22064878, 0.04991644, -0.1820522, -0.01293597, -0.00953268, 0.13542275, 0.01086673, -0.2169931, -0.15197296, 0.01038968, -0.21295832, 0.19325565, -0.09963831, -0.12892094, 0.10379626, -0.22154826, 0.02759095, 0.09798551, 0.18511324, 0.03457121, 0.08533998, -0.04737198, -0.08656166, -0.1869868, 0.27729437, -0.05151283, -0.06691294, -0.1555337, 0.21875164, -0.06813416, 0.20546202, 0.09334102, -0.10061535, -0.11441533, 0.07134652, 0.01644493, -0.10885452, 0.04148402, -0.07033747, -0.06814387, 0.15373418, -0.11924837, -0.04265603, -0.13439938, 0.01207381, -0.14372517, -0.09025616, 0.01423502, -0.06217819, -0.19378968, -0.12694734, 0.11674285, 0.15144986, -0.07297731, 0.04569479, 0.10466555, 0.08926938, -0.05153132] +resume:[-0.14044924, 0.13945372, -0.01082298, -0.19382872, -0.11130358, -0.02215173, -0.05655283, 0.08988692, -0.1190704, 0.20340037, 0.06236982, 0.19533406, -0.05180738, 0.14083834, -0.10933527, -0.14059012, 0.00656026, -0.00822601, 0.1234389, 0.00893286, 0.00326151, 0.0169771, -0.0119205, 0.11337265, 0.17034674, 0.04142839, 0.06340145, 0.1201084, 0.16027287, 0.11548477, 0.05444419, -0.12784617, 0.0525673, 0.00539962, 0.16270362, -0.00174221, -0.0178054, -0.11105342, -0.12358405, -0.2160014, -0.14875932, 0.06881518, 0.09870582, 0.1350006, 0.05648372, 0.04053469, -0.06300869, 0.1591176, -0.06035259, -0.07586763, -0.03946432, 0.31034648, -0.15541229, -0.1152818, 0.17862293, -0.08012754, 0.03985415, 0.1402749, 0.01862949, -0.04081793, 0.02993261, 0.12385358, 0.13163991, -0.07725973, 0.1205721, -0.08683041, -0.00937064, -0.11749905, -0.1842058, -0.06215821, 0.20710115, -0.02624678, 0.1972167, 0.07452993, -0.13405319, -0.10536271, 0.00454211, -0.2972961, -0.0765842, -0.14508174, 0.03510478, 0.08485702, 0.185041, 0.04909214, 0.0072951, -0.13805138, -0.01179254, -0.15308988, -0.13167015, -0.0758693, -0.06825787, -0.08959401, -0.1522153, 0.20414852, 0.14502315, 0.07940947, 0.03748347, -0.07821426, 0.08629225, -0.08160039] +ret:[-0.09591126, -0.06698878, -0.03484356, 0.03359839, -0.01953151, -0.14768888, 0.00169076, 0.11464456, -0.02040822, 0.29314098, 0.0322926, 0.05045974, -0.09632246, 0.20435813, 0.01510998, -0.06225896, -0.16097747, -0.02402823, 0.10502088, 0.08989464, -0.03644531, 0.05034522, 0.03310894, 0.03022649, 0.020305, -0.00037919, 0.11813119, 0.09633532, 0.16158018, 0.12410717, 0.0630583, -0.14561032, -0.04435882, -0.00969109, 0.28998947, -0.08378932, -0.0456118, -0.14619417, -0.11908974, -0.11212875, -0.06872475, 0.02186882, 0.20860147, -0.00373741, 0.10754969, -0.1405023, -0.02596954, 0.08065356, -0.06896528, -0.24354708, -0.07617456, -0.25127682, -0.02488107, -0.02338922, 0.13320561, 0.08216611, -0.1348822, 0.09407592, 0.07763086, -0.06171962, 0.27832767, 0.0730993, 0.21437015, -0.00580073, 0.14338787, -0.2915523, -0.03126568, -0.08379723, -0.09040349, -0.16897635, 0.22608498, -0.0841593, 0.0633683, -0.07214461, -0.098145, 0.05474947, 0.07365204, -0.1379932, 0.09760639, -0.021544, 0.0542211, 0.07298078, 0.10069043, 0.12332905, 0.04861702, -0.1589684, 0.08266922, 0.02660372, -0.07247025, -0.07887976, 0.00344193, -0.12289905, -0.07873826, 0.23539269, 0.1225518, 0.00063645, 0.03656369, 0.01130281, 0.00417222, -0.0634011] +sdiv:[-0.21786626, 0.08368805, 0.02523644, 0.15505943, 0.04937742, -0.19698098, 0.05124503, -0.00454276, -0.06964485, 0.13353895, 0.03093543, -0.09835736, 0.07396861, -0.11897255, 0.16297477, -0.08445384, 0.01988987, -0.03023463, 0.07879532, 0.16067667, -0.07140077, 0.04213231, 0.04984304, -0.06411847, -0.02984477, -0.04093272, -0.04141847, 0.10641379, -0.1234076, 0.09908671, 0.02930241, -0.11639126, -0.2237201, -0.19327661, 0.16800296, 0.01549266, -0.02554015, -0.11475941, 0.13814816, -0.23606667, 0.00867831, 0.0420926, 0.19727513, 0.10908867, 0.10721561, -0.01662414, 0.04444286, 0.08103663, 0.0498569, -0.13047789, -0.21924527, -0.02877468, 0.01931869, 0.19235621, 0.20711644, 0.16483085, -0.27013958, 0.05634264, 0.11370754, 0.03794764, 0.24522354, 0.0236808, -0.07601246, -0.11071627, -0.21469952, -0.09200267, 0.09001629, -0.01701629, -0.17437169, 0.00666977, -0.05814692, -0.00812137, -0.15886936, 0.11760328, 0.06952538, -0.11701947, -0.19086948, -0.14732936, -0.24429274, 0.07078501, 0.0308146, 0.19630802, -0.03280472, 0.11603728, 0.10086931, -0.2136954, 0.08022172, 0.12991406, -0.14901562, 0.0271614, 0.06873772, -0.14489694, 0.05543732, 0.21427938, 0.09796366, -0.1065928, 0.04398327, 0.10854617, -0.00096756, -0.05962537] +select:[-9.50134471e-02, -1.81051895e-01, -2.49584159e-03, 2.06005573e-01, 3.87188233e-03, -1.02071553e-01, 4.03500497e-02, 1.25096247e-01, -1.35589018e-02, 3.02730352e-01, 2.95376461e-02, -6.66695908e-02, -3.76394615e-02, 1.99065477e-01, 2.83013750e-02, 1.17864102e-01, -5.47199585e-02, 6.69770613e-02, -3.66627239e-02, 2.08492041e-01, 5.59119396e-02, -1.11540100e-02, -5.02365036e-03, 6.90225605e-03, 1.25727892e-01, -1.21016550e-04, 6.91460492e-03, -8.30985531e-02, 6.24425057e-03, 1.55410066e-01, 6.49769157e-02, -2.18299925e-01, -4.55501676e-02, -1.14341050e-01, -5.95368631e-02, -1.13080099e-01, -5.00881523e-02, -7.27860481e-02, 3.17764059e-02, -1.33516818e-01, -4.71564196e-02, -4.15671133e-02, 2.11481512e-01, 7.19150007e-02, 7.73513317e-03, 1.11841835e-01, -6.97231591e-02, 8.89234245e-02, -2.50370186e-02, 9.39650685e-02, -2.12882280e-01, -2.99310505e-01, -1.83380902e-01, 1.07417241e-01, 2.17194930e-02, 1.61608718e-02, -7.34627917e-02, -1.71469748e-01, 7.98335299e-02, 1.59424692e-02, 3.37545455e-01, 1.84868295e-02, -2.91223228e-02, -1.67574465e-01, 5.93522526e-02, -2.08054334e-01, 1.48989826e-01, -8.43031704e-02, -9.71870571e-02, 2.56486505e-01, 2.11358629e-02, -8.17182139e-02, 2.41568349e-02, -6.28159940e-02, -9.22651365e-02, -2.41694115e-02, -1.14235111e-01, -1.72530651e-01, -1.59775898e-01, -5.80063798e-02, -9.64967534e-02, 1.07060954e-01, -3.90472487e-02, -1.22986868e-01, 5.26772700e-02, -1.80290952e-01, 9.65849012e-02, 5.04266145e-03, 5.80190867e-02, -1.08608462e-01, 4.15756367e-02, -1.26518860e-01, -8.35017189e-02, 4.17848825e-02, 1.40247181e-01, 1.42870415e-02, -1.79483055e-03, -7.96105489e-02, -9.60754678e-02, -4.56741937e-02] +sext:[-0.07915203, 0.02337764, -0.04503435, 0.213887, -0.00143184, -0.11183432, 0.04058618, 0.09663754, -0.12072034, 0.31149092, 0.08229417, -0.00182086, -0.0146011, 0.05989743, 0.16572538, 0.08462363, 0.0856493, -0.01208739, 0.03464735, 0.10251749, -0.00102504, 0.05261565, 0.03609066, 0.00269462, 0.01770539, 0.00345622, 0.04991233, 0.02834656, 0.01322936, 0.14382009, 0.01479668, -0.11096551, 0.10334315, -0.02321594, 0.242531, -0.07715522, -0.04484247, -0.0674979, 0.03657033, -0.16198948, -0.06864597, 0.05611972, 0.13942951, 0.06161565, -0.11131204, -0.02070504, -0.0788872, 0.02407323, -0.07656127, 0.03685286, -0.1083665, 0.11735029, 0.00863886, 0.0346837, -0.02823177, 0.12775385, -0.14619708, -0.06150686, 0.08291237, 0.00359558, -0.11871292, 0.0622145, 0.09834988, -0.14839011, -0.01461649, 0.09345926, 0.10875803, -0.10974131, -0.16425444, 0.08423738, 0.05787477, -0.07691549, 0.03620376, 0.22917216, -0.16867368, 0.05798502, -0.1051218, 0.10280024, -0.08469443, -0.04944262, -0.11994802, 0.20037128, -0.01213568, 0.067391, 0.0562983, -0.17249264, 0.10868816, -0.14391118, -0.01356548, -0.1046884, 0.12414721, -0.11088501, -0.12615547, 0.3728955, 0.10177331, 0.01704302, 0.01351611, 0.02030047, 0.08752514, -0.00876324] +shl:[-0.12600072, 0.17178538, -0.03773915, 0.14813186, 0.00309077, -0.13955322, 0.05872687, 0.03276375, 0.02957859, 0.17835826, 0.08971131, -0.05579292, -0.04961911, 0.1815136, 0.09675147, 0.06544447, -0.14549394, 0.01551801, 0.09785426, 0.13227257, 0.03021108, -0.03527103, -0.05179261, -0.00069295, 0.12745653, 0.01555206, 0.1171091, 0.04403834, -0.01998673, 0.14246745, 0.05627544, -0.21146798, 0.10623506, 0.03367621, 0.00273195, -0.06247865, -0.04869508, -0.08475212, -0.01894706, -0.2047682, -0.05738413, -0.03540916, 0.19342604, 0.09591562, -0.20742916, -0.06518107, -0.01141268, 0.06972227, 0.05889241, 0.19539835, -0.13152787, 0.0682364, -0.180224, 0.15051568, 0.06961914, -0.13385108, -0.1357468, 0.05068575, 0.04032204, -0.03327969, 0.00927468, 0.02808907, 0.059018, 0.03717202, -0.11838709, -0.10677551, 0.13554044, -0.0833236, -0.13367759, 0.03559484, 0.06238643, -0.0550037, -0.02533245, 0.08430438, -0.13447718, -0.2928003, -0.1579481, -0.04840491, 0.13009158, 0.05975904, 0.09551195, 0.21695271, -0.17272583, -0.00905969, -0.08620144, -0.18974042, 0.11295145, 0.2636354, -0.04623472, -0.05595813, -0.10295886, -0.1647606, -0.13313656, 0.23717678, 0.15271664, 0.03382812, 0.06191398, 0.10725134, 0.10339383, -0.10190611] +shufflevector:[-0.12675951, 0.07116304, 0.03145237, -0.02959634, -0.14729258, -0.25020698, 0.09980144, 0.05685308, -0.02052229, 0.17280927, 0.03558732, -0.05384561, -0.0932344, 0.21078916, -0.01024115, -0.03498147, -0.1286038, -0.04855656, 0.08253616, 0.20051228, -0.06828303, 0.09313139, 0.01540118, -0.07935187, 0.12513041, -0.04718774, 0.14047313, 0.10678864, -0.08427954, 0.12429833, 0.05720695, -0.2406934, -0.06556378, 0.04065274, 0.1121303, 0.03494449, -0.06822991, -0.07945977, 0.0892394, -0.03733722, -0.02634199, 0.10507209, 0.23455438, 0.03617063, 0.05571855, 0.08927187, -0.17278652, -0.04249284, 0.06806889, -0.02000428, -0.23261675, 0.08372654, -0.0760068, 0.1494188, -0.00984663, 0.073271, 0.02258225, 0.01148031, 0.11313377, 0.08052549, 0.01787192, 0.00494977, -0.03842711, -0.12378804, 0.17483531, 0.10490901, -0.1468796, -0.06224236, 0.06879725, 0.13993496, -0.07951561, -0.03976065, -0.15681376, 0.14130895, -0.20199397, -0.10297415, 0.03871452, 0.00952505, 0.04013392, 0.11179458, 0.25468507, 0.1068259, -0.10656156, -0.06676379, 0.12514235, -0.10953134, -0.0117294, 0.20780165, 0.05814133, -0.06696714, 0.11812696, -0.14363088, -0.10548032, 0.22875504, 0.10285584, -0.06827703, 0.03286001, 0.07818206, -0.18199266, -0.03743109] +sitofp:[-0.16832569, 0.23925985, -0.00210293, 0.0260516, 0.0768915, -0.16625571, 0.01602546, 0.05691445, 0.0020508, 0.09750295, 0.09087811, -0.0918676, -0.05640079, 0.17099148, -0.04565329, -0.14001136, -0.12121563, 0.01558873, -0.05211416, 0.16390374, -0.08164325, 0.08846082, 0.03409471, 0.04052002, 0.01627373, 0.00273625, 0.11751746, 0.02235544, -0.14852236, 0.15716347, 0.02690658, -0.19089751, 0.19776972, -0.01890383, -0.13309455, 0.01240283, -0.03736231, -0.08947572, 0.01762024, -0.17666656, -0.09012351, -0.04400975, 0.15709351, -0.05091354, -0.09312229, 0.11150968, -0.10950895, 0.08943179, -0.11963892, 0.09311008, -0.03931192, -0.08971342, -0.17940226, 0.1470238, 0.15129781, 0.1499645, -0.13999733, 0.23929577, 0.07231774, -0.04797386, 0.05212139, 0.05784668, -0.05731493, -0.24668387, 0.02754352, -0.18680055, -0.18779813, -0.09527654, -0.18769468, 0.16302873, 0.06074742, 0.00057653, 0.03739297, -0.06293976, -0.18558402, -0.04867147, -0.05908046, -0.15911801, -0.2472413, -0.0538899, 0.13486893, 0.15029062, 0.11845496, -0.09839643, -0.0091461, -0.195536, 0.17987216, -0.03399772, 0.08332697, -0.04513272, 0.16539429, -0.21738891, 0.12998375, 0.03440292, 0.13030784, -0.06806927, 0.02397371, 0.01202742, 0.00508961, -0.08404852] +srem:[-0.16409014, 0.07838917, 0.04023368, 0.135974, 0.13258739, -0.20247568, 0.06609736, 0.06568857, 0.13063675, 0.08692516, 0.0468335, -0.08981047, -0.08223876, 0.11367928, 0.18566288, -0.02603544, -0.08908951, -0.06548493, 0.11438271, 0.05413428, -0.03280425, 0.10066335, 0.01393046, 0.10595598, -0.08646865, -0.03190904, 0.01491745, 0.09313801, 0.09510665, 0.09619691, 0.06647727, 0.07209901, 0.08554738, -0.17115699, 0.02923004, 0.0284648, -0.03427012, -0.09555427, 0.07497569, -0.2038236, -0.07748044, 0.02802165, 0.13125126, 0.09248228, -0.09714492, 0.0296668, -0.22244203, -0.03194808, -0.10548791, -0.03108296, -0.20327716, -0.14501232, -0.08364192, 0.05909463, 0.1119902, 0.07354888, 0.07534458, -0.00334564, 0.04218324, 0.17105794, 0.10801592, 0.11984114, -0.11550033, -0.09049397, -0.20929213, -0.0292238, -0.00317313, -0.1102082, 0.01091479, 0.04538691, -0.04774939, 0.02503583, -0.04589644, -0.01060015, -0.03629277, 0.05280647, -0.1808559, -0.03119106, -0.04400877, 0.04077768, -0.08126456, 0.34399286, 0.01753456, -0.0561929, -0.01463763, -0.22189938, 0.15643677, 0.14467643, -0.10089339, 0.05035524, 0.07491127, -0.10075136, -0.05029656, 0.2892032, 0.14348505, -0.03291985, -0.15324704, 0.06894287, 0.14173703, -0.02064659] +store:[-0.03529134, 0.35634306, -0.02657891, -0.15801963, -0.00995737, -0.1218138, 0.0547715, 0.07967321, -0.01875694, -0.08180754, 0.06171454, 0.04990928, -0.10551745, 0.15094171, 0.10358493, 0.01375086, 0.00473249, -0.04866789, -0.03576321, 0.21203005, -0.03796157, 0.01240036, 0.0209163, -0.03091038, 0.1556912, 0.0007899, 0.0926505, 0.02426496, 0.00207357, 0.18937631, 0.08164503, -0.18094489, -0.09841919, -0.12268734, 0.18499546, -0.09187015, -0.0532405, -0.09094289, 0.07979473, -0.12503283, -0.07934996, 0.00833557, 0.20649771, 0.08081701, 0.06973518, -0.11531749, -0.04117833, 0.00828501, -0.02515841, 0.01397896, -0.30589247, -0.16457945, -0.22830844, -0.0239192, -0.02423633, -0.00200097, 0.10478237, 0.02534999, 0.02604761, -0.05149158, 0.2298505, 0.07937331, 0.18878005, -0.17463441, 0.14331897, -0.21256244, 0.17723332, -0.08604205, -0.08755677, -0.2355141, 0.07047425, -0.0761537, 0.10440067, -0.05469456, -0.05299526, -0.20872477, 0.04603479, -0.1143622, -0.21950087, -0.05393213, 0.2659531, 0.2283763, -0.00599449, -0.00557509, 0.05747205, -0.06636461, 0.18512394, -0.0472403, 0.0172425, -0.0248229, 0.03873602, -0.12216681, -0.04614364, 0.16042566, 0.11340576, -0.0886034, -0.00598549, 0.0008022, -0.04278593, -0.03525953] +structTy:[-3.96835431e-02, -8.90822113e-02, -1.42606497e-01, 3.81423131e-04, 2.19758577e-03, 7.48676881e-02, -2.73228675e-01, -1.16859656e-02, -1.65130183e-01, 5.11487089e-02, -1.69553101e-01, -9.22437832e-02, 1.31498396e-01, -1.37286678e-01, -4.27515320e-02, 4.96642515e-02, -5.52252568e-02, -7.46036172e-02, 9.02014505e-03, -2.35408291e-01, 1.69647247e-01, -1.96743369e-01, 6.45923838e-02, -2.51895841e-02, 6.68621659e-02, 1.36592939e-01, -2.00175524e-01, -1.11361094e-01, 1.27412558e-01, -1.62157789e-01, 9.96021554e-02, 1.41737461e-01, -6.41149059e-02, -7.38510862e-02, 8.01272225e-03, 8.53910372e-02, -1.33319601e-01, 6.27119839e-02, -3.33814435e-02, 2.12902755e-01, 2.27526739e-01, 4.87530306e-02, -1.07006870e-01, 1.33274287e-01, -9.23822448e-02, 1.46636186e-04, 2.46850885e-02, -8.27874169e-02, 2.46693432e-01, 1.76962674e-01, 7.22446889e-02, -4.17378284e-02, -1.11036569e-01, -2.21908048e-01, 9.17931423e-02, 7.30379373e-02, -7.76696280e-02, 1.57592788e-01, 4.10596803e-02, -1.17816523e-01, -1.32886797e-01, 1.60035461e-01, 3.47574726e-02, -2.21677311e-02, -4.64741886e-02, -7.44400769e-02, -4.25543822e-02, 1.13670794e-04, 5.09140380e-02, -1.32655710e-01, -6.25796542e-02, -4.66372781e-02, -1.11898392e-01, -2.02518195e-01, 1.28159031e-01, -5.34876473e-02, 1.09686367e-02, -6.88823611e-02, -7.58955181e-02, 6.08547069e-02, 3.31644602e-02, -1.13912836e-01, -2.02005599e-02, -1.82737440e-01, 3.51766162e-02, 2.10016206e-01, -4.25526053e-02, -1.94335639e-01, 1.49324343e-01, 2.16009989e-02, 1.20429546e-01, -1.30154220e-02, 2.46248320e-02, 8.41082633e-02, 1.70826092e-02, 9.59830508e-02, 1.38070285e-01, 7.90656060e-02, 6.93965480e-02, -1.37265459e-01] +sub:[-0.0953552, -0.26459047, 0.03308668, 0.13249162, -0.02339133, -0.16340615, 0.09955963, 0.08736164, -0.00749704, 0.258473, 0.02375738, -0.01721415, -0.04011932, 0.1698383, 0.18286662, 0.13691881, -0.06041747, -0.05069342, 0.06985351, 0.18605933, 0.0013146, 0.05105596, 0.09000639, -0.0791879, 0.09990679, -0.03802681, 0.01394006, 0.13074785, 0.02572679, 0.1152823, 0.0602135, -0.0645524, -0.0432878, -0.03946076, -0.01189882, -0.17136051, -0.08446245, -0.14384373, -0.04641701, -0.16400127, -0.00788906, 0.11455883, 0.23541838, 0.01119818, -0.11292889, 0.01591954, -0.17279945, 0.0085732, -0.00049456, 0.23344193, -0.09339388, -0.21455054, -0.14614382, 0.13186802, -0.02922259, 0.08590978, -0.22631744, -0.1641037, 0.11476243, 0.01831239, 0.06058609, 0.01612271, 0.04078725, -0.11939868, -0.08799169, -0.0831557, 0.11597776, -0.10387602, -0.15562047, 0.10277298, 0.0884128, -0.00211773, -0.07519984, 0.02181713, 0.00940274, -0.03150436, -0.19841634, 0.08125176, -0.0336112, 0.01718792, 0.29995593, 0.08398062, 0.01523209, -0.0875889, -0.00292724, -0.10402364, 0.09417068, 0.02840151, -0.08037011, -0.08590419, 0.04044127, -0.1441415, -0.03858523, -0.07990282, 0.11721177, -0.05477691, -0.02124342, -0.05910411, -0.13885908, -0.01996337] +switch:[-0.13785669, -0.15107918, -0.04796785, -0.22113088, 0.28105316, -0.3084381, 0.14055881, 0.08442263, -0.15649459, 0.39468428, 0.07498952, 0.20437865, -0.09887247, 0.15037191, 0.2262322, 0.06684801, 0.16424559, -0.00524498, 0.07166345, 0.10317154, -0.05140467, 0.06270579, 0.06683356, -0.04247428, 0.12293091, -0.01778657, 0.16808052, 0.03365473, 0.00600127, 0.2287539, 0.128691, -0.1871249, -0.09569948, -0.11760508, 0.08693129, 0.04876805, -0.0746339, -0.09217174, -0.09919852, -0.02021358, -0.03543155, 0.19938102, 0.23665167, 0.02790471, 0.05676728, 0.07625703, -0.09384394, 0.08068095, -0.25725934, -0.15707405, -0.05104439, 0.01520061, -0.10366441, 0.19825514, 0.11738565, -0.3328328, -0.01096464, 0.29800093, 0.13454375, 0.25953025, 0.1962808, 0.06187899, -0.02792281, -0.3613596, -0.09878037, -0.41259867, -0.00243621, -0.11636285, -0.11828742, -0.10344818, 0.15280734, -0.1635701, 0.18818699, 0.24468671, -0.19148564, -0.02964402, -0.14278461, -0.22543798, 0.00378041, 0.04667636, 0.1615017, 0.23346579, 0.02192483, 0.16351697, 0.2541493, -0.10605781, 0.01159541, -0.00798608, -0.33115175, -0.11546707, -0.06785078, -0.17802702, -0.03452291, 0.3095149, 0.17876463, -0.03307298, 0.01204066, -0.04922518, 0.0026099, -0.0974003] +trunc:[-1.48943663e-01, 1.61985293e-01, -1.70696221e-04, 6.21735305e-02, 4.97375801e-03, -1.19473130e-01, 1.54040540e-02, 1.30973652e-01, -1.51608521e-02, 7.85511658e-02, 2.28337310e-02, 4.50596847e-02, -9.06022266e-02, 3.59564871e-02, 1.11074835e-01, -2.65582591e-01, -9.11209360e-02, -4.00285376e-03, 2.34756917e-02, 1.96700767e-01, 2.90081520e-02, 9.75821391e-02, 2.68728212e-02, -6.27916083e-02, 5.49675226e-02, 2.38057997e-04, 9.13996622e-02, 6.64755180e-02, 3.03930193e-02, 1.37060389e-01, 6.22018278e-02, -1.20737016e-01, 7.61812404e-02, -3.84349562e-02, -7.73440162e-03, -7.51224235e-02, -4.63770628e-02, -7.12292418e-02, 1.56213537e-01, -1.45664543e-01, -8.24993625e-02, -2.50289496e-02, 2.52266616e-01, 7.49891028e-02, 1.55611202e-01, -1.38314575e-01, -5.34070050e-03, 5.22824563e-02, 4.10956843e-03, -4.68976535e-02, 4.39298861e-02, -2.37143904e-01, -1.92298517e-02, 9.85554699e-03, -6.91667199e-02, -5.23221008e-02, -7.32209012e-02, -3.67665179e-02, -7.13495398e-03, 1.47750219e-02, -7.81539232e-02, 7.38604516e-02, 4.12273046e-04, -1.57081068e-01, -6.99810013e-02, 1.42727736e-02, 4.92842011e-02, -7.66704008e-02, -8.69129151e-02, -1.92414001e-01, 1.11921877e-01, -5.43075018e-02, 1.54368639e-01, -6.88038170e-02, -1.88596337e-03, -1.95109889e-01, 7.79059902e-02, -2.12698374e-02, -2.11827502e-01, 9.64161754e-03, -8.94803405e-02, 1.98755145e-01, 4.62119319e-02, -2.24393412e-01, 5.96956238e-02, -6.89180791e-02, 9.04319510e-02, 3.39895546e-01, -7.37581700e-02, -3.13321911e-02, 4.22456339e-02, -1.09583467e-01, -7.39743263e-02, 2.99576640e-01, 1.02384903e-01, 5.89961139e-03, -4.28431435e-03, -1.99617445e-02, -4.58279587e-02, -7.89601505e-02] +udiv:[-0.17671652, 0.10229447, 0.00519551, 0.06101571, 0.0763792, -0.18405536, 0.05893987, -0.1103385, 0.00791495, 0.10986267, 0.0409479, -0.13180354, -0.03860949, -0.10525192, 0.04892656, -0.03093025, -0.13232875, 0.03807586, 0.07314262, 0.14658159, 0.01306364, 0.06231265, 0.05561756, -0.09672142, -0.01892682, -0.02354536, -0.03152575, 0.06246295, -0.15601172, 0.20085357, 0.03181548, -0.21236748, -0.06882647, -0.24529071, 0.02932597, -0.10867778, -0.08602572, -0.08900763, -0.23639227, -0.19431576, -0.0653095, 0.0828959, 0.30785608, 0.0346611, -0.00477405, 0.01868396, -0.19289365, 0.18062605, 0.00199238, 0.20700113, -0.08788174, 0.00964048, -0.04658434, 0.10516021, 0.12596835, -0.09676334, 0.03474849, -0.00646015, -0.00825688, -0.04109121, 0.19287434, 0.14219823, -0.11141567, -0.03986474, -0.26237622, -0.05288768, 0.2660759, -0.11791226, -0.11103091, 0.00146731, -0.07791728, -0.05956455, -0.05791739, -0.06013145, 0.03733175, 0.1666778, 0.01909983, -0.23549642, -0.04566164, 0.03196376, 0.07809507, -0.04718444, -0.03702124, -0.05550085, -0.05524414, -0.1061673, 0.11534564, 0.13780159, -0.25695655, 0.06229999, 0.10211676, -0.13834105, -0.12139603, 0.16129494, -0.07103133, -0.02762147, -0.12578516, -0.08813025, 0.05242309, -0.02097058] +uitofp:[-0.17258997, 0.08317631, 0.00159047, 0.04677379, 0.07849041, -0.15901978, 0.06930523, 0.06149773, 0.08035871, 0.05945555, 0.01625332, 0.1350944, -0.05387528, 0.23348717, 0.03979181, -0.03672469, 0.09965295, -0.01449795, -0.0907179, 0.20327848, 0.00445275, 0.08724411, 0.06808846, -0.03389622, 0.09875238, -0.03714811, 0.16171202, -0.11124533, 0.07414763, 0.03462869, 0.02677613, -0.22866257, 0.00079032, 0.00697522, 0.07336772, -0.19353878, -0.07927518, -0.11507886, 0.0542306, -0.06708235, -0.0307213, 0.2249962, 0.24164096, -0.10949063, 0.08361538, 0.02692904, -0.10580832, 0.15280604, -0.05279434, -0.04642436, -0.03333915, -0.14721957, 0.06987269, 0.11268786, -0.08782774, 0.28179362, -0.15912975, -0.05727448, 0.03074066, 0.00575958, -0.00639842, 0.00565872, -0.05683737, -0.26414344, -0.1134745, -0.08173503, 0.00603494, -0.04802901, 0.01352828, 0.01817799, -0.09797031, -0.10834252, 0.06738434, -0.11513596, -0.05307522, -0.10233205, 0.03159448, -0.21574691, -0.01804472, 0.14095852, 0.12034682, 0.05839874, 0.12210672, 0.05701111, -0.00840698, -0.04980013, 0.03922625, 0.01724898, -0.28122628, -0.00621354, 0.09819426, -0.22018862, -0.07949243, -0.0317892, 0.1301879, -0.06706842, 0.04421813, 0.07087731, -0.01899929, -0.06589555] +unreachable:[-0.06088371, 0.13193683, -0.03018444, 0.15896593, 0.0033598, 0.09663431, 0.11163876, 0.13079004, -0.01468084, 0.08175608, -0.00999199, 0.06351876, 0.02726974, -0.02018832, -0.0473082, -0.04504514, -0.10741987, 0.01347713, 0.16606618, 0.01929044, -0.03611498, -0.05202329, 0.10554367, 0.05255725, -0.0704831, 0.00160814, 0.10875788, 0.13734357, 0.14045468, 0.1380403, 0.02612598, -0.05882959, -0.21091446, -0.1128555, 0.08345397, 0.02365994, -0.04746438, -0.06829461, -0.13361861, -0.16740192, -0.08128867, 0.17816901, 0.1409021, 0.10420833, 0.13494818, -0.02437912, 0.03129028, 0.14431876, 0.13494477, 0.06452074, -0.09379561, 0.15755762, -0.21547836, -0.022196, 0.0536056, -0.19761625, -0.23442549, -0.05972091, -0.02123259, 0.07578047, -0.12083326, 0.02023016, -0.06540227, -0.23720072, -0.02123379, -0.2525388, 0.10508891, 0.01480465, -0.02081848, -0.00219039, 0.09978196, -0.04866889, 0.11588323, 0.06049645, -0.10539561, -0.0511655, -0.05829581, -0.13105415, 0.08427662, 0.05557, 0.05298607, 0.06963351, 0.08255908, 0.07347525, 0.01335096, -0.10886843, -0.04396117, -0.2236974, -0.23813556, -0.16491577, 0.06201493, -0.0737339, -0.12657407, 0.0404583, 0.10359443, 0.02877598, 0.03536025, 0.08561716, 0.0703247, -0.11086893] +urem:[-0.08549029, 0.09160238, -0.00241183, 0.05067972, 0.15899393, -0.01931739, 0.05753855, -0.11290436, 0.0076089, 0.09345544, 0.07004112, 0.14931405, -0.05836166, 0.23132688, 0.24841079, -0.06698868, -0.10419554, -0.01532327, 0.09040123, 0.13180336, -0.07404146, 0.1092893, 0.06295769, -0.15995945, 0.11533199, -0.04144646, -0.00576534, -0.02924641, -0.14578289, 0.20344952, 0.03532381, -0.03117668, -0.05160449, 0.03500823, -0.11252508, -0.17664222, -0.07940985, -0.12040678, -0.12449349, -0.21122253, -0.01698987, 0.04146675, 0.28569615, 0.02374074, 0.02850478, 0.02949483, 0.03958799, -0.04166255, -0.06555806, 0.00569926, -0.09925889, -0.15188931, -0.10791452, 0.08082949, 0.12191993, -0.00624607, 0.04424485, 0.05079485, 0.14598109, -0.02051969, 0.15129603, -0.00130547, 0.08836077, -0.04359945, -0.10000737, -0.08823593, 0.19829819, -0.11860672, -0.04696933, -0.06921311, -0.0385624, -0.14454114, -0.06662096, 0.02774117, -0.10033001, -0.09850532, -0.01309359, -0.3019796, -0.01657072, -0.07764618, -0.01968917, -0.00321299, -0.07419216, 0.05854518, -0.16480607, 0.05657026, 0.0020229, 0.16678901, -0.22832742, 0.16309422, 0.1353033, -0.1562748, 0.0068607, 0.15853357, 0.14734711, 0.07763742, 0.2270559, -0.16909193, -0.04115343, -0.05565834] +variable:[-0.04745717, -0.08637991, 0.1639285, 0.05114051, 0.03557682, -0.12990922, 0.07336151, 0.18193728, -0.02263653, 0.0647072, -0.13118894, 0.0706948, 0.12427193, 0.06009571, -0.1661605, 0.06285623, 0.12019422, 0.0589813, -0.09464766, -0.18064742, 0.18370065, 0.14896196, 0.05205907, -0.05699009, -0.0927754, -0.12338018, 0.01031358, 0.11119294, -0.14166753, -0.08204582, -0.17005804, -0.01536623, -0.10464924, -0.01305452, 0.08885329, 0.06114819, 0.03674849, -0.34666064, -0.1727605, -0.10190743, 0.03277443, -0.05261128, 0.08590446, 0.29270428, -0.09474073, 0.22252011, -0.16998203, 0.17469582, -0.01632195, 0.06632435, 0.06541058, 0.11040371, 0.0802538, -0.12276898, 0.11019022, -0.0230128, -0.01787852, 0.0922657, -0.10588636, 0.14600633, 0.06586216, -0.13569869, -0.12737776, -0.10237563, -0.10666361, -0.1718707, 0.07690907, -0.23457758, 0.09286352, -0.09383877, 0.16538797, 0.02497552, 0.03209268, 0.03432005, -0.05913163, -0.04922373, 0.05927496, -0.00142324, -0.02437539, -0.27331042, -0.04195979, 0.3012319, 0.28423536, 0.05868969, 0.05781042, -0.21984018, -0.0756731, -0.02196042, -0.05227526, 0.12267761, -0.00093613, 0.06875217, -0.06592193, 0.0894247, 0.14242776, 0.10645651, -0.16283514, -0.05019224, -0.2615151, -0.17419891] +vectorTy:[0.09214257, -0.04254282, -0.2082744, 0.1489835, 0.16765025, 0.12442486, -0.06085881, -0.02866303, 0.18554689, -0.08484387, 0.16206563, -0.01242073, 0.17323564, 0.06107936, -0.09174694, -0.0495562, -0.01831215, 0.04182582, -0.03232431, 0.08220705, 0.01549849, -0.1049181, -0.14759736, -0.03965862, 0.0188947, -0.10498622, -0.1803732, 0.16405664, 0.14511505, -0.10143329, -0.06956764, 0.05751402, 0.02792842, 0.14136231, 0.03651895, -0.11449363, 0.07786072, 0.12971582, 0.20839804, 0.20588775, 0.12468194, 0.00039439, 0.01450426, 0.15445328, 0.01187558, -0.07902222, -0.06411007, -0.05476548, 0.20955466, 0.15925792, 0.14728937, -0.00367325, -0.12067425, -0.11644303, -0.21257977, 0.21884163, -0.01551571, 0.06547339, -0.03973668, -0.09633668, -0.24208052, 0.11933044, -0.16694735, 0.04643975, -0.09887692, 0.05033477, -0.12200441, 0.1662296, -0.01365205, 0.01528752, -0.10588146, -0.08806136, -0.20088676, 0.05208419, -0.03125093, -0.06816924, -0.08123421, 0.0129625, -0.08165248, -0.14954782, -0.08383283, -0.0757656, -0.05523998, -0.13218589, 0.15462421, 0.02526899, -0.02197613, 0.06456108, -0.08720388, 0.10372602, -0.01931399, -0.13187875, 0.08807088, 0.02672064, 0.00975798, -0.11998563, 0.10483557, 0.08746739, 0.13014027, -0.13334289] +voidTy:[1.39123395e-01, -6.82682246e-02, -1.56617016e-01, -7.60084465e-02, 1.00919925e-01, 1.74035922e-01, -1.56080678e-01, -5.35190031e-02, 1.09261021e-01, -1.35638222e-01, 1.68325156e-01, 1.35690197e-01, -9.90925804e-02, -1.13364339e-01, -1.50621478e-02, 3.74432206e-02, -5.21973036e-02, 2.96468586e-02, 6.75825961e-03, -4.00914066e-02, 6.65328428e-02, 1.53036490e-01, 9.56951156e-02, 9.35865939e-02, 2.17673816e-02, 1.03012696e-01, -1.14968633e-02, -8.92200693e-02, 2.22642094e-01, -1.38613293e-02, -5.15563693e-03, 9.23900530e-02, -1.27655804e-01, 3.78469527e-02, 3.11730765e-02, -1.27757015e-02, 1.26724884e-01, 2.15029139e-02, 1.60096169e-01, 3.17343101e-02, -1.03545554e-01, -1.24611840e-01, -4.03355211e-02, -7.08277300e-02, 8.45108777e-02, -1.04451224e-01, 1.16720572e-01, 1.48278670e-02, 1.84134856e-01, -1.62828434e-02, -1.64145931e-05, -6.86618909e-02, -1.37460783e-01, 7.12566301e-02, 6.22349456e-02, -1.15113214e-01, -1.57700866e-01, 1.28431082e-01, -1.25484526e-01, -2.16529414e-01, -9.91288945e-02, -7.96836540e-02, 7.39990473e-02, -5.88596649e-02, -2.84298491e-02, -5.15003502e-02, 2.06307825e-02, -1.38278484e-01, 3.76871638e-02, -6.28824681e-02, 5.19816801e-02, -1.90032780e-01, -4.50734906e-02, -1.09323092e-01, 5.38111515e-02, 8.90467837e-02, 8.49439353e-02, -2.58022826e-02, -5.37883528e-02, -1.73901737e-01, 1.35274500e-01, -9.15873423e-02, -6.80732578e-02, -9.18437913e-02, 7.81169087e-02, 1.10999197e-01, -8.34695622e-02, -1.86496139e-01, -1.59131661e-01, -5.79612404e-02, -3.66159305e-02, 8.42922255e-02, 1.44578693e-02, 3.29559147e-02, 6.82946946e-03, -5.06191142e-02, 1.35032460e-01, 1.89761311e-01, -1.47584870e-01, -4.90086749e-02] +xor:[-0.16921039, 0.12408639, -0.034145, 0.13137488, -0.04762559, -0.03108282, 0.11359347, 0.04723426, 0.08214669, -0.08919795, 0.08350056, 0.02434964, -0.0256896, 0.18628141, 0.09431785, 0.02161829, -0.17557403, 0.01662976, 0.15725583, 0.13712473, -0.00457354, 0.03745704, -0.03570157, 0.06576116, 0.06272607, 0.01721253, -0.01528889, 0.06864108, -0.03288332, 0.09796044, 0.09011626, -0.23149484, 0.08231667, 0.04841082, -0.13498706, -0.05696484, -0.05362453, -0.11720514, 0.00099914, -0.23637904, -0.06771386, 0.13900891, 0.19573559, 0.01353323, 0.09763495, 0.16432948, -0.08079959, 0.0538074, 0.07155547, 0.02535601, -0.16881762, -0.02021813, -0.12348865, 0.01615006, -0.05484886, 0.27608117, -0.17019226, -0.05588771, 0.14863412, -0.01168946, 0.22599666, -0.0703093, 0.15534535, -0.12977424, -0.25004354, -0.17313497, 0.13966106, -0.09113417, -0.01070651, -0.19820745, 0.09653766, -0.0886725, 0.04275795, 0.05763382, 0.08995168, -0.0497935, -0.14781837, 0.03620582, -0.16778147, 0.01618672, -0.23161617, 0.20526892, -0.03256932, 0.1128776, 0.05835852, -0.17659847, 0.19213665, 0.1507903, -0.23795094, -0.00641877, 0.10532196, -0.17336258, -0.18323651, 0.01772483, 0.14239813, 0.03483916, 0.12513739, -0.1615746, 0.01592221, 0.06976533] +zext:[-1.33044437e-01, -2.52875745e-01, 3.50738093e-02, -2.03829944e-01, -5.82297966e-02, -1.05092958e-01, 4.42118868e-02, 1.12847589e-01, -1.57210976e-02, 9.47973505e-02, 8.15101340e-02, 4.34930958e-02, -7.35153481e-02, 1.79205835e-01, 4.31320854e-02, 6.20642006e-02, 1.99731160e-02, -1.93929952e-03, -4.71815653e-02, 1.87836722e-01, -6.38541579e-02, 5.80772832e-02, 5.34959137e-02, -6.36336505e-02, -9.44561362e-02, -3.94840681e-05, 1.80340484e-02, 6.65806234e-02, 1.84422173e-02, 1.28611282e-01, 6.59179240e-02, -1.37597591e-01, 1.75117403e-01, -4.69908975e-02, 6.37586415e-02, -6.76920712e-02, -4.30216230e-02, -6.56124204e-02, -4.91032265e-02, -1.42709956e-01, -1.11875355e-01, -8.30171350e-03, 2.17935696e-01, 6.31718040e-02, 1.23638242e-01, 1.87138334e-01, -1.01252785e-02, 6.76815137e-02, -7.43541047e-02, -7.46816248e-02, -1.13281965e-01, 1.19622834e-01, 1.11896917e-02, 8.83216560e-02, 3.06905359e-02, 1.12930745e-01, -1.71396554e-01, -1.75105166e-02, -4.67790440e-02, 1.85718816e-02, -1.56841706e-02, 7.76569992e-02, 1.44308535e-02, -1.63253114e-01, 1.79000050e-02, 1.80133302e-02, 3.17333966e-01, -7.50223324e-02, -8.86120647e-02, 1.56262398e-01, 7.72838667e-02, -6.56765550e-02, -1.00097515e-01, -3.52685601e-02, -1.37866139e-01, 3.65538932e-02, 1.63608536e-01, -5.79393171e-02, 2.18970180e-02, -5.66484667e-02, -6.28089085e-02, 1.92560479e-01, 4.35242988e-02, 3.29817012e-02, 2.57029757e-02, -1.71366796e-01, 4.26483452e-02, 3.12984526e-01, -5.45212887e-02, -2.74304971e-02, 2.81224921e-02, -1.13750860e-01, -7.34276101e-02, 1.34958059e-01, 1.25591040e-01, 1.68564655e-02, -1.45978597e-03, 1.05855344e-02, -2.16981005e-02, -6.22510351e-02] \ No newline at end of file diff --git a/vocabulary/seedEmbeddingVocab.txt b/vocabulary/seedEmbeddingVocab300D.txt similarity index 100% rename from vocabulary/seedEmbeddingVocab.txt rename to vocabulary/seedEmbeddingVocab300D.txt diff --git a/vocabulary/seedEmbeddingVocab75D.txt b/vocabulary/seedEmbeddingVocab75D.txt new file mode 100644 index 00000000..08519c56 --- /dev/null +++ b/vocabulary/seedEmbeddingVocab75D.txt @@ -0,0 +1,63 @@ +add:[-0.10706678, 0.13097984, -0.11605535, 0.17951646, 0.10842272, 0.18399747, -0.19379032, -0.2647733, -0.12766051, -0.00485199, 0.15614752, 0.03155349, 0.03493667, 0.12071995, -0.12817192, 0.01423827, 0.28815243, -0.13548505, -0.01277111, 0.06369204, -0.0081173, -0.10599774, -0.06833462, -0.03803566, -0.0472391, -0.13475174, -0.44472298, -0.19732524, -0.14006428, -0.12402665, -0.08527854, -0.21508977, 0.04458212, -0.11118651, -0.03227397, -0.15087713, 0.08002315, -0.15108559, 0.17325413, -0.1550306, -0.03043029, -0.14906237, 0.00364336, -0.02208263, 0.15527144, 0.08057675, -0.01540586, 0.0479391, -0.1746707, 0.0312925, -0.14524665, 0.1009572, 0.00929103, 0.13883665, -0.18489668, -0.10525297, 0.16679022, 0.1297575, -0.0057894, -0.02373602, 0.14198376, 0.07001822, -0.04425224, -0.15120569, -0.19380043, 0.16383831, 0.01327805, -0.07002157, 0.11953219, 0.00253665, -0.20047452, 0.18101144, -0.05616577, 0.05226176, 0.00271469] +alloca:[0.17945297, 0.12782614, 0.21235164, 0.12550819, 0.11093373, 0.15053092, -0.1985414, -0.19275506, -0.1463461, -0.02888313, 0.16476473, 0.03344321, 0.03544059, -0.12281881, 0.20685922, 0.05335882, -0.24483645, 0.12437144, -0.13738704, 0.06926467, -0.01236823, -0.14164591, -0.06462298, 0.02696911, -0.08085018, -0.1587167, 0.06712169, -0.20152582, -0.15852675, 0.22358498, 0.05526809, -0.00264076, 0.04593778, -0.1184096, 0.21148157, -0.17092028, -0.11420453, -0.1554349, 0.17760003, -0.17140207, -0.09149083, -0.14809465, 0.11227789, -0.14545228, 0.15926957, -0.05340089, 0.11267719, 0.04943088, -0.13083653, -0.16758578, -0.20546715, -0.01046424, 0.10473233, 0.14263427, -0.19120769, -0.14945947, 0.1383381, 0.03608947, 0.04094962, -0.02461379, 0.14626645, 0.09119257, -0.0416082, -0.14475973, 0.23820469, 0.18458243, 0.01332372, -0.13989814, 0.12224149, -0.00257317, -0.15992273, 0.18817104, -0.05721908, 0.00615159, 0.24600025] +and:[-0.11178716, 0.13483258, -0.15002933, 0.15391214, 0.11146516, 0.15175094, -0.19856161, -0.27618977, -0.13286063, -0.00655276, 0.16306019, 0.03391848, 0.03587318, 0.12616551, -0.13362664, 0.01764604, 0.29947793, -0.14044237, 0.1129781, 0.06706466, -0.00831874, -0.10934035, -0.07040038, -0.04142912, -0.05216355, -0.13893102, -0.30102658, -0.20554256, -0.1438112, -0.1314689, -0.0867063, -0.49475932, 0.04639493, -0.11538583, -0.04123582, -0.1564892, 0.0834691, -0.15724008, 0.18090673, -0.16223198, -0.03251988, -0.1544349, 0.00185687, -0.09721139, 0.16244216, 0.08392943, -0.01618329, 0.05011995, -0.18062851, 0.03049534, -0.13162978, 0.10417423, 0.01204258, 0.15839572, -0.19408533, -0.10810632, 0.17155176, 0.13542517, -0.00432706, -0.02385384, 0.14791825, 0.07252786, -0.04344646, -0.14658219, -0.15141281, 0.16878209, 0.01392884, -0.07210843, 0.1252286, 0.00241671, -0.19492956, -0.05302701, -0.05951639, 0.05534134, 0.00249913] +ashr:[-0.10929906, 0.17612839, -0.11600731, -0.23503795, 0.09720282, 0.14072503, -0.18027568, -0.2803111, -0.21011733, 0.1064183, 0.17594221, 0.03080301, 0.07072744, 0.05714689, -0.11605146, 0.04875292, 0.0241426, 0.16152227, -0.01514135, 0.07370667, 0.00061038, -0.08699173, -0.05054572, -0.09078233, -0.08152417, -0.20319045, -0.07695799, -0.2061721, -0.20922238, 0.22261831, -0.28820044, -0.05467343, 0.06598304, -0.10182495, 0.21412489, -0.19759132, 0.07957324, -0.20146614, 0.09765558, -0.17162085, -0.09122259, -0.15034494, -0.12574612, 0.06703107, 0.16114126, 0.08407308, 0.1678488, 0.0505508, -0.13599212, 0.03040495, -0.20570397, 0.10100126, 0.09384924, 0.0983595, -0.21832477, -0.057018, 0.14105481, 0.03707432, -0.00569969, -0.06819412, 0.11119773, 0.04818765, -0.0939882, 0.14159662, 0.23880427, 0.19243136, 0.07138436, -0.16928138, -0.21220447, -0.00465763, 0.00957019, -0.05063453, -0.0598246, -0.14699112, 0.13301979] +bitcast:[-0.10315816, 0.0816453, -0.21884088, 0.06798919, 0.22739294, 0.0640339, 0.11784311, 0.09506627, 0.19640507, -0.1061683, 0.14800216, -0.15943746, 0.05496758, 0.12763985, 0.21045704, 0.04627991, 0.11577551, 0.12563764, 0.10995742, 0.13987751, 0.10902822, -0.08610999, -0.05738439, -0.14674646, -0.14567736, 0.1975445, -0.15007484, -0.1799645, 0.02444018, -0.03901434, 0.04009971, -0.14321053, 0.07627886, 0.20762299, -0.20748158, 0.17948043, 0.10235873, 0.00023856, 0.18213229, -0.12178227, -0.19155867, -0.07504618, -0.04669186, 0.11121777, -0.13352537, -0.05498422, -0.20033237, 0.22666101, 0.02394146, 0.06419373, -0.0086145, 0.11629897, 0.10842079, 0.21837686, -0.09290663, 0.23453136, -0.05618316, 0.07314663, 0.04041479, -0.03686116, -0.06541585, 0.16816922, 0.10113157, -0.11516596, 0.12729663, 0.18704572, 0.21209802, 0.05036264, -0.20056765, -0.08030804, -0.18798172, -0.05386178, 0.21649109, 0.12457379, -0.23290847] +br:[-0.13466758, 0.13462044, -0.11900182, 0.14940342, 0.10728918, 0.1602117, -0.18300878, -0.11410869, -0.15767391, -0.08192963, 0.16048539, 0.03106693, 0.0062218, 0.32384592, -0.13333374, 0.01737556, -0.35089645, -0.13951534, 0.32495296, 0.01929854, -0.00861498, -0.11707225, -0.06431757, -0.05223176, -0.04886034, -0.1565396, -0.24797156, -0.18374826, -0.14625117, -0.08047657, -0.04435138, 0.06476029, 0.04438542, -0.11804207, -0.02682809, -0.13218015, 0.31462273, -0.15577368, 0.18048187, -0.16110891, -0.03371485, -0.15339556, 0.03271793, 0.00630022, 0.16150798, 0.08510585, -0.01574472, 0.05013437, -0.1801857, -0.17099534, -0.1501832, 0.12065745, 0.01174447, 0.14283277, -0.14324749, -0.11230699, 0.17124574, 0.13318825, -0.00403612, -0.02349767, 0.1477884, 0.07065933, -0.03957716, -0.14633095, -0.15106276, 0.16803761, 0.01083914, -0.07434659, 0.12422366, -0.00674346, -0.19807695, 0.19070752, -0.05874697, 0.05328529, 0.00263743] +call:[0.14482532, 0.14326757, -0.15085314, -0.04092033, 0.0209726, 0.17022459, -0.20072381, 0.08939568, -0.15637758, -0.13988748, -0.26898825, 0.03325888, 0.04572382, -0.31501377, -0.1450185, 0.0261996, -0.17067844, 0.09898938, -0.2944188, -0.00886531, -0.00514833, -0.07931045, 0.00602785, -0.01886678, 0.20276964, -0.12007877, 0.22482176, -0.2681193, -0.08419776, 0.21180737, 0.05318057, 0.2844758, 0.06083709, -0.12837744, -0.06748573, -0.14210708, -0.3420069, -0.1958193, 0.2321262, -0.20586585, -0.04130536, -0.19348837, 0.08342399, 0.36395246, 0.17684563, 0.10515745, -0.04181844, 0.02709665, -0.22896197, 0.30263722, -0.09295031, -0.31957364, -0.00433618, 0.12611122, -0.18056175, 0.3066922, 0.21866941, 0.1626749, -0.00615647, -0.28773254, 0.18925248, 0.09600297, -0.08468354, -0.20638923, -0.19032606, 0.12741329, -0.20380476, -0.09236535, 0.15666015, 0.027502, 0.28376308, -0.3791352, -0.07245122, 0.06987173, -0.13707748] +constant:[-0.05511775, -0.08224074, 0.08653096, 0.4863616, 0.2476299, -0.07138691, 0.44700274, 0.04436373, 0.09296414, 0.0686087, -0.11327551, -0.11816442, 0.2512074, -0.12631956, 0.10144527, -0.40181464, -0.03053996, -0.02082835, -0.13831106, -0.253976, 0.27632302, 0.1657126, 0.13695326, 0.20861977, 0.03519448, 0.12430684, 0.05921895, 0.26770428, 0.13858305, 0.07001018, -0.315329, 0.11938018, 0.32305434, 0.12312049, 0.13810511, 0.08054793, -0.10096874, 0.03923778, -0.39813322, 0.11467672, 0.39932993, 0.02084116, -0.0068024, -0.38385683, 0.04948922, -0.16758485, 0.09372494, -0.10735551, 0.10021734, -0.4156233, 0.12506564, -0.08016244, -0.26558447, -0.13219741, 0.17242356, 0.13817824, -0.01288403, -0.31951007, -0.1818523, -0.17777084, -0.35218972, -0.16993074, -0.31980267, 0.35484686, 0.03130734, -0.04649718, -0.0845923, 0.14208128, 0.03328462, 0.21987958, 0.16688436, 0.4204589, 0.18413895, -0.10522495, -0.06958065] +extractelement:[-0.13334301, 0.13824242, -0.1777799, 0.19641759, 0.1192126, 0.2089696, -0.21124807, -0.04611871, -0.12823536, -0.16428901, -0.00694824, 0.07086436, -0.20107614, 0.13457699, -0.13841413, -0.20406596, 0.12342261, -0.1551251, 0.11633983, 0.00781696, -0.01117946, -0.09194981, -0.26064873, -0.04221923, 0.06729442, -0.11331707, -0.1575914, 0.03098936, -0.08996629, -0.1677314, -0.11706422, -0.15807948, 0.04784825, -0.12363577, -0.04299357, -0.09287591, 0.08699572, -0.16162103, 0.18954541, 0.18733715, 0.18527527, -0.16211925, 0.01841691, -0.24795406, -0.06417608, 0.08705449, -0.34089014, 0.04867454, -0.19771865, 0.03108035, -0.1314961, 0.10390847, 0.00210152, 0.16652024, -0.1476344, -0.11725239, 0.18920864, 0.13918674, -0.00471087, -0.01769734, 0.15430662, 0.12118539, 0.24754849, -0.16714816, -0.21405493, 0.08530156, 0.22711486, -0.07599557, 0.12583134, 0.01627942, -0.22304477, -0.05357931, -0.06064295, 0.06179977, 0.24206032] +extractvalue:[0.14426622, 0.0586798, -0.09706913, 0.14877641, -0.25502053, 0.15195489, -0.1566787, 0.24299988, 0.23574317, -0.07162391, -0.22991037, 0.03165187, -0.22608593, 0.01468999, -0.11515595, 0.01825508, -0.06865417, -0.1404803, -0.01040856, -0.03346428, -0.22164406, -0.14025804, 0.23578045, -0.23462011, -0.045315, -0.02686119, -0.0206653, 0.01651808, 0.02044199, -0.18469973, 0.19499204, -0.05297833, 0.02682888, -0.12157851, -0.02729162, -0.09813424, 0.02225483, 0.23500983, 0.21803817, -0.16138217, -0.03408895, -0.15375352, 0.06347576, -0.06099097, -0.1794837, 0.23301016, 0.17049761, 0.02065851, -0.18001623, 0.01151185, 0.04512748, -0.00573916, -0.03807861, 0.13767283, -0.12640858, -0.12627049, -0.1995161, -0.17798784, 0.00845151, 0.02543758, -0.20610349, 0.04735759, -0.04220745, -0.1452903, -0.12603642, 0.04538869, -0.19606718, -0.03102922, 0.04413663, 0.24769837, -0.20390615, 0.07117273, -0.11142858, 0.05541492, 0.24263766] +fadd:[-0.10873123, 0.13037448, -0.18534161, 0.18515441, 0.11261778, 0.19606866, -0.19855583, -0.04479901, -0.12877528, -0.15118788, -0.01939856, 0.07455989, -0.18490526, 0.05251479, -0.13063222, -0.19204916, 0.02582661, -0.14519615, -0.01473167, -0.00184892, -0.00860755, -0.112672, -0.25621638, -0.03804077, 0.15780579, -0.11617256, -0.07628617, 0.10131412, -0.08613286, -0.1489821, -0.06002842, -0.04803097, 0.04578746, -0.11480423, -0.04673449, -0.08242401, 0.07866412, -0.152193, 0.17761528, 0.17768967, 0.17454574, -0.18040213, 0.06017968, 0.0645328, 0.15748358, 0.08116906, -0.4018228, 0.04057113, -0.1863352, 0.03174699, -0.12215038, 0.10104799, 0.00263386, 0.1581356, -0.14009237, -0.10980193, 0.17721009, 0.13239942, -0.00362236, -0.01748145, 0.14479299, 0.12227024, 0.23331605, -0.15699492, -0.20088439, 0.09237133, 0.01604627, -0.07126047, 0.1216723, 0.00635546, -0.20864682, 0.17545675, -0.05706025, 0.06430314, 0.23661163] +fcmp:[-0.09831024, 0.1177328, -0.15053168, 0.1668956, 0.10194673, 0.17747606, -0.17944369, -0.01656551, -0.1081959, -0.13423076, -0.0083208, 0.06832938, -0.16663359, 0.11133014, -0.11787042, -0.17280787, 0.10577738, -0.13183661, 0.09999792, 0.01005413, -0.00800985, -0.11900718, -0.23241626, -0.03194214, 0.14458095, -0.08857993, -0.13901676, -0.12804943, -0.03810829, -0.13830633, -0.02034832, -0.15582977, 0.03966385, -0.21123466, -0.04061278, -0.0737746, 0.07400599, -0.13606748, 0.16037306, 0.16100772, 0.15734638, -0.16412482, 0.08469577, -0.22943822, -0.0703051, 0.03550187, -0.17478071, 0.03853272, -0.16823666, 0.02888121, -0.10854868, 0.09304217, 0.00087926, 0.14260164, -0.12434422, -0.10082047, 0.16072698, 0.11885008, -0.00344257, -0.01215652, 0.13043456, 0.08610432, 0.21218961, -0.14265156, -0.18132636, 0.0748597, 0.01380804, -0.06413551, 0.10812144, 0.01471414, -0.18892944, -0.04726761, -0.05034782, 0.05965589, 0.20503323] +fdiv:[-0.1083142, 0.13170409, -0.18761444, 0.19075245, 0.11425695, 0.19935226, -0.20120272, -0.04145905, -0.12772538, -0.16055192, -0.02654456, 0.07551043, -0.1863077, 0.04952206, -0.13158378, -0.19505195, 0.01627452, -0.14791232, -0.01763806, 0.0014818, -0.00974015, -0.08713593, -0.26082575, -0.0348734, 0.16258475, -0.11312099, -0.06462681, 0.2554564, -0.08579222, -0.14956969, -0.06205287, -0.04617219, 0.04640255, -0.11571387, -0.04207394, -0.07177421, 0.07482164, -0.15266077, 0.1793157, 0.18114524, 0.17665583, -0.18152018, 0.06277426, -0.08340688, 0.15903024, 0.08205476, -0.3324572, -0.15855703, -0.18905288, 0.02863684, -0.12305809, 0.09608548, -0.00266558, 0.16051604, -0.13511042, -0.11073927, 0.18117134, 0.13207485, -0.0035845, -0.01663129, 0.14735432, 0.13560806, 0.2390274, -0.15975215, -0.20400149, 0.08512522, 0.04421749, -0.07282987, 0.12241568, 0.00965695, -0.2123333, 0.08572439, -0.05605263, 0.06658893, 0.24007745] +floatTy:[0.04900556, -0.10384431, 0.10619805, -0.08045595, -0.10991948, -0.10077553, 0.07339532, 0.14942664, 0.12023108, 0.08361579, -0.09868611, 0.19891165, -0.23421414, 0.01352532, 0.10448531, 0.13516873, 0.04104601, 0.02958678, 0.02299329, 0.1514195, -0.15553081, 0.13952388, -0.13896915, -0.14777902, -0.10149621, 0.14660524, -0.03156482, 0.18424718, 0.1407891, -0.2237127, 0.16614203, -0.00163921, -0.12673005, 0.12534565, 0.05904828, 0.12794818, 0.00817295, 0.11660493, 0.02156415, 0.24247064, -0.13803738, 0.07462812, -0.10431179, -0.055183, -0.1808114, -0.13278495, -0.09894497, -0.08459757, 0.11150088, -0.04819359, 0.13634738, 0.02157767, 0.14846906, -0.12682004, 0.09123623, 0.05239185, -0.05507969, 0.18156756, 0.11898128, 0.12904477, -0.15837269, -0.12526217, 0.17645235, -0.01030331, 0.08386946, -0.1083485, 0.11908209, 0.1599665, -0.12037949, -0.12735032, -0.0725907, 0.01908005, -0.15298285, 0.16727036, 0.14050354] +fmul:[-0.11000263, 0.13313764, -0.16819902, 0.1866679, 0.11289538, 0.19923902, -0.20158935, -0.10965466, -0.13151023, -0.15339647, 0.00137716, 0.07292396, -0.1705247, 0.05061687, -0.13322882, -0.19424087, 0.01911283, -0.14698511, -0.01600348, 0.01016757, -0.00949535, -0.08578771, -0.25654045, -0.04006492, 0.16177996, -0.13001451, -0.06598155, 0.10235288, -0.12216382, -0.14728908, -0.19769233, -0.04453951, 0.04660948, -0.11446673, -0.04299885, -0.11318354, 0.07576509, -0.15535352, 0.17898083, 0.18015653, 0.17673412, -0.1542999, 0.05283326, 0.06858768, 0.16159816, 0.08381413, -0.34344092, 0.04670792, -0.18845932, 0.03031277, -0.12988667, 0.09807498, 0.00718184, 0.15824817, -0.16129062, -0.10814532, 0.17967564, 0.13519818, -0.00363093, -0.02139519, 0.14737067, 0.1092656, 0.2355478, -0.159828, -0.20372307, 0.10592715, 0.2155067, -0.07222086, 0.12408899, 0.00687299, -0.21276967, 0.0916472, -0.05917447, 0.06157613, 0.24216153] +fneg:[0.1272929, 0.11098243, -0.19493657, 0.18704055, 0.12977211, 0.19760184, -0.2011749, 0.10378501, -0.11935267, -0.15768325, -0.20259221, 0.07731552, -0.20338854, 0.11889816, -0.13052368, -0.19354439, 0.07626642, -0.14857754, 0.10825964, -0.01353588, -0.01104351, -0.08277993, -0.25518838, -0.03899327, 0.1612618, -0.01545228, -0.10768183, 0.2534764, -0.06081063, -0.16674054, 0.01763026, -0.09180292, 0.04378516, -0.11615089, -0.04529132, 0.18327025, 0.06614358, -0.05828108, 0.18041882, 0.17760223, 0.17644961, -0.15371816, 0.0641077, 0.06343781, -0.11340044, -0.03372987, -0.23527198, 0.01273888, -0.18882784, 0.03041904, -0.04068949, 0.07045509, -0.0026318, 0.19458877, -0.13573602, -0.11694964, 0.17905717, 0.130643, 0.00541951, -0.01507348, 0.14619434, 0.15836413, 0.23706934, -0.15997343, -0.20333211, 0.08333846, 0.16580339, -0.07277556, 0.07136942, 0.01852913, -0.21162856, -0.04937368, -0.05561843, 0.08875916, 0.23905317] +fpext:[2.3889039e-02, 1.1029585e-01, -2.1694064e-01, 1.8653962e-01, 2.2691385e-01, 1.9574586e-01, -2.0049310e-01, 9.4666131e-02, -1.2724364e-01, -1.4684629e-01, -2.6979610e-02, 7.6569587e-02, -1.6401602e-01, 1.1953403e-01, -1.3126844e-01, -1.9337073e-01, 9.7773880e-02, -1.4722602e-01, 1.0870947e-01, -4.7738426e-03, -9.9636763e-03, -1.3130748e-01, -2.5393358e-01, -3.9765608e-02, 1.5942533e-01, -1.0315144e-01, -1.2541974e-01, 2.5341213e-01, -7.9163589e-02, -1.4747337e-01, 2.4794929e-02, -1.1882598e-01, 4.6331774e-02, -1.1652424e-01, -2.0294240e-01, -4.0969416e-02, 7.2171763e-02, -6.0102597e-02, 1.7984131e-01, 1.7708856e-01, 1.7548151e-01, -1.5351015e-01, 6.6925168e-02, 6.1265044e-02, -8.2261592e-02, 2.5082914e-02, -2.1478510e-01, 4.1686200e-02, -1.8823083e-01, 3.0637426e-02, -4.6937604e-02, 8.6195819e-02, 2.1627222e-04, 2.1729887e-01, -1.3694453e-01, -1.1408991e-01, 1.7551251e-01, 1.3138162e-01, 7.8319147e-04, -1.6518131e-02, 1.4514638e-01, 1.4490409e-01, 1.7909285e-01, -1.5800813e-01, -2.0310356e-01, 9.7424991e-02, 2.0606364e-01, -7.2445914e-02, 1.2246952e-01, 5.2800714e-03, -2.0693912e-01, -4.9303558e-02, 1.9984254e-01, 1.1296164e-01, 1.2244859e-01] +fptosi:[0.1373729, 0.12883618, -0.16352044, 0.18331416, 0.11165845, 0.19683856, -0.19772632, -0.11136317, -0.12968811, -0.1480879, 0.0067587, 0.07343934, -0.16673195, 0.1234552, -0.13161102, -0.19265643, 0.107696, -0.14450003, 0.00037484, 0.01189654, -0.0088324, -0.13086006, -0.24928111, -0.03620821, 0.1151085, -0.12670605, -0.13663803, -0.15294494, -0.1224799, -0.14602166, -0.04644055, -0.16333403, 0.04555976, -0.24189918, -0.02742246, -0.09617416, 0.06832792, -0.15242375, 0.17582151, 0.17896035, 0.1734453, -0.18223304, 0.05435333, -0.02137768, 0.15711978, 0.08181176, 0.11010902, 0.04648223, -0.18499935, 0.03126073, -0.12697712, 0.0994917, 0.00950376, 0.15537114, -0.14221182, -0.11015689, 0.1767709, 0.13201703, -0.00371583, 0.20973718, 0.1448866, 0.10775527, 0.2309068, -0.15708631, -0.20018397, -0.17917103, 0.02361767, -0.07141636, 0.12183826, 0.00374293, -0.20800817, -0.05120487, -0.05720833, 0.05778734, 0.23726696] +fptoui:[1.34434968e-01, 1.27162203e-01, -1.26332492e-01, 1.43472478e-01, 1.67107824e-02, 1.90460622e-01, -1.67077854e-01, -4.31036428e-02, -5.84473461e-03, 1.94610119e-01, -1.18339737e-03, -1.18181668e-01, -1.63993463e-01, -4.22932627e-03, -5.70860989e-02, -3.70724685e-02, -6.66463077e-02, -1.40057087e-01, -1.40196038e-02, 1.11302454e-02, -1.12090126e-01, -1.26267821e-01, -1.78080454e-01, -3.28613520e-02, 6.55227527e-02, -9.51863378e-02, 2.86316429e-03, -1.40513226e-01, 2.11926088e-01, -1.40184373e-01, -6.01268075e-02, -4.18982767e-02, -2.44321357e-02, -2.34633580e-01, -4.49065231e-02, -7.49414414e-02, -1.03680985e-02, -1.45848736e-01, 1.70776814e-01, 1.73121408e-01, 1.79659743e-02, -1.75821245e-01, 4.84935082e-02, -5.29969335e-02, 1.81584924e-01, 1.85759827e-01, -1.93469658e-01, -1.93183571e-01, -1.72479257e-01, -6.10608933e-03, -1.17593743e-01, -9.10734851e-03, -1.02117851e-01, 1.51014999e-01, 2.12572739e-01, -1.02930807e-01, 1.78619102e-01, 1.26010776e-01, -1.86922371e-01, 2.07345694e-01, 1.66270494e-01, 4.59922589e-02, 2.25611597e-01, -1.52390793e-01, -1.93683058e-01, -2.10861161e-01, -1.80179209e-01, -6.79619983e-02, 1.01475030e-01, 5.67920804e-02, -2.03148112e-01, 9.35386488e-05, 1.77665465e-02, 5.59489168e-02, 1.62640288e-01] +fptrunc:[0.13507551, 0.08662265, -0.20684563, 0.1779264, 0.19366996, 0.19928405, -0.19115536, 0.09741689, -0.1157898, -0.14627774, -0.04321446, 0.13611025, -0.16534406, -0.02706414, -0.12561758, -0.1846078, -0.10099479, -0.16950977, -0.01332796, -0.00468324, -0.00924775, -0.12539107, -0.2476966, -0.03697419, 0.15332113, 0.02717782, 0.06184624, 0.24026999, -0.02332935, -0.15212959, 0.00301866, -0.04206852, 0.04305651, -0.1102203, -0.02822751, 0.16004287, -0.08910867, -0.05537027, 0.17084935, 0.17041169, 0.16798739, -0.19032383, 0.06548668, -0.08427053, -0.07714352, 0.01484849, -0.22265097, 0.17633918, -0.18077783, 0.01184065, -0.04223398, -0.00799209, -0.00124257, 0.20681325, -0.12639467, -0.10767608, 0.17034629, 0.1247315, -0.00063698, -0.01105678, 0.13903384, 0.04814726, 0.22382991, -0.15209682, -0.19993167, 0.07498992, 0.04061472, 0.00894266, 0.11516804, 0.01132974, -0.20081756, 0.06491906, -0.05320828, 0.11706732, 0.22729383] +freeze:[0.19257964, 0.19922924, 0.22845781, -0.20918986, 0.09615742, 0.08813676, -0.13007207, -0.28252187, -0.20277372, -0.00285527, 0.20707846, 0.03269857, 0.05792099, 0.09884403, -0.21888764, 0.0199495, 0.03486069, -0.13990091, 0.01667993, 0.07614928, 0.08568508, -0.08850384, -0.05862335, 0.24327727, -0.05080977, -0.08769658, -0.07556956, -0.21303618, -0.02403472, -0.11753988, -0.06449939, -0.06754956, 0.09903342, 0.05907881, 0.18789217, -0.22513159, 0.07989435, -0.22023727, 0.16526549, -0.16563816, -0.03285323, -0.19686759, -0.05526138, -0.08269978, -0.08173671, 0.01490044, 0.17477824, 0.23617344, -0.04094684, -0.14997905, -0.1934059, 0.08517106, 0.01273688, 0.05140221, -0.21445394, 0.2334229, 0.17481774, 0.17307074, -0.01497588, -0.22724962, -0.04395574, -0.22981015, -0.10490765, 0.14049004, -0.15349036, 0.19155516, 0.22017959, 0.00709452, 0.14702573, -0.04498778, -0.16169429, -0.04348697, -0.06332687, 0.05611038, 0.01098999] +fsub:[-0.10476302, 0.12542433, -0.17647877, 0.1786793, 0.10913915, 0.18946025, -0.191358, -0.04164409, -0.12347393, -0.1504743, -0.02479569, 0.07111109, -0.18156642, 0.05054973, -0.12513603, -0.18577117, 0.02628745, -0.1401456, -0.01518289, -0.00354086, -0.00885875, -0.08602829, -0.24641128, -0.03600265, 0.15528652, -0.10402499, -0.07289824, 0.24243075, -0.08007814, -0.14872944, -0.02782464, -0.04947096, 0.0445951, -0.11104182, -0.04380236, -0.08080605, 0.07588449, -0.14606269, 0.17145774, 0.17244749, 0.16844998, -0.17483109, 0.05860758, -0.28901112, -0.07676851, 0.17479438, -0.21654579, 0.01940797, -0.17933942, 0.02937181, -0.1172727, 0.09601063, -0.00263024, 0.15110013, -0.1318215, -0.10504271, 0.17152634, 0.12668324, -0.00336666, -0.01625384, 0.13985498, 0.11553686, 0.2260049, -0.15182681, -0.19351181, 0.07778634, 0.01684441, -0.06904304, 0.11642942, 0.00772887, -0.20214222, -0.049887, -0.05513437, 0.06182734, 0.23033473] +function:[0.07087264, -0.07715042, 0.05874059, -0.13924591, -0.12748645, -0.08829046, 0.23358145, 0.20105776, 0.11009008, 0.07405281, -0.08094433, -0.0829369, 0.16543509, -0.08498039, 0.09908375, 0.13518533, -0.0194154, -0.01221862, -0.10831806, -0.20102835, -0.15210986, 0.15468667, 0.13170041, 0.14903253, 0.24928756, 0.12419113, 0.05789361, -0.00129296, 0.11380319, 0.05218219, 0.14241683, 0.08289858, -0.15494025, 0.13394447, -0.16814493, 0.05700672, -0.06969604, 0.08131509, -0.00970547, -0.18973432, -0.15343298, 0.05649161, 0.20527421, 0.17734532, 0.01022343, 0.15239944, 0.04542852, -0.10245346, 0.13777171, 0.16834758, 0.13177899, -0.07684261, -0.2092511, -0.13731961, 0.11852706, 0.10172775, -0.22111587, -0.2148933, 0.15957674, 0.12867072, 0.22943936, -0.164847, -0.2101238, -0.21214265, 0.02781455, -0.06813682, -0.08800039, 0.13484041, -0.18195598, 0.16143988, 0.11279666, -0.20649853, -0.15624169, 0.21497591, -0.06755896] +getelementptr:[-0.14634334, 0.12948418, -0.11503786, 0.14507276, 0.09063736, 0.14393866, -0.1757465, -0.1906176, -0.12738505, -0.07622356, 0.15730369, 0.03061217, 0.03747678, 0.2232822, -0.12837602, -0.04787541, -0.3024429, -0.1356514, -0.20493838, 0.01333389, -0.00760518, -0.10626648, -0.03553912, -0.03813244, -0.04541107, -0.12106249, 0.1444827, -0.15215373, -0.10700025, -0.13056989, -0.08320381, -0.47304174, 0.0449689, -0.10947487, -0.0278797, -0.1219172, 0.08132998, -0.15041, 0.17378081, -0.1559312, 0.15688911, -0.14836746, 0.0092639, -0.13855964, 0.15648755, 0.0813685, -0.01539182, 0.04580735, -0.17473969, 0.21075436, -0.12747958, 0.12778966, 0.00290254, 0.12006913, -0.2047303, -0.10826406, 0.16493101, 0.12908581, -0.00380957, -0.02293618, 0.14278038, 0.0713244, -0.04576431, 0.13764144, -0.14565526, 0.12818377, 0.01346012, -0.07020358, 0.12030254, 0.0058628, -0.20072266, -0.05157725, -0.05726963, 0.05315081, 0.00254139] +icmp:[-0.10969561, 0.13326222, -0.11806951, 0.18324454, 0.11058358, 0.15053809, -0.19195011, -0.11332984, -0.13068, -0.0111747, 0.15630968, 0.03160869, 0.03557754, 0.05428812, -0.131786, 0.01763578, 0.29399103, -0.13815893, -0.01582003, 0.01917153, -0.00759274, -0.10897626, -0.05990775, -0.04164411, -0.04822834, -0.12635493, -0.12839127, -0.20213506, -0.10822182, -0.12239946, -0.06652816, -0.4940955, 0.04586652, -0.11307177, -0.03890553, -0.12857974, 0.4113753, -0.15491834, 0.17824028, -0.159824, -0.03192518, -0.15189394, 0.01119939, 0.03291865, 0.15997088, 0.08326948, -0.01603109, 0.04912903, -0.17884566, 0.03234044, -0.13174565, 0.10036604, 0.0089768, 0.14046605, -0.1716929, -0.10553217, 0.1691209, 0.1336029, -0.00505475, -0.02715854, 0.14558148, 0.07285865, -0.04641947, -0.14444941, -0.14956313, 0.1675603, 0.01070396, -0.07178568, 0.12346014, 0.00264034, -0.20218931, 0.18754801, -0.05911333, 0.05441646, 0.00300689] +insertelement:[-0.1104931, 0.13435946, -0.16740434, 0.1909089, 0.11453833, 0.19913752, -0.201145, -0.17181988, -0.12990634, -0.15733488, 0.01103377, 0.07403385, -0.19067755, 0.05659281, -0.1327349, -0.19538072, 0.02343484, -0.14819813, -0.01554454, 0.00921893, -0.00647542, -0.08540612, -0.26100376, -0.03634705, 0.16765112, -0.10861496, -0.07738972, 0.06890561, -0.08808507, -0.15872478, -0.06591291, -0.05361471, 0.04665549, -0.11406729, -0.04147775, -0.11218558, 0.08107399, -0.1542376, 0.17992978, 0.18099019, 0.17721385, -0.18993302, 0.03905813, -0.30657682, -0.07932588, 0.08231516, -0.20271443, 0.04749179, -0.18884075, 0.01523502, -0.13022666, 0.10111987, 0.00102864, 0.15882038, -0.1688363, -0.10956942, 0.18005282, 0.13484526, -0.0063764, -0.0242506, 0.14692612, 0.11777592, 0.23874299, -0.15973455, -0.2039948, 0.11537186, 0.21692751, -0.07190187, 0.1233889, 0.01425269, -0.21240549, -0.0528725, -0.05624196, 0.05907395, 0.24069618] +insertvalue:[-0.09875207, -0.1714084, -0.17448501, -0.05500454, -0.03368652, -0.19084807, 0.15094712, -0.03978536, 0.1313515, -0.19683114, -0.03120292, -0.16458064, -0.15630096, 0.05070753, 0.16386797, 0.11045002, 0.11953997, 0.1334012, 0.07337415, -0.08667754, -0.04855481, 0.04043591, -0.21467037, 0.04876019, -0.0904218, 0.00143209, -0.06295151, 0.09086672, -0.04096752, -0.11947396, -0.12021854, -0.04494649, 0.09700233, 0.14941849, -0.05310388, 0.18482774, 0.07009561, 0.17008236, 0.08557777, 0.06514586, -0.10545991, 0.17381305, 0.01084712, 0.10524479, -0.1008845, -0.183286, -0.20012572, -0.14668721, 0.08051436, 0.21215467, 0.18288761, 0.0772287, 0.08486479, -0.11070843, 0.14811186, 0.14061394, -0.11395239, -0.06261241, 0.15542322, -0.01529685, -0.11505058, 0.16915536, 0.21295418, -0.01675938, 0.15865982, 0.09708425, 0.17962472, -0.13718157, -0.19584663, -0.16169825, -0.19526207, -0.11267254, -0.12390247, -0.1037976, 0.00466637] +integerTy:[-0.05895382, -0.08773074, 0.06992726, -0.31011233, -0.13048527, -0.10587289, 0.05197246, 0.11830473, 0.11592712, 0.17741975, 0.07661638, 0.17850745, -0.08980408, 0.08872516, 0.10607537, 0.17136358, 0.13644408, 0.01311096, 0.02419001, 0.23305452, -0.17139797, 0.13690701, 0.11479, -0.21357676, -0.1899478, 0.10415972, -0.11652931, -0.09769165, 0.15676561, -0.23224157, 0.10116645, -0.12614302, -0.15886351, -0.16665749, -0.13050455, 0.08655596, 0.01707506, 0.08300704, -0.0263752, -0.04439607, -0.17297547, 0.06548287, -0.23450397, -0.00410204, -0.13871993, -0.01783468, 0.20883788, 0.1585069, 0.075288, -0.05117706, 0.11569144, 0.03889959, 0.17440279, -0.14135467, 0.09397258, 0.07870792, -0.02154971, 0.10194483, -0.14623329, 0.16707808, -0.19285178, -0.18017578, 0.07884493, 0.2594352, 0.05723228, -0.13506767, 0.10019378, 0.15450986, -0.11666895, -0.18157922, 0.08850383, 0.0062976, 0.17424847, 0.17297816, 0.05142448] +inttoptr:[-0.13630244, 0.1394812, 0.09082608, 0.15104489, 0.01774232, -0.13840991, 0.01065149, -0.11621346, -0.00252811, 0.21313493, 0.15903583, -0.1296972, 0.10214894, 0.11171967, -0.03819407, 0.01599813, 0.10556564, 0.1661376, 0.11314746, 0.15266941, -0.11538962, -0.08747453, 0.18267399, 0.20305595, -0.2017417, 0.21432902, -0.10308855, -0.18534417, -0.13134196, 0.09993339, -0.10776421, -0.09298802, -0.03029798, 0.19584055, -0.02545767, -0.14516763, 0.08564661, -0.15706332, 0.18191946, -0.16316868, -0.10425402, 0.11010062, -0.0479327, 0.11809943, 0.19715278, 0.13697258, 0.12513216, -0.196676, 0.05488879, 0.19722784, -0.15231481, 0.08681407, -0.10788315, -0.21445514, 0.22154817, -0.10709018, -0.09173875, 0.13078192, -0.19902122, -0.02503786, 0.17685084, 0.09781817, -0.04346599, 0.16277169, 0.10102073, 0.19040433, 0.21730414, -0.17189498, -0.14639756, -0.06024209, -0.20907345, -0.05495603, 0.01513247, -0.16496265, -0.23925038] +invoke:[-0.17037813, 0.12447809, -0.13254088, 0.16741143, -0.29689348, 0.17245242, -0.1753155, 0.27199855, -0.1479448, -0.08975344, -0.2388202, 0.03697256, 0.02300099, -0.27569947, -0.14945273, 0.02014936, -0.14911516, -0.16015211, -0.23843327, -0.01150125, -0.01184224, -0.10053053, -0.01891209, -0.04529067, 0.1769977, -0.14764817, 0.1858467, 0.29046112, -0.10172998, 0.18476044, 0.04675948, 0.18468481, 0.05041242, -0.13219522, -0.03313631, -0.12524456, 0.09232612, -0.06788205, -0.33390293, -0.18106446, -0.06505071, -0.1723444, 0.12838279, 0.3172158, 0.1821126, 0.0955131, -0.03461147, 0.02496569, -0.20339684, 0.26446992, -0.07812006, 0.11357581, -0.00242351, 0.15685299, -0.1453846, -0.12997872, 0.1138543, -0.13915779, 0.00910551, 0.02702536, 0.16584009, 0.08293587, -0.05373611, -0.1639482, -0.16794938, 0.07561965, -0.18069787, -0.08345903, 0.13999896, 0.00712107, 0.24829929, -0.33074573, -0.06754953, 0.06254003, -0.11928315] +label:[-0.08421724, -0.10250711, 0.11215679, 0.03593931, -0.12462043, -0.02116062, -0.02468752, 0.14892796, 0.03624122, 0.2573024, 0.26621008, 0.1473021, 0.16479708, 0.11161798, 0.03291009, -0.09228926, 0.20894618, -0.25664115, 0.20051186, -0.13776602, 0.13812794, 0.08599985, 0.11859813, 0.12606345, -0.1787899, 0.04831297, 0.12180986, 0.2105218, 0.0406118, 0.14002106, -0.24280258, 0.14901407, -0.0706777, 0.02931729, 0.32707393, 0.07797667, 0.17175199, 0.08435421, -0.21704178, 0.23822264, 0.06267213, 0.24012461, -0.24429479, -0.00610719, 0.23788038, -0.06578419, -0.09999645, 0.16555783, 0.23481676, -0.15229315, 0.03339487, -0.02717743, -0.14654148, -0.05192868, 0.14201662, -0.27716735, -0.11879828, -0.2512509, 0.17667766, 0.14006434, -0.00560042, -0.14142503, 0.02450437, -0.04081944, 0.05965927, -0.21140096, -0.06488664, 0.08721694, 0.2432311, 0.14565244, -0.10602848, 0.10125864, 0.08721873, -0.1536091, -0.17011659] +landingpad:[-0.14584796, -0.16767813, -0.01705973, 0.00093497, -0.2436182, -0.18231551, 0.06912599, 0.232326, 0.17945138, -0.2238229, -0.20365967, -0.16778396, -0.01338567, 0.06786925, -0.0089755, 0.22903025, -0.10159695, 0.05511137, 0.08055997, -0.04842087, 0.02367443, -0.16437764, 0.18895102, -0.14594522, -0.11077365, -0.03415364, -0.0526613, 0.03391879, 0.16745631, 0.15810244, 0.18886559, -0.06867921, -0.0954337, 0.15118866, 0.00546555, 0.17617542, 0.06660912, 0.18861406, -0.09817892, -0.11471829, -0.06352893, 0.17084128, 0.10971251, 0.03079901, -0.12283082, 0.11941736, 0.14988025, 0.12327142, 0.15214007, 0.03017107, 0.16773368, 0.06079161, 0.14422408, 0.01841416, 0.15053785, -0.01172967, -0.14936632, -0.14004451, 0.05743803, 0.17034504, -0.15224192, 0.04629263, 0.01544103, 0.02796921, 0.15804203, -0.16536269, 0.02765706, -0.2177597, -0.0776866, -0.22482842, 0.21214648, -0.04934264, 0.14992182, -0.18284532, 0.12743513] +load:[0.14515816, 0.12730086, -0.11675689, 0.13731101, 0.0856357, 0.14036776, -0.1680394, -0.10500994, -0.12388522, -0.00997473, 0.15036497, 0.02959538, -0.14294048, 0.11579642, -0.12299019, 0.01710502, 0.2744816, -0.12820424, -0.17692348, 0.06387755, -0.00997787, -0.10073593, -0.221399, -0.03850655, -0.04604952, -0.12999706, -0.23317862, -0.18918784, -0.136777, -0.1259924, -0.08401669, -0.44748387, 0.04140297, -0.10600363, -0.02825268, -0.14835529, 0.0767852, -0.14656888, 0.16522723, -0.14833589, -0.03145197, -0.14087194, 0.00418875, -0.08156209, 0.14937344, 0.07756609, -0.01715839, 0.04561085, -0.16615209, 0.02954168, -0.16565895, 0.07675724, 0.01007609, 0.12687837, -0.13445675, -0.10035386, 0.15792593, 0.1236473, -0.00307636, -0.01651428, 0.1361811, 0.0755292, -0.03676795, -0.13428877, -0.13931923, 0.1571369, 0.01346655, -0.06821621, 0.11397477, -0.00336121, -0.19289134, -0.04844571, -0.05658585, 0.05074035, 0.00364443] +lshr:[-1.07618235e-01, 1.72638521e-01, -1.15980022e-01, -2.29095370e-01, 9.65579972e-02, 1.38108417e-01, -1.76737547e-01, -2.71451771e-01, -2.03912869e-01, -1.02555100e-03, 1.69754341e-01, 3.08463741e-02, 5.36250919e-02, 1.21660687e-01, -1.74549952e-01, 1.69236306e-02, 1.34103879e-01, -1.34251148e-01, -1.09291431e-02, 7.34013617e-02, 4.81260680e-02, -8.32869262e-02, -4.93266359e-02, -8.71899873e-02, -4.87988330e-02, -1.87684625e-01, -1.73489943e-01, -2.01266050e-01, -1.87993333e-01, -9.25938040e-02, -2.67284721e-01, -1.70980498e-01, 5.49704246e-02, -9.92908999e-02, -2.04201669e-01, -1.88772425e-01, 8.08538347e-02, -1.96026564e-01, -1.59017637e-01, -1.56015217e-01, -3.07364762e-02, -1.47628203e-01, -1.18779279e-01, 1.12054415e-01, 1.56248108e-01, 8.06738585e-02, 1.59131959e-01, 4.82034311e-02, -1.74115866e-01, 3.33038792e-02, -1.82583794e-01, 1.01199277e-01, 1.13783469e-02, 9.69657749e-02, -2.11351588e-01, -5.26013300e-02, 1.65175989e-01, 1.31593123e-01, -5.34626422e-03, -6.75430447e-02, 1.04004987e-01, 4.81479615e-02, -9.91894677e-02, 1.36073366e-01, -1.45649791e-01, 1.97602749e-01, 4.21781391e-02, -7.01575503e-02, 1.53188914e-01, 1.35687616e-04, 9.17893182e-03, -5.32824658e-02, -5.76535352e-02, 5.21502644e-02, -2.27659225e-01] +mul:[-1.10740639e-01, 1.79489031e-01, -1.16963282e-01, -2.33437970e-01, 9.87611338e-02, 1.49095193e-01, -1.82653472e-01, -2.79600203e-01, -1.97915658e-01, 1.39354763e-03, 1.74758449e-01, 3.16131786e-02, 5.40922359e-02, 1.24427542e-01, -1.77638933e-01, 1.73734594e-02, 2.94302821e-01, -1.37859747e-01, 1.13455996e-01, 7.11286962e-02, 2.80722103e-04, -8.68532956e-02, -5.32661788e-02, -6.27722964e-02, -5.23782670e-02, -1.87031299e-01, -2.50176728e-01, -2.06857830e-01, -1.81378320e-01, -9.91749838e-02, -1.99474856e-01, -2.10756496e-01, 4.60124500e-02, -1.09496146e-01, 2.05390289e-01, -1.93141758e-01, 8.26756209e-02, -2.02435717e-01, 1.57658204e-01, -1.61479577e-01, -3.25814299e-02, -1.51643500e-01, -5.50450161e-02, 1.16838366e-01, 1.61545411e-01, 8.40181708e-02, -2.01780185e-01, 5.08336052e-02, -1.77847996e-01, 3.34045105e-02, -1.89214364e-01, 1.03171140e-01, 1.11006750e-02, 9.96930301e-02, -2.13933602e-01, -8.31998661e-02, 1.69776157e-01, 1.36905089e-01, -7.23596616e-03, -7.03386515e-02, 1.47096902e-01, 4.73428033e-02, -9.53844786e-02, 1.40168130e-01, -1.49634287e-01, 1.76833391e-01, 1.42325740e-02, -7.01029822e-02, 1.48151264e-01, 1.46238506e-03, 9.14167427e-03, -5.46112247e-02, -6.03365153e-02, 5.26305772e-02, 1.81084534e-03] +or:[-0.10545847, 0.128841, -0.14629026, 0.17671728, 0.10541161, 0.1452954, -0.19208096, -0.26102364, -0.12768617, -0.07223696, 0.15802775, 0.03196834, 0.01273388, 0.11991186, -0.1273087, 0.01605262, 0.28355837, -0.1339228, -0.01369879, 0.02059641, -0.00814792, -0.10595141, -0.06777362, -0.03963358, -0.04625091, -0.13565284, -0.2567866, -0.19570036, -0.14286374, -0.12997858, -0.08209349, -0.46220544, 0.04389297, -0.11056517, -0.03333032, -0.15437946, 0.07864793, -0.15014647, 0.17209147, -0.15338379, -0.03033057, -0.14717023, 0.01365776, -0.02373198, 0.15401708, 0.07996901, -0.01564746, 0.04807418, -0.17326052, 0.03048565, -0.12832771, 0.09849346, 0.01073802, 0.13247147, -0.18602005, -0.10404839, 0.16417612, 0.12832864, -0.00375266, -0.02193816, 0.1411213, 0.06878087, -0.0414301, -0.14032999, -0.1449, 0.14572303, 0.01162843, -0.06873709, 0.11880528, 0.00282644, -0.19748962, 0.17471638, -0.0566086, 0.05271496, 0.00232344] +phi:[0.16505243, 0.16049314, -0.17289443, 0.21912654, 0.4185169, 0.13733086, 0.17491576, -0.28879407, -0.11458892, -0.11623015, -0.30420232, -0.26313967, 0.02635299, -0.3593261, -0.12667379, -0.2878424, -0.19345047, 0.14500995, -0.33731002, -0.05418503, 0.07374757, -0.03973716, -0.10962506, -0.0216001, 0.16983663, -0.08537833, 0.2804635, 0.03990281, -0.098049, 0.24968961, -0.09870985, 0.32718843, 0.14398097, -0.07338686, -0.03432579, -0.16179925, -0.390389, -0.152486, -0.1530621, 0.00060386, 0.25888667, -0.15926011, 0.15051255, -0.21384007, -0.15373367, 0.04145497, -0.07132615, -0.25352055, 0.02538978, -0.2478801, -0.11097675, -0.33755103, -0.04691213, 0.07508368, -0.05963779, 0.35231087, -0.25979388, -0.12548721, -0.42427787, -0.38969982, -0.11973464, 0.03433835, -0.12401191, 0.08178731, -0.212353, 0.09710696, -0.27779645, -0.04685023, -0.11876755, 0.00199457, 0.323862, 0.27804938, -0.01935326, -0.3441187, -0.18507953] +pointer:[-0.04260793, -0.06655251, 0.0683827, -0.16628, -0.1327496, -0.1192655, 0.03336288, 0.25193292, 0.12020645, -0.21788007, -0.0926288, -0.33410597, 0.19710302, -0.09973855, 0.11243664, 0.15928231, -0.0234532, 0.26252532, -0.10966486, -0.24944538, 0.28036997, 0.17110308, 0.20078544, 0.16493188, 0.290333, 0.13994451, 0.04575525, -0.06554279, 0.10987123, 0.05426969, 0.16664775, 0.02802411, 0.31233883, 0.15636835, -0.19513567, 0.06443949, -0.08091348, 0.09128414, 0.01986683, -0.07266335, 0.06737777, 0.06538786, 0.2529973, 0.20844017, -0.24561793, -0.19505124, 0.0734731, -0.31207955, -0.06948306, 0.19679287, 0.10214823, -0.08847999, -0.23900308, -0.16090985, 0.03401919, 0.11077866, -0.00749398, -0.00366133, -0.20090736, -0.18661766, 0.01663766, 0.21449998, -0.27308217, -0.05783403, 0.02704501, -0.07756831, -0.10079198, -0.18371654, -0.21206969, -0.17070684, 0.13148035, -0.24232186, 0.19117421, -0.08119162, -0.05410983] +pointerTy:[0.06106736, -0.12349674, 0.17019917, -0.08414872, -0.12162091, -0.11493171, 0.09028275, 0.12890002, 0.14708637, 0.15056878, 0.02994711, 0.16398947, -0.09669119, 0.06416745, 0.14228098, 0.1596261, -0.09310527, 0.18277259, 0.04528873, 0.18208562, -0.16108184, 0.15556088, 0.14967172, 0.14207251, -0.1702539, 0.14975922, 0.00762874, 0.11305032, 0.15105066, -0.00398245, 0.17565133, -0.02440955, -0.14144371, 0.13705797, 0.07325926, 0.10544213, 0.01701942, 0.11734937, 0.00385431, 0.03158404, -0.18258087, 0.12936145, -0.14789775, -0.06379373, -0.15407959, -0.13860792, 0.02199786, 0.14426517, 0.15864013, -0.05444241, 0.14669472, 0.01814392, 0.15084662, -0.14623053, 0.14005995, 0.02525642, -0.07524002, 0.17881763, 0.12757415, 0.1521277, -0.1638457, -0.14205529, 0.0757456, 0.16856319, 0.12415951, -0.12737201, 0.12555027, 0.15302233, -0.13898452, 0.15318881, -0.07542091, 0.0076905, -0.15670809, 0.15843765, 0.05349815] +ptrtoint:[-0.00816662, 0.19040845, 0.20297833, -0.01445115, 0.01286274, 0.1388536, -0.12834401, -0.25448227, -0.18602331, 0.11218877, 0.16607688, 0.02404105, 0.08811599, 0.11005177, -0.04818001, 0.05179739, -0.05825163, 0.15343176, 0.10150934, 0.09455664, -0.0843754, -0.1285684, 0.01307766, -0.05897991, -0.07532796, -0.18418753, -0.1115199, -0.19556019, -0.18551438, 0.2176016, -0.10437213, -0.10136399, -0.03294409, -0.10394157, 0.18672661, -0.18701841, 0.03547023, -0.19007061, 0.1333624, -0.16449562, -0.08741398, -0.0972076, -0.06125146, 0.05744944, 0.15746726, 0.07936066, 0.16241315, 0.05675254, -0.10836843, 0.01312472, -0.19523665, 0.0164252, 0.0918045, 0.09326963, -0.19768307, -0.09408253, 0.128529, 0.1384969, -0.17873324, -0.17067038, 0.16512468, -0.04128785, -0.05075456, 0.12075716, 0.22557029, 0.18317577, 0.03894774, -0.17253353, 0.11979695, -0.03928764, -0.02036279, 0.07949624, -0.05820873, -0.14405596, -0.22275722] +resume:[0.13037221, -0.16173543, 0.13458313, 0.13334186, -0.1978227, -0.1913591, -0.08266275, -0.10539632, -0.03537533, -0.07999261, -0.1888888, 0.09123345, -0.01312841, -0.04382619, 0.17804968, 0.0711588, -0.11729724, 0.0934309, -0.01422059, -0.0741116, -0.03279833, -0.19914162, -0.07376206, 0.03569537, 0.07874546, -0.13707635, 0.06425411, -0.12457802, -0.16188276, 0.14148334, 0.08412136, -0.03689551, -0.07043207, -0.20703934, -0.02252792, 0.19750863, -0.033062, 0.17924878, -0.07769594, -0.14863983, -0.05841683, 0.16428049, 0.15180947, -0.21731207, 0.14294364, -0.07557691, 0.15722235, 0.02009239, 0.09232536, 0.01271097, -0.06394573, -0.01228985, 0.18844755, 0.1295341, 0.14470226, -0.15141319, -0.14120032, -0.12438326, 0.05964512, 0.18555959, 0.13490148, 0.04603386, -0.00602201, -0.13373813, 0.15960513, -0.17103422, -0.1792076, -0.13181998, 0.08289735, -0.1511489, 0.20325269, 0.11857883, -0.11881144, -0.10513151, 0.22182767] +ret:[-0.15868923, 0.1349383, -0.17091866, 0.15446638, 0.11590775, 0.15517706, -0.2041222, -0.11587869, -0.13392796, -0.10321935, 0.15008125, 0.03055824, -0.00416798, -0.18004377, -0.13517867, 0.01493629, 0.30301064, -0.08629195, 0.33057842, 0.01448719, -0.00978797, -0.11399369, -0.08553061, -0.04123082, -0.06511337, -0.17489514, -0.37978184, -0.18547371, -0.17780186, -0.07696914, -0.13219626, -0.05637591, 0.04734724, -0.11862542, -0.03535185, -0.13939175, 0.08252498, -0.15738043, 0.18223797, -0.1627762, -0.06201587, -0.1529406, 0.0504948, -0.09689271, 0.1644328, 0.08499561, -0.01689226, 0.04760371, -0.18340605, 0.22181557, -0.13375576, 0.12520806, 0.0112763, 0.1603191, -0.1456238, -0.11290328, 0.17398314, 0.13095538, -0.00311895, -0.02351524, 0.14960586, 0.12061052, 0.18068948, -0.14880593, -0.15416823, 0.16443218, 0.01066161, -0.14379273, 0.126047, -0.00124509, -0.21231118, 0.19050261, -0.05867328, 0.00696932, 0.0025822] +sdiv:[-0.1080407, 0.1901844, -0.11603287, -0.24059227, 0.09864137, 0.13577417, -0.17973639, -0.27967322, -0.20948485, 0.00114907, 0.19843854, 0.03040717, 0.05632383, 0.12221054, -0.2112495, 0.01894132, 0.03244886, -0.13253069, -0.01357965, 0.07498644, 0.05119408, -0.06709869, -0.05151782, -0.09100531, -0.05264058, -0.20247222, -0.12862803, -0.20636694, -0.21299663, -0.10185096, -0.29176903, -0.16390459, 0.09336192, -0.09844302, 0.20892984, -0.21211214, 0.08028145, -0.2122692, -0.162864, -0.15979283, -0.03135847, -0.1484897, -0.07831246, 0.06954102, 0.15943323, 0.08275507, -0.13675603, 0.05052621, -0.17471251, 0.03110945, -0.18684193, 0.10069941, 0.01219233, 0.06511583, -0.21929686, -0.05095504, 0.16737965, 0.16719955, -0.00743731, -0.07113376, 0.1047412, 0.0452371, -0.1040564, 0.1407309, -0.14787188, 0.18525307, 0.21821006, -0.06789627, 0.15881357, -0.00230124, 0.01077223, -0.05214523, -0.05975898, 0.05244323, 0.02462071] +select:[0.17570536, 0.13175449, -0.11720598, 0.14844438, 0.09280295, 0.14566837, -0.1768578, -0.11089199, -0.12885936, -0.00730331, 0.15556662, 0.03110983, 0.03409553, 0.12267582, -0.12987325, 0.01591347, -0.28995955, -0.13713442, 0.31774223, 0.01413707, -0.0089218, -0.10580166, -0.05917821, -0.03972784, -0.04355109, -0.1133311, -0.07766423, -0.158014, -0.10279176, -0.13709833, -0.08557661, -0.47814846, 0.04511175, -0.11089844, -0.03224563, -0.11226902, 0.08064924, -0.15144405, 0.15985128, -0.15788692, -0.0312807, -0.15031807, 0.01041373, -0.09034625, 0.15847835, 0.08195098, -0.01600686, 0.04578463, -0.17644133, 0.21165982, -0.12680317, 0.33608407, 0.00331462, 0.09868409, -0.14361018, -0.10572648, 0.16693854, 0.13131157, -0.00395222, -0.01618505, 0.14390245, 0.07120807, -0.04470149, -0.14178777, -0.14743042, 0.10959363, 0.01382386, -0.07081821, 0.12153695, 0.00529651, -0.20341483, -0.05135162, -0.05888305, 0.05382327, 0.00301529] +sext:[0.14193074, 0.13331981, -0.11316784, 0.14529039, 0.10394517, 0.14700282, -0.19387709, -0.1918389, -0.12983558, -0.01084572, 0.16912027, 0.03287292, 0.0138519, 0.21869631, -0.12947397, 0.01767851, 0.28681394, -0.13507745, 0.19557841, 0.06553879, -0.00864815, -0.10663193, -0.06740876, -0.04023706, -0.04694913, -0.13625306, -0.2858375, -0.19928427, -0.1687486, -0.12430062, -0.08675309, -0.2216403, 0.0451508, -0.11176624, -0.02937848, -0.18189447, 0.2055244, -0.15293373, 0.17383349, -0.15753525, -0.03242385, -0.14866887, -0.00659716, 0.03523885, 0.15639767, 0.08121428, -0.2088679, 0.04757152, -0.17467941, 0.03303692, -0.14673805, 0.12393042, 0.01084362, 0.13507022, -0.18777242, -0.10503101, 0.16581522, 0.13111342, -0.00434989, -0.02247462, 0.14306474, 0.09170811, -0.04379092, -0.14178753, -0.14546809, 0.16244873, 0.21214104, -0.07103316, 0.12081423, 0.00103163, -0.1985043, -0.05231175, -0.05821783, 0.05281277, 0.00271138] +shl:[-0.10962299, 0.17157932, -0.11628958, -0.22798763, 0.10675383, 0.1465067, -0.19432092, -0.27347434, -0.19272803, -0.00467924, 0.16813307, 0.03174194, 0.03681118, 0.12207404, -0.16365911, 0.01676101, 0.28884143, -0.1362595, -0.01413362, 0.0640187, -0.00290764, -0.08968821, -0.06562076, -0.03855459, -0.04742669, -0.17907973, -0.24505056, -0.20147194, -0.17322421, -0.09907816, -0.1774844, -0.17232426, 0.04600691, -0.11030911, 0.19882818, -0.18334828, 0.08060682, -0.19751978, 0.15444238, -0.1564924, -0.02938661, -0.14876589, -0.02421146, -0.02221021, 0.15663463, 0.08073836, 0.28887117, 0.04870383, -0.17562103, 0.03241557, -0.18358599, 0.10095274, 0.01097513, 0.09756496, -0.20801228, -0.09545287, 0.16648073, 0.13132367, -0.00595507, -0.06696107, 0.14315507, 0.04893938, -0.09288485, 0.13636243, -0.14691542, 0.16434048, 0.01410966, -0.06945652, 0.14393893, 0.00253077, 0.01031348, -0.05477588, -0.05727636, 0.05201687, 0.00194674] +shufflevector:[0.17483364, 0.13115706, -0.18338135, 0.18253379, 0.11080077, 0.19348918, -0.196079, -0.0836405, -0.12688895, -0.15084423, 0.01821721, 0.07461558, -0.16502301, 0.05466224, -0.12936248, -0.18893263, -0.04437944, -0.14436224, -0.014762, 0.01898859, -0.0070331, -0.08453238, -0.24593197, -0.03968965, 0.157458, -0.11371791, -0.0753779, -0.16818443, -0.08551001, -0.13767277, -0.10484876, -0.0528789, 0.06492164, -0.10932673, -0.04854098, -0.02566783, 0.07854476, -0.15017813, 0.17526467, 0.17481187, 0.1716613, -0.17334035, -0.00167675, -0.09324684, -0.04767295, 0.08061834, -0.28809136, 0.04798317, -0.18400045, -0.09304745, -0.1272209, 0.09948572, 0.00988194, 0.16462424, -0.1655161, -0.10226988, 0.17478825, 0.13012879, -0.00379962, -0.02175537, 0.14237158, 0.13957314, 0.2262166, -0.15584967, -0.1981501, 0.12978207, 0.2082821, -0.06961904, 0.1198678, 0.00652868, -0.20552067, 0.11192889, -0.05652459, 0.07463548, 0.2336592] +sitofp:[-0.29108527, 0.12790772, -0.16100681, 0.17973714, 0.10925914, 0.17328022, -0.19328831, -0.1674593, -0.12717909, -0.1363776, -0.01498309, 0.074142, -0.12664206, 0.12203554, -0.12813628, -0.18627314, 0.04338283, -0.13617095, 0.12641974, 0.01076815, -0.00785737, -0.08199393, -0.24595861, -0.03890288, 0.1529076, -0.15737917, -0.17345259, 0.10036492, -0.14979506, -0.14150459, -0.1664958, -0.16057086, 0.04458313, -0.11036573, -0.0341856, -0.1373805, 0.10106766, -0.15014675, 0.17110193, 0.15770996, 0.16870552, -0.14717673, 0.05119879, 0.0494065, 0.15398785, 0.07942107, -0.13957359, 0.04591445, -0.1819675, 0.22181766, -0.14331876, 0.1173426, 0.00971132, 0.14909846, -0.17786597, -0.10786527, 0.16595513, 0.1297594, -0.00244543, -0.02122716, 0.1410589, 0.09302963, 0.05819383, -0.14059974, -0.17445703, 0.14401363, 0.20743331, -0.07091213, 0.11902855, 0.00150675, -0.00067626, -0.05047701, -0.05693055, 0.06381766, 0.13242699] +srem:[-0.09511058, -0.22333251, -0.11283466, -0.23229806, 0.09467302, 0.13198733, -0.1751315, -0.27097037, -0.20391029, 0.00244621, 0.1871059, 0.03038308, 0.05424803, 0.05416562, -0.2058974, 0.01789558, 0.03147008, -0.12857653, -0.01066092, 0.07116364, 0.04932972, -0.08006483, -0.05024991, -0.08859668, -0.0507385, -0.18871959, -0.07438382, -0.20066781, -0.19065556, -0.08647687, -0.27900684, -0.05229042, 0.09278244, -0.08365447, 0.20336972, -0.19690502, 0.07637599, -0.20699988, -0.15928416, -0.15538216, -0.03102072, -0.14554623, -0.1659274, 0.06833176, 0.15557079, 0.08088901, 0.16355434, 0.04926935, -0.17034793, 0.03091393, -0.18174136, 0.09605742, 0.01217947, 0.0618361, -0.2140307, -0.03938679, 0.16354196, 0.03456322, 0.20199138, -0.06795325, -0.09788004, 0.04382343, -0.10173707, 0.13628949, -0.14404215, 0.18634076, 0.20419657, -0.06317975, 0.15327744, -0.00050698, 0.01127682, -0.0499315, -0.05773271, 0.05096628, 0.12725323] +store:[-1.05590612e-01, 1.32598594e-01, -1.54261157e-01, 1.43107131e-01, 9.94813591e-02, 1.45947382e-01, -1.75568134e-01, -1.10561438e-01, -1.27192587e-01, -1.07404411e-01, 1.42010316e-01, 3.02091036e-02, 3.47717851e-02, 4.64678481e-02, -1.27567261e-01, 1.81444604e-02, 2.84991175e-01, -1.33111238e-01, 3.12230974e-01, 1.76632777e-02, -8.96568131e-03, -1.05656721e-01, -6.32665157e-02, -3.84085365e-02, -4.80909348e-02, -1.30426526e-01, -5.79183884e-02, -1.76741526e-01, -1.35157168e-01, -9.92313698e-02, -8.17455873e-02, -4.71966952e-01, 4.39312644e-02, -1.09371774e-01, -3.69049385e-02, -1.49084643e-01, 7.36290291e-02, -1.51506767e-01, 1.73248649e-01, -1.54650167e-01, -3.33715342e-02, -1.48017153e-01, 4.69589196e-02, -9.19863284e-02, 1.55287489e-01, 8.08470696e-02, -1.55509487e-02, 4.79109213e-02, -1.73930481e-01, 2.08546072e-01, -1.45561188e-01, 7.78940469e-02, 1.06241200e-02, 1.51971519e-01, -1.69575423e-01, -1.03343032e-01, 1.64520115e-01, 1.28797293e-01, -5.33816125e-03, -2.58404966e-02, 1.41839057e-01, 9.36184302e-02, -4.41807508e-02, -1.40177250e-01, -1.45344943e-01, 1.64973468e-01, 9.71000548e-03, -7.01929554e-02, 1.18878320e-01, 4.20484517e-04, -1.98174134e-01, 1.80982545e-01, -5.69966733e-02, 5.29081859e-02, 2.81189382e-03] +structTy:[0.0590105, -0.14963323, 0.14306381, -0.11648162, -0.13216892, -0.14146574, 0.17197067, 0.13388273, 0.14939635, 0.15379034, -0.03590541, 0.16693301, -0.11791866, 0.02428223, 0.14764172, 0.16304608, -0.07464151, 0.16513915, 0.04626357, 0.14785753, -0.16151825, 0.16201071, 0.14255643, -0.15511888, -0.16765755, 0.14808613, -0.01178089, 0.12766574, 0.15551333, -0.00747758, 0.17664994, -0.0148455, -0.13892668, 0.16061294, -0.07150439, 0.14115639, 0.01462318, 0.1346958, -0.03193542, 0.08099027, -0.16465132, 0.15260778, -0.14707021, -0.04599617, -0.14564432, -0.16116522, 0.0183207, 0.1341545, 0.17055003, -0.04925883, 0.16229935, 0.01456681, 0.15151751, -0.16201456, 0.16061835, 0.05757306, -0.07170651, -0.02158798, 0.1654083, 0.15771464, -0.17080092, 0.15839715, 0.11564606, 0.09963245, 0.12658949, -0.14364205, 0.10520593, 0.14662296, -0.1512836, 0.15457897, 0.02865676, 0.00943352, -0.16204782, 0.15784879, -0.05171135] +sub:[-0.09881721, 0.12537305, -0.13016401, 0.16653623, 0.09798183, 0.13586399, -0.17919166, -0.2497389, -0.1760078, -0.00528205, 0.15304293, 0.02892013, 0.032878, 0.11096786, -0.11947061, 0.01469286, 0.02765922, -0.12512055, -0.01445937, 0.0622199, -0.00616534, -0.09564053, -0.05882335, -0.0359677, -0.04547442, -0.15401107, -0.2463363, -0.18419084, -0.13159917, -0.11247505, -0.11382478, -0.44430435, 0.04172413, -0.10021146, -0.03118592, -0.16559172, 0.07285816, -0.18117833, 0.15983723, -0.14396775, -0.02818411, -0.13687925, -0.01262031, -0.08688642, 0.14433752, 0.0745844, -0.01509091, 0.04397901, -0.16103318, 0.02782912, -0.16809069, 0.09165896, 0.00879955, 0.08927512, -0.18684989, -0.09087317, 0.15303099, 0.12054114, -0.00405373, -0.02580445, 0.13136064, 0.08690883, -0.04755613, -0.12459586, -0.13489048, 0.15286513, 0.01279789, -0.06502793, 0.1124654, 0.00174818, -0.1845721, -0.04667281, -0.05306401, 0.04806401, 0.00305727] +switch:[0.09548028, 0.09851293, -0.09791192, 0.24275608, 0.14937389, 0.1929901, -0.26087144, -0.14658403, -0.16949812, 0.14262015, 0.14538579, 0.04097397, 0.01518083, -0.07441656, -0.17127606, -0.25440085, 0.10602551, -0.1802303, 0.06275352, 0.01162103, -0.0089239, -0.08309367, -0.08049762, -0.05111814, -0.08784451, -0.15479162, 0.3384307, 0.04873493, -0.15969352, 0.32349157, -0.40701175, 0.36144748, 0.05984428, -0.14377564, 0.26766047, -0.12602505, -0.0529832, -0.20031077, -0.13762884, 0.17910193, 0.22995204, 0.12229605, -0.1505076, -0.1946372, 0.20805524, 0.10786962, -0.26100898, 0.06331249, 0.20925248, -0.22252071, -0.16811611, -0.28236368, 0.01342723, 0.12919533, -0.03879561, -0.13644172, -0.35402858, -0.1292579, -0.00827596, -0.03130217, 0.19059454, 0.01429174, -0.0611405, -0.18895972, -0.15734144, -0.11891826, -0.24520122, -0.06282789, 0.1599826, 0.00474087, 0.01431001, 0.24733992, -0.07526454, -0.39185977, -0.3058426] +trunc:[-1.36811793e-01, 1.67938128e-01, -1.12058200e-01, 6.62409887e-02, 9.16510969e-02, 1.42627805e-01, -1.72531992e-01, -2.63230264e-01, -1.89903647e-01, -7.43066799e-03, 1.61957592e-01, 3.00346557e-02, 3.52388211e-02, 1.99403167e-01, -1.29218757e-01, 1.84870679e-02, 2.83326745e-01, -1.31465584e-01, 1.91873118e-01, 7.08255842e-02, -5.70347626e-03, -1.06859475e-01, -5.71674518e-02, -8.79198536e-02, -4.90500145e-02, -1.76253095e-01, -2.41765901e-01, -1.98071256e-01, -1.65196046e-01, -9.84440148e-02, -8.40751976e-02, -2.14823738e-01, 4.22967784e-02, -1.08100109e-01, -2.89799571e-02, -1.76890388e-01, 1.99554786e-01, -1.94301888e-01, 1.54805914e-01, -1.54455468e-01, -3.22737806e-02, -1.45465598e-01, -2.85377522e-04, 1.12740539e-01, 1.54975608e-01, 8.14621672e-02, -9.96743236e-03, 5.00754155e-02, -1.70285389e-01, 4.13373224e-02, -1.81011677e-01, 3.25282156e-01, 1.26180872e-02, 1.21963099e-01, -1.98182613e-01, -9.64406803e-02, 1.62552461e-01, 1.30482644e-01, -4.22334485e-03, -3.61689553e-02, 1.39273763e-01, 6.64202794e-02, -4.54185046e-02, 8.14628601e-02, -1.43102348e-01, 1.70172676e-01, 1.54201342e-02, -6.93341419e-02, 1.19819410e-01, -1.10864714e-02, 7.98286218e-03, -5.97647242e-02, -5.83026856e-02, 5.12241088e-02, 2.02081446e-03] +udiv:[-0.09094892, 0.19416736, -0.11578448, -0.23698431, 0.08992871, 0.00551312, 0.14702776, -0.27541465, -0.20772141, 0.00320542, 0.19159731, -0.01936948, 0.0711722, 0.04869929, -0.20913154, 0.01940354, 0.02099044, -0.10997307, -0.01390613, 0.08852389, 0.09030807, -0.08401795, 0.01092258, -0.09438308, -0.05078439, -0.2005092, -0.0585936, -0.20389175, -0.21060936, -0.09819287, -0.11091644, -0.04329691, -0.17772639, 0.09820999, -0.21181932, -0.20419192, 0.07226628, -0.21055269, -0.16154705, -0.15796861, -0.03205026, -0.11930269, -0.12319315, 0.05126907, 0.15790679, 0.08218154, 0.16767572, 0.09756813, -0.16911054, 0.01490148, -0.18465523, 0.08949899, 0.01290585, -0.01491118, -0.2165934, 0.00616188, 0.165687, 0.16949247, -0.02802533, -0.19512807, -0.10086588, -0.19205898, -0.11844035, 0.13903886, -0.14648019, 0.184539, -0.19000791, -0.06534467, 0.1752777, -0.03921586, 0.01097237, 0.0895052, -0.06099788, 0.05226254, -0.2311955] +uitofp:[-0.28474295, 0.13217203, -0.16568871, 0.18379283, 0.11226938, 0.19207269, -0.19832176, -0.08162867, -0.12924019, -0.13496576, -0.00762922, 0.07567707, -0.15030566, 0.12156913, -0.1307342, -0.19167385, 0.11801702, -0.14493088, 0.10906817, 0.01311873, -0.01061422, -0.09030879, -0.251764, -0.03967099, 0.1586867, -0.14576115, -0.12991518, 0.10370931, -0.1244427, -0.14580499, -0.06180171, -0.14415021, 0.04207605, -0.11499359, -0.03921367, -0.12659079, 0.07339595, -0.15185502, 0.1766244, 0.17538792, 0.17453255, -0.1522221, 0.05713944, 0.0651423, 0.15804505, 0.08223064, -0.19757104, 0.04586276, -0.18602233, 0.03112394, -0.12740982, 0.10457055, 0.00761122, 0.1563707, -0.14385206, -0.10981123, 0.17529841, 0.1344809, -0.0042707, -0.01513807, 0.14462957, 0.09708796, 0.1768233, -0.15789527, -0.19911379, 0.08259769, 0.04403876, -0.07122029, 0.12193058, 0.00843644, -0.20593181, -0.04928745, -0.05748281, 0.06752896, -0.33122623] +unreachable:[0.13830788, -0.1384795, 0.12985048, -0.01590925, -0.17242672, -0.16921625, -0.08732756, 0.06238424, -0.19026113, -0.0158169, 0.16435188, 0.02325607, -0.00133849, -0.12819748, -0.15801033, 0.06894314, -0.11699118, -0.03206338, -0.04867816, 0.08262745, -0.02899568, -0.17304559, 0.00456284, -0.1043093, -0.06316522, -0.19096501, 0.10812564, -0.17962073, -0.20548488, 0.1455722, 0.06589094, 0.03311252, -0.07200453, -0.18936579, 0.12057041, -0.19025533, -0.12212797, 0.1456004, -0.14757317, -0.15557618, -0.05640632, 0.14078732, 0.14334233, -0.16418514, 0.14397267, 0.0625571, 0.15891595, 0.07323151, -0.10111858, -0.14292835, 0.01567381, -0.10903962, 0.17538103, 0.08803182, -0.00309126, -0.14454287, 0.0691599, -0.11123948, 0.05696773, 0.09039135, 0.09839866, -0.05023813, -0.03404732, 0.02872319, 0.17865536, 0.13223949, -0.17297149, -0.16898467, 0.14986424, -0.10918473, 0.1600209, 0.15127546, 0.16981383, -0.1279901, 0.14220221] +urem:[-0.11265117, 0.20686236, -0.12146873, -0.23542368, 0.09378337, 0.02999638, 0.14878128, -0.28188494, -0.20065261, 0.00433275, 0.16977304, -0.01879602, 0.22663146, 0.0617098, -0.1831158, 0.01779491, 0.03017136, -0.08971473, 0.07763614, 0.08042387, 0.09445225, -0.08793671, 0.0159521, -0.07481197, -0.05264295, -0.18723217, -0.08170687, -0.21142115, -0.1702957, -0.0912115, -0.15084253, -0.06110323, -0.1994154, 0.10485501, 0.02635208, -0.17529666, 0.08368196, -0.20547396, -0.13216047, -0.1626017, -0.03278501, -0.12043266, -0.13597806, 0.11791392, 0.16410512, 0.085006, 0.17119788, 0.20151798, 0.22284089, 0.03112911, -0.19075638, 0.10404129, 0.01210428, -0.01493562, -0.21803944, -0.00028815, 0.17211886, 0.1743311, -0.02144206, -0.18241248, 0.09792571, -0.04942631, -0.12507392, 0.14260796, -0.1524944, 0.19653419, -0.20759608, 0.22784927, 0.18324168, -0.03458956, 0.00935992, -0.05326611, -0.07238707, 0.04781368, -0.2394482] +variable:[-0.04416586, -0.06529783, 0.06804077, -0.17281267, 0.21564505, -0.10317826, -0.04053801, -0.28083235, 0.11455013, -0.25391814, -0.09901162, -0.32934445, 0.22513658, -0.10261232, 0.10434292, -0.19085433, -0.02302103, 0.27024737, -0.11197262, -0.2376181, 0.28228357, 0.15263258, 0.12693042, 0.16975136, 0.29924616, 0.13014257, 0.02674635, -0.10427801, 0.1129915, 0.02840486, 0.17082089, 0.02872703, 0.3129407, 0.14322756, -0.20241754, 0.06491784, -0.08436896, 0.03400991, 0.07390775, -0.07466827, 0.3478845, 0.01303683, 0.26052088, 0.21157041, -0.25165147, -0.18953912, 0.07487449, -0.32147086, -0.072584, 0.20075838, 0.10203002, -0.06976248, -0.22996348, -0.15062493, -0.08361167, 0.1157522, 0.02569508, 0.0058547, -0.1650832, -0.1911111, 0.01633538, -0.13533501, -0.27804825, -0.05999075, 0.02358659, -0.07764025, -0.07134418, 0.14262564, -0.20307393, 0.17827222, 0.13546483, -0.24436948, 0.16881269, -0.08427223, -0.05620972] +vectorTy:[0.06019246, -0.08325528, 0.06796158, -0.1322501, -0.05250492, -0.05546387, 0.00084803, -0.13031249, 0.10292219, 0.16610621, -0.10459585, 0.21548297, -0.26862848, 0.08505963, 0.07657417, 0.16639674, 0.06083921, -0.00245328, 0.01956977, 0.21975385, -0.16639455, 0.14512713, -0.15006405, -0.2066719, -0.18236274, 0.12637317, -0.09601986, 0.17929196, 0.15004157, -0.2437613, 0.11610509, -0.12576523, -0.13349846, 0.00924278, 0.05477205, 0.11079396, 0.0149577, 0.08251344, 0.02648669, 0.28141958, -0.16844293, 0.02850299, -0.1849258, -0.00724132, -0.19553263, 0.16303328, -0.09641571, -0.08541372, -0.01167152, -0.0498387, 0.13118263, 0.03702982, 0.16826656, -0.12130306, 0.05498985, 0.07180171, 0.01047648, 0.19805974, 0.1132893, 0.12827364, -0.15292895, -0.0969883, 0.15015276, 0.25131726, 0.03910673, -0.12237693, 0.12764196, 0.14949943, -0.11722989, -0.142063, 0.07540323, 0.00866951, -0.16423495, 0.1803801, 0.08819818] +voidTy:[0.02707169, -0.1911424, 0.18000233, -0.10855684, -0.15720911, -0.16028677, 0.08442728, 0.14063193, 0.14310814, 0.15267418, 0.03571516, 0.17472863, -0.1096759, -0.04809512, 0.15041178, 0.1852203, -0.08891776, 0.06437854, 0.07771051, 0.17514206, -0.18457355, 0.17228611, 0.14382029, 0.17567936, -0.19985509, 0.14512071, 0.00597054, -0.0005212, 0.16043086, 0.01015274, 0.1932167, 0.10049, -0.18615878, -0.14139535, -0.07989334, 0.13810824, 0.00811669, 0.16482183, -0.0484471, 0.05603446, -0.19822212, 0.21622814, -0.13391475, -0.07386104, -0.01220543, -0.17700416, 0.02550385, -0.04609942, 0.19161303, -0.08407282, 0.17597687, 0.01678882, 0.17494556, -0.15565564, 0.18086468, 0.01991182, -0.07939529, -0.04929006, 0.17783763, 0.18024826, -0.14163949, 0.18041377, 0.11955009, 0.00620418, 0.1386835, -0.18642457, 0.09366929, 0.16274834, -0.12151442, -0.19673795, 0.0550727, 0.10491449, 0.14478931, -0.02286906, 0.05187593] +xor:[-0.14333177, 0.17120288, -0.11569388, -0.22889645, 0.0944928, 0.13705893, -0.1748709, -0.27198055, -0.20403583, -0.00204914, 0.16587155, 0.03005969, 0.03635887, 0.12084309, -0.17170708, 0.01672503, 0.2855867, -0.13425359, 0.2921407, 0.0620962, 0.00266978, -0.0903588, -0.06116274, -0.08814006, -0.04630399, -0.18787035, -0.1754261, -0.20075771, -0.18573092, -0.11999942, -0.14531347, -0.171928, 0.04110451, -0.10397294, -0.03485578, -0.17938605, 0.08046042, -0.19675075, -0.14346175, -0.15566549, -0.0307311, -0.14872791, -0.03878547, -0.00254308, 0.1565295, 0.08097854, 0.16432391, 0.04949491, -0.17471117, 0.2079512, -0.17290911, 0.10197662, 0.01110592, 0.09702181, -0.21049088, -0.05485036, 0.16571115, 0.13224575, -0.00631514, -0.0666507, 0.10324501, 0.04556064, -0.0946413, 0.1366175, -0.14613271, 0.1439316, 0.01403525, -0.06756077, 0.15449193, 0.01570368, 0.00935933, -0.07182793, -0.05895546, 0.05251422, 0.00088228] +zext:[0.14294301, 0.16004492, -0.133936, 0.17041178, 0.10354671, 0.14033805, -0.18445012, -0.25389433, -0.18157399, -0.06085023, 0.15627292, 0.05945444, 0.0152561, 0.11567469, -0.12275951, 0.01612445, 0.2721165, -0.12822908, 0.29646817, 0.06210494, -0.00723742, -0.1003171, -0.06575806, -0.05716129, -0.04435528, -0.16020222, -0.23530036, -0.18981609, -0.14945146, -0.11926567, -0.08064298, -0.2043876, 0.04202923, -0.10597136, -0.03096929, -0.17040831, 0.0771085, -0.18618186, 0.16527407, -0.14749476, -0.02966438, -0.14139591, 0.0018809, -0.02142575, 0.14795087, 0.07683742, -0.01349613, 0.04579562, -0.17163049, 0.02995836, -0.17292565, 0.11137506, 0.01039091, 0.13139422, -0.19006667, -0.09951284, 0.15722732, 0.12452687, -0.00450555, -0.02189622, 0.13461596, 0.06696767, -0.04037055, -0.13414587, -0.1399019, 0.1544194, 0.01091198, -0.0665535, 0.11422376, 0.00154535, -0.13661395, -0.04903502, -0.05472786, 0.05032588, 0.00220357] \ No newline at end of file From c196692201704655b84fca2f4063674e4b1afd92 Mon Sep 17 00:00:00 2001 From: svkeerthy Date: Mon, 7 Oct 2024 22:46:29 +0530 Subject: [PATCH 04/17] Changes to support vocabulary of different dimensions --- src/CMakeLists.txt | 67 ++++++++++- src/FlowAware.cpp | 6 +- src/IR2Vec.cpp | 18 +-- src/Symbolic.cpp | 4 +- src/generate_vocabulary.py | 237 ++++++++++++++++++++++++++----------- src/include/FlowAware.h | 5 +- src/include/IR2Vec.h | 23 ++-- src/include/Symbolic.h | 6 +- src/include/utils.h | 6 +- src/libIR2Vec.cpp | 15 +-- src/utils.cpp | 6 +- 11 files changed, 281 insertions(+), 112 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e4c7adaa..c8f2b237 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,16 +1,69 @@ - configure_file (./include/version.h.cmake version.h @ONLY) include_directories(./include ${CMAKE_CURRENT_BINARY_DIR}) include_directories(${CMAKE_BINARY_DIR}) -set(commonsrc FlowAware.cpp Symbolic.cpp utils.cpp) -set(libsrc libIR2Vec.cpp ${commonsrc}) -set(binsrc CollectIR.cpp IR2Vec.cpp) + option(LLVM_IR2VEC "where to enable IR2Vec as subproject for LLVM" OFF) + +set(GENERATED_HEADERS_DIR "${CMAKE_BINARY_DIR}/include") +file(MAKE_DIRECTORY ${GENERATED_HEADERS_DIR}) + +file(GLOB VOCAB_FILES "../vocabulary/seedEmbeddingVocab*D.txt") + +# List to hold supported dimensions +set(DIMENSIONS "") + +foreach(VOCAB_FILE IN LISTS VOCAB_FILES) + get_filename_component(VOCAB_NAME ${VOCAB_FILE} NAME_WE) # Extract just the file name + string(REGEX MATCH "[0-9]+" DIM ${VOCAB_NAME}) + execute_process( + COMMAND python3 generate_vocabulary.py vocab ${VOCAB_FILE} ${GENERATED_HEADERS_DIR} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + RESULT_VARIABLE GENERATE_VOCABULARY_RESULT + OUTPUT_VARIABLE GENERATE_VOCABULARY_OUTPUT + ERROR_VARIABLE GENERATE_VOCABULARY_ERROR + ) + + if(NOT GENERATE_VOCABULARY_RESULT EQUAL 0) + message(FATAL_ERROR "Failed to generate vocabulary files: ${GENERATE_VOCABULARY_ERROR}") + else() + message(STATUS "Generated vocabulary file: Vocabulary${DIM}D.h") + endif() + + list(APPEND DIMENSIONS ${DIM}) +endforeach() + +# Check if DIMENSIONS is not empty +if(NOT DIMENSIONS) + message(FATAL_ERROR "No vocabulary files generated") +endif() + +foreach(DIM ${DIMENSIONS}) + list(APPEND GENERATED_VOCAB_HEADERS "${GENERATED_HEADERS_DIR}/Vocabulary${DIM}D.h") +endforeach() + +string(REPLACE ";" "," DIMENSIONS "${DIMENSIONS}") execute_process( - COMMAND python3 generate_vocabulary.py -o ${CMAKE_BINARY_DIR}/vocabulary.h + COMMAND python3 generate_vocabulary.py base ${DIMENSIONS} ${GENERATED_HEADERS_DIR} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - COMMAND echo "Vocabulary file generated." + RESULT_VARIABLE GENERATE_BASE_RESULT + OUTPUT_VARIABLE GENERATE_BASE_OUTPUT + ERROR_VARIABLE GENERATE_BASE_ERROR ) + +if(NOT GENERATE_BASE_RESULT EQUAL 0) + message(FATAL_ERROR "Failed to generate base vocabulary file: ${GENERATE_BASE_ERROR}") +else() + message(STATUS "Generated base vocabulary file") +endif() + +list(APPEND GENERATED_VOCAB_HEADERS "${GENERATED_HEADERS_DIR}/Vocabulary.h") + +include_directories(${GENERATED_HEADERS_DIR}) + +set(commonsrc FlowAware.cpp Symbolic.cpp utils.cpp ${GENERATED_HEADERS_DIR}/VocabularyFactory.cpp) +set(libsrc libIR2Vec.cpp ${commonsrc}) +set(binsrc CollectIR.cpp IR2Vec.cpp) + if(NOT LLVM_IR2VEC) set(LT_LLVM_INSTALL_DIR "" CACHE PATH "LLVM installation directory") @@ -36,10 +89,12 @@ if(NOT LLVM_IR2VEC) add_library(${IR2VEC_LIB} SHARED $) add_library(${IR2VEC_LIB_STATIC} STATIC $) + set_target_properties(${IR2VEC_LIB} ${IR2VEC_LIB_STATIC} PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION 1 PUBLIC_HEADER "./include/IR2Vec.h" + PUBLIC_HEADER "${GENERATED_VOCAB_HEADERS}" OUTPUT_NAME ${IR2VEC_LIB} LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib diff --git a/src/FlowAware.cpp b/src/FlowAware.cpp index 8e1e539c..c627dc37 100644 --- a/src/FlowAware.cpp +++ b/src/FlowAware.cpp @@ -97,11 +97,11 @@ void IR2Vec_FA::collectWriteDefsMap(Module &M) { Vector IR2Vec_FA::getValue(std::string key) { Vector vec(DIM, 0); - if (opcMap.find(key) == opcMap.end()) { + if (vocabulary.find(key) == vocabulary.end()) { IR2VEC_DEBUG(errs() << "cannot find key in map : " << key << "\n"); dataMissCounter++; } else - vec = opcMap[key]; + vec = vocabulary[key]; return vec; } @@ -493,7 +493,7 @@ Vector IR2Vec_FA::func2Vec(Function &F, outs() << sets << " "; } outs() << "\n";); - SmallVector prevVec; + Vector prevVec; Instruction *argToKill = nullptr; while (stack.size() != 0) { diff --git a/src/IR2Vec.cpp b/src/IR2Vec.cpp index 3946b1b6..3e328320 100644 --- a/src/IR2Vec.cpp +++ b/src/IR2Vec.cpp @@ -6,11 +6,12 @@ // //===----------------------------------------------------------------------===// -#include "IR2Vec.h" #include "CollectIR.h" #include "FlowAware.h" #include "Symbolic.h" +#include "Vocabulary.h" #include "version.h" + #include "llvm/Support/CommandLine.h" #include #include @@ -36,7 +37,8 @@ cl::opt cl_collectIR( cl::init(false), cl::cat(category)); cl::opt cl_iname(cl::Positional, cl::desc("Input file path"), cl::Required, cl::cat(category)); - +cl::opt cl_dim("dim", cl::Optional, cl::init(300), + cl::desc("Dimension of the embeddings"), cl::cat(category)); cl::opt cl_oname("o", cl::Required, cl::desc("Output file path"), cl::cat(category)); // for on demand generation of embeddings taking function name @@ -80,7 +82,7 @@ int main(int argc, char **argv) { collectIR = cl_collectIR; iname = cl_iname; oname = cl_oname; - // newly added + DIM = cl_dim; funcName = cl_funcName; level = cl_level; cls = cl_cls; @@ -113,9 +115,11 @@ int main(int argc, char **argv) { exit(1); auto M = getLLVMIR(); + auto vocabulary = VocabularyFactory::createVocabulary(DIM)->getVocabulary(); + // newly added if (sym && !(funcName.empty())) { - IR2Vec_Symbolic SYM(*M); + IR2Vec_Symbolic SYM(*M, vocabulary); std::ofstream o; o.open(oname, std::ios_base::app); if (printTime) { @@ -132,7 +136,7 @@ int main(int argc, char **argv) { } o.close(); } else if (fa && !(funcName.empty())) { - IR2Vec_FA FA(*M); + IR2Vec_FA FA(*M, vocabulary); std::ofstream o, missCount, cyclicCount; o.open(oname, std::ios_base::app); missCount.open("missCount_" + oname, std::ios_base::app); @@ -153,7 +157,7 @@ int main(int argc, char **argv) { } o.close(); } else if (fa) { - IR2Vec_FA FA(*M); + IR2Vec_FA FA(*M, vocabulary); std::ofstream o, missCount, cyclicCount; o.open(oname, std::ios_base::app); missCount.open("missCount_" + oname, std::ios_base::app); @@ -172,7 +176,7 @@ int main(int argc, char **argv) { } o.close(); } else if (sym) { - IR2Vec_Symbolic SYM(*M); + IR2Vec_Symbolic SYM(*M, vocabulary); std::ofstream o; o.open(oname, std::ios_base::app); if (printTime) { diff --git a/src/Symbolic.cpp b/src/Symbolic.cpp index 68d9014b..59eab2ce 100644 --- a/src/Symbolic.cpp +++ b/src/Symbolic.cpp @@ -29,10 +29,10 @@ using abi::__cxa_demangle; Vector IR2Vec_Symbolic::getValue(std::string key) { Vector vec; - if (opcMap.find(key) == opcMap.end()) + if (vocabulary.find(key) == vocabulary.end()) IR2VEC_DEBUG(errs() << "cannot find key in map : " << key << "\n"); else - vec = opcMap[key]; + vec = vocabulary[key]; return vec; } diff --git a/src/generate_vocabulary.py b/src/generate_vocabulary.py index bca3aadb..fbbef6cc 100644 --- a/src/generate_vocabulary.py +++ b/src/generate_vocabulary.py @@ -7,73 +7,178 @@ # ------------------------------------------------------------------------------ import argparse - -parser = argparse.ArgumentParser() -parser.add_argument("-o", "--output", type=str, help="Output file name") -args = parser.parse_args() - -if args.output is None: - print("Error: Output file path not provided.") - exit(1) - -output_file = args.output -vocab_file = "../vocabulary/seedEmbeddingVocab.txt" - -# Define headers and opening/closing of map -header = """\ -// Generated by IR2Vec. DO NOT EDIT! -// This file contains the learned vocabulary used by IR2Vec. -// -// clang-format off - -#ifndef __VOCABULARY__ -#define __VOCABULARY__ - -#include -#include -#include -#include "IR2Vec.h" - -namespace IR2Vec { - -class Vocabulary { -public: - static const std::map& getVocabulary() { - return vocabulary; - } -private: - static const std::map vocabulary; -}; - -""" - -opening = "\nconst std::map Vocabulary::vocabulary = {\n" -closing = """\ +import sys +import os + +class VocabularyError(Exception): + """Custom exception for vocabulary errors.""" + pass + +# Common header strings +HEADER_GENERATED = "// Generated by IR2Vec. DO NOT EDIT!\n" +HEADER_VOCABULARY_BASE = ( + "// This file defines the base class for vocabulary and the factory \n// for creating vocabulary instances used by IR2Vec.\n" +) +HEADER_VOCABULARY_CLASS = ( + "// This file defines the {class_name} vocabulary class used by IR2Vec.\n" +) +HEADER_CLANG_FORMAT_OFF = "// clang-format off\n" + +def write_file(file_path, content): + try: + with open(file_path, "w") as fw: + fw.write(content) + except IOError as e: + raise VocabularyError(f"Failed to write to {file_path}: {e}") + + +def generate_base_vocabulary_header(): + return ( + f"{HEADER_GENERATED}" + f"{HEADER_VOCABULARY_BASE}" + f"{HEADER_CLANG_FORMAT_OFF}\n" + "#ifndef __VOCABULARY_H__\n" + "#define __VOCABULARY_H__\n\n" + "#include \n" + "#include \n" + "#include \n" + "#include \n" + "#include // For std::invalid_argument\n" + + "namespace IR2Vec {\n\n" + "using Vector = std::vector;\n\n" + "class VocabularyBase {\n" + "public:\n" + " virtual ~VocabularyBase() {}\n" + " virtual const std::map& getVocabulary() const = 0;\n" + "};\n\n" + "class VocabularyFactory {\n" + "public:\n" + " static std::unique_ptr createVocabulary(unsigned dim);\n" + "};\n\n" + "} // namespace IR2Vec\n\n" + "#endif // __VOCABULARY_H__\n" + ) + +def generate_vocabulary_class(vocab_file, class_name): + class_header = ( + f"{HEADER_GENERATED}" + f"{HEADER_VOCABULARY_CLASS.format(class_name=class_name)}" + f"{HEADER_CLANG_FORMAT_OFF}\n" + f"#ifndef __{class_name.upper()}__\n" + f"#define __{class_name.upper()}__\n\n" + f"#include \n" + f"#include \n" + f"#include \n" + f"#include \"Vocabulary.h\" // Include the base class\n\n" + f"namespace IR2Vec {{\n\n" + f"class {class_name} : public VocabularyBase {{\n" + f"public:\n" + f" const std::map& getVocabulary() const override{{\n" + f" return vocabulary;\n" + f" }}\n" + f"private:\n" + f" static const std::map vocabulary;\n" + f"}};\n" + ) + + opening = f"\nconst std::map {class_name}::vocabulary = {{\n" + closing = """\ }; } // namespace IR2Vec -#endif // __VOCABULARY__ +#endif // __{class_name.upper()}__ """ - -try: - with open(output_file, "w") as fw: - fw.write(header) - with open(vocab_file, "r") as fr: - # Write vector declarations to the output file - for line in fr.readlines(): - key, val = line.strip().split(":") - e = val.find("]") - fw.write(f"const IR2Vec::Vector {key}_vector = {{ {val[1:e]} }};\n") - - fw.write(opening) - with open(vocab_file, "r") as fr: - # Write map entries to the output file - for line in fr.readlines(): - key, _ = line.strip().split(":") - fw.write(f' {{ "{key}", {key}_vector }},\n') - fw.write(closing) - - print(f"Generated {output_file}") - -except FileNotFoundError: - print(f"Error: Vocabulary file '{vocab_file}' not found.") + dim = class_name.replace("Vocabulary", "") + vector_definitions = "" + with open(vocab_file, "r") as fr: + for line in fr.readlines(): + key, val = line.strip().split(":") + e = val.find("]") + vector_definitions += f"const IR2Vec::Vector {key}_vector_{dim} = {{ {val[1:e]} }};\n" + + vocabulary_entries = "" + with open(vocab_file, "r") as fr: + for line in fr.readlines(): + key, _ = line.strip().split(":") + vocabulary_entries += f' {{ "{key}", {key}_vector_{dim} }},\n' + + return class_header + vector_definitions + opening + vocabulary_entries + closing + +def generate_vocabulary_factory(class_names): + factory_header = ( + f"{HEADER_GENERATED}" + f"{HEADER_VOCABULARY_BASE}" + f"{HEADER_CLANG_FORMAT_OFF}\n" + "#include \n" # For std::unique_ptr + "#include \"Vocabulary.h\"\n\n" + ) + + # Include headers for each vocabulary class + for class_name in class_names: + factory_header += f"#include \"{class_name}.h\"\n" + + factory_header += "\nnamespace IR2Vec {\n\n" + + factory_function = ( + "std::unique_ptr VocabularyFactory::createVocabulary(unsigned dim) {\n" + " switch (dim) {\n" + ) + + factory_cases = "" + for class_name in class_names: + dim = class_name.replace("Vocabulary", "").replace("D", "") + factory_cases += f" case {dim}:\n return std::make_unique<{class_name}>();\n" + + factory_footer = ( + """\ + default: + throw std::invalid_argument("Invalid dimension for vocabulary creation."); + } +} +} // namespace IR2Vec\n +""" + ) + return factory_header + factory_function + factory_cases + factory_footer + +def main(): + parser = argparse.ArgumentParser(description="Generate vocabulary and factory files.") + parser.add_argument('type', choices=['vocab', 'base'], help="Type of files to generate.") + parser.add_argument('input', help="Input vocabulary text file or dimensions as a comma-separated list.") + parser.add_argument('output', help="Output file path.") + + args = parser.parse_args() + if args.type is None or args.input is None or args.output is None: + raise VocabularyError("Type, input, or output not provided.") + + if args.type == 'vocab': + # Generate vocabulary class based on input file + vocab_file = args.input + + # Extract dimension from the file name + dim = os.path.splitext(os.path.basename(vocab_file))[0].split("D")[0].split("Vocab")[-1] + class_name = f"Vocabulary{dim}D" + vocab_class_code = generate_vocabulary_class(vocab_file, class_name) + output_file = os.path.join(args.output, f"{class_name}.h") + write_file(output_file, vocab_class_code) + + elif args.type == 'base': + # Generate base vocabulary header and factory implementation + base_header_code = generate_base_vocabulary_header() + output_file = os.path.join(args.output, "Vocabulary.h") + write_file(output_file, base_header_code) + + # Parse the dimensions from the input and generate class names + dimensions = args.input.split(',') + class_names = [f"Vocabulary{dim}D" for dim in dimensions] # Create class names based on dimensions + + factory_code = generate_vocabulary_factory(class_names) + output_file = os.path.join(args.output, "VocabularyFactory.cpp") + write_file(output_file, factory_code) + +if __name__ == "__main__": + try: + main() + except VocabularyError as e: + sys.stderr.write(f"Error: {e}\n") # Write errors to stderr + sys.exit(1) diff --git a/src/include/FlowAware.h b/src/include/FlowAware.h index 1f1b4eb8..b27d2751 100644 --- a/src/include/FlowAware.h +++ b/src/include/FlowAware.h @@ -28,6 +28,7 @@ class IR2Vec_FA { private: llvm::Module &M; std::string res; + IR2Vec::VocabTy &vocabulary; IR2Vec::Vector pgmVector; unsigned dataMissCounter; unsigned cyclicCounter; @@ -130,9 +131,9 @@ class IR2Vec_FA { void updateFuncVecMapWithCallee(const llvm::Function *function); public: - IR2Vec_FA(llvm::Module &M) : M{M} { + IR2Vec_FA(llvm::Module &M, IR2Vec::VocabTy &vocab) : M{M}, vocabulary{vocab} { - pgmVector = IR2Vec::Vector(DIM, 0); + pgmVector = IR2Vec::Vector(IR2Vec::DIM, 0); res = ""; memWriteOps.try_emplace("store", 1); diff --git a/src/include/IR2Vec.h b/src/include/IR2Vec.h index 32a1aaa5..7b6b7f58 100644 --- a/src/include/IR2Vec.h +++ b/src/include/IR2Vec.h @@ -13,37 +13,38 @@ #include "llvm/IR/Module.h" #include +#include "Vocabulary.h" namespace IR2Vec { -#define DIM 300 -using Vector = llvm::SmallVector; - enum IR2VecMode { FlowAware, Symbolic }; class Embeddings { int generateEncodings(llvm::Module &M, IR2VecMode mode, char level = '\0', - std::string funcName = "", std::ostream *o = nullptr, - int cls = -1, float WO = 1, float WA = 0.2, - float WT = 0.5); + std::string funcName = "", unsigned dim = 300, + std::ostream *o = nullptr, int cls = -1, float WO = 1, + float WA = 0.2, float WT = 0.5); llvm::SmallMapVector instVecMap; llvm::SmallMapVector funcVecMap; Vector pgmVector; + std::map vocabulary; public: Embeddings() = default; Embeddings(llvm::Module &M, IR2VecMode mode, std::string funcName = "", - float WO = 1, float WA = 0.2, float WT = 0.5) { - generateEncodings(M, mode, '\0', funcName, nullptr, -1, WO, WA, WT); + unsigned dim = 300, float WO = 1, float WA = 0.2, float WT = 0.5) { + vocabulary = VocabularyFactory::createVocabulary(dim)->getVocabulary(); + generateEncodings(M, mode, '\0', funcName, dim, nullptr, -1, WO, WA, WT); } // Use this constructor if the representations ought to be written to a // file. Analogous to the command line options that are being used in IR2Vec // binary. Embeddings(llvm::Module &M, IR2VecMode mode, char level, std::ostream *o, - std::string funcName = "", float WO = 1, float WA = 0.2, - float WT = 0.5) { - generateEncodings(M, mode, level, funcName, o, -1, WO, WA, WT); + std::string funcName = "", unsigned dim = 300, float WO = 1, + float WA = 0.2, float WT = 0.5) { + vocabulary = VocabularyFactory::createVocabulary(dim)->getVocabulary(); + generateEncodings(M, mode, level, funcName, dim, o, -1, WO, WA, WT); } // Returns a map containing instructions and the corresponding vector diff --git a/src/include/Symbolic.h b/src/include/Symbolic.h index 618672b9..efad7e0f 100644 --- a/src/include/Symbolic.h +++ b/src/include/Symbolic.h @@ -24,6 +24,7 @@ class IR2Vec_Symbolic { private: llvm::Module &M; + IR2Vec::VocabTy &vocabulary; IR2Vec::Vector pgmVector; IR2Vec::Vector getValue(std::string key); @@ -37,8 +38,9 @@ class IR2Vec_Symbolic { instVecMap; public: - IR2Vec_Symbolic(llvm::Module &M) : M{M} { - pgmVector = IR2Vec::Vector(DIM, 0); + IR2Vec_Symbolic(llvm::Module &M, IR2Vec::VocabTy &vocab) + : M{M}, vocabulary{vocab} { + pgmVector = IR2Vec::Vector(IR2Vec::DIM, 0); res = ""; } diff --git a/src/include/utils.h b/src/include/utils.h index ab7921dd..1541f1c6 100644 --- a/src/include/utils.h +++ b/src/include/utils.h @@ -29,8 +29,8 @@ namespace IR2Vec { } \ }) -#define DIM 300 -using Vector = llvm::SmallVector; +using Vector = std::vector; +using VocabTy = std::map; using abi::__cxa_demangle; extern bool fa; @@ -46,7 +46,7 @@ extern float WO; extern float WA; extern float WT; extern bool debug; -extern std::map opcMap; +extern unsigned DIM; std::unique_ptr getLLVMIR(); void scaleVector(Vector &vec, float factor); // newly added diff --git a/src/libIR2Vec.cpp b/src/libIR2Vec.cpp index 69fd4521..6cceb48a 100644 --- a/src/libIR2Vec.cpp +++ b/src/libIR2Vec.cpp @@ -17,9 +17,9 @@ int IR2Vec::Embeddings::generateEncodings(llvm::Module &M, IR2Vec::IR2VecMode mode, char level, - std::string funcName, std::ostream *o, - int cls, float WO, float WA, - float WT) { + std::string funcName, unsigned dim, + std::ostream *o, int cls, float WO, + float WA, float WT) { IR2Vec::level = level; IR2Vec::cls = cls; @@ -27,25 +27,26 @@ int IR2Vec::Embeddings::generateEncodings(llvm::Module &M, IR2Vec::WA = WA; IR2Vec::WT = WT; IR2Vec::funcName = funcName; + IR2Vec::DIM = dim; if (mode == IR2Vec::IR2VecMode::FlowAware && !funcName.empty()) { - IR2Vec_FA FA(M); + IR2Vec_FA FA(M, vocabulary); FA.generateFlowAwareEncodingsForFunction(o, funcName); instVecMap = FA.getInstVecMap(); funcVecMap = FA.getFuncVecMap(); } else if (mode == IR2Vec::IR2VecMode::FlowAware) { - IR2Vec_FA FA(M); + IR2Vec_FA FA(M, vocabulary); FA.generateFlowAwareEncodings(o); instVecMap = FA.getInstVecMap(); funcVecMap = FA.getFuncVecMap(); pgmVector = FA.getProgramVector(); } else if (mode == IR2Vec::IR2VecMode::Symbolic && !funcName.empty()) { - IR2Vec_Symbolic SYM(M); + IR2Vec_Symbolic SYM(M, vocabulary); SYM.generateSymbolicEncodingsForFunction(0, funcName); instVecMap = SYM.getInstVecMap(); funcVecMap = SYM.getFuncVecMap(); } else if (mode == IR2Vec::IR2VecMode::Symbolic) { - IR2Vec_Symbolic SYM(M); + IR2Vec_Symbolic SYM(M, vocabulary); SYM.generateSymbolicEncodings(o); instVecMap = SYM.getInstVecMap(); funcVecMap = SYM.getFuncVecMap(); diff --git a/src/utils.cpp b/src/utils.cpp index 515afeb3..b9fc0e58 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -8,7 +8,7 @@ #include "utils.h" #include "IR2Vec.h" -#include "vocabulary.h" +#include "Vocabulary.h" #include #include using namespace llvm; @@ -27,8 +27,8 @@ float IR2Vec::WO; float IR2Vec::WA; float IR2Vec::WT; bool IR2Vec::debug; -std::map IR2Vec::opcMap = - IR2Vec::Vocabulary::getVocabulary(); +unsigned IR2Vec::DIM; + std::unique_ptr IR2Vec::getLLVMIR() { SMDiagnostic err; static LLVMContext context; From 5b2f06d61fe753c2dbf031b2db4445c57fbfccc3 Mon Sep 17 00:00:00 2001 From: svkeerthy Date: Mon, 7 Oct 2024 23:03:12 +0530 Subject: [PATCH 05/17] Minor change in the position of DIM in constructor --- src/include/IR2Vec.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/include/IR2Vec.h b/src/include/IR2Vec.h index 7b6b7f58..53c4d8a2 100644 --- a/src/include/IR2Vec.h +++ b/src/include/IR2Vec.h @@ -31,8 +31,9 @@ class Embeddings { public: Embeddings() = default; - Embeddings(llvm::Module &M, IR2VecMode mode, std::string funcName = "", - unsigned dim = 300, float WO = 1, float WA = 0.2, float WT = 0.5) { + Embeddings(llvm::Module &M, IR2VecMode mode, unsigned dim = 300, + std::string funcName = "", float WO = 1, float WA = 0.2, + float WT = 0.5) { vocabulary = VocabularyFactory::createVocabulary(dim)->getVocabulary(); generateEncodings(M, mode, '\0', funcName, dim, nullptr, -1, WO, WA, WT); } @@ -41,8 +42,8 @@ class Embeddings { // file. Analogous to the command line options that are being used in IR2Vec // binary. Embeddings(llvm::Module &M, IR2VecMode mode, char level, std::ostream *o, - std::string funcName = "", unsigned dim = 300, float WO = 1, - float WA = 0.2, float WT = 0.5) { + unsigned dim = 300, std::string funcName = "", + float WO = 1, float WA = 0.2, float WT = 0.5) { vocabulary = VocabularyFactory::createVocabulary(dim)->getVocabulary(); generateEncodings(M, mode, level, funcName, dim, o, -1, WO, WA, WT); } From 9da8c7187524904d35b52677262a9d9cf3489560 Mon Sep 17 00:00:00 2001 From: "S. VenkataKeerthy" <31350914+svkeerthy@users.noreply.github.com> Date: Mon, 7 Oct 2024 23:05:15 +0530 Subject: [PATCH 06/17] Update README.md to reflect mutliple dims support --- README.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 8aa42518..15d33e6d 100644 --- a/README.md +++ b/README.md @@ -113,13 +113,16 @@ To ensure the correctness, run `make check` instructions. ### Using Binary -> ir2vec -\ -o \ -level \ -class \ -funcName=\ \ +> ir2vec -\ -dim \ -o \ -level \ -class \ -funcName=\ \ #### Command-Line options - `mode` - can be one of `sym`/`fa` - `sym` denotes Symbolic representation - `fa` denotes Flow-Aware representation +- `dim` - Dimensions of embeddings + - This is an optional argument. Defaults to `300`. + - Other supported dimensions are `75` and `100` - `o` - file in which the embeddings are to be appended; (Note : If file doesn’t exist, new file would be created, else embeddings would be appended) - `level` - can be one of chars `p`/`f`. - `p` denotes `program level` encoding @@ -141,16 +144,16 @@ Please use `--help` for further details. #### Flow-Aware Embeddings For all functions -* `` ir2vec -fa -o -level -class `` +* `` ir2vec -fa -dim -o -level -class `` For a specific function -* `` ir2vec -fa -o -level f -class -funcName=\`` +* `` ir2vec -fa -dim -o -level f -class -funcName=\`` #### Symbolic Embeddings For all functions - * `` ir2vec -sym -o -level -class `` + * `` ir2vec -sym -dim -o -level -class `` For a specific function - * `` ir2vec -sym -o -level f -class -funcName=\ `` + * `` ir2vec -sym -dim -o -level f -class -funcName=\ `` ## Using Libraries The libraries can be installed by passing the installation location to the `CMAKE_INSTALL_PREFIX` flag during `cmake` followed by `make install`. @@ -178,7 +181,7 @@ The following example snippet shows how to query the exposed vector representati // Creating object to generate FlowAware representation auto ir2vec = - IR2Vec::Embeddings(, IR2Vec::IR2VecMode::FlowAware); + IR2Vec::Embeddings(, IR2Vec::IR2VecMode::FlowAware, ); // Getting Instruction vectors corresponding to the instructions in auto instVecMap = ir2vec.getInstVecMap(); From a37b8bb8f5efcbb548a61ad36662e730fb0f9716 Mon Sep 17 00:00:00 2001 From: "S. VenkataKeerthy" <31350914+svkeerthy@users.noreply.github.com> Date: Mon, 7 Oct 2024 23:10:08 +0530 Subject: [PATCH 07/17] Update README.md of seed_embeddings to reflect multi dimensions support. --- seed_embeddings/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/seed_embeddings/README.md b/seed_embeddings/README.md index e68dae3f..419906dc 100644 --- a/seed_embeddings/README.md +++ b/seed_embeddings/README.md @@ -1,6 +1,10 @@ # Pretrained Embeddings If you do not want to train the model to generate seed embeddings, and want to use the pretrained vocabulary, please use the vocabulary given [here](../vocabulary) and skip the following. +Currently we support three different embedding dimensions (`75`, `100`, `300`). If you want to use embeddings of different dimensions, you can follow the below steps and copy the resultant +vocabulary to the [vocabulary](../vocabulary) directory with the following naming convention. `seedEmbeddingVocabD.txt`. Such vocabularies would be automatically used during the build +process of IR2Vec. + # Generation of Seed Embedding Vocabulary This directory helps in generating seed embedding vocabulary in 3 steps. 1. [Building ir2vec](#step-1-building-ir2vec) From b8701f5cbc15711c791bfeb60eca0bd4bbcd1612 Mon Sep 17 00:00:00 2001 From: svkeerthy Date: Mon, 7 Oct 2024 23:14:11 +0530 Subject: [PATCH 08/17] Fixing formatting issues --- seed_embeddings/OpenKE/analogy.py | 15 ++-- seed_embeddings/OpenKE/config/Trainer.py | 20 +++--- .../OpenKE/generate_embedding_ray.py | 61 ++++++++--------- src/IR2Vec.cpp | 3 +- src/generate_vocabulary.py | 68 ++++++++++++------- src/include/IR2Vec.h | 4 +- vocabulary/seedEmbeddingVocab100D.txt | 2 +- vocabulary/seedEmbeddingVocab75D.txt | 2 +- 8 files changed, 99 insertions(+), 76 deletions(-) diff --git a/seed_embeddings/OpenKE/analogy.py b/seed_embeddings/OpenKE/analogy.py index 3ce05533..effa3cce 100644 --- a/seed_embeddings/OpenKE/analogy.py +++ b/seed_embeddings/OpenKE/analogy.py @@ -6,13 +6,14 @@ import numpy as np from sklearn.metrics.pairwise import euclidean_distances + class AnalogyScorer: def __init__(self, analogy_file="analogies.txt"): self.entity_dict = {} self.analogies = self._load_analogies(analogy_file) def _load_analogies(self, file_path): - with open(file_path, 'r') as f: + with open(file_path, "r") as f: return [tuple(line.strip().split()) for line in f if line.strip()] def find_vec(self, str1): @@ -22,12 +23,12 @@ def gen_similarity_table(self, vec): keys = list(self.entity_dict.keys()) entity_matrix = np.array(list(self.entity_dict.values())) vec = vec.reshape(1, -1) - + # Calculate distances using euclidean_distances distances = euclidean_distances(vec, entity_matrix)[0] - + return dict(zip(keys, distances)) - + def findTopk(self, dict1, k, values): sortedByVal = dict(sorted(dict1.items(), key=lambda x: x[1])) del sortedByVal[values[0].upper()] @@ -35,11 +36,11 @@ def findTopk(self, dict1, k, values): del sortedByVal[values[2].upper()] return {k: sortedByVal[k] for k in list(sortedByVal)[:k]} - def get_analogy_score(self, entity_dict): + def get_analogy_score(self, entity_dict): self.entity_dict = entity_dict total_count = len(self.analogies) correct_count = 0 - + for values in self.analogies: vecA = self.find_vec(values[0]) vecB = self.find_vec(values[1]) @@ -56,4 +57,4 @@ def get_analogy_score(self, entity_dict): if values[3].upper() in top_k_dict: correct_count += 1 - return correct_count \ No newline at end of file + return correct_count diff --git a/seed_embeddings/OpenKE/config/Trainer.py b/seed_embeddings/OpenKE/config/Trainer.py index edc35671..c1552688 100755 --- a/seed_embeddings/OpenKE/config/Trainer.py +++ b/seed_embeddings/OpenKE/config/Trainer.py @@ -52,10 +52,10 @@ def __init__( self.save_steps = save_steps self.checkpoint_dir = checkpoint_dir # self.out_path = out_path - + self.entity_names = self.load_entity_names(index_dir) self.analogies = analogy.AnalogyScorer(analogy_file=analogy_file) - + def load_entity_names(self, index_dir): with open(os.path.join(index_dir, "entity2id.txt")) as fEntity: content = fEntity.read() @@ -93,7 +93,7 @@ def getEntityDict(self, ent_embeddings): mapping entity names to their corresponding embeddings. """ entity_dict = {} - + for i, entity_name in enumerate(self.entity_names): entity_dict[entity_name] = ent_embeddings[i].tolist() @@ -180,25 +180,27 @@ def run( # self.model => Negative Sampling object # self.mode.model => Transe model - ent_embeddings = self.model.model.ent_embeddings.weight.data.cpu().numpy() + ent_embeddings = ( + self.model.model.ent_embeddings.weight.data.cpu().numpy() + ) entity_dict = self.getEntityDict(ent_embeddings) analogy_score = self.analogies.get_analogy_score(entity_dict) metrics.update({"AnalogiesScore": analogy_score}) print("Analogy Score completed") - + del entity_dict - + if best_metric_val <= analogy_score: best_metric_val = analogy_score save_ckpt = True - else: # loss + else: # loss if best_metric_val >= res: best_metric_val = res save_ckpt = True - + with tempfile.TemporaryDirectory() as temp_checkpoint_dir: - # Save the checkpoint... + # Save the checkpoint... checkpoint = None if save_ckpt: self.model.save_checkpoint( diff --git a/seed_embeddings/OpenKE/generate_embedding_ray.py b/seed_embeddings/OpenKE/generate_embedding_ray.py index 615371f2..8eb70a73 100644 --- a/seed_embeddings/OpenKE/generate_embedding_ray.py +++ b/seed_embeddings/OpenKE/generate_embedding_ray.py @@ -28,6 +28,7 @@ os.environ["CUDA_VISIBLE_DEVICES"] = "0,1" + def test_files(index_dir): entities = os.path.join(index_dir, "entity2id.txt") relations = os.path.join(index_dir, "relation2id.txt") @@ -41,6 +42,7 @@ def test_files(index_dir): if not os.path.exists(train): raise Exception("train2id.txt not found") + def train(config, args=None): # dataloader for training train_dataloader = TrainDataLoader( @@ -110,37 +112,37 @@ def findRep(src, index_dir, src_type="json"): for i in range(1, int(entities[0])): toTxt += entities[i].split("\t")[0] + ":" + str(rep[i - 1]) + ",\n" toTxt += ( - entities[int(entities[0])].split("\t")[0] - + ":" - + str(rep[int(entities[0]) - 1]) + entities[int(entities[0])].split("\t")[0] + ":" + str(rep[int(entities[0]) - 1]) ) return toTxt + def reformat_embeddings(input_str): # Split the string by '],' to isolate each object - entries = input_str.split('],') - + entries = input_str.split("],") + formatted_entries = [] - + for entry in entries: # Remove any newline characters - cleaned_entry = entry.replace('\n', ' ') - + cleaned_entry = entry.replace("\n", " ") + # Split the object name from the values part - obj_name, values = cleaned_entry.split(':[') - + obj_name, values = cleaned_entry.split(":[") + # Remove extra spaces and replace multiple spaces with a single one using regex - values = re.sub(r'\s+', ' ', values.split(']')[0].strip()) - + values = re.sub(r"\s+", " ", values.split("]")[0].strip()) + # Replace spaces between numbers with commas and add the closing bracket - formatted_values = values.replace(' ', ', ') + ']' - + formatted_values = values.replace(" ", ", ") + "]" + # Recombine the object name with the formatted values formatted_entry = f"{obj_name.strip()}:[{formatted_values}" formatted_entries.append(formatted_entry) - + # Join all entries back into one string, separated by newline - return '\n'.join(formatted_entries) + return "\n".join(formatted_entries) + if __name__ == "__main__": ray.init() @@ -220,10 +222,10 @@ def reformat_embeddings(input_str): type=str, default="./analogies.txt", ) - + arg_conf = parser.parse_args() arg_conf.index_dir = arg_conf.index_dir + "/" - + try: test_files(arg_conf.index_dir) print("Files are OK") @@ -239,7 +241,7 @@ def reformat_embeddings(input_str): # "neg_ent": tune.randint(1, 30), # "neg_rel": tune.randint(1, 30), # "bern": tune.randint(0, 2), - "opt_method": "Adam", #tune.choice(["SGD", "Adam"]), + "opt_method": "Adam", # tune.choice(["SGD", "Adam"]), } try: @@ -258,7 +260,7 @@ def reformat_embeddings(input_str): else: metric = "loss" mode = "min" - + scheduler = ASHAScheduler( time_attr="training_iteration", max_t=arg_conf.epoch, @@ -271,13 +273,12 @@ def reformat_embeddings(input_str): if arg_conf.use_gpu: train_with_resources = tune.with_resources( - tune.with_parameters(train, args = arg_conf), - resources={"cpu": 8, "gpu": 0.15} + tune.with_parameters(train, args=arg_conf), + resources={"cpu": 8, "gpu": 0.15}, ) else: train_with_resources = tune.with_resources( - tune.with_parameters(train, args = arg_conf), - resources={"cpu": 10, "gpu": 0} + tune.with_parameters(train, args=arg_conf), resources={"cpu": 10, "gpu": 0} ) tuner = tune.Tuner( @@ -296,7 +297,7 @@ def reformat_embeddings(input_str): # *Best* checkpoints are determined by these params: checkpoint_score_attribute=metric, checkpoint_score_order=mode, - ) + ), ), ) results = tuner.fit() @@ -304,9 +305,7 @@ def reformat_embeddings(input_str): # Write the best result to a file, best_result.txt fin_res = results.get_best_result(metric=metric, mode=mode) with open(os.path.join(arg_conf.index_dir, "best_result.txt"), "a") as f: - f.write( - "\n" + str(fin_res) - ) + f.write("\n" + str(fin_res)) if arg_conf.is_analogy: print( @@ -323,7 +322,7 @@ def reformat_embeddings(input_str): "Best Config Based on Loss : ", fin_res, ) - + # Get the best configuration best_config = fin_res.config print("best_config: ", best_config) @@ -366,10 +365,10 @@ def reformat_embeddings(input_str): margin, ), ) - + data = findRep(outfile, index_dir, src_type="ckpt") formatted_data = reformat_embeddings(data) - + # Write the embeddings to outfile embeddings_path = embeddings_path.replace(".ckpt", ".txt") print("embeddings_path: ", embeddings_path) diff --git a/src/IR2Vec.cpp b/src/IR2Vec.cpp index 3e328320..6fe0b3a9 100644 --- a/src/IR2Vec.cpp +++ b/src/IR2Vec.cpp @@ -38,7 +38,8 @@ cl::opt cl_collectIR( cl::opt cl_iname(cl::Positional, cl::desc("Input file path"), cl::Required, cl::cat(category)); cl::opt cl_dim("dim", cl::Optional, cl::init(300), - cl::desc("Dimension of the embeddings"), cl::cat(category)); + cl::desc("Dimension of the embeddings"), + cl::cat(category)); cl::opt cl_oname("o", cl::Required, cl::desc("Output file path"), cl::cat(category)); // for on demand generation of embeddings taking function name diff --git a/src/generate_vocabulary.py b/src/generate_vocabulary.py index fbbef6cc..80068717 100644 --- a/src/generate_vocabulary.py +++ b/src/generate_vocabulary.py @@ -10,20 +10,22 @@ import sys import os + class VocabularyError(Exception): """Custom exception for vocabulary errors.""" + pass + # Common header strings HEADER_GENERATED = "// Generated by IR2Vec. DO NOT EDIT!\n" -HEADER_VOCABULARY_BASE = ( - "// This file defines the base class for vocabulary and the factory \n// for creating vocabulary instances used by IR2Vec.\n" -) +HEADER_VOCABULARY_BASE = "// This file defines the base class for vocabulary and the factory \n// for creating vocabulary instances used by IR2Vec.\n" HEADER_VOCABULARY_CLASS = ( "// This file defines the {class_name} vocabulary class used by IR2Vec.\n" ) HEADER_CLANG_FORMAT_OFF = "// clang-format off\n" + def write_file(file_path, content): try: with open(file_path, "w") as fw: @@ -44,7 +46,6 @@ def generate_base_vocabulary_header(): "#include \n" "#include \n" "#include // For std::invalid_argument\n" - "namespace IR2Vec {\n\n" "using Vector = std::vector;\n\n" "class VocabularyBase {\n" @@ -59,7 +60,8 @@ def generate_base_vocabulary_header(): "} // namespace IR2Vec\n\n" "#endif // __VOCABULARY_H__\n" ) - + + def generate_vocabulary_class(vocab_file, class_name): class_header = ( f"{HEADER_GENERATED}" @@ -70,7 +72,7 @@ def generate_vocabulary_class(vocab_file, class_name): f"#include \n" f"#include \n" f"#include \n" - f"#include \"Vocabulary.h\" // Include the base class\n\n" + f'#include "Vocabulary.h" // Include the base class\n\n' f"namespace IR2Vec {{\n\n" f"class {class_name} : public VocabularyBase {{\n" f"public:\n" @@ -82,7 +84,9 @@ def generate_vocabulary_class(vocab_file, class_name): f"}};\n" ) - opening = f"\nconst std::map {class_name}::vocabulary = {{\n" + opening = ( + f"\nconst std::map {class_name}::vocabulary = {{\n" + ) closing = """\ }; } // namespace IR2Vec @@ -95,7 +99,9 @@ def generate_vocabulary_class(vocab_file, class_name): for line in fr.readlines(): key, val = line.strip().split(":") e = val.find("]") - vector_definitions += f"const IR2Vec::Vector {key}_vector_{dim} = {{ {val[1:e]} }};\n" + vector_definitions += ( + f"const IR2Vec::Vector {key}_vector_{dim} = {{ {val[1:e]} }};\n" + ) vocabulary_entries = "" with open(vocab_file, "r") as fr: @@ -105,18 +111,19 @@ def generate_vocabulary_class(vocab_file, class_name): return class_header + vector_definitions + opening + vocabulary_entries + closing + def generate_vocabulary_factory(class_names): factory_header = ( f"{HEADER_GENERATED}" f"{HEADER_VOCABULARY_BASE}" f"{HEADER_CLANG_FORMAT_OFF}\n" "#include \n" # For std::unique_ptr - "#include \"Vocabulary.h\"\n\n" + '#include "Vocabulary.h"\n\n' ) # Include headers for each vocabulary class for class_name in class_names: - factory_header += f"#include \"{class_name}.h\"\n" + factory_header += f'#include "{class_name}.h"\n' factory_header += "\nnamespace IR2Vec {\n\n" @@ -130,52 +137,65 @@ def generate_vocabulary_factory(class_names): dim = class_name.replace("Vocabulary", "").replace("D", "") factory_cases += f" case {dim}:\n return std::make_unique<{class_name}>();\n" - factory_footer = ( - """\ + factory_footer = """\ default: throw std::invalid_argument("Invalid dimension for vocabulary creation."); } } } // namespace IR2Vec\n """ - ) return factory_header + factory_function + factory_cases + factory_footer + def main(): - parser = argparse.ArgumentParser(description="Generate vocabulary and factory files.") - parser.add_argument('type', choices=['vocab', 'base'], help="Type of files to generate.") - parser.add_argument('input', help="Input vocabulary text file or dimensions as a comma-separated list.") - parser.add_argument('output', help="Output file path.") + parser = argparse.ArgumentParser( + description="Generate vocabulary and factory files." + ) + parser.add_argument( + "type", choices=["vocab", "base"], help="Type of files to generate." + ) + parser.add_argument( + "input", + help="Input vocabulary text file or dimensions as a comma-separated list.", + ) + parser.add_argument("output", help="Output file path.") args = parser.parse_args() if args.type is None or args.input is None or args.output is None: raise VocabularyError("Type, input, or output not provided.") - if args.type == 'vocab': + if args.type == "vocab": # Generate vocabulary class based on input file vocab_file = args.input - + # Extract dimension from the file name - dim = os.path.splitext(os.path.basename(vocab_file))[0].split("D")[0].split("Vocab")[-1] + dim = ( + os.path.splitext(os.path.basename(vocab_file))[0] + .split("D")[0] + .split("Vocab")[-1] + ) class_name = f"Vocabulary{dim}D" vocab_class_code = generate_vocabulary_class(vocab_file, class_name) output_file = os.path.join(args.output, f"{class_name}.h") write_file(output_file, vocab_class_code) - elif args.type == 'base': + elif args.type == "base": # Generate base vocabulary header and factory implementation base_header_code = generate_base_vocabulary_header() output_file = os.path.join(args.output, "Vocabulary.h") write_file(output_file, base_header_code) # Parse the dimensions from the input and generate class names - dimensions = args.input.split(',') - class_names = [f"Vocabulary{dim}D" for dim in dimensions] # Create class names based on dimensions - + dimensions = args.input.split(",") + class_names = [ + f"Vocabulary{dim}D" for dim in dimensions + ] # Create class names based on dimensions + factory_code = generate_vocabulary_factory(class_names) output_file = os.path.join(args.output, "VocabularyFactory.cpp") write_file(output_file, factory_code) + if __name__ == "__main__": try: main() diff --git a/src/include/IR2Vec.h b/src/include/IR2Vec.h index 53c4d8a2..b67d7a0c 100644 --- a/src/include/IR2Vec.h +++ b/src/include/IR2Vec.h @@ -42,8 +42,8 @@ class Embeddings { // file. Analogous to the command line options that are being used in IR2Vec // binary. Embeddings(llvm::Module &M, IR2VecMode mode, char level, std::ostream *o, - unsigned dim = 300, std::string funcName = "", - float WO = 1, float WA = 0.2, float WT = 0.5) { + unsigned dim = 300, std::string funcName = "", float WO = 1, + float WA = 0.2, float WT = 0.5) { vocabulary = VocabularyFactory::createVocabulary(dim)->getVocabulary(); generateEncodings(M, mode, level, funcName, dim, o, -1, WO, WA, WT); } diff --git a/vocabulary/seedEmbeddingVocab100D.txt b/vocabulary/seedEmbeddingVocab100D.txt index 9bc6b11a..f026c576 100644 --- a/vocabulary/seedEmbeddingVocab100D.txt +++ b/vocabulary/seedEmbeddingVocab100D.txt @@ -60,4 +60,4 @@ variable:[-0.04745717, -0.08637991, 0.1639285, 0.05114051, 0.03557682, -0.129909 vectorTy:[0.09214257, -0.04254282, -0.2082744, 0.1489835, 0.16765025, 0.12442486, -0.06085881, -0.02866303, 0.18554689, -0.08484387, 0.16206563, -0.01242073, 0.17323564, 0.06107936, -0.09174694, -0.0495562, -0.01831215, 0.04182582, -0.03232431, 0.08220705, 0.01549849, -0.1049181, -0.14759736, -0.03965862, 0.0188947, -0.10498622, -0.1803732, 0.16405664, 0.14511505, -0.10143329, -0.06956764, 0.05751402, 0.02792842, 0.14136231, 0.03651895, -0.11449363, 0.07786072, 0.12971582, 0.20839804, 0.20588775, 0.12468194, 0.00039439, 0.01450426, 0.15445328, 0.01187558, -0.07902222, -0.06411007, -0.05476548, 0.20955466, 0.15925792, 0.14728937, -0.00367325, -0.12067425, -0.11644303, -0.21257977, 0.21884163, -0.01551571, 0.06547339, -0.03973668, -0.09633668, -0.24208052, 0.11933044, -0.16694735, 0.04643975, -0.09887692, 0.05033477, -0.12200441, 0.1662296, -0.01365205, 0.01528752, -0.10588146, -0.08806136, -0.20088676, 0.05208419, -0.03125093, -0.06816924, -0.08123421, 0.0129625, -0.08165248, -0.14954782, -0.08383283, -0.0757656, -0.05523998, -0.13218589, 0.15462421, 0.02526899, -0.02197613, 0.06456108, -0.08720388, 0.10372602, -0.01931399, -0.13187875, 0.08807088, 0.02672064, 0.00975798, -0.11998563, 0.10483557, 0.08746739, 0.13014027, -0.13334289] voidTy:[1.39123395e-01, -6.82682246e-02, -1.56617016e-01, -7.60084465e-02, 1.00919925e-01, 1.74035922e-01, -1.56080678e-01, -5.35190031e-02, 1.09261021e-01, -1.35638222e-01, 1.68325156e-01, 1.35690197e-01, -9.90925804e-02, -1.13364339e-01, -1.50621478e-02, 3.74432206e-02, -5.21973036e-02, 2.96468586e-02, 6.75825961e-03, -4.00914066e-02, 6.65328428e-02, 1.53036490e-01, 9.56951156e-02, 9.35865939e-02, 2.17673816e-02, 1.03012696e-01, -1.14968633e-02, -8.92200693e-02, 2.22642094e-01, -1.38613293e-02, -5.15563693e-03, 9.23900530e-02, -1.27655804e-01, 3.78469527e-02, 3.11730765e-02, -1.27757015e-02, 1.26724884e-01, 2.15029139e-02, 1.60096169e-01, 3.17343101e-02, -1.03545554e-01, -1.24611840e-01, -4.03355211e-02, -7.08277300e-02, 8.45108777e-02, -1.04451224e-01, 1.16720572e-01, 1.48278670e-02, 1.84134856e-01, -1.62828434e-02, -1.64145931e-05, -6.86618909e-02, -1.37460783e-01, 7.12566301e-02, 6.22349456e-02, -1.15113214e-01, -1.57700866e-01, 1.28431082e-01, -1.25484526e-01, -2.16529414e-01, -9.91288945e-02, -7.96836540e-02, 7.39990473e-02, -5.88596649e-02, -2.84298491e-02, -5.15003502e-02, 2.06307825e-02, -1.38278484e-01, 3.76871638e-02, -6.28824681e-02, 5.19816801e-02, -1.90032780e-01, -4.50734906e-02, -1.09323092e-01, 5.38111515e-02, 8.90467837e-02, 8.49439353e-02, -2.58022826e-02, -5.37883528e-02, -1.73901737e-01, 1.35274500e-01, -9.15873423e-02, -6.80732578e-02, -9.18437913e-02, 7.81169087e-02, 1.10999197e-01, -8.34695622e-02, -1.86496139e-01, -1.59131661e-01, -5.79612404e-02, -3.66159305e-02, 8.42922255e-02, 1.44578693e-02, 3.29559147e-02, 6.82946946e-03, -5.06191142e-02, 1.35032460e-01, 1.89761311e-01, -1.47584870e-01, -4.90086749e-02] xor:[-0.16921039, 0.12408639, -0.034145, 0.13137488, -0.04762559, -0.03108282, 0.11359347, 0.04723426, 0.08214669, -0.08919795, 0.08350056, 0.02434964, -0.0256896, 0.18628141, 0.09431785, 0.02161829, -0.17557403, 0.01662976, 0.15725583, 0.13712473, -0.00457354, 0.03745704, -0.03570157, 0.06576116, 0.06272607, 0.01721253, -0.01528889, 0.06864108, -0.03288332, 0.09796044, 0.09011626, -0.23149484, 0.08231667, 0.04841082, -0.13498706, -0.05696484, -0.05362453, -0.11720514, 0.00099914, -0.23637904, -0.06771386, 0.13900891, 0.19573559, 0.01353323, 0.09763495, 0.16432948, -0.08079959, 0.0538074, 0.07155547, 0.02535601, -0.16881762, -0.02021813, -0.12348865, 0.01615006, -0.05484886, 0.27608117, -0.17019226, -0.05588771, 0.14863412, -0.01168946, 0.22599666, -0.0703093, 0.15534535, -0.12977424, -0.25004354, -0.17313497, 0.13966106, -0.09113417, -0.01070651, -0.19820745, 0.09653766, -0.0886725, 0.04275795, 0.05763382, 0.08995168, -0.0497935, -0.14781837, 0.03620582, -0.16778147, 0.01618672, -0.23161617, 0.20526892, -0.03256932, 0.1128776, 0.05835852, -0.17659847, 0.19213665, 0.1507903, -0.23795094, -0.00641877, 0.10532196, -0.17336258, -0.18323651, 0.01772483, 0.14239813, 0.03483916, 0.12513739, -0.1615746, 0.01592221, 0.06976533] -zext:[-1.33044437e-01, -2.52875745e-01, 3.50738093e-02, -2.03829944e-01, -5.82297966e-02, -1.05092958e-01, 4.42118868e-02, 1.12847589e-01, -1.57210976e-02, 9.47973505e-02, 8.15101340e-02, 4.34930958e-02, -7.35153481e-02, 1.79205835e-01, 4.31320854e-02, 6.20642006e-02, 1.99731160e-02, -1.93929952e-03, -4.71815653e-02, 1.87836722e-01, -6.38541579e-02, 5.80772832e-02, 5.34959137e-02, -6.36336505e-02, -9.44561362e-02, -3.94840681e-05, 1.80340484e-02, 6.65806234e-02, 1.84422173e-02, 1.28611282e-01, 6.59179240e-02, -1.37597591e-01, 1.75117403e-01, -4.69908975e-02, 6.37586415e-02, -6.76920712e-02, -4.30216230e-02, -6.56124204e-02, -4.91032265e-02, -1.42709956e-01, -1.11875355e-01, -8.30171350e-03, 2.17935696e-01, 6.31718040e-02, 1.23638242e-01, 1.87138334e-01, -1.01252785e-02, 6.76815137e-02, -7.43541047e-02, -7.46816248e-02, -1.13281965e-01, 1.19622834e-01, 1.11896917e-02, 8.83216560e-02, 3.06905359e-02, 1.12930745e-01, -1.71396554e-01, -1.75105166e-02, -4.67790440e-02, 1.85718816e-02, -1.56841706e-02, 7.76569992e-02, 1.44308535e-02, -1.63253114e-01, 1.79000050e-02, 1.80133302e-02, 3.17333966e-01, -7.50223324e-02, -8.86120647e-02, 1.56262398e-01, 7.72838667e-02, -6.56765550e-02, -1.00097515e-01, -3.52685601e-02, -1.37866139e-01, 3.65538932e-02, 1.63608536e-01, -5.79393171e-02, 2.18970180e-02, -5.66484667e-02, -6.28089085e-02, 1.92560479e-01, 4.35242988e-02, 3.29817012e-02, 2.57029757e-02, -1.71366796e-01, 4.26483452e-02, 3.12984526e-01, -5.45212887e-02, -2.74304971e-02, 2.81224921e-02, -1.13750860e-01, -7.34276101e-02, 1.34958059e-01, 1.25591040e-01, 1.68564655e-02, -1.45978597e-03, 1.05855344e-02, -2.16981005e-02, -6.22510351e-02] \ No newline at end of file +zext:[-1.33044437e-01, -2.52875745e-01, 3.50738093e-02, -2.03829944e-01, -5.82297966e-02, -1.05092958e-01, 4.42118868e-02, 1.12847589e-01, -1.57210976e-02, 9.47973505e-02, 8.15101340e-02, 4.34930958e-02, -7.35153481e-02, 1.79205835e-01, 4.31320854e-02, 6.20642006e-02, 1.99731160e-02, -1.93929952e-03, -4.71815653e-02, 1.87836722e-01, -6.38541579e-02, 5.80772832e-02, 5.34959137e-02, -6.36336505e-02, -9.44561362e-02, -3.94840681e-05, 1.80340484e-02, 6.65806234e-02, 1.84422173e-02, 1.28611282e-01, 6.59179240e-02, -1.37597591e-01, 1.75117403e-01, -4.69908975e-02, 6.37586415e-02, -6.76920712e-02, -4.30216230e-02, -6.56124204e-02, -4.91032265e-02, -1.42709956e-01, -1.11875355e-01, -8.30171350e-03, 2.17935696e-01, 6.31718040e-02, 1.23638242e-01, 1.87138334e-01, -1.01252785e-02, 6.76815137e-02, -7.43541047e-02, -7.46816248e-02, -1.13281965e-01, 1.19622834e-01, 1.11896917e-02, 8.83216560e-02, 3.06905359e-02, 1.12930745e-01, -1.71396554e-01, -1.75105166e-02, -4.67790440e-02, 1.85718816e-02, -1.56841706e-02, 7.76569992e-02, 1.44308535e-02, -1.63253114e-01, 1.79000050e-02, 1.80133302e-02, 3.17333966e-01, -7.50223324e-02, -8.86120647e-02, 1.56262398e-01, 7.72838667e-02, -6.56765550e-02, -1.00097515e-01, -3.52685601e-02, -1.37866139e-01, 3.65538932e-02, 1.63608536e-01, -5.79393171e-02, 2.18970180e-02, -5.66484667e-02, -6.28089085e-02, 1.92560479e-01, 4.35242988e-02, 3.29817012e-02, 2.57029757e-02, -1.71366796e-01, 4.26483452e-02, 3.12984526e-01, -5.45212887e-02, -2.74304971e-02, 2.81224921e-02, -1.13750860e-01, -7.34276101e-02, 1.34958059e-01, 1.25591040e-01, 1.68564655e-02, -1.45978597e-03, 1.05855344e-02, -2.16981005e-02, -6.22510351e-02] diff --git a/vocabulary/seedEmbeddingVocab75D.txt b/vocabulary/seedEmbeddingVocab75D.txt index 08519c56..1db19858 100644 --- a/vocabulary/seedEmbeddingVocab75D.txt +++ b/vocabulary/seedEmbeddingVocab75D.txt @@ -60,4 +60,4 @@ variable:[-0.04416586, -0.06529783, 0.06804077, -0.17281267, 0.21564505, -0.1031 vectorTy:[0.06019246, -0.08325528, 0.06796158, -0.1322501, -0.05250492, -0.05546387, 0.00084803, -0.13031249, 0.10292219, 0.16610621, -0.10459585, 0.21548297, -0.26862848, 0.08505963, 0.07657417, 0.16639674, 0.06083921, -0.00245328, 0.01956977, 0.21975385, -0.16639455, 0.14512713, -0.15006405, -0.2066719, -0.18236274, 0.12637317, -0.09601986, 0.17929196, 0.15004157, -0.2437613, 0.11610509, -0.12576523, -0.13349846, 0.00924278, 0.05477205, 0.11079396, 0.0149577, 0.08251344, 0.02648669, 0.28141958, -0.16844293, 0.02850299, -0.1849258, -0.00724132, -0.19553263, 0.16303328, -0.09641571, -0.08541372, -0.01167152, -0.0498387, 0.13118263, 0.03702982, 0.16826656, -0.12130306, 0.05498985, 0.07180171, 0.01047648, 0.19805974, 0.1132893, 0.12827364, -0.15292895, -0.0969883, 0.15015276, 0.25131726, 0.03910673, -0.12237693, 0.12764196, 0.14949943, -0.11722989, -0.142063, 0.07540323, 0.00866951, -0.16423495, 0.1803801, 0.08819818] voidTy:[0.02707169, -0.1911424, 0.18000233, -0.10855684, -0.15720911, -0.16028677, 0.08442728, 0.14063193, 0.14310814, 0.15267418, 0.03571516, 0.17472863, -0.1096759, -0.04809512, 0.15041178, 0.1852203, -0.08891776, 0.06437854, 0.07771051, 0.17514206, -0.18457355, 0.17228611, 0.14382029, 0.17567936, -0.19985509, 0.14512071, 0.00597054, -0.0005212, 0.16043086, 0.01015274, 0.1932167, 0.10049, -0.18615878, -0.14139535, -0.07989334, 0.13810824, 0.00811669, 0.16482183, -0.0484471, 0.05603446, -0.19822212, 0.21622814, -0.13391475, -0.07386104, -0.01220543, -0.17700416, 0.02550385, -0.04609942, 0.19161303, -0.08407282, 0.17597687, 0.01678882, 0.17494556, -0.15565564, 0.18086468, 0.01991182, -0.07939529, -0.04929006, 0.17783763, 0.18024826, -0.14163949, 0.18041377, 0.11955009, 0.00620418, 0.1386835, -0.18642457, 0.09366929, 0.16274834, -0.12151442, -0.19673795, 0.0550727, 0.10491449, 0.14478931, -0.02286906, 0.05187593] xor:[-0.14333177, 0.17120288, -0.11569388, -0.22889645, 0.0944928, 0.13705893, -0.1748709, -0.27198055, -0.20403583, -0.00204914, 0.16587155, 0.03005969, 0.03635887, 0.12084309, -0.17170708, 0.01672503, 0.2855867, -0.13425359, 0.2921407, 0.0620962, 0.00266978, -0.0903588, -0.06116274, -0.08814006, -0.04630399, -0.18787035, -0.1754261, -0.20075771, -0.18573092, -0.11999942, -0.14531347, -0.171928, 0.04110451, -0.10397294, -0.03485578, -0.17938605, 0.08046042, -0.19675075, -0.14346175, -0.15566549, -0.0307311, -0.14872791, -0.03878547, -0.00254308, 0.1565295, 0.08097854, 0.16432391, 0.04949491, -0.17471117, 0.2079512, -0.17290911, 0.10197662, 0.01110592, 0.09702181, -0.21049088, -0.05485036, 0.16571115, 0.13224575, -0.00631514, -0.0666507, 0.10324501, 0.04556064, -0.0946413, 0.1366175, -0.14613271, 0.1439316, 0.01403525, -0.06756077, 0.15449193, 0.01570368, 0.00935933, -0.07182793, -0.05895546, 0.05251422, 0.00088228] -zext:[0.14294301, 0.16004492, -0.133936, 0.17041178, 0.10354671, 0.14033805, -0.18445012, -0.25389433, -0.18157399, -0.06085023, 0.15627292, 0.05945444, 0.0152561, 0.11567469, -0.12275951, 0.01612445, 0.2721165, -0.12822908, 0.29646817, 0.06210494, -0.00723742, -0.1003171, -0.06575806, -0.05716129, -0.04435528, -0.16020222, -0.23530036, -0.18981609, -0.14945146, -0.11926567, -0.08064298, -0.2043876, 0.04202923, -0.10597136, -0.03096929, -0.17040831, 0.0771085, -0.18618186, 0.16527407, -0.14749476, -0.02966438, -0.14139591, 0.0018809, -0.02142575, 0.14795087, 0.07683742, -0.01349613, 0.04579562, -0.17163049, 0.02995836, -0.17292565, 0.11137506, 0.01039091, 0.13139422, -0.19006667, -0.09951284, 0.15722732, 0.12452687, -0.00450555, -0.02189622, 0.13461596, 0.06696767, -0.04037055, -0.13414587, -0.1399019, 0.1544194, 0.01091198, -0.0665535, 0.11422376, 0.00154535, -0.13661395, -0.04903502, -0.05472786, 0.05032588, 0.00220357] \ No newline at end of file +zext:[0.14294301, 0.16004492, -0.133936, 0.17041178, 0.10354671, 0.14033805, -0.18445012, -0.25389433, -0.18157399, -0.06085023, 0.15627292, 0.05945444, 0.0152561, 0.11567469, -0.12275951, 0.01612445, 0.2721165, -0.12822908, 0.29646817, 0.06210494, -0.00723742, -0.1003171, -0.06575806, -0.05716129, -0.04435528, -0.16020222, -0.23530036, -0.18981609, -0.14945146, -0.11926567, -0.08064298, -0.2043876, 0.04202923, -0.10597136, -0.03096929, -0.17040831, 0.0771085, -0.18618186, 0.16527407, -0.14749476, -0.02966438, -0.14139591, 0.0018809, -0.02142575, 0.14795087, 0.07683742, -0.01349613, 0.04579562, -0.17163049, 0.02995836, -0.17292565, 0.11137506, 0.01039091, 0.13139422, -0.19006667, -0.09951284, 0.15722732, 0.12452687, -0.00450555, -0.02189622, 0.13461596, 0.06696767, -0.04037055, -0.13414587, -0.1399019, 0.1544194, 0.01091198, -0.0665535, 0.11422376, 0.00154535, -0.13661395, -0.04903502, -0.05472786, 0.05032588, 0.00220357] From 6cf732bcbc5dd1b57903fb27d5f178b1a220a8c8 Mon Sep 17 00:00:00 2001 From: nishant-sachdeva Date: Tue, 8 Oct 2024 18:51:47 +0530 Subject: [PATCH 09/17] BugFix SegFault while generating SYM embeddings with sqlite3.ll Status - Fixed --- src/Symbolic.cpp | 2 +- src/test-suite/oracle/SYM_llvm17_p/sqlite3.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Symbolic.cpp b/src/Symbolic.cpp index 59eab2ce..a8f75c9a 100644 --- a/src/Symbolic.cpp +++ b/src/Symbolic.cpp @@ -28,7 +28,7 @@ using namespace IR2Vec; using abi::__cxa_demangle; Vector IR2Vec_Symbolic::getValue(std::string key) { - Vector vec; + Vector vec(DIM, 0); if (vocabulary.find(key) == vocabulary.end()) IR2VEC_DEBUG(errs() << "cannot find key in map : " << key << "\n"); else diff --git a/src/test-suite/oracle/SYM_llvm17_p/sqlite3.txt b/src/test-suite/oracle/SYM_llvm17_p/sqlite3.txt index 7e5ab73b..80aeff05 100644 --- a/src/test-suite/oracle/SYM_llvm17_p/sqlite3.txt +++ b/src/test-suite/oracle/SYM_llvm17_p/sqlite3.txt @@ -1 +1 @@ -16914.214172 1840.963612 -8056.768579 21579.305453 -906.262205 -14727.750711 4137.897728 12411.245494 -6586.577729 -37492.964734 -23503.579107 24019.665282 3178.140591 -4723.500753 5407.842244 7912.921167 -3458.007608 3013.286848 -43144.929418 15115.546246 13531.053632 4908.258806 -5820.302126 -7871.660645 3889.551273 -10608.906240 1448.299046 10127.834420 1014.800933 22875.036123 -11217.396606 7132.652507 18359.679961 -541.432431 9754.327113 19447.189792 -5458.297947 1001.803515 1260.266054 429.515246 30198.629348 18262.393044 -3520.028532 10885.129589 9038.867032 23509.461660 -2190.924487 20668.772705 -4464.237518 -15003.251139 10138.776080 7383.103845 -17749.750384 -2971.023222 -14480.273423 9624.178060 19172.138324 8872.303230 -11147.777716 11520.362299 -11789.698651 -2464.035909 7416.324752 381.487262 27537.998172 14634.787225 15946.290784 14708.178722 30142.986762 -11951.156505 -2847.544498 13036.279684 11946.873288 -2281.002892 14178.835480 -9445.563955 -21959.072204 -11427.626110 14.950048 -38164.969681 -15326.407916 -604.005724 40969.720254 -22921.026771 1021.245459 6482.292367 8335.949495 22709.037213 -15671.772052 -634.916992 -16388.880672 -88.372465 -10411.435811 38141.528995 1444.237535 7092.407774 -3015.810814 9673.987822 10480.803898 17367.615576 -5099.230566 -15713.135321 -16277.581293 -37081.163429 -8470.125739 -8772.651484 3261.668365 7589.841179 -31083.117699 -6787.744450 7673.834177 27727.294920 -34264.453388 -1024.019126 18412.358452 9384.182441 16855.866440 7579.575966 -20625.224866 4570.472021 1587.196202 1714.091642 13996.430750 -8729.059297 -1445.531903 -5345.869665 6737.841282 747.071812 5712.435997 1316.571824 -37393.893115 -11137.285625 3457.923217 -7597.644020 934.439596 4310.015852 8189.372290 -13761.423625 12699.496546 -14782.421306 18183.527744 -33691.703352 -517.262789 -11239.399834 -19974.966452 -3504.060581 16885.975472 25761.155805 14053.165475 -6681.317758 -6153.418469 -7325.079859 -30356.658229 -34656.871696 6283.765911 -1758.163001 8988.464773 -1522.551626 -1673.995728 5009.828211 -9656.368676 1426.665633 9335.348034 -11649.556808 -1566.318860 -6295.734684 31544.197891 661.649733 -4830.674434 -14478.650575 -8427.805505 -545.973874 2502.690463 15002.196104 -6300.676337 -33845.085246 -34194.679896 -18256.095681 19120.451916 -4796.204741 -1357.198324 -13606.642437 -3021.046722 -18445.044067 3332.247063 -17445.313795 6821.379552 -1561.129509 -13353.268278 -23115.474322 472.936692 -1898.996769 -9484.504976 -5017.053747 -15333.591479 -5749.949470 18458.335412 4047.862621 8084.542286 3028.814311 1129.188741 -21428.210033 -19353.038396 5786.410664 -7532.951615 21430.806942 19577.147353 459.479687 -18445.971763 -4433.705096 -27620.540913 19828.835893 -17033.978568 4474.063320 -6138.081727 -9289.859715 29276.565507 -13631.410108 -7187.016573 -18083.697502 8781.137185 3854.077762 -34757.682776 32445.021522 20843.803376 -11541.272980 -4382.951260 -1828.406638 2398.068724 18359.047156 21539.259133 -15484.985073 -13341.607581 3250.685126 -6791.923469 -1860.182208 -395.840937 16642.290996 -16803.371117 11532.507834 -15286.484050 -9243.681272 12537.733834 16148.825960 493.864148 8958.987453 -833.191497 -2730.725876 8574.123858 17163.311834 13874.951473 -6250.890749 -19190.295017 -44012.399335 13558.447731 -8566.129714 -6785.466744 -403.105960 -9429.032390 -19264.410796 3993.546581 -5802.231716 24354.598056 802.353023 -11928.318532 16617.764262 -27415.844372 -24580.951602 -13247.186538 2753.917039 -291.838695 -5530.368520 7072.636033 -7053.490037 6451.836519 9084.519734 856.179694 1720.038980 -17071.204665 -10241.571031 -236.670560 18695.744940 8736.999602 -4602.100388 24403.244235 5754.482284 -10343.410231 -6480.548159 858.463332 31.853096 -2285.052285 -20497.891846 -9698.522648 -9221.781745 8000.340915 -9367.694417 14972.296732 1337.978384 1709.723559 9941.290745 +16914.239737 1840.981802 -8056.817911 21579.296520 -906.316497 -14727.797115 4137.876401 12411.280953 -6586.562078 -37492.964788 -23503.569943 24019.669262 3178.205893 -4723.530913 5407.877824 7912.934175 -3458.056365 3013.332508 -43144.954157 15115.587790 13531.105645 4908.255795 -5820.292873 -7871.662108 3889.509265 -10608.904523 1448.248686 10127.800801 1014.830101 22875.078128 -11217.396718 7132.679162 18359.717864 -541.438802 9754.257737 19447.217860 -5458.309037 1001.817028 1260.314788 429.579484 30198.570108 18262.427973 -3520.038288 10885.075944 9038.812628 23509.483794 -2190.944232 20668.774651 -4464.250265 -15003.294026 10138.764168 7383.131005 -17749.769020 -2971.040689 -14480.221331 9624.128167 19172.139926 8872.318439 -11147.725663 11520.408401 -11789.705205 -2464.030694 7416.382130 381.455867 27538.019036 14634.785688 15946.268038 14708.151110 30142.996306 -11951.106543 -2847.509524 13036.231473 11946.824998 -2281.054380 14178.859285 -9445.563182 -21959.103018 -11427.606841 14.912112 -38164.977695 -15326.420244 -603.970317 40969.728375 -22921.064083 1021.286277 6482.304357 8335.991977 22709.055046 -15671.783603 -634.899949 -16388.840622 -88.332475 -10411.444594 38141.554630 1444.259569 7092.443766 -3015.865027 9673.946988 10480.841084 17367.560567 -5099.253692 -15713.142826 -16277.614827 -37081.121866 -8470.087895 -8772.695145 3261.617294 7589.888150 -31083.167349 -6787.786026 7673.836229 27727.297982 -34264.481233 -1024.028217 18412.394089 9384.169209 16855.899739 7579.575724 -20625.235935 4570.505635 1587.160090 1714.117516 13996.453395 -8729.095252 -1445.557029 -5345.863490 6737.833569 747.055197 5712.422391 1316.527676 -37393.900410 -11137.265844 3457.965800 -7597.648260 934.481986 4310.048412 8189.398913 -13761.396469 12699.444894 -14782.420681 18183.541891 -33691.705523 -517.295608 -11239.351844 -19974.972755 -3504.103564 16885.970313 25761.163018 14053.129381 -6681.360009 -6153.439637 -7325.041675 -30356.665962 -34656.875345 6283.795943 -1758.203649 8988.503016 -1522.547334 -1674.032901 5009.783444 -9656.320812 1426.717636 9335.323929 -11649.579409 -1566.264106 -6295.697504 31544.229203 661.708670 -4830.708982 -14478.667480 -8427.860576 -546.023168 2502.741735 15002.197463 -6300.629787 -33845.061481 -34194.710072 -18256.110279 19120.491248 -4796.227638 -1357.236390 -13606.687977 -3021.077596 -18445.043532 3332.226701 -17445.271984 6821.364180 -1561.079711 -13353.216394 -23115.517049 472.908057 -1899.034310 -9484.498702 -5017.093886 -15333.627221 -5750.003736 18458.345214 4047.839714 8084.505585 3028.808299 1129.165422 -21428.166980 -19353.033854 5786.461144 -7532.987514 21430.789465 19577.137261 459.527968 -18446.000678 -4433.673779 -27620.511413 19828.856589 -17033.992846 4474.089827 -6138.113014 -9289.834124 29276.613087 -13631.383000 -7187.036561 -18083.712847 8781.180054 3854.047879 -34757.666827 32445.019073 20843.795104 -11541.262047 -4382.903431 -1828.347616 2398.051750 18359.092437 21539.233307 -15484.982620 -13341.666013 3250.718549 -6791.955915 -1860.230467 -395.803710 16642.242498 -16803.428262 11532.492267 -15286.435404 -9243.626667 12537.684768 16148.850751 493.906823 8958.963143 -833.235873 -2730.757479 8574.134740 17163.255209 13874.967743 -6250.944147 -19190.288741 -44012.376401 13558.481189 -8566.152492 -6785.430969 -403.129459 -9429.027801 -19264.395602 3993.598922 -5802.239763 24354.552599 802.349434 -11928.311191 16617.765536 -27415.878160 -24581.004090 -13247.229632 2753.975665 -291.792378 -5530.310934 7072.628982 -7053.494335 6451.878346 9084.561345 856.200951 1720.079651 -17071.271865 -10241.539163 -236.615965 18695.779908 8736.988008 -4602.147639 24403.284676 5754.462882 -10343.425092 -6480.598526 858.419776 31.810921 -2285.101590 -20497.857665 -9698.512085 -9221.734122 8000.390882 -9367.662544 14972.344512 1337.949051 1709.686658 9941.308840 From 792067b8c81a9bc348a2cf1853a4b69af84f8816 Mon Sep 17 00:00:00 2001 From: nishant-sachdeva Date: Tue, 8 Oct 2024 19:22:00 +0530 Subject: [PATCH 10/17] Fixed cp build/vocabulary.h import error --- Manylinux2014_Compliant_Source/pkg/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Manylinux2014_Compliant_Source/pkg/build.sh b/Manylinux2014_Compliant_Source/pkg/build.sh index a43ec996..c252eb7b 100644 --- a/Manylinux2014_Compliant_Source/pkg/build.sh +++ b/Manylinux2014_Compliant_Source/pkg/build.sh @@ -18,7 +18,7 @@ cd .. cmake -DCMAKE_BUILD_TYPE=Release .. && make -j"$(nproc)" && make install cd .. -cp build/vocabulary.h Manylinux2014_Compliant_Source/pkg/ir2vec/ +cp build/include/Vocabulary*.h Manylinux2014_Compliant_Source/pkg/ir2vec/ cp src/include/utils.h Manylinux2014_Compliant_Source/pkg/ir2vec/ cp src/include/IR2Vec.h Manylinux2014_Compliant_Source/pkg/ir2vec/ cp build/src/version.h Manylinux2014_Compliant_Source/pkg/ir2vec/ From d4444ab22f1bb577f775701cb26c1c2752c376e4 Mon Sep 17 00:00:00 2001 From: nishant-sachdeva Date: Tue, 8 Oct 2024 19:34:09 +0530 Subject: [PATCH 11/17] Debug commit - compile error in core.cpp --- Manylinux2014_Compliant_Source/pkg/ir2vec/core.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Manylinux2014_Compliant_Source/pkg/ir2vec/core.cpp b/Manylinux2014_Compliant_Source/pkg/ir2vec/core.cpp index 360d9a37..41be2579 100644 --- a/Manylinux2014_Compliant_Source/pkg/ir2vec/core.cpp +++ b/Manylinux2014_Compliant_Source/pkg/ir2vec/core.cpp @@ -20,7 +20,6 @@ #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/MapVector.h" #include "llvm/ADT/SmallSet.h" -#include "llvm/ADT/SmallVector.h" #include "llvm/ADT/StringExtras.h" #include "llvm/ADT/StringRef.h" #include "llvm/IR/CFG.h" @@ -87,7 +86,7 @@ class IR2VecHandler { std::string getLevel() { return level; } // Function to get Program Vector List - PyObject *createProgramVectorList(llvm::SmallVector llvmPgmVec) { + PyObject *createProgramVectorList(IR2Vec::Vector llvmPgmVec) { // for PgmVector PyObject *PgmList = PyList_New(0); for (auto &Pgm_it : llvmPgmVec) @@ -138,7 +137,7 @@ class IR2VecHandler { PyObject *instructionVectorList = PyList_New(0); for (auto &Inst_it : llvmInstVecMap) { PyObject *instructionVector = PyList_New(0); - // copy this SmallVector into c++ Vector + // copy this IR2Vec::Vector into c++ Vector for (auto &Vec_it : Inst_it.second) { PyList_Append(instructionVector, PyFloat_FromDouble(Vec_it)); } @@ -178,7 +177,7 @@ class IR2VecHandler { } if (type == OpType::Program) { - llvm::SmallVector progVector = emb->getProgramVector(); + IR2Vec::Vector progVector = emb->getProgramVector(); return this->createProgramVectorList(progVector); } else if (type == OpType::Function) { llvm::SmallMapVector From b7973f6c09d1f05cfb2be856e262e8abaee5c6b0 Mon Sep 17 00:00:00 2001 From: nishant-sachdeva Date: Tue, 8 Oct 2024 20:12:05 +0530 Subject: [PATCH 12/17] Extending API to accomodate DIM parameter --- .../pkg/ir2vec/core.cpp | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/Manylinux2014_Compliant_Source/pkg/ir2vec/core.cpp b/Manylinux2014_Compliant_Source/pkg/ir2vec/core.cpp index 41be2579..26499819 100644 --- a/Manylinux2014_Compliant_Source/pkg/ir2vec/core.cpp +++ b/Manylinux2014_Compliant_Source/pkg/ir2vec/core.cpp @@ -74,11 +74,13 @@ class IR2VecHandler { std::string outputFile; std::string mode; std::string level; + uint dim; public: IR2VecHandler(std::string fileName, std::string outputFile, std::string mode, - std::string level) - : fileName(fileName), outputFile(outputFile), mode(mode), level(level) {} + std::string level, uint dim) + : fileName(fileName), outputFile(outputFile), mode(mode), level(level), + dim(dim) {} std::string getFile() { return fileName; } std::string getOutputFile() { return outputFile; } @@ -165,10 +167,10 @@ class IR2VecHandler { ofstream output; output.open(outFile, ios_base::app); emb = std::move(new IR2Vec::Embeddings( - *Module, ir2vecMode, (this->level)[0], &output, funcName)); + *Module, ir2vecMode, (this->level)[0], &output, funcName, this->dim)); } else { emb = std::move(new IR2Vec::Embeddings( - *Module, ir2vecMode, (this->level)[0], nullptr, funcName)); + *Module, ir2vecMode, (this->level)[0], nullptr, funcName, this->dim)); } if (!emb) { @@ -292,9 +294,10 @@ PyObject *getFunctionVectors(PyObject *self, PyObject *args) { IR2VecHandlerObject *createIR2VECObject(const char *filename, const char *output_file, - const char *mode, const char *level) { + const char *mode, const char *level, + uint dim) { IR2VecHandler *ir2vecObj = - new IR2VecHandler(filename, output_file, mode, level); + new IR2VecHandler(filename, output_file, mode, level, dim); if (!ir2vecObj) { return nullptr; } @@ -313,9 +316,10 @@ PyObject *initEmbedding(PyObject *self, PyObject *args) { const char *mode = "\0"; const char *level = "\0"; const char *output_file = "\0"; + uint dim = 300; - if (!PyArg_ParseTuple(args, "sss|s", &filename, &mode, &level, - &output_file)) { + if (!PyArg_ParseTuple(args, "sss|si", &filename, &mode, &level, &output_file, + &dim)) { // raise error here PyErr_SetString(PyExc_TypeError, "Invalid Arguments"); Py_RETURN_NONE; @@ -347,7 +351,7 @@ PyObject *initEmbedding(PyObject *self, PyObject *args) { } IR2VecHandlerObject *ir2vecObj = - createIR2VECObject(filename, output_file, mode, level); + createIR2VECObject(filename, output_file, mode, level, dim); if (!ir2vecObj) { PyErr_SetString(PyExc_TypeError, "Embedding Object not created"); From 1c6d22bfe059a9a4dd9cc63fe04aeb6d607e1f6a Mon Sep 17 00:00:00 2001 From: nishant-sachdeva Date: Tue, 8 Oct 2024 20:28:12 +0530 Subject: [PATCH 13/17] Modifying solitary test to verify DIM param functionality --- Manylinux2014_Compliant_Source/pkg/tests/test_ir2vec.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Manylinux2014_Compliant_Source/pkg/tests/test_ir2vec.py b/Manylinux2014_Compliant_Source/pkg/tests/test_ir2vec.py index 5399eab3..5bc56287 100644 --- a/Manylinux2014_Compliant_Source/pkg/tests/test_ir2vec.py +++ b/Manylinux2014_Compliant_Source/pkg/tests/test_ir2vec.py @@ -160,7 +160,7 @@ def test_fa_f(): path = (TEST_SUITE_DIR / file).resolve() full_path = str(path).strip() - initObj = ir2vec.initEmbedding(full_path, "fa", "f") + initObj = ir2vec.initEmbedding(full_path, "fa", "f", None, 300) assert initObj is not None functionVectorMap = ir2vec.getFunctionVectors(initObj) From f3db69af5a29555af9d46139b4b14f0d4d1574d1 Mon Sep 17 00:00:00 2001 From: nishant-sachdeva Date: Tue, 8 Oct 2024 20:37:23 +0530 Subject: [PATCH 14/17] bugfix - segfault error from output_file = None. Status - fixed --- .../pkg/ir2vec/core.cpp | 16 +++++++++++++--- .../pkg/tests/test_ir2vec.py | 2 +- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/Manylinux2014_Compliant_Source/pkg/ir2vec/core.cpp b/Manylinux2014_Compliant_Source/pkg/ir2vec/core.cpp index 26499819..3bacc232 100644 --- a/Manylinux2014_Compliant_Source/pkg/ir2vec/core.cpp +++ b/Manylinux2014_Compliant_Source/pkg/ir2vec/core.cpp @@ -315,11 +315,11 @@ PyObject *initEmbedding(PyObject *self, PyObject *args) { const char *filename = "\0"; const char *mode = "\0"; const char *level = "\0"; - const char *output_file = "\0"; + const char *output_file = nullptr; uint dim = 300; - if (!PyArg_ParseTuple(args, "sss|si", &filename, &mode, &level, &output_file, - &dim)) { + if (!PyArg_ParseTuple(args, "sss|Is", &filename, &mode, &level, &dim, + &output_file)) { // raise error here PyErr_SetString(PyExc_TypeError, "Invalid Arguments"); Py_RETURN_NONE; @@ -330,6 +330,16 @@ PyObject *initEmbedding(PyObject *self, PyObject *args) { Py_RETURN_NONE; } + if (output_file == nullptr) { + // Regular case : initObj = ir2vec.initEmbedding(full_path, "fa", "f") sets + // output file to default value + + // This is to cover for the case + // initObj = ir2vec.initEmbedding(full_path, "fa", "f", None, 300) + + output_file = "\0"; + } + if (string(output_file).empty() == false) { if (fileNotValid(output_file)) { PyErr_SetString(PyExc_TypeError, "Invalid Output File Path"); diff --git a/Manylinux2014_Compliant_Source/pkg/tests/test_ir2vec.py b/Manylinux2014_Compliant_Source/pkg/tests/test_ir2vec.py index 5bc56287..118bc99a 100644 --- a/Manylinux2014_Compliant_Source/pkg/tests/test_ir2vec.py +++ b/Manylinux2014_Compliant_Source/pkg/tests/test_ir2vec.py @@ -160,7 +160,7 @@ def test_fa_f(): path = (TEST_SUITE_DIR / file).resolve() full_path = str(path).strip() - initObj = ir2vec.initEmbedding(full_path, "fa", "f", None, 300) + initObj = ir2vec.initEmbedding(full_path, "fa", "f", 300) assert initObj is not None functionVectorMap = ir2vec.getFunctionVectors(initObj) From 5bb4de37fef03172698cb006f03165f378a45612 Mon Sep 17 00:00:00 2001 From: nishant-sachdeva Date: Wed, 9 Oct 2024 18:37:31 +0530 Subject: [PATCH 15/17] test commit - syntax check in test_ir2vec.py --- .../pkg/ir2vec/core.cpp | 12 +--- README.md | 59 +++++++++++-------- 2 files changed, 35 insertions(+), 36 deletions(-) diff --git a/Manylinux2014_Compliant_Source/pkg/ir2vec/core.cpp b/Manylinux2014_Compliant_Source/pkg/ir2vec/core.cpp index 3bacc232..3807074e 100644 --- a/Manylinux2014_Compliant_Source/pkg/ir2vec/core.cpp +++ b/Manylinux2014_Compliant_Source/pkg/ir2vec/core.cpp @@ -315,7 +315,7 @@ PyObject *initEmbedding(PyObject *self, PyObject *args) { const char *filename = "\0"; const char *mode = "\0"; const char *level = "\0"; - const char *output_file = nullptr; + const char *output_file = "\0"; uint dim = 300; if (!PyArg_ParseTuple(args, "sss|Is", &filename, &mode, &level, &dim, @@ -330,16 +330,6 @@ PyObject *initEmbedding(PyObject *self, PyObject *args) { Py_RETURN_NONE; } - if (output_file == nullptr) { - // Regular case : initObj = ir2vec.initEmbedding(full_path, "fa", "f") sets - // output file to default value - - // This is to cover for the case - // initObj = ir2vec.initEmbedding(full_path, "fa", "f", None, 300) - - output_file = "\0"; - } - if (string(output_file).empty() == false) { if (fileNotValid(output_file)) { PyErr_SetString(PyExc_TypeError, "Invalid Output File Path"); diff --git a/README.md b/README.md index 8aa42518..0b0d2bd1 100644 --- a/README.md +++ b/README.md @@ -27,31 +27,31 @@ Please see [here](https://compilers.cse.iith.ac.in/projects/ir2vec/) for more de ## Table Of Contents - [IR2Vec](#ir2vec) - - [LLVM Version Archive](#llvm-version-archive) - - [Table Of Contents](#table-of-contents) - - [Installation](#installation) - - [Python](#python) - - [Cpp](#cpp) - - [Requirements](#requirements) - - [Building from source](#building-from-source) - - [Generating program representations](#generating-program-representations) - - [Using Binary](#using-binary) - - [Command-Line options](#command-line-options) - - [Flow-Aware Embeddings](#flow-aware-embeddings) - - [Symbolic Embeddings](#symbolic-embeddings) - - [Using Libraries](#using-libraries) - - [Using Python package (IR2Vec-Wheels)](#using-python-package-ir2vec-wheels) - - [Initialization -ir2vec.initEmbedding](#initialization--ir2vecinitembedding) - - [getProgramVector](#getprogramvector) - - [getFunctionVectors](#getfunctionvectors) - - [getInstructionVectors](#getinstructionvectors) - - [Example](#example) - - [Binaries, Libraries and Wheels - Artifacts](#binaries-libraries-and-wheels---artifacts) - - [Experiments](#experiments) - - [Note](#note) - - [Citation](#citation) - - [Contributions](#contributions) - - [License](#license) + - [LLVM Version Archive](#llvm-version-archive) + - [Table Of Contents](#table-of-contents) + - [Installation](#installation) + - [Python](#python) + - [Cpp](#cpp) + - [Requirements](#requirements) + - [Building from source](#building-from-source) + - [Generating program representations](#generating-program-representations) + - [Using Binary](#using-binary) + - [Command-Line options](#command-line-options) + - [Flow-Aware Embeddings](#flow-aware-embeddings) + - [Symbolic Embeddings](#symbolic-embeddings) + - [Using Libraries](#using-libraries) + - [Using Python package (IR2Vec-Wheels)](#using-python-package-ir2vec-wheels) + - [Initialization -ir2vec.initEmbedding](#initialization--ir2vecinitembedding) + - [getProgramVector](#getprogramvector) + - [getFunctionVectors](#getfunctionvectors) + - [getInstructionVectors](#getinstructionvectors) + - [Example](#example) + - [Binaries, Libraries and Wheels - Artifacts](#binaries-libraries-and-wheels---artifacts) + - [Experiments](#experiments) + - [Note](#note) + - [Citation](#citation) + - [Contributions](#contributions) + - [License](#license) ## Installation @@ -218,6 +218,8 @@ for (auto val : pgmVec) * `file_path`: str - Path to the `.ll` or `.bc` file. * `encoding_type`: str - Choose `fa` (Flow-Aware) or `sym` (Symbolic). * `level`: str - Choose `p` for program-level or `f` for function-level. +* `dim`: uint - Choose from `[300, 100, 75]`. Default value is `300` +* `output_file`: str - If provided, embeddings are saved to this file. Default is an empty string. **Returns:** @@ -228,7 +230,14 @@ for (auto val : pgmVec) ```python import ir2vec +# Approach 1 initObj = ir2vec.initEmbedding("/path/to/file.ll", "fa", "p") + +# Approach 2 +initObj = ir2vec.initEmbedding("/path/to/file.ll", "fa", "p", 100) + +# Approach 3 +initObj = ir2vec.initEmbedding("/path/to/file.ll", "fa", "p", 100, "output.txt") ``` ### getProgramVector From 564d3643f4494bb47e66e9a4681a98f1a85e49a7 Mon Sep 17 00:00:00 2001 From: nishant-sachdeva Date: Wed, 9 Oct 2024 18:58:24 +0530 Subject: [PATCH 16/17] format changes --- .../pkg/ir2vec/core.cpp | 1 - README.md | 50 +++++++++---------- 2 files changed, 25 insertions(+), 26 deletions(-) diff --git a/Manylinux2014_Compliant_Source/pkg/ir2vec/core.cpp b/Manylinux2014_Compliant_Source/pkg/ir2vec/core.cpp index 3807074e..b8182b5b 100644 --- a/Manylinux2014_Compliant_Source/pkg/ir2vec/core.cpp +++ b/Manylinux2014_Compliant_Source/pkg/ir2vec/core.cpp @@ -139,7 +139,6 @@ class IR2VecHandler { PyObject *instructionVectorList = PyList_New(0); for (auto &Inst_it : llvmInstVecMap) { PyObject *instructionVector = PyList_New(0); - // copy this IR2Vec::Vector into c++ Vector for (auto &Vec_it : Inst_it.second) { PyList_Append(instructionVector, PyFloat_FromDouble(Vec_it)); } diff --git a/README.md b/README.md index 0b0d2bd1..86f9db9a 100644 --- a/README.md +++ b/README.md @@ -27,31 +27,31 @@ Please see [here](https://compilers.cse.iith.ac.in/projects/ir2vec/) for more de ## Table Of Contents - [IR2Vec](#ir2vec) - - [LLVM Version Archive](#llvm-version-archive) - - [Table Of Contents](#table-of-contents) - - [Installation](#installation) - - [Python](#python) - - [Cpp](#cpp) - - [Requirements](#requirements) - - [Building from source](#building-from-source) - - [Generating program representations](#generating-program-representations) - - [Using Binary](#using-binary) - - [Command-Line options](#command-line-options) - - [Flow-Aware Embeddings](#flow-aware-embeddings) - - [Symbolic Embeddings](#symbolic-embeddings) - - [Using Libraries](#using-libraries) - - [Using Python package (IR2Vec-Wheels)](#using-python-package-ir2vec-wheels) - - [Initialization -ir2vec.initEmbedding](#initialization--ir2vecinitembedding) - - [getProgramVector](#getprogramvector) - - [getFunctionVectors](#getfunctionvectors) - - [getInstructionVectors](#getinstructionvectors) - - [Example](#example) - - [Binaries, Libraries and Wheels - Artifacts](#binaries-libraries-and-wheels---artifacts) - - [Experiments](#experiments) - - [Note](#note) - - [Citation](#citation) - - [Contributions](#contributions) - - [License](#license) + - [LLVM Version Archive](#llvm-version-archive) + - [Table Of Contents](#table-of-contents) + - [Installation](#installation) + - [Python](#python) + - [Cpp](#cpp) + - [Requirements](#requirements) + - [Building from source](#building-from-source) + - [Generating program representations](#generating-program-representations) + - [Using Binary](#using-binary) + - [Command-Line options](#command-line-options) + - [Flow-Aware Embeddings](#flow-aware-embeddings) + - [Symbolic Embeddings](#symbolic-embeddings) + - [Using Libraries](#using-libraries) + - [Using Python package (IR2Vec-Wheels)](#using-python-package-ir2vec-wheels) + - [Initialization -ir2vec.initEmbedding](#initialization--ir2vecinitembedding) + - [getProgramVector](#getprogramvector) + - [getFunctionVectors](#getfunctionvectors) + - [getInstructionVectors](#getinstructionvectors) + - [Example](#example) + - [Binaries, Libraries and Wheels - Artifacts](#binaries-libraries-and-wheels---artifacts) + - [Experiments](#experiments) + - [Note](#note) + - [Citation](#citation) + - [Contributions](#contributions) + - [License](#license) ## Installation From 12da415f8faca34ce815ce266403acf01657ae98 Mon Sep 17 00:00:00 2001 From: nishant-sachdeva Date: Wed, 9 Oct 2024 19:36:59 +0530 Subject: [PATCH 17/17] BugFix - accomodating core.cpp to changed ordering of function params --- Manylinux2014_Compliant_Source/pkg/ir2vec/core.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Manylinux2014_Compliant_Source/pkg/ir2vec/core.cpp b/Manylinux2014_Compliant_Source/pkg/ir2vec/core.cpp index b8182b5b..565bd775 100644 --- a/Manylinux2014_Compliant_Source/pkg/ir2vec/core.cpp +++ b/Manylinux2014_Compliant_Source/pkg/ir2vec/core.cpp @@ -74,11 +74,11 @@ class IR2VecHandler { std::string outputFile; std::string mode; std::string level; - uint dim; + unsigned dim; public: IR2VecHandler(std::string fileName, std::string outputFile, std::string mode, - std::string level, uint dim) + std::string level, unsigned dim) : fileName(fileName), outputFile(outputFile), mode(mode), level(level), dim(dim) {} @@ -166,10 +166,10 @@ class IR2VecHandler { ofstream output; output.open(outFile, ios_base::app); emb = std::move(new IR2Vec::Embeddings( - *Module, ir2vecMode, (this->level)[0], &output, funcName, this->dim)); + *Module, ir2vecMode, (this->level)[0], &output, this->dim, funcName)); } else { emb = std::move(new IR2Vec::Embeddings( - *Module, ir2vecMode, (this->level)[0], nullptr, funcName, this->dim)); + *Module, ir2vecMode, (this->level)[0], nullptr, this->dim, funcName)); } if (!emb) { @@ -294,7 +294,7 @@ PyObject *getFunctionVectors(PyObject *self, PyObject *args) { IR2VecHandlerObject *createIR2VECObject(const char *filename, const char *output_file, const char *mode, const char *level, - uint dim) { + unsigned dim) { IR2VecHandler *ir2vecObj = new IR2VecHandler(filename, output_file, mode, level, dim); if (!ir2vecObj) { @@ -315,7 +315,7 @@ PyObject *initEmbedding(PyObject *self, PyObject *args) { const char *mode = "\0"; const char *level = "\0"; const char *output_file = "\0"; - uint dim = 300; + unsigned dim = 300; if (!PyArg_ParseTuple(args, "sss|Is", &filename, &mode, &level, &dim, &output_file)) {