digraph G { rankdir="LR" //graph [ fontname=Arial, fontsize=24 ]; //node [ fontname=Arial, fontsize=22]; //edge [ fontname=Helvetica, fontsize=20 ]; edge [constraint=false] edge [labelfloat=true] margin=0 pad=0.2 nodesep=0.4; ranksep=0.02; subgraph cluster_0 { //margin=32 App1 -> "λ lFloatToBool0" [xlabel="(Float ->\nBool) ->\nIrisClass"]; label = "Var. Def. FloatToBool0"; color=red {rank="same"; App1; "λ lFloatToBool0";} } subgraph cluster_2 { //margin=32 App6 -> ">" [xlabel="Float ->\nFloat ->\nBool"]; label = "Funktion >"; color=blue {rank="same"; App6; ">";} } subgraph cluster_3 { //margin=32 App9 -> App10 [xlabel="Float ->\nFloat"]; App10 -> "+" [xlabel="Float ->\nFloat ->\nFloat"]; label = "Funktion +"; color=blue {rank="same"; App9;App10; "+";} } subgraph cluster_4 { //margin=32 App7 -> App8 [xlabel="Float ->\nFloat"]; App8 -> "*" [xlabel="Float ->\nFloat ->\nFloat"]; label = "Funktion *"; color=blue {rank="same"; App7;App8; "*";} } subgraph cluster_5 { //margin=32 App2 -> App3 [xlabel="IrisClass ->\nIrisClass"]; App3 -> App4 [xlabel="IrisClass ->\nIrisClass ->\nIrisClass"]; App4 -> "if'" [xlabel="Bool ->\nIrisClass ->\nIrisClass ->\nIrisClass"]; label = "Funktion if'"; color=blue {rank="same"; App2;App3;App4 "if'";} } subgraph cluster_6 { //margin=32 App5 ->"FloatToBool0" [xlabel="Float ->\nBool"]; label = "Funktion FloatToBool0"; color=green {rank="same"; App5;"FloatToBool0";} } subgraph cluster_7 { //margin=32 App11 -> "λ Bool0" [xlabel="Bool ->\nIrisClass"]; label = "Var. Def. Bool0"; color=red {rank="same"; App11;"λ Bool0";} } subgraph cluster_8 { //margin=32 App16 -> App17 [xlabel="Float ->\nFloat"]; App17 -> "2 *" [xlabel="Float ->\nFloat ->\nFloat"]; label = "Funktion *"; color=blue {rank="same"; App16;App17;"2 *";} } subgraph cluster_9 { //margin=32 App15 -> "2 FloatToBool0" [xlabel="Float ->\nBool"]; label = "Funktion FloatToBool0"; color=green {rank="same"; App15;"2 FloatToBool0";} } subgraph cluster_10 { //margin=32 App12 -> App13 [xlabel="IrisClass ->\nIrisClass"]; App13 -> App14 [xlabel="IrisClass ->\nIrisClass ->\nIrisClass"]; App14 -> "2 if'" [xlabel="Bool ->\nIrisClass ->\nIrisClass ->\nIrisClass"]; label = "Funktion if'"; color=blue {rank="same"; App12;App13;App14;"2 if'";} } subgraph cluster_11 { //margin=32 "Bool0" label = "Var Bool0'"; color=green } subgraph cluster_12 { //margin=32 "Float0" label = "Var Float0'"; color=green } subgraph cluster_13 { //margin=32 "Float2" label = "Var Float2'"; color=green } subgraph cluster_14 { //margin=32 "Float3" label = "Var Float3'"; color=green } //((\lFloat0 -> ((\lFloat1 ->\n((\lFloat2 ->\n((\lFloat3 ->\n)))))))) //((\lFloatToBool0 ->\n(if' (lFloatToBool0 (7.5471354)) ((\lBool0 ->\n(if' (lBool0 ) (Virginica) (Versicolor))) (lFloatToBool0 ((*) (2.4138098) (8.027873)))) (Setosa))) ((>) ((*) ((+) (lFloat0 ) (lFloat2 )) (lFloat3 )))) "λ Float0"-> "λ Float1" [xlabel="Float ->\nFloat ->\nFloat ->\nIrisClass"]; "λ Float1"-> "λ Float2" [xlabel="Float ->\nFloat ->\nIrisClass"]; "λ Float2"-> "λ Float3" [xlabel="Float ->\nIrisClass"]; //edge [labelfloat=true] edge [minlen=1, weight=1,constraint=true] "λ Float3"-> "App1" [label="IrisClass"]; "λ lFloatToBool0"-> App2 [taillabel="IrisClass", labeldistance=5]; //((>) ((*) ((+) (lFloat0 ) (lFloat2 )) (lFloat3 ))) App1 -> App6 [taillabel="Float ->\nBool", labeldistance=7]; App6 -> App7 [headlabel="Float", labeldistance=5]; App7 -> "Float3" [label="Float"]; App8 -> App9 [label="Float"]; App9 -> "Float2" [label="Float"]; App10 -> "Float0" [label="Float"]; //(if' (lFloatToBool0 (7.5471354)) ((\lBool0 ->\n(if' (lBool0 ) (Virginica) (Versicolor))) (lFloatToBool0 ((*) (2.4138098) (8.027873)))) (Setosa)) App2 -> "Con1: Setosa" [label="IrisClass"]; //((\lBool0 -> (if' (lBool0 ) (Virginica) (Versicolor))) (lFloatToBool0 ((*) (2.4138098) (8.027873)))) App3 -> App11 [label="IrisClass"]; "λ Bool0"-> App12 [label="IrisClass"]; App14 -> "Bool0" [label="Bool"]; App13 -> "Con: Virginica" [label="IrisClass"]; App12 -> "Con: Versicolor" [label="IrisClass"]; App11 -> App15 [label="Bool"]; App15 -> App16 [label="Float"]; App17 -> "Con: 2.41" [label="Float"]; App16 -> "Con: 8.03" [label="Float"]; //(lFloatToBool0 (7.5471354)) App4 -> App5 [headlabel="Bool", labeldistance=9]; App5 -> "Con: 7.55" [label="Float"]; App1 [label = App]; App2 [label = App]; App3 [label = App]; App4 [label = App]; App5 [label = App]; App6 [label = App]; App7 [label = App]; App8 [label = App]; App9 [label = App]; App10 [label = App]; App11 [label = App]; App12 [label = App]; App13 [label = App]; App14 [label = App]; App15 [label = App]; App16 [label = App]; App17 [label = App]; "2 *" [label = "*"]; "2 FloatToBool0" [label = "FloatToBool0"]; "2 if'" [label = "if'"]; }