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

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ printf(char *);
void readB() {
  printf("\n\n*************************************************\n");
  printf("{|} Aristote's Metaphysics 350 B.C. Book IVIZ {|}\n");
  printf("*************************************************\n\n");
  printf(
      "Clearly, then, if people proceed thus in their usual manner of "
      "definition and speech, they cannot explain and solve the difficulty. "
      "But if, as we say, one element is matter and another is form, and one "
      "is potentially and the other actually, the question will no longer be "
      "thought a difficulty. For this difficulty is the same as would arise if "
      "'round bronze' were the definition of 'cloak'; for this word would be a "
      "sign of the definitory formula, so that the question is, what is the "
      "cause of the unity of 'round' and 'bronze'? The difficulty disappears, "
      "because the one is matter, the other form. What, then, causes this-that "
      "which was potentially to be actually-except, in the case of things "
      "which are generated, the agent? For there is no other cause of the "
      "potential sphere's becoming actually a sphere, but this was the essence "
      "of either. Of matter some is intelligible, some perceptible, and in a "
      "formula there is always an element of matter as well as one of "
      "actuality; e.g. the circle is 'a plane figure'. But of the things which "
      "have no matter, either intelligible or perceptible, each is by its "
      "nature essentially a kind of unity, as it is essentially a kind of "
      "being-individual substance, quality, or quantity (and so neither "
      "'existent' nor 'one' is present in their definitions), and the essence "
      "of each of them is by its very nature a kind of unity as it is a kind "
      "of being-and so none of these has any reason outside itself, for being "
      "one, nor for being a kind of being; for each is by its nature a kind of "
      "being and a kind of unity, not as being in the genus 'being' or 'one' "
      "nor in the sense that being and unity can exist apart from particulars. "
      "\n");
}


x86 assembly (clang, -O0):
<readB>:
push   %rbp
mov    %rsp,%rbp
lea    0xee5(%rip),%rdi
call   1030 <printf@plt>
lea    0xf0e(%rip),%rdi
call   1030 <printf@plt>
lea    0xf35(%rip),%rdi
call   1030 <printf@plt>
lea    0xf5d(%rip),%rdi
call   1030 <printf@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<readB>:
push   %rax
lea    0xee8(%rip),%rdi
call   1030 <puts@plt>
lea    0xf10(%rip),%rdi
call   1030 <puts@plt>
lea    0xf36(%rip),%rdi
call   1030 <puts@plt>
lea    0xf5d(%rip),%rdi
pop    %rax
jmp    1030 <puts@plt>

LLVM IR (-O0):
@.str = [53 x i8] c"\0A\0A*************************************************\0A\00"
@.str.1 = [51 x i8] c"{|} Aristote's Metaphysics 350 B.C. Book IVIZ {|}\0A\00"
@.str.2 = [52 x i8] c"*************************************************\0A\0A\00"
@.str.3 = [1666 x i8] c"Clearly, then, if people proceed thus in their usual manner of definition and speech, they cannot explain and solve the difficulty. But if, as we say, one element is matter and another is form, and one is potentially and the other actually, the question will no longer be thought a difficulty. For this difficulty is the same as would arise if 'round bronze' were the definition of 'cloak'; for this word would be a sign of the definitory formula, so that the question is, what is the cause of the unity of 'round' and 'bronze'? The difficulty disappears, because the one is matter, the other form. What, then, causes this-that which was potentially to be actually-except, in the case of things which are generated, the agent? For there is no other cause of the potential sphere's becoming actually a sphere, but this was the essence of either. Of matter some is intelligible, some perceptible, and in a formula there is always an element of matter as well as one of actuality; e.g. the circle is 'a plane figure'. But of the things which have no matter, either intelligible or perceptible, each is by its nature essentially a kind of unity, as it is essentially a kind of being-individual substance, quality, or quantity (and so neither 'existent' nor 'one' is present in their definitions), and the essence of each of them is by its very nature a kind of unity as it is a kind of being-and so none of these has any reason outside itself, for being one, nor for being a kind of being; for each is by its nature a kind of being and a kind of unity, not as being in the genus 'being' or 'one' nor in the sense that being and unity can exist apart from particulars. \0A\00"
define void @readB() {
%1 = call i32 @printf(i8* getelementptr inbounds ([53 x i8], [53 x i8]* @.str, i64 0, i64 0))
%2 = call i32 @printf(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.1, i64 0, i64 0))
%3 = call i32 @printf(i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.2, i64 0, i64 0))
%4 = call i32 @printf(i8* getelementptr inbounds ([1666 x i8], [1666 x i8]* @.str.3, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@str = [52 x i8] c"\0A\0A*************************************************\00"
@str.4 = [50 x i8] c"{|} Aristote's Metaphysics 350 B.C. Book IVIZ {|}\00"
@str.5 = [51 x i8] c"*************************************************\0A\00"
@str.6 = [1665 x i8] c"Clearly, then, if people proceed thus in their usual manner of definition and speech, they cannot explain and solve the difficulty. But if, as we say, one element is matter and another is form, and one is potentially and the other actually, the question will no longer be thought a difficulty. For this difficulty is the same as would arise if 'round bronze' were the definition of 'cloak'; for this word would be a sign of the definitory formula, so that the question is, what is the cause of the unity of 'round' and 'bronze'? The difficulty disappears, because the one is matter, the other form. What, then, causes this-that which was potentially to be actually-except, in the case of things which are generated, the agent? For there is no other cause of the potential sphere's becoming actually a sphere, but this was the essence of either. Of matter some is intelligible, some perceptible, and in a formula there is always an element of matter as well as one of actuality; e.g. the circle is 'a plane figure'. But of the things which have no matter, either intelligible or perceptible, each is by its nature essentially a kind of unity, as it is essentially a kind of being-individual substance, quality, or quantity (and so neither 'existent' nor 'one' is present in their definitions), and the essence of each of them is by its very nature a kind of unity as it is a kind of being-and so none of these has any reason outside itself, for being one, nor for being a kind of being; for each is by its nature a kind of being and a kind of unity, not as being in the genus 'being' or 'one' nor in the sense that being and unity can exist apart from particulars. \00"
define void @readB() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([52 x i8], [52 x i8]* @str, i64 0, i64 0))
%2 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([50 x i8], [50 x i8]* @str.4, i64 0, i64 0))
%3 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([51 x i8], [51 x i8]* @str.5, i64 0, i64 0))
%4 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([1665 x i8], [1665 x i8]* @str.6, i64 0, i64 0))
ret void
}