forked from ucsd-progsys/nanomaly
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathfac.dot
175 lines (174 loc) · 5.66 KB
/
fac.dot
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
digraph G {
u85[label="n"];
u86[label="n"];
u87[label="fac"];
u88[label="n - 1"];
u89[label="n"];
u90[label="fac (n - 1)"];
u91[label="n = 0"];
u92[label="n * fac (n - 1)"];
u93[label="if n = 0\nthen true\nelse n * fac (n - 1)"];
u94[label="fun n ->\n if n = 0\n then true\n else n * fac (n - 1)"];
u95[label="fac"];
u96[label="fac 1"];
u97[label="fun n ->\n if n = 0\n then true\n else n * fac (n - 1)"];
u98[label="1"];
u99[label="(fun n ->\n if n = 0\n then true\n else n * fac (n - 1)) 1"];
u100[label="n"];
u101[label="n = 0"];
u102[label="1"];
u103[label="if n = 0\nthen true\nelse n * fac (n - 1)"];
u104[label="1 = 0"];
u105[label="if 1 = 0\nthen true\nelse n * fac (n - 1)"];
u106[label="false"];
u107[label="if false\nthen true\nelse n * fac (n - 1)"];
u108[label="n"];
u109[label="n * fac (n - 1)"];
u110[label="fac"];
u111[label="fac (n - 1)"];
u112[label="1 * fac (n - 1)"];
u113[label="n"];
u114[label="n - 1"];
u115[label="1"];
u116[label="(fun n ->\n if n = 0\n then true\n else n * fac (n - 1)) (n - 1)"];
u117[label="1 * (fun n ->\n if n = 0\n then true\n else n * fac (n - 1)) (n - 1)"];
u118[label="1 - 1"];
u119[label="(fun n ->\n if n = 0\n then true\n else n * fac (n - 1)) (1 - 1)"];
u120[label="fun n ->\n if n = 0\n then true\n else n * fac (n - 1)"];
u121[label="0"];
u122[label="1 * (fun n ->\n if n = 0\n then true\n else n * fac (n - 1)) (1 - 1)"];
u123[label="n"];
u124[label="1"];
u125[label="fac"];
u126[label="n - 1"];
u127[label="n"];
u128[label="fac (n - 1)"];
u129[label="(fun n ->\n if n = 0\n then true\n else n * fac (n - 1)) 0"];
u130[label="1 * (fun n ->\n if n = 0\n then true\n else n * fac (n - 1)) 0"];
u131[label="n"];
u132[label="n = 0"];
u133[label="0"];
u134[label="0"];
u135[label="if n = 0\nthen true\nelse n * fac (n - 1)"];
u136[label="1 * if n = 0\n then true\n else n * fac (n - 1)"];
u137[label="0 = 0"];
u138[label="if 0 = 0\nthen true\nelse n * fac (n - 1)"];
u139[label="true"];
u140[label="n * fac (n - 1)"];
u141[label="1 * if 0 = 0\n then true\n else n * fac (n - 1)"];
u142[label="if true\nthen true\nelse n * fac (n - 1)"];
u143[label="1 * if true\n then true\n else n * fac (n - 1)"];
u144[label="1"];
u145[label="true"];
u146[label="1 * true"];
u88 -> u86[label="SubTerm 0"];
u88 -> u124[label="SubTerm 1"];
u90 -> u87[label="SubTerm 0"];
u90 -> u88[label="SubTerm 1"];
u91 -> u85[label="SubTerm 0"];
u91 -> u134[label="SubTerm 1"];
u92 -> u89[label="SubTerm 0"];
u92 -> u90[label="SubTerm 1"];
u93 -> u91[label="SubTerm 0"];
u93 -> u92[label="SubTerm 2"];
u93 -> u145[label="SubTerm 1"];
u94 -> u93[label="SubTerm 0"];
u95 -> u97[label="StepsTo"];
u96 -> u95[label="SubTerm 0"];
u96 -> u98[label="SubTerm 1"];
u96 -> u99[label="StepsTo"];
u99 -> u97[label="SubTerm 0"];
u99 -> u98[label="SubTerm 1"];
u99 -> u103[label="StepsTo"];
u100 -> u102[label="StepsTo"];
u101 -> u100[label="SubTerm 0"];
u101 -> u104[label="StepsTo"];
u101 -> u134[label="SubTerm 1"];
u103 -> u101[label="SubTerm 0"];
u103 -> u105[label="StepsTo"];
u103 -> u109[label="SubTerm 2"];
u103 -> u145[label="SubTerm 1"];
u104 -> u102[label="SubTerm 0"];
u104 -> u106[label="StepsTo"];
u104 -> u134[label="SubTerm 1"];
u105 -> u104[label="SubTerm 0"];
u105 -> u107[label="StepsTo"];
u105 -> u109[label="SubTerm 2"];
u105 -> u145[label="SubTerm 1"];
u107 -> u106[label="SubTerm 0"];
u107 -> u109[label="StepsTo"];
u107 -> u109[label="SubTerm 2"];
u107 -> u145[label="SubTerm 1"];
u108 -> u144[label="StepsTo"];
u109 -> u108[label="SubTerm 0"];
u109 -> u111[label="SubTerm 1"];
u109 -> u112[label="StepsTo"];
u110 -> u120[label="StepsTo"];
u111 -> u110[label="SubTerm 0"];
u111 -> u114[label="SubTerm 1"];
u111 -> u116[label="StepsTo"];
u112 -> u111[label="SubTerm 1"];
u112 -> u117[label="StepsTo"];
u112 -> u144[label="SubTerm 0"];
u113 -> u115[label="StepsTo"];
u114 -> u113[label="SubTerm 0"];
u114 -> u118[label="StepsTo"];
u114 -> u124[label="SubTerm 1"];
u116 -> u114[label="SubTerm 1"];
u116 -> u119[label="StepsTo"];
u116 -> u120[label="SubTerm 0"];
u117 -> u116[label="SubTerm 1"];
u117 -> u122[label="StepsTo"];
u117 -> u144[label="SubTerm 0"];
u118 -> u115[label="SubTerm 0"];
u118 -> u121[label="StepsTo"];
u118 -> u124[label="SubTerm 1"];
u119 -> u118[label="SubTerm 1"];
u119 -> u120[label="SubTerm 0"];
u119 -> u129[label="StepsTo"];
u122 -> u119[label="SubTerm 1"];
u122 -> u130[label="StepsTo"];
u122 -> u144[label="SubTerm 0"];
u126 -> u123[label="SubTerm 0"];
u126 -> u124[label="SubTerm 1"];
u128 -> u125[label="SubTerm 0"];
u128 -> u126[label="SubTerm 1"];
u129 -> u120[label="SubTerm 0"];
u129 -> u121[label="SubTerm 1"];
u129 -> u135[label="StepsTo"];
u130 -> u129[label="SubTerm 1"];
u130 -> u136[label="StepsTo"];
u130 -> u144[label="SubTerm 0"];
u131 -> u133[label="StepsTo"];
u132 -> u131[label="SubTerm 0"];
u132 -> u134[label="SubTerm 1"];
u132 -> u137[label="StepsTo"];
u135 -> u132[label="SubTerm 0"];
u135 -> u138[label="StepsTo"];
u135 -> u140[label="SubTerm 2"];
u135 -> u145[label="SubTerm 1"];
u136 -> u135[label="SubTerm 1"];
u136 -> u141[label="StepsTo"];
u136 -> u144[label="SubTerm 0"];
u137 -> u133[label="SubTerm 0"];
u137 -> u134[label="SubTerm 1"];
u137 -> u139[label="StepsTo"];
u138 -> u137[label="SubTerm 0"];
u138 -> u140[label="SubTerm 2"];
u138 -> u142[label="StepsTo"];
u138 -> u145[label="SubTerm 1"];
u140 -> u127[label="SubTerm 0"];
u140 -> u128[label="SubTerm 1"];
u141 -> u138[label="SubTerm 1"];
u141 -> u143[label="StepsTo"];
u141 -> u144[label="SubTerm 0"];
u142 -> u139[label="SubTerm 0"];
u142 -> u140[label="SubTerm 2"];
u142 -> u145[label="SubTerm 1"];
u142 -> u145[label="StepsTo"];
u143 -> u142[label="SubTerm 1"];
u143 -> u144[label="SubTerm 0"];
u143 -> u146[label="StepsTo"];
u146 -> u144[label="SubTerm 0"];
u146 -> u145[label="SubTerm 1"];
}