<commit_before>Notes:

This is the hacker's delight benchmark set from 
Synthesis of Loop-Free Programs [gulwani 11].

p01: Turn off right-most one bit
p02: Test whether an unsigned int is of the form 2^(n-1)
p03: Isolate the right-most one bit
p04: Form a mast that identifies right-most one bit and trailing zeros
p05: Right propagate right-most one bit
p06: Turn on the right-most zero bit in a word
p07: Isolate the right-most zero bit
p08: Form a mask that identifies trailing zeros
p09: Absolute value function
p10: Test if nlz(x) == nlz(y)
p11: Test if nlz(x) < nlz(y)
p12: Test if nlz(x) <= nlz(y)
p13: Sign Function
p14: Floor of average of two integers without overflowing
p15: Ceil of average of two integers without overflowing
p16: Compute max of two integers
p17: Turn off right-most contiguous string of one bits
p18: Determine if an integer is a power of two
p19: Exchanging two fields of the same integer 
p20: Next higher unsigned number with same number of one bits
p21: Cycling through 3 values
p22: Compute parity
p23: Counting number of bits
p24: Round up to next highest power of two
p25: Compute higher order half of product of x and y

Target Generation:

Benchmarks p10 - p12 use gcc -O0 to generate target code (gcc uses a 
semantics for unsigned comparison which is consistent with the one described
in [gulwani 11]). Every other benchmark uses llvm -O0.

Known Issues:

p19, p20, and p24 have optimization files that are configured to be used
without first performing synthesis. make synth will work in these directories,
but make opt will not read the results.

p18 won't synthesize (seems like a bug)
<commit_msg>All bugs fixed for hacker benchmarks. All work.<commit_after>Notes:

This is the hacker's delight benchmark set from 
Synthesis of Loop-Free Programs [gulwani 11].

p01: Turn off right-most one bit
p02: Test whether an unsigned int is of the form 2^(n-1)
p03: Isolate the right-most one bit
p04: Form a mast that identifies right-most one bit and trailing zeros
p05: Right propagate right-most one bit
p06: Turn on the right-most zero bit in a word
p07: Isolate the right-most zero bit
p08: Form a mask that identifies trailing zeros
p09: Absolute value function
p10: Test if nlz(x) == nlz(y)
p11: Test if nlz(x) < nlz(y)
p12: Test if nlz(x) <= nlz(y)
p13: Sign Function
p14: Floor of average of two integers without overflowing
p15: Ceil of average of two integers without overflowing
p16: Compute max of two integers
p17: Turn off right-most contiguous string of one bits
p18: Determine if an integer is a power of two
p19: Exchanging two fields of the same integer 
p20: Next higher unsigned number with same number of one bits
p21: Cycling through 3 values
p22: Compute parity
p23: Counting number of bits
p24: Round up to next highest power of two
p25: Compute higher order half of product of x and y

Target Generation:

Benchmarks p10 - p12 use gcc -O0 to generate target code (gcc uses a 
semantics for unsigned comparison which is consistent with the one described
in [gulwani 11]). Every other benchmark uses llvm -O0.

Known Issues:

p19, p20, and p24 have optimization files that are configured to be used
without first performing synthesis. make synth will work in these directories,
but make opt will not read the results.
{'fraction_non_alphanumeric': 0.04908536585365854, 'fraction_numerical': 0.042682926829268296, 'mean_word_length': 4.38752052545156, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4907639', 'n_tokens_mistral': 1086, 'n_tokens_neox': 955, 'n_words': 546}