diff --git a/examples/kernels b/examples/kernels
index ce21e19d86dcb763e5ce66366a80e1cbe5107c94..f167b2d49ac4a56faea58b801bf8f0da24f66789 100644
--- a/examples/kernels
+++ b/examples/kernels
@@ -1,775 +1,775 @@
 digraph AST {
 	node [color=lightblue2 style=filled]
 	size="6,6"
-	n139694044691368 [label=Block]
-	n139694044233568 [label=Module]
-	n139694044691368 -> n139694044233568
-	n139694044233624 [label=Module]
-	n139694044691368 -> n139694044233624
-	n139694044233568 [label=Module]
-	n139694044233512 [label=Block]
-	n139694044233568 -> n139694044233512
-	n139694044233512 [label=Block]
-	n139694044230768 [label=ParticleFor]
-	n139694044233512 -> n139694044230768
-	n139694044230768 [label=ParticleFor]
-	n139694044080280 [label=Block]
-	n139694044230768 -> n139694044080280
-	n139694046706880 [label=nlocal]
-	n139694044230768 -> n139694046706880
-	n139694044080280 [label=Block]
-	n139694044080448 [label=For]
-	n139694044080280 -> n139694044080448
-	n139694044080728 [label="*"]
-	n139694044080112 [label="Iter(14)"]
-	n139694044080728 -> n139694044080112
-	n139694044230320 [label=neighborlist_capacity]
-	n139694044080728 -> n139694044230320
-	n139694044080112 [label="Iter(14)"]
-	n139694044230320 [label=neighborlist_capacity]
-	n139694044080952 [label=PropertyAccess]
-	n139694044691592 [label=position]
-	n139694044080952 -> n139694044691592
-	n139694044080112 [label="Iter(14)"]
-	n139694044080952 -> n139694044080112
-	n139694044082128 [label="*"]
-	n139694044080952 -> n139694044082128
-	n139694043498312 [label="+"]
-	n139694044080952 -> n139694043498312
-	n139694043500104 [label="+"]
-	n139694044080952 -> n139694043500104
-	n139694044691592 [label=position]
-	n139694044082128 [label="*"]
-	n139694044080112 [label="Iter(14)"]
-	n139694044082128 -> n139694044080112
-	n139694043496520 [label=3]
-	n139694044082128 -> n139694043496520
-	n139694043496520 [label=3]
-	n139694043498312 [label="+"]
-	n139694043498144 [label="*"]
-	n139694043498312 -> n139694043498144
-	n139694043498368 [label=1]
-	n139694043498312 -> n139694043498368
-	n139694043498144 [label="*"]
-	n139694044080112 [label="Iter(14)"]
-	n139694043498144 -> n139694044080112
-	n139694043498200 [label=3]
-	n139694043498144 -> n139694043498200
-	n139694043498200 [label=3]
-	n139694043498368 [label=1]
-	n139694043500104 [label="+"]
-	n139694043499936 [label="*"]
-	n139694043500104 -> n139694043499936
-	n139694043500160 [label=2]
-	n139694043500104 -> n139694043500160
-	n139694043499936 [label="*"]
-	n139694044080112 [label="Iter(14)"]
-	n139694043499936 -> n139694044080112
-	n139694043499992 [label=3]
-	n139694043499936 -> n139694043499992
-	n139694043499992 [label=3]
-	n139694043500160 [label=2]
-	n139694044081344 [label="*"]
-	n139694044080112 [label="Iter(14)"]
-	n139694044081344 -> n139694044080112
-	n139694044081400 [label=3]
-	n139694044081344 -> n139694044081400
-	n139694044081400 [label=3]
-	n139694043497360 [label="*"]
-	n139694044080112 [label="Iter(14)"]
-	n139694043497360 -> n139694044080112
-	n139694043497416 [label=3]
-	n139694043497360 -> n139694043497416
-	n139694043497416 [label=3]
-	n139694043497528 [label="+"]
-	n139694043497360 [label="*"]
-	n139694043497528 -> n139694043497360
-	n139694043497584 [label=1]
-	n139694043497528 -> n139694043497584
-	n139694043497584 [label=1]
-	n139694043499152 [label="*"]
-	n139694044080112 [label="Iter(14)"]
-	n139694043499152 -> n139694044080112
-	n139694043499208 [label=3]
-	n139694043499152 -> n139694043499208
-	n139694043499208 [label=3]
-	n139694043499320 [label="+"]
-	n139694043499152 [label="*"]
-	n139694043499320 -> n139694043499152
-	n139694043499376 [label=2]
-	n139694043499320 -> n139694043499376
-	n139694043499376 [label=2]
-	n139694044305112 [label="*"]
-	n139694044080112 [label="Iter(14)"]
-	n139694044305112 -> n139694044080112
-	n139694044305168 [label=3]
-	n139694044305112 -> n139694044305168
-	n139694044305168 [label=3]
-	n139694044305504 [label="*"]
-	n139694044080112 [label="Iter(14)"]
-	n139694044305504 -> n139694044080112
-	n139694044305560 [label=3]
-	n139694044305504 -> n139694044305560
-	n139694044305560 [label=3]
-	n139694044306008 [label="*"]
-	n139694044080112 [label="Iter(14)"]
-	n139694044306008 -> n139694044080112
-	n139694044306064 [label=3]
-	n139694044306008 -> n139694044306064
-	n139694044306064 [label=3]
-	n139694044306176 [label="+"]
-	n139694044306008 [label="*"]
-	n139694044306176 -> n139694044306008
-	n139694044306232 [label=1]
-	n139694044306176 -> n139694044306232
-	n139694044306232 [label=1]
-	n139694044306400 [label="*"]
-	n139694044080112 [label="Iter(14)"]
-	n139694044306400 -> n139694044080112
-	n139694044306456 [label=3]
-	n139694044306400 -> n139694044306456
-	n139694044306456 [label=3]
-	n139694044306568 [label="+"]
-	n139694044306400 [label="*"]
-	n139694044306568 -> n139694044306400
-	n139694044306624 [label=1]
-	n139694044306568 -> n139694044306624
-	n139694044306624 [label=1]
-	n139694044306904 [label="*"]
-	n139694044080112 [label="Iter(14)"]
-	n139694044306904 -> n139694044080112
-	n139694044306960 [label=3]
-	n139694044306904 -> n139694044306960
-	n139694044306960 [label=3]
-	n139694044307072 [label="+"]
-	n139694044306904 [label="*"]
-	n139694044307072 -> n139694044306904
-	n139694044307128 [label=2]
-	n139694044307072 -> n139694044307128
-	n139694044307128 [label=2]
-	n139694044307296 [label="*"]
-	n139694044080112 [label="Iter(14)"]
-	n139694044307296 -> n139694044080112
-	n139694044307352 [label=3]
-	n139694044307296 -> n139694044307352
-	n139694044307352 [label=3]
-	n139694044397640 [label="+"]
-	n139694044307296 [label="*"]
-	n139694044397640 -> n139694044307296
-	n139694044397696 [label=2]
-	n139694044397640 -> n139694044397696
-	n139694044397696 [label=2]
-	n139694044080448 [label=For]
-	n139694044080504 [label="Iter(15)"]
-	n139694044080448 -> n139694044080504
-	n139694044080616 [label=Block]
-	n139694044080448 -> n139694044080616
-	n139694044080560 [label=0]
-	n139694044080448 -> n139694044080560
-	n139694044080392 [label=ArrayAccess]
-	n139694044080448 -> n139694044080392
-	n139694044080504 [label="Iter(15)"]
-	n139694044080616 [label=Block]
-	n139694043529792 [label=Filter]
-	n139694044080616 -> n139694043529792
-	n139694044080840 [label="+"]
-	n139694044080728 [label="*"]
-	n139694044080840 -> n139694044080728
-	n139694044080504 [label="Iter(15)"]
-	n139694044080840 -> n139694044080504
-	n139694044081064 [label=PropertyAccess]
-	n139694044691592 [label=position]
-	n139694044081064 -> n139694044691592
-	n139694044080672 [label=ArrayAccess]
-	n139694044081064 -> n139694044080672
-	n139694043496800 [label="*"]
-	n139694044081064 -> n139694043496800
-	n139694043498648 [label="+"]
-	n139694044081064 -> n139694043498648
-	n139694043500440 [label="+"]
-	n139694044081064 -> n139694043500440
-	n139694044080672 [label=ArrayAccess]
-	n139694044230376 [label=neighborlists]
-	n139694044080672 -> n139694044230376
-	n139694044080840 [label="+"]
-	n139694044080672 -> n139694044080840
-	n139694044230376 [label=neighborlists]
-	n139694043496800 [label="*"]
-	n139694044080672 [label=ArrayAccess]
-	n139694043496800 -> n139694044080672
-	n139694043496856 [label=3]
-	n139694043496800 -> n139694043496856
-	n139694043496856 [label=3]
-	n139694043498648 [label="+"]
-	n139694043498480 [label="*"]
-	n139694043498648 -> n139694043498480
-	n139694043498704 [label=1]
-	n139694043498648 -> n139694043498704
-	n139694043498480 [label="*"]
-	n139694044080672 [label=ArrayAccess]
-	n139694043498480 -> n139694044080672
-	n139694043498536 [label=3]
-	n139694043498480 -> n139694043498536
-	n139694043498536 [label=3]
-	n139694043498704 [label=1]
-	n139694043500440 [label="+"]
-	n139694043500272 [label="*"]
-	n139694043500440 -> n139694043500272
-	n139694043500496 [label=2]
-	n139694043500440 -> n139694043500496
-	n139694043500272 [label="*"]
-	n139694044080672 [label=ArrayAccess]
-	n139694043500272 -> n139694044080672
-	n139694043500328 [label=3]
-	n139694043500272 -> n139694043500328
-	n139694043500328 [label=3]
-	n139694043500496 [label=2]
-	n139694044081176 [label="-"]
-	n139694044080952 [label=PropertyAccess]
-	n139694044081176 -> n139694044080952
-	n139694044081064 [label=PropertyAccess]
-	n139694044081176 -> n139694044081064
-	n139694044081680 [label="*"]
-	n139694044080672 [label=ArrayAccess]
-	n139694044081680 -> n139694044080672
-	n139694044081736 [label=3]
-	n139694044081680 -> n139694044081736
-	n139694044081736 [label=3]
-	n139694043497192 [label="*"]
-	n139694044082016 [label=VectorAccess]
-	n139694043497192 -> n139694044082016
-	n139694043497136 [label=VectorAccess]
-	n139694043497192 -> n139694043497136
-	n139694044082016 [label=VectorAccess]
-	n139694044081176 [label="-"]
-	n139694044082016 -> n139694044081176
-	n139694043497136 [label=VectorAccess]
-	n139694044081176 [label="-"]
-	n139694043497136 -> n139694044081176
-	n139694043497696 [label="*"]
-	n139694044080672 [label=ArrayAccess]
-	n139694043497696 -> n139694044080672
-	n139694043497752 [label=3]
-	n139694043497696 -> n139694043497752
-	n139694043497752 [label=3]
-	n139694043497864 [label="+"]
-	n139694043497696 [label="*"]
-	n139694043497864 -> n139694043497696
-	n139694043497920 [label=1]
-	n139694043497864 -> n139694043497920
-	n139694043497920 [label=1]
-	n139694043498872 [label="*"]
-	n139694043498032 [label=VectorAccess]
-	n139694043498872 -> n139694043498032
-	n139694043498816 [label=VectorAccess]
-	n139694043498872 -> n139694043498816
-	n139694043498032 [label=VectorAccess]
-	n139694044081176 [label="-"]
-	n139694043498032 -> n139694044081176
-	n139694043498816 [label=VectorAccess]
-	n139694044081176 [label="-"]
-	n139694043498816 -> n139694044081176
-	n139694043498984 [label="+"]
-	n139694043497192 [label="*"]
-	n139694043498984 -> n139694043497192
-	n139694043498872 [label="*"]
-	n139694043498984 -> n139694043498872
-	n139694043499488 [label="*"]
-	n139694044080672 [label=ArrayAccess]
-	n139694043499488 -> n139694044080672
-	n139694043499544 [label=3]
-	n139694043499488 -> n139694043499544
-	n139694043499544 [label=3]
-	n139694043499656 [label="+"]
-	n139694043499488 [label="*"]
-	n139694043499656 -> n139694043499488
-	n139694043499712 [label=2]
-	n139694043499656 -> n139694043499712
-	n139694043499712 [label=2]
-	n139694043529400 [label="*"]
-	n139694043499824 [label=VectorAccess]
-	n139694043529400 -> n139694043499824
-	n139694043529344 [label=VectorAccess]
-	n139694043529400 -> n139694043529344
-	n139694043499824 [label=VectorAccess]
-	n139694044081176 [label="-"]
-	n139694043499824 -> n139694044081176
-	n139694043529344 [label=VectorAccess]
-	n139694044081176 [label="-"]
-	n139694043529344 -> n139694044081176
-	n139694043529512 [label="+"]
-	n139694043498984 [label="+"]
-	n139694043529512 -> n139694043498984
-	n139694043529400 [label="*"]
-	n139694043529512 -> n139694043529400
-	n139694043529624 [label="<"]
-	n139694043529512 [label="+"]
-	n139694043529624 -> n139694043529512
-	n139694043529680 [label=2.5]
-	n139694043529624 -> n139694043529680
-	n139694043529680 [label=2.5]
-	n139694043529792 [label=Filter]
-	n139694043529624 [label="<"]
-	n139694043529792 -> n139694043529624
-	n139694044233456 [label=Block]
-	n139694043529792 -> n139694044233456
-	n139694044233456 [label=Block]
-	n139694044305000 [label=Assign]
-	n139694044233456 -> n139694044305000
-	n139694044303432 [label="/"]
-	n139694044303488 [label=1.0]
-	n139694044303432 -> n139694044303488
-	n139694043529512 [label="+"]
-	n139694044303432 -> n139694043529512
-	n139694044303488 [label=1.0]
-	n139694044303600 [label="*"]
-	n139694044303432 [label="/"]
-	n139694044303600 -> n139694044303432
-	n139694044303432 [label="/"]
-	n139694044303600 -> n139694044303432
-	n139694044303712 [label="*"]
-	n139694044303600 [label="*"]
-	n139694044303712 -> n139694044303600
-	n139694044303432 [label="/"]
-	n139694044303712 -> n139694044303432
-	n139694044230992 [label=PropertyAccess]
-	n139694044691704 [label=force]
-	n139694044230992 -> n139694044691704
-	n139694044080112 [label="Iter(14)"]
-	n139694044230992 -> n139694044080112
-	n139694044305504 [label="*"]
-	n139694044230992 -> n139694044305504
-	n139694044306568 [label="+"]
-	n139694044230992 -> n139694044306568
-	n139694044397640 [label="+"]
-	n139694044230992 -> n139694044397640
-	n139694044691704 [label=force]
-	n139694044304048 [label="*"]
-	n139694044081176 [label="-"]
-	n139694044304048 -> n139694044081176
-	n139694044304104 [label=48.0]
-	n139694044304048 -> n139694044304104
-	n139694044304104 [label=48.0]
-	n139694044304216 [label="*"]
-	n139694044081176 [label="-"]
-	n139694044304216 -> n139694044081176
-	n139694043940960 [label="*"]
-	n139694044304216 -> n139694043940960
-	n139694043940960 [label="*"]
-	n139694044304104 [label=48.0]
-	n139694043940960 -> n139694044304104
-	n139694044303712 [label="*"]
-	n139694043940960 -> n139694044303712
-	n139694044304328 [label="-"]
-	n139694044303712 [label="*"]
-	n139694044304328 -> n139694044303712
-	n139694044304384 [label=0.5]
-	n139694044304328 -> n139694044304384
-	n139694044304384 [label=0.5]
-	n139694044304496 [label="*"]
-	n139694044081176 [label="-"]
-	n139694044304496 -> n139694044081176
-	n139694043940456 [label="*"]
-	n139694044304496 -> n139694043940456
-	n139694043940456 [label="*"]
-	n139694043940960 [label="*"]
-	n139694043940456 -> n139694043940960
-	n139694044304328 [label="-"]
-	n139694043940456 -> n139694044304328
-	n139694044304608 [label="*"]
-	n139694044081176 [label="-"]
-	n139694044304608 -> n139694044081176
-	n139694044232112 [label="*"]
-	n139694044304608 -> n139694044232112
-	n139694044232112 [label="*"]
-	n139694043940456 [label="*"]
-	n139694044232112 -> n139694043940456
-	n139694044303432 [label="/"]
-	n139694044232112 -> n139694044303432
-	n139694044304720 [label="*"]
-	n139694044081176 [label="-"]
-	n139694044304720 -> n139694044081176
-	n139694044232112 [label="*"]
-	n139694044304720 -> n139694044232112
-	n139694044304888 [label="+"]
-	n139694044230992 [label=PropertyAccess]
-	n139694044304888 -> n139694044230992
-	n139694044304720 [label="*"]
-	n139694044304888 -> n139694044304720
-	n139694044305000 [label=Assign]
-	n139694044305896 [label=VectorAccess]
-	n139694044305000 -> n139694044305896
-	n139694044305448 [label=VectorAccess]
-	n139694044305000 -> n139694044305448
-	n139694044306792 [label=VectorAccess]
-	n139694044305000 -> n139694044306792
-	n139694044306344 [label=VectorAccess]
-	n139694044305000 -> n139694044306344
-	n139694044397864 [label=VectorAccess]
-	n139694044305000 -> n139694044397864
-	n139694044307240 [label=VectorAccess]
-	n139694044305000 -> n139694044307240
-	n139694044305896 [label=VectorAccess]
-	n139694044230992 [label=PropertyAccess]
-	n139694044305896 -> n139694044230992
-	n139694044305448 [label=VectorAccess]
-	n139694044304888 [label="+"]
-	n139694044305448 -> n139694044304888
-	n139694044306792 [label=VectorAccess]
-	n139694044230992 [label=PropertyAccess]
-	n139694044306792 -> n139694044230992
-	n139694044306344 [label=VectorAccess]
-	n139694044304888 [label="+"]
-	n139694044306344 -> n139694044304888
-	n139694044397864 [label=VectorAccess]
-	n139694044230992 [label=PropertyAccess]
-	n139694044397864 -> n139694044230992
-	n139694044307240 [label=VectorAccess]
-	n139694044304888 [label="+"]
-	n139694044307240 -> n139694044304888
-	n139694044080560 [label=0]
-	n139694044080392 [label=ArrayAccess]
-	n139694044230432 [label=numneighs]
-	n139694044080392 -> n139694044230432
-	n139694044080112 [label="Iter(14)"]
-	n139694044080392 -> n139694044080112
-	n139694044230432 [label=numneighs]
-	n139694046706880 [label=nlocal]
-	n139694044233624 [label=Module]
-	n139694044230880 [label=Block]
-	n139694044233624 -> n139694044230880
-	n139694044230880 [label=Block]
-	n139694044233176 [label=ParticleFor]
-	n139694044230880 -> n139694044233176
-	n139694044233176 [label=ParticleFor]
-	n139694044231104 [label=Block]
-	n139694044233176 -> n139694044231104
-	n139694046706880 [label=nlocal]
-	n139694044233176 -> n139694046706880
-	n139694044231104 [label=Block]
-	n139694044398704 [label=Assign]
-	n139694044231104 -> n139694044398704
-	n139694043915544 [label=Assign]
-	n139694044231104 -> n139694043915544
-	n139694044397976 [label=PropertyAccess]
-	n139694044691648 [label=velocity]
-	n139694044397976 -> n139694044691648
-	n139694044232168 [label="Iter(0)"]
-	n139694044397976 -> n139694044232168
-	n139694044399208 [label="*"]
-	n139694044397976 -> n139694044399208
-	n139694044400888 [label="+"]
-	n139694044397976 -> n139694044400888
-	n139694043914760 [label="+"]
-	n139694044397976 -> n139694043914760
-	n139694044691648 [label=velocity]
-	n139694044232168 [label="Iter(0)"]
-	n139694044399208 [label="*"]
-	n139694044232168 [label="Iter(0)"]
-	n139694044399208 -> n139694044232168
-	n139694044399600 [label=3]
-	n139694044399208 -> n139694044399600
-	n139694044399600 [label=3]
-	n139694044400888 [label="+"]
-	n139694044400440 [label="*"]
-	n139694044400888 -> n139694044400440
-	n139694044400944 [label=1]
-	n139694044400888 -> n139694044400944
-	n139694044400440 [label="*"]
-	n139694044232168 [label="Iter(0)"]
-	n139694044400440 -> n139694044232168
-	n139694044400776 [label=3]
-	n139694044400440 -> n139694044400776
-	n139694044400776 [label=3]
-	n139694044400944 [label=1]
-	n139694043914760 [label="+"]
-	n139694044401616 [label="*"]
-	n139694043914760 -> n139694044401616
-	n139694043914816 [label=2]
-	n139694043914760 -> n139694043914816
-	n139694044401616 [label="*"]
-	n139694044232168 [label="Iter(0)"]
-	n139694044401616 -> n139694044232168
-	n139694043914648 [label=3]
-	n139694044401616 -> n139694043914648
-	n139694043914648 [label=3]
-	n139694043914816 [label=2]
-	n139694044398088 [label=PropertyAccess]
-	n139694044691704 [label=force]
-	n139694044398088 -> n139694044691704
-	n139694044232168 [label="Iter(0)"]
-	n139694044398088 -> n139694044232168
-	n139694044399264 [label="*"]
-	n139694044398088 -> n139694044399264
-	n139694044400664 [label="+"]
-	n139694044398088 -> n139694044400664
-	n139694043914480 [label="+"]
-	n139694044398088 -> n139694043914480
-	n139694044399264 [label="*"]
-	n139694044232168 [label="Iter(0)"]
-	n139694044399264 -> n139694044232168
-	n139694044399320 [label=3]
-	n139694044399264 -> n139694044399320
-	n139694044399320 [label=3]
-	n139694044400664 [label="+"]
-	n139694044400496 [label="*"]
-	n139694044400664 -> n139694044400496
-	n139694044400720 [label=1]
-	n139694044400664 -> n139694044400720
-	n139694044400496 [label="*"]
-	n139694044232168 [label="Iter(0)"]
-	n139694044400496 -> n139694044232168
-	n139694044400552 [label=3]
-	n139694044400496 -> n139694044400552
-	n139694044400552 [label=3]
-	n139694044400720 [label=1]
-	n139694043914480 [label="+"]
-	n139694043914312 [label="*"]
-	n139694043914480 -> n139694043914312
-	n139694043914536 [label=2]
-	n139694043914480 -> n139694043914536
-	n139694043914312 [label="*"]
-	n139694044232168 [label="Iter(0)"]
-	n139694043914312 -> n139694044232168
-	n139694043914368 [label=3]
-	n139694043914312 -> n139694043914368
-	n139694043914368 [label=3]
-	n139694043914536 [label=2]
-	n139694044398200 [label="*"]
-	n139694044398256 [label=0.005]
-	n139694044398200 -> n139694044398256
-	n139694044398088 [label=PropertyAccess]
-	n139694044398200 -> n139694044398088
-	n139694044398256 [label=0.005]
-	n139694044398368 [label=PropertyAccess]
-	n139694044691536 [label=mass]
-	n139694044398368 -> n139694044691536
-	n139694044232168 [label="Iter(0)"]
-	n139694044398368 -> n139694044232168
-	n139694044691536 [label=mass]
-	n139694044398480 [label="/"]
-	n139694044398200 [label="*"]
-	n139694044398480 -> n139694044398200
-	n139694044398368 [label=PropertyAccess]
-	n139694044398480 -> n139694044398368
-	n139694044398592 [label="+"]
-	n139694044397976 [label=PropertyAccess]
-	n139694044398592 -> n139694044397976
-	n139694044398480 [label="/"]
-	n139694044398592 -> n139694044398480
-	n139694044398816 [label="*"]
-	n139694044232168 [label="Iter(0)"]
-	n139694044398816 -> n139694044232168
-	n139694044398872 [label=3]
-	n139694044398816 -> n139694044398872
-	n139694044398872 [label=3]
-	n139694044400048 [label="*"]
-	n139694044232168 [label="Iter(0)"]
-	n139694044400048 -> n139694044232168
-	n139694044400104 [label=3]
-	n139694044400048 -> n139694044400104
-	n139694044400104 [label=3]
-	n139694044400216 [label="+"]
-	n139694044400048 [label="*"]
-	n139694044400216 -> n139694044400048
-	n139694044400272 [label=1]
-	n139694044400216 -> n139694044400272
-	n139694044400272 [label=1]
-	n139694044401224 [label="*"]
-	n139694044232168 [label="Iter(0)"]
-	n139694044401224 -> n139694044232168
-	n139694044401280 [label=3]
-	n139694044401224 -> n139694044401280
-	n139694044401280 [label=3]
-	n139694044401392 [label="+"]
-	n139694044401224 [label="*"]
-	n139694044401392 -> n139694044401224
-	n139694044401448 [label=2]
-	n139694044401392 -> n139694044401448
-	n139694044401448 [label=2]
-	n139694044398704 [label=Assign]
-	n139694044399936 [label=VectorAccess]
-	n139694044398704 -> n139694044399936
-	n139694044399152 [label=VectorAccess]
-	n139694044398704 -> n139694044399152
-	n139694044401112 [label=VectorAccess]
-	n139694044398704 -> n139694044401112
-	n139694044400384 [label=VectorAccess]
-	n139694044398704 -> n139694044400384
-	n139694043914984 [label=VectorAccess]
-	n139694044398704 -> n139694043914984
-	n139694044401560 [label=VectorAccess]
-	n139694044398704 -> n139694044401560
-	n139694044399936 [label=VectorAccess]
-	n139694044397976 [label=PropertyAccess]
-	n139694044399936 -> n139694044397976
-	n139694044399152 [label=VectorAccess]
-	n139694044398592 [label="+"]
-	n139694044399152 -> n139694044398592
-	n139694044401112 [label=VectorAccess]
-	n139694044397976 [label=PropertyAccess]
-	n139694044401112 -> n139694044397976
-	n139694044400384 [label=VectorAccess]
-	n139694044398592 [label="+"]
-	n139694044400384 -> n139694044398592
-	n139694043914984 [label=VectorAccess]
-	n139694044397976 [label=PropertyAccess]
-	n139694043914984 -> n139694044397976
-	n139694044401560 [label=VectorAccess]
-	n139694044398592 [label="+"]
-	n139694044401560 -> n139694044398592
-	n139694043915040 [label=PropertyAccess]
-	n139694044691592 [label=position]
-	n139694043915040 -> n139694044691592
-	n139694044232168 [label="Iter(0)"]
-	n139694043915040 -> n139694044232168
-	n139694043916328 [label="*"]
-	n139694043915040 -> n139694043916328
-	n139694043917728 [label="+"]
-	n139694043915040 -> n139694043917728
-	n139694043939504 [label="+"]
-	n139694043915040 -> n139694043939504
-	n139694043916328 [label="*"]
-	n139694044232168 [label="Iter(0)"]
-	n139694043916328 -> n139694044232168
-	n139694043916384 [label=3]
-	n139694043916328 -> n139694043916384
-	n139694043916384 [label=3]
-	n139694043917728 [label="+"]
-	n139694043917560 [label="*"]
-	n139694043917728 -> n139694043917560
-	n139694043917784 [label=1]
-	n139694043917728 -> n139694043917784
-	n139694043917560 [label="*"]
-	n139694044232168 [label="Iter(0)"]
-	n139694043917560 -> n139694044232168
-	n139694043917616 [label=3]
-	n139694043917560 -> n139694043917616
-	n139694043917616 [label=3]
-	n139694043917784 [label=1]
-	n139694043939504 [label="+"]
-	n139694043939336 [label="*"]
-	n139694043939504 -> n139694043939336
-	n139694043939560 [label=2]
-	n139694043939504 -> n139694043939560
-	n139694043939336 [label="*"]
-	n139694044232168 [label="Iter(0)"]
-	n139694043939336 -> n139694044232168
-	n139694043939392 [label=3]
-	n139694043939336 -> n139694043939392
-	n139694043939392 [label=3]
-	n139694043939560 [label=2]
-	n139694043915152 [label=PropertyAccess]
-	n139694044691648 [label=velocity]
-	n139694043915152 -> n139694044691648
-	n139694044232168 [label="Iter(0)"]
-	n139694043915152 -> n139694044232168
-	n139694043915992 [label="*"]
-	n139694043915152 -> n139694043915992
-	n139694043917392 [label="+"]
-	n139694043915152 -> n139694043917392
-	n139694043939168 [label="+"]
-	n139694043915152 -> n139694043939168
-	n139694043915992 [label="*"]
-	n139694044232168 [label="Iter(0)"]
-	n139694043915992 -> n139694044232168
-	n139694043916048 [label=3]
-	n139694043915992 -> n139694043916048
-	n139694043916048 [label=3]
-	n139694043917392 [label="+"]
-	n139694043917224 [label="*"]
-	n139694043917392 -> n139694043917224
-	n139694043917448 [label=1]
-	n139694043917392 -> n139694043917448
-	n139694043917224 [label="*"]
-	n139694044232168 [label="Iter(0)"]
-	n139694043917224 -> n139694044232168
-	n139694043917280 [label=3]
-	n139694043917224 -> n139694043917280
-	n139694043917280 [label=3]
-	n139694043917448 [label=1]
-	n139694043939168 [label="+"]
-	n139694043939000 [label="*"]
-	n139694043939168 -> n139694043939000
-	n139694043939224 [label=2]
-	n139694043939168 -> n139694043939224
-	n139694043939000 [label="*"]
-	n139694044232168 [label="Iter(0)"]
-	n139694043939000 -> n139694044232168
-	n139694043939056 [label=3]
-	n139694043939000 -> n139694043939056
-	n139694043939056 [label=3]
-	n139694043939224 [label=2]
-	n139694043915264 [label="*"]
-	n139694043915320 [label=0.005]
-	n139694043915264 -> n139694043915320
-	n139694043915152 [label=PropertyAccess]
-	n139694043915264 -> n139694043915152
-	n139694043915320 [label=0.005]
-	n139694043915432 [label="+"]
-	n139694043915040 [label=PropertyAccess]
-	n139694043915432 -> n139694043915040
-	n139694043915264 [label="*"]
-	n139694043915432 -> n139694043915264
-	n139694043915600 [label="*"]
-	n139694044232168 [label="Iter(0)"]
-	n139694043915600 -> n139694044232168
-	n139694043915656 [label=3]
-	n139694043915600 -> n139694043915656
-	n139694043915656 [label=3]
-	n139694043916832 [label="*"]
-	n139694044232168 [label="Iter(0)"]
-	n139694043916832 -> n139694044232168
-	n139694043916888 [label=3]
-	n139694043916832 -> n139694043916888
-	n139694043916888 [label=3]
-	n139694043917000 [label="+"]
-	n139694043916832 [label="*"]
-	n139694043917000 -> n139694043916832
-	n139694043917056 [label=1]
-	n139694043917000 -> n139694043917056
-	n139694043917056 [label=1]
-	n139694043918064 [label="*"]
-	n139694044232168 [label="Iter(0)"]
-	n139694043918064 -> n139694044232168
-	n139694043918120 [label=3]
-	n139694043918064 -> n139694043918120
-	n139694043918120 [label=3]
-	n139694043918232 [label="+"]
-	n139694043918064 [label="*"]
-	n139694043918232 -> n139694043918064
-	n139694043918288 [label=2]
-	n139694043918232 -> n139694043918288
-	n139694043918288 [label=2]
-	n139694043915544 [label=Assign]
-	n139694043916720 [label=VectorAccess]
-	n139694043915544 -> n139694043916720
-	n139694043915936 [label=VectorAccess]
-	n139694043915544 -> n139694043915936
-	n139694043917952 [label=VectorAccess]
-	n139694043915544 -> n139694043917952
-	n139694043917168 [label=VectorAccess]
-	n139694043915544 -> n139694043917168
-	n139694043939728 [label=VectorAccess]
-	n139694043915544 -> n139694043939728
-	n139694043938944 [label=VectorAccess]
-	n139694043915544 -> n139694043938944
-	n139694043916720 [label=VectorAccess]
-	n139694043915040 [label=PropertyAccess]
-	n139694043916720 -> n139694043915040
-	n139694043915936 [label=VectorAccess]
-	n139694043915432 [label="+"]
-	n139694043915936 -> n139694043915432
-	n139694043917952 [label=VectorAccess]
-	n139694043915040 [label=PropertyAccess]
-	n139694043917952 -> n139694043915040
-	n139694043917168 [label=VectorAccess]
-	n139694043915432 [label="+"]
-	n139694043917168 -> n139694043915432
-	n139694043939728 [label=VectorAccess]
-	n139694043915040 [label=PropertyAccess]
-	n139694043939728 -> n139694043915040
-	n139694043938944 [label=VectorAccess]
-	n139694043915432 [label="+"]
-	n139694043938944 -> n139694043915432
+	n139969368120288 [label=Block]
+	n139969367650200 [label=Module]
+	n139969368120288 -> n139969367650200
+	n139969367650256 [label=Module]
+	n139969368120288 -> n139969367650256
+	n139969367650200 [label=Module]
+	n139969367650144 [label=Block]
+	n139969367650200 -> n139969367650144
+	n139969367650144 [label=Block]
+	n139969367647400 [label=ParticleFor]
+	n139969367650144 -> n139969367647400
+	n139969367647400 [label=ParticleFor]
+	n139969366898952 [label=Block]
+	n139969367647400 -> n139969366898952
+	n139969370135744 [label=nlocal]
+	n139969367647400 -> n139969370135744
+	n139969366898952 [label=Block]
+	n139969366899120 [label=For]
+	n139969366898952 -> n139969366899120
+	n139969366899400 [label="*"]
+	n139969366898784 [label="Iter(14)"]
+	n139969366899400 -> n139969366898784
+	n139969367646952 [label=neighborlist_capacity]
+	n139969366899400 -> n139969367646952
+	n139969366898784 [label="Iter(14)"]
+	n139969367646952 [label=neighborlist_capacity]
+	n139969366899624 [label=PropertyAccess]
+	n139969368120512 [label=position]
+	n139969366899624 -> n139969368120512
+	n139969366898784 [label="Iter(14)"]
+	n139969366899624 -> n139969366898784
+	n139969366925440 [label="*"]
+	n139969366899624 -> n139969366925440
+	n139969366927288 [label="+"]
+	n139969366899624 -> n139969366927288
+	n139969366929080 [label="+"]
+	n139969366899624 -> n139969366929080
+	n139969368120512 [label=position]
+	n139969366925440 [label="*"]
+	n139969366898784 [label="Iter(14)"]
+	n139969366925440 -> n139969366898784
+	n139969366925496 [label=3]
+	n139969366925440 -> n139969366925496
+	n139969366925496 [label=3]
+	n139969366927288 [label="+"]
+	n139969366927120 [label="*"]
+	n139969366927288 -> n139969366927120
+	n139969366927344 [label=1]
+	n139969366927288 -> n139969366927344
+	n139969366927120 [label="*"]
+	n139969366898784 [label="Iter(14)"]
+	n139969366927120 -> n139969366898784
+	n139969366927176 [label=3]
+	n139969366927120 -> n139969366927176
+	n139969366927176 [label=3]
+	n139969366927344 [label=1]
+	n139969366929080 [label="+"]
+	n139969366928912 [label="*"]
+	n139969366929080 -> n139969366928912
+	n139969366929136 [label=2]
+	n139969366929080 -> n139969366929136
+	n139969366928912 [label="*"]
+	n139969366898784 [label="Iter(14)"]
+	n139969366928912 -> n139969366898784
+	n139969366928968 [label=3]
+	n139969366928912 -> n139969366928968
+	n139969366928968 [label=3]
+	n139969366929136 [label=2]
+	n139969366900016 [label="*"]
+	n139969366898784 [label="Iter(14)"]
+	n139969366900016 -> n139969366898784
+	n139969366900072 [label=3]
+	n139969366900016 -> n139969366900072
+	n139969366900072 [label=3]
+	n139969366926336 [label="*"]
+	n139969366898784 [label="Iter(14)"]
+	n139969366926336 -> n139969366898784
+	n139969366926392 [label=3]
+	n139969366926336 -> n139969366926392
+	n139969366926392 [label=3]
+	n139969366926504 [label="+"]
+	n139969366926336 [label="*"]
+	n139969366926504 -> n139969366926336
+	n139969366926560 [label=1]
+	n139969366926504 -> n139969366926560
+	n139969366926560 [label=1]
+	n139969366928128 [label="*"]
+	n139969366898784 [label="Iter(14)"]
+	n139969366928128 -> n139969366898784
+	n139969366928184 [label=3]
+	n139969366928128 -> n139969366928184
+	n139969366928184 [label=3]
+	n139969366928296 [label="+"]
+	n139969366928128 [label="*"]
+	n139969366928296 -> n139969366928128
+	n139969366928352 [label=2]
+	n139969366928296 -> n139969366928352
+	n139969366928352 [label=2]
+	n139969367692344 [label="*"]
+	n139969366898784 [label="Iter(14)"]
+	n139969367692344 -> n139969366898784
+	n139969367692288 [label=3]
+	n139969367692344 -> n139969367692288
+	n139969367692288 [label=3]
+	n139969367691616 [label="*"]
+	n139969366898784 [label="Iter(14)"]
+	n139969367691616 -> n139969366898784
+	n139969367691672 [label=3]
+	n139969367691616 -> n139969367691672
+	n139969367691672 [label=3]
+	n139969367692120 [label="*"]
+	n139969366898784 [label="Iter(14)"]
+	n139969367692120 -> n139969366898784
+	n139969367692176 [label=3]
+	n139969367692120 -> n139969367692176
+	n139969367692176 [label=3]
+	n139969367692456 [label="+"]
+	n139969367692120 [label="*"]
+	n139969367692456 -> n139969367692120
+	n139969367692512 [label=1]
+	n139969367692456 -> n139969367692512
+	n139969367692512 [label=1]
+	n139969367692624 [label="*"]
+	n139969366898784 [label="Iter(14)"]
+	n139969367692624 -> n139969366898784
+	n139969367692680 [label=3]
+	n139969367692624 -> n139969367692680
+	n139969367692680 [label=3]
+	n139969367694024 [label="+"]
+	n139969367692624 [label="*"]
+	n139969367694024 -> n139969367692624
+	n139969367692792 [label=1]
+	n139969367694024 -> n139969367692792
+	n139969367692792 [label=1]
+	n139969367694248 [label="*"]
+	n139969366898784 [label="Iter(14)"]
+	n139969367694248 -> n139969366898784
+	n139969367694640 [label=3]
+	n139969367694248 -> n139969367694640
+	n139969367694640 [label=3]
+	n139969367694808 [label="+"]
+	n139969367694248 [label="*"]
+	n139969367694808 -> n139969367694248
+	n139969367695088 [label=2]
+	n139969367694808 -> n139969367695088
+	n139969367695088 [label=2]
+	n139969367695256 [label="*"]
+	n139969366898784 [label="Iter(14)"]
+	n139969367695256 -> n139969366898784
+	n139969367695312 [label=3]
+	n139969367695256 -> n139969367695312
+	n139969367695312 [label=3]
+	n139969367826560 [label="+"]
+	n139969367695256 [label="*"]
+	n139969367826560 -> n139969367695256
+	n139969367826616 [label=2]
+	n139969367826560 -> n139969367826616
+	n139969367826616 [label=2]
+	n139969366899120 [label=For]
+	n139969366899176 [label="Iter(15)"]
+	n139969366899120 -> n139969366899176
+	n139969366899288 [label=Block]
+	n139969366899120 -> n139969366899288
+	n139969366899232 [label=0]
+	n139969366899120 -> n139969366899232
+	n139969366899064 [label=ArrayAccess]
+	n139969366899120 -> n139969366899064
+	n139969366899176 [label="Iter(15)"]
+	n139969366899288 [label=Block]
+	n139969366958768 [label=Filter]
+	n139969366899288 -> n139969366958768
+	n139969366899512 [label="+"]
+	n139969366899400 [label="*"]
+	n139969366899512 -> n139969366899400
+	n139969366899176 [label="Iter(15)"]
+	n139969366899512 -> n139969366899176
+	n139969366899736 [label=PropertyAccess]
+	n139969368120512 [label=position]
+	n139969366899736 -> n139969368120512
+	n139969366899344 [label=ArrayAccess]
+	n139969366899736 -> n139969366899344
+	n139969366925776 [label="*"]
+	n139969366899736 -> n139969366925776
+	n139969366927624 [label="+"]
+	n139969366899736 -> n139969366927624
+	n139969366958152 [label="+"]
+	n139969366899736 -> n139969366958152
+	n139969366899344 [label=ArrayAccess]
+	n139969367647008 [label=neighborlists]
+	n139969366899344 -> n139969367647008
+	n139969366899512 [label="+"]
+	n139969366899344 -> n139969366899512
+	n139969367647008 [label=neighborlists]
+	n139969366925776 [label="*"]
+	n139969366899344 [label=ArrayAccess]
+	n139969366925776 -> n139969366899344
+	n139969366925832 [label=3]
+	n139969366925776 -> n139969366925832
+	n139969366925832 [label=3]
+	n139969366927624 [label="+"]
+	n139969366927456 [label="*"]
+	n139969366927624 -> n139969366927456
+	n139969366927680 [label=1]
+	n139969366927624 -> n139969366927680
+	n139969366927456 [label="*"]
+	n139969366899344 [label=ArrayAccess]
+	n139969366927456 -> n139969366899344
+	n139969366927512 [label=3]
+	n139969366927456 -> n139969366927512
+	n139969366927512 [label=3]
+	n139969366927680 [label=1]
+	n139969366958152 [label="+"]
+	n139969366929248 [label="*"]
+	n139969366958152 -> n139969366929248
+	n139969366958208 [label=2]
+	n139969366958152 -> n139969366958208
+	n139969366929248 [label="*"]
+	n139969366899344 [label=ArrayAccess]
+	n139969366929248 -> n139969366899344
+	n139969366929304 [label=3]
+	n139969366929248 -> n139969366929304
+	n139969366929304 [label=3]
+	n139969366958208 [label=2]
+	n139969366899848 [label="-"]
+	n139969366899624 [label=PropertyAccess]
+	n139969366899848 -> n139969366899624
+	n139969366899736 [label=PropertyAccess]
+	n139969366899848 -> n139969366899736
+	n139969366900352 [label="*"]
+	n139969366899344 [label=ArrayAccess]
+	n139969366900352 -> n139969366899344
+	n139969366900408 [label=3]
+	n139969366900352 -> n139969366900408
+	n139969366900408 [label=3]
+	n139969366926168 [label="*"]
+	n139969366900688 [label=VectorAccess]
+	n139969366926168 -> n139969366900688
+	n139969366926112 [label=VectorAccess]
+	n139969366926168 -> n139969366926112
+	n139969366900688 [label=VectorAccess]
+	n139969366899848 [label="-"]
+	n139969366900688 -> n139969366899848
+	n139969366926112 [label=VectorAccess]
+	n139969366899848 [label="-"]
+	n139969366926112 -> n139969366899848
+	n139969366926672 [label="*"]
+	n139969366899344 [label=ArrayAccess]
+	n139969366926672 -> n139969366899344
+	n139969366926728 [label=3]
+	n139969366926672 -> n139969366926728
+	n139969366926728 [label=3]
+	n139969366926840 [label="+"]
+	n139969366926672 [label="*"]
+	n139969366926840 -> n139969366926672
+	n139969366926896 [label=1]
+	n139969366926840 -> n139969366926896
+	n139969366926896 [label=1]
+	n139969366927848 [label="*"]
+	n139969366927008 [label=VectorAccess]
+	n139969366927848 -> n139969366927008
+	n139969366927792 [label=VectorAccess]
+	n139969366927848 -> n139969366927792
+	n139969366927008 [label=VectorAccess]
+	n139969366899848 [label="-"]
+	n139969366927008 -> n139969366899848
+	n139969366927792 [label=VectorAccess]
+	n139969366899848 [label="-"]
+	n139969366927792 -> n139969366899848
+	n139969366927960 [label="+"]
+	n139969366926168 [label="*"]
+	n139969366927960 -> n139969366926168
+	n139969366927848 [label="*"]
+	n139969366927960 -> n139969366927848
+	n139969366928464 [label="*"]
+	n139969366899344 [label=ArrayAccess]
+	n139969366928464 -> n139969366899344
+	n139969366928520 [label=3]
+	n139969366928464 -> n139969366928520
+	n139969366928520 [label=3]
+	n139969366928632 [label="+"]
+	n139969366928464 [label="*"]
+	n139969366928632 -> n139969366928464
+	n139969366928688 [label=2]
+	n139969366928632 -> n139969366928688
+	n139969366928688 [label=2]
+	n139969366958376 [label="*"]
+	n139969366928800 [label=VectorAccess]
+	n139969366958376 -> n139969366928800
+	n139969366958320 [label=VectorAccess]
+	n139969366958376 -> n139969366958320
+	n139969366928800 [label=VectorAccess]
+	n139969366899848 [label="-"]
+	n139969366928800 -> n139969366899848
+	n139969366958320 [label=VectorAccess]
+	n139969366899848 [label="-"]
+	n139969366958320 -> n139969366899848
+	n139969366958488 [label="+"]
+	n139969366927960 [label="+"]
+	n139969366958488 -> n139969366927960
+	n139969366958376 [label="*"]
+	n139969366958488 -> n139969366958376
+	n139969366958600 [label="<"]
+	n139969366958488 [label="+"]
+	n139969366958600 -> n139969366958488
+	n139969366958656 [label=2.5]
+	n139969366958600 -> n139969366958656
+	n139969366958656 [label=2.5]
+	n139969366958768 [label=Filter]
+	n139969366958600 [label="<"]
+	n139969366958768 -> n139969366958600
+	n139969367650088 [label=Block]
+	n139969366958768 -> n139969367650088
+	n139969367650088 [label=Block]
+	n139969367693296 [label=Assign]
+	n139969367650088 -> n139969367693296
+	n139969367694976 [label="/"]
+	n139969367694864 [label=1.0]
+	n139969367694976 -> n139969367694864
+	n139969366958488 [label="+"]
+	n139969367694976 -> n139969366958488
+	n139969367694864 [label=1.0]
+	n139969367694696 [label="*"]
+	n139969367694976 [label="/"]
+	n139969367694696 -> n139969367694976
+	n139969367694976 [label="/"]
+	n139969367694696 -> n139969367694976
+	n139969367694472 [label="*"]
+	n139969367694696 [label="*"]
+	n139969367694472 -> n139969367694696
+	n139969367694976 [label="/"]
+	n139969367694472 -> n139969367694976
+	n139969367694920 [label=PropertyAccess]
+	n139969368120624 [label=force]
+	n139969367694920 -> n139969368120624
+	n139969366898784 [label="Iter(14)"]
+	n139969367694920 -> n139969366898784
+	n139969367691616 [label="*"]
+	n139969367694920 -> n139969367691616
+	n139969367694024 [label="+"]
+	n139969367694920 -> n139969367694024
+	n139969367826560 [label="+"]
+	n139969367694920 -> n139969367826560
+	n139969368120624 [label=force]
+	n139969367693856 [label="*"]
+	n139969366899848 [label="-"]
+	n139969367693856 -> n139969366899848
+	n139969367693744 [label=48.0]
+	n139969367693856 -> n139969367693744
+	n139969367693744 [label=48.0]
+	n139969367693632 [label="*"]
+	n139969366899848 [label="-"]
+	n139969367693632 -> n139969366899848
+	n139969367370328 [label="*"]
+	n139969367693632 -> n139969367370328
+	n139969367370328 [label="*"]
+	n139969367693744 [label=48.0]
+	n139969367370328 -> n139969367693744
+	n139969367694472 [label="*"]
+	n139969367370328 -> n139969367694472
+	n139969367693464 [label="-"]
+	n139969367694472 [label="*"]
+	n139969367693464 -> n139969367694472
+	n139969367693520 [label=0.5]
+	n139969367693464 -> n139969367693520
+	n139969367693520 [label=0.5]
+	n139969367693352 [label="*"]
+	n139969366899848 [label="-"]
+	n139969367693352 -> n139969366899848
+	n139969367370440 [label="*"]
+	n139969367693352 -> n139969367370440
+	n139969367370440 [label="*"]
+	n139969367370328 [label="*"]
+	n139969367370440 -> n139969367370328
+	n139969367693464 [label="-"]
+	n139969367370440 -> n139969367693464
+	n139969367692904 [label="*"]
+	n139969366899848 [label="-"]
+	n139969367692904 -> n139969366899848
+	n139969366959328 [label="*"]
+	n139969367692904 -> n139969366959328
+	n139969366959328 [label="*"]
+	n139969367370440 [label="*"]
+	n139969366959328 -> n139969367370440
+	n139969367694976 [label="/"]
+	n139969366959328 -> n139969367694976
+	n139969367693016 [label="*"]
+	n139969366899848 [label="-"]
+	n139969367693016 -> n139969366899848
+	n139969366959328 [label="*"]
+	n139969367693016 -> n139969366959328
+	n139969367693240 [label="+"]
+	n139969367694920 [label=PropertyAccess]
+	n139969367693240 -> n139969367694920
+	n139969367693016 [label="*"]
+	n139969367693240 -> n139969367693016
+	n139969367693296 [label=Assign]
+	n139969367692008 [label=VectorAccess]
+	n139969367693296 -> n139969367692008
+	n139969367691560 [label=VectorAccess]
+	n139969367693296 -> n139969367691560
+	n139969367694192 [label=VectorAccess]
+	n139969367693296 -> n139969367694192
+	n139969367692568 [label=VectorAccess]
+	n139969367693296 -> n139969367692568
+	n139969367826784 [label=VectorAccess]
+	n139969367693296 -> n139969367826784
+	n139969367695200 [label=VectorAccess]
+	n139969367693296 -> n139969367695200
+	n139969367692008 [label=VectorAccess]
+	n139969367694920 [label=PropertyAccess]
+	n139969367692008 -> n139969367694920
+	n139969367691560 [label=VectorAccess]
+	n139969367693240 [label="+"]
+	n139969367691560 -> n139969367693240
+	n139969367694192 [label=VectorAccess]
+	n139969367694920 [label=PropertyAccess]
+	n139969367694192 -> n139969367694920
+	n139969367692568 [label=VectorAccess]
+	n139969367693240 [label="+"]
+	n139969367692568 -> n139969367693240
+	n139969367826784 [label=VectorAccess]
+	n139969367694920 [label=PropertyAccess]
+	n139969367826784 -> n139969367694920
+	n139969367695200 [label=VectorAccess]
+	n139969367693240 [label="+"]
+	n139969367695200 -> n139969367693240
+	n139969366899232 [label=0]
+	n139969366899064 [label=ArrayAccess]
+	n139969367647064 [label=numneighs]
+	n139969366899064 -> n139969367647064
+	n139969366898784 [label="Iter(14)"]
+	n139969366899064 -> n139969366898784
+	n139969367647064 [label=numneighs]
+	n139969370135744 [label=nlocal]
+	n139969367650256 [label=Module]
+	n139969367647512 [label=Block]
+	n139969367650256 -> n139969367647512
+	n139969367647512 [label=Block]
+	n139969367649808 [label=ParticleFor]
+	n139969367647512 -> n139969367649808
+	n139969367649808 [label=ParticleFor]
+	n139969367647736 [label=Block]
+	n139969367649808 -> n139969367647736
+	n139969370135744 [label=nlocal]
+	n139969367649808 -> n139969370135744
+	n139969367647736 [label=Block]
+	n139969367827568 [label=Assign]
+	n139969367647736 -> n139969367827568
+	n139969367344464 [label=Assign]
+	n139969367647736 -> n139969367344464
+	n139969367826896 [label=PropertyAccess]
+	n139969368120568 [label=velocity]
+	n139969367826896 -> n139969368120568
+	n139969367648800 [label="Iter(0)"]
+	n139969367826896 -> n139969367648800
+	n139969367828072 [label="*"]
+	n139969367826896 -> n139969367828072
+	n139969367829808 [label="+"]
+	n139969367826896 -> n139969367829808
+	n139969367343680 [label="+"]
+	n139969367826896 -> n139969367343680
+	n139969368120568 [label=velocity]
+	n139969367648800 [label="Iter(0)"]
+	n139969367828072 [label="*"]
+	n139969367648800 [label="Iter(0)"]
+	n139969367828072 -> n139969367648800
+	n139969367828464 [label=3]
+	n139969367828072 -> n139969367828464
+	n139969367828464 [label=3]
+	n139969367829808 [label="+"]
+	n139969367829304 [label="*"]
+	n139969367829808 -> n139969367829304
+	n139969367829864 [label=1]
+	n139969367829808 -> n139969367829864
+	n139969367829304 [label="*"]
+	n139969367648800 [label="Iter(0)"]
+	n139969367829304 -> n139969367648800
+	n139969367829696 [label=3]
+	n139969367829304 -> n139969367829696
+	n139969367829696 [label=3]
+	n139969367829864 [label=1]
+	n139969367343680 [label="+"]
+	n139969367343176 [label="*"]
+	n139969367343680 -> n139969367343176
+	n139969367343736 [label=2]
+	n139969367343680 -> n139969367343736
+	n139969367343176 [label="*"]
+	n139969367648800 [label="Iter(0)"]
+	n139969367343176 -> n139969367648800
+	n139969367343568 [label=3]
+	n139969367343176 -> n139969367343568
+	n139969367343568 [label=3]
+	n139969367343736 [label=2]
+	n139969367827008 [label=PropertyAccess]
+	n139969368120624 [label=force]
+	n139969367827008 -> n139969368120624
+	n139969367648800 [label="Iter(0)"]
+	n139969367827008 -> n139969367648800
+	n139969367828128 [label="*"]
+	n139969367827008 -> n139969367828128
+	n139969367829528 [label="+"]
+	n139969367827008 -> n139969367829528
+	n139969367343400 [label="+"]
+	n139969367827008 -> n139969367343400
+	n139969367828128 [label="*"]
+	n139969367648800 [label="Iter(0)"]
+	n139969367828128 -> n139969367648800
+	n139969367828184 [label=3]
+	n139969367828128 -> n139969367828184
+	n139969367828184 [label=3]
+	n139969367829528 [label="+"]
+	n139969367829360 [label="*"]
+	n139969367829528 -> n139969367829360
+	n139969367829584 [label=1]
+	n139969367829528 -> n139969367829584
+	n139969367829360 [label="*"]
+	n139969367648800 [label="Iter(0)"]
+	n139969367829360 -> n139969367648800
+	n139969367829416 [label=3]
+	n139969367829360 -> n139969367829416
+	n139969367829416 [label=3]
+	n139969367829584 [label=1]
+	n139969367343400 [label="+"]
+	n139969367343232 [label="*"]
+	n139969367343400 -> n139969367343232
+	n139969367343456 [label=2]
+	n139969367343400 -> n139969367343456
+	n139969367343232 [label="*"]
+	n139969367648800 [label="Iter(0)"]
+	n139969367343232 -> n139969367648800
+	n139969367343288 [label=3]
+	n139969367343232 -> n139969367343288
+	n139969367343288 [label=3]
+	n139969367343456 [label=2]
+	n139969367827120 [label="*"]
+	n139969367827176 [label=0.005]
+	n139969367827120 -> n139969367827176
+	n139969367827008 [label=PropertyAccess]
+	n139969367827120 -> n139969367827008
+	n139969367827176 [label=0.005]
+	n139969367827288 [label=PropertyAccess]
+	n139969368120456 [label=mass]
+	n139969367827288 -> n139969368120456
+	n139969367648800 [label="Iter(0)"]
+	n139969367827288 -> n139969367648800
+	n139969368120456 [label=mass]
+	n139969367827344 [label="/"]
+	n139969367827120 [label="*"]
+	n139969367827344 -> n139969367827120
+	n139969367827288 [label=PropertyAccess]
+	n139969367827344 -> n139969367827288
+	n139969367827456 [label="+"]
+	n139969367826896 [label=PropertyAccess]
+	n139969367827456 -> n139969367826896
+	n139969367827344 [label="/"]
+	n139969367827456 -> n139969367827344
+	n139969367827680 [label="*"]
+	n139969367648800 [label="Iter(0)"]
+	n139969367827680 -> n139969367648800
+	n139969367827736 [label=3]
+	n139969367827680 -> n139969367827736
+	n139969367827736 [label=3]
+	n139969367828912 [label="*"]
+	n139969367648800 [label="Iter(0)"]
+	n139969367828912 -> n139969367648800
+	n139969367828968 [label=3]
+	n139969367828912 -> n139969367828968
+	n139969367828968 [label=3]
+	n139969367829080 [label="+"]
+	n139969367828912 [label="*"]
+	n139969367829080 -> n139969367828912
+	n139969367829136 [label=1]
+	n139969367829080 -> n139969367829136
+	n139969367829136 [label=1]
+	n139969367830144 [label="*"]
+	n139969367648800 [label="Iter(0)"]
+	n139969367830144 -> n139969367648800
+	n139969367830200 [label=3]
+	n139969367830144 -> n139969367830200
+	n139969367830200 [label=3]
+	n139969367830312 [label="+"]
+	n139969367830144 [label="*"]
+	n139969367830312 -> n139969367830144
+	n139969367830368 [label=2]
+	n139969367830312 -> n139969367830368
+	n139969367830368 [label=2]
+	n139969367827568 [label=Assign]
+	n139969367828800 [label=VectorAccess]
+	n139969367827568 -> n139969367828800
+	n139969367828016 [label=VectorAccess]
+	n139969367827568 -> n139969367828016
+	n139969367830032 [label=VectorAccess]
+	n139969367827568 -> n139969367830032
+	n139969367829248 [label=VectorAccess]
+	n139969367827568 -> n139969367829248
+	n139969367343904 [label=VectorAccess]
+	n139969367827568 -> n139969367343904
+	n139969367830480 [label=VectorAccess]
+	n139969367827568 -> n139969367830480
+	n139969367828800 [label=VectorAccess]
+	n139969367826896 [label=PropertyAccess]
+	n139969367828800 -> n139969367826896
+	n139969367828016 [label=VectorAccess]
+	n139969367827456 [label="+"]
+	n139969367828016 -> n139969367827456
+	n139969367830032 [label=VectorAccess]
+	n139969367826896 [label=PropertyAccess]
+	n139969367830032 -> n139969367826896
+	n139969367829248 [label=VectorAccess]
+	n139969367827456 [label="+"]
+	n139969367829248 -> n139969367827456
+	n139969367343904 [label=VectorAccess]
+	n139969367826896 [label=PropertyAccess]
+	n139969367343904 -> n139969367826896
+	n139969367830480 [label=VectorAccess]
+	n139969367827456 [label="+"]
+	n139969367830480 -> n139969367827456
+	n139969367343960 [label=PropertyAccess]
+	n139969368120512 [label=position]
+	n139969367343960 -> n139969368120512
+	n139969367648800 [label="Iter(0)"]
+	n139969367343960 -> n139969367648800
+	n139969367345304 [label="*"]
+	n139969367343960 -> n139969367345304
+	n139969367346704 [label="+"]
+	n139969367343960 -> n139969367346704
+	n139969367368480 [label="+"]
+	n139969367343960 -> n139969367368480
+	n139969367345304 [label="*"]
+	n139969367648800 [label="Iter(0)"]
+	n139969367345304 -> n139969367648800
+	n139969367345360 [label=3]
+	n139969367345304 -> n139969367345360
+	n139969367345360 [label=3]
+	n139969367346704 [label="+"]
+	n139969367346536 [label="*"]
+	n139969367346704 -> n139969367346536
+	n139969367346760 [label=1]
+	n139969367346704 -> n139969367346760
+	n139969367346536 [label="*"]
+	n139969367648800 [label="Iter(0)"]
+	n139969367346536 -> n139969367648800
+	n139969367346592 [label=3]
+	n139969367346536 -> n139969367346592
+	n139969367346592 [label=3]
+	n139969367346760 [label=1]
+	n139969367368480 [label="+"]
+	n139969367368312 [label="*"]
+	n139969367368480 -> n139969367368312
+	n139969367368536 [label=2]
+	n139969367368480 -> n139969367368536
+	n139969367368312 [label="*"]
+	n139969367648800 [label="Iter(0)"]
+	n139969367368312 -> n139969367648800
+	n139969367368368 [label=3]
+	n139969367368312 -> n139969367368368
+	n139969367368368 [label=3]
+	n139969367368536 [label=2]
+	n139969367344072 [label=PropertyAccess]
+	n139969368120568 [label=velocity]
+	n139969367344072 -> n139969368120568
+	n139969367648800 [label="Iter(0)"]
+	n139969367344072 -> n139969367648800
+	n139969367344968 [label="*"]
+	n139969367344072 -> n139969367344968
+	n139969367346368 [label="+"]
+	n139969367344072 -> n139969367346368
+	n139969367368144 [label="+"]
+	n139969367344072 -> n139969367368144
+	n139969367344968 [label="*"]
+	n139969367648800 [label="Iter(0)"]
+	n139969367344968 -> n139969367648800
+	n139969367345024 [label=3]
+	n139969367344968 -> n139969367345024
+	n139969367345024 [label=3]
+	n139969367346368 [label="+"]
+	n139969367346200 [label="*"]
+	n139969367346368 -> n139969367346200
+	n139969367346424 [label=1]
+	n139969367346368 -> n139969367346424
+	n139969367346200 [label="*"]
+	n139969367648800 [label="Iter(0)"]
+	n139969367346200 -> n139969367648800
+	n139969367346256 [label=3]
+	n139969367346200 -> n139969367346256
+	n139969367346256 [label=3]
+	n139969367346424 [label=1]
+	n139969367368144 [label="+"]
+	n139969367367976 [label="*"]
+	n139969367368144 -> n139969367367976
+	n139969367368200 [label=2]
+	n139969367368144 -> n139969367368200
+	n139969367367976 [label="*"]
+	n139969367648800 [label="Iter(0)"]
+	n139969367367976 -> n139969367648800
+	n139969367368032 [label=3]
+	n139969367367976 -> n139969367368032
+	n139969367368032 [label=3]
+	n139969367368200 [label=2]
+	n139969367344184 [label="*"]
+	n139969367344240 [label=0.005]
+	n139969367344184 -> n139969367344240
+	n139969367344072 [label=PropertyAccess]
+	n139969367344184 -> n139969367344072
+	n139969367344240 [label=0.005]
+	n139969367344352 [label="+"]
+	n139969367343960 [label=PropertyAccess]
+	n139969367344352 -> n139969367343960
+	n139969367344184 [label="*"]
+	n139969367344352 -> n139969367344184
+	n139969367344576 [label="*"]
+	n139969367648800 [label="Iter(0)"]
+	n139969367344576 -> n139969367648800
+	n139969367344632 [label=3]
+	n139969367344576 -> n139969367344632
+	n139969367344632 [label=3]
+	n139969367345808 [label="*"]
+	n139969367648800 [label="Iter(0)"]
+	n139969367345808 -> n139969367648800
+	n139969367345864 [label=3]
+	n139969367345808 -> n139969367345864
+	n139969367345864 [label=3]
+	n139969367345976 [label="+"]
+	n139969367345808 [label="*"]
+	n139969367345976 -> n139969367345808
+	n139969367346032 [label=1]
+	n139969367345976 -> n139969367346032
+	n139969367346032 [label=1]
+	n139969367347040 [label="*"]
+	n139969367648800 [label="Iter(0)"]
+	n139969367347040 -> n139969367648800
+	n139969367347096 [label=3]
+	n139969367347040 -> n139969367347096
+	n139969367347096 [label=3]
+	n139969367367752 [label="+"]
+	n139969367347040 [label="*"]
+	n139969367367752 -> n139969367347040
+	n139969367367808 [label=2]
+	n139969367367752 -> n139969367367808
+	n139969367367808 [label=2]
+	n139969367344464 [label=Assign]
+	n139969367345696 [label=VectorAccess]
+	n139969367344464 -> n139969367345696
+	n139969367344912 [label=VectorAccess]
+	n139969367344464 -> n139969367344912
+	n139969367346928 [label=VectorAccess]
+	n139969367344464 -> n139969367346928
+	n139969367346144 [label=VectorAccess]
+	n139969367344464 -> n139969367346144
+	n139969367368704 [label=VectorAccess]
+	n139969367344464 -> n139969367368704
+	n139969367367920 [label=VectorAccess]
+	n139969367344464 -> n139969367367920
+	n139969367345696 [label=VectorAccess]
+	n139969367343960 [label=PropertyAccess]
+	n139969367345696 -> n139969367343960
+	n139969367344912 [label=VectorAccess]
+	n139969367344352 [label="+"]
+	n139969367344912 -> n139969367344352
+	n139969367346928 [label=VectorAccess]
+	n139969367343960 [label=PropertyAccess]
+	n139969367346928 -> n139969367343960
+	n139969367346144 [label=VectorAccess]
+	n139969367344352 [label="+"]
+	n139969367346144 -> n139969367344352
+	n139969367368704 [label=VectorAccess]
+	n139969367343960 [label=PropertyAccess]
+	n139969367368704 -> n139969367343960
+	n139969367367920 [label=VectorAccess]
+	n139969367344352 [label="+"]
+	n139969367367920 -> n139969367344352
 }
diff --git a/examples/kernels.pdf b/examples/kernels.pdf
index cb83e854e7ecd3d5affde9f66adccfeb3d4d8930..56dd14b421cb95edcb4f5acd752c28738c52aa3f 100644
Binary files a/examples/kernels.pdf and b/examples/kernels.pdf differ
diff --git a/examples/lj_ns.cpp b/examples/lj_ns.cpp
index 0a798b10587cd1d476e9fd2931abc525c667cb4f..a0c06bf204d09975018d1d765a3af43a031f8e70 100644
--- a/examples/lj_ns.cpp
+++ b/examples/lj_ns.cpp
@@ -469,7 +469,7 @@ void update_pbc(double grid0_d0_max, double grid0_d0_min, double grid0_d1_max, d
         const double p14_0 = position[e311];
         const int e313 = i9 * 3;
         const int a40 = pbc_mult[e313];
-        const int e316 = a40 * e315;
+        const double e316 = a40 * e315;
         const double e317 = p14_0 + e316;
         position[e309] = e317;
         const int e318 = (*nlocal) + i9;
@@ -483,7 +483,7 @@ void update_pbc(double grid0_d0_max, double grid0_d0_min, double grid0_d1_max, d
         const int e323 = i9 * 3;
         const int e324 = e323 + 1;
         const int a42 = pbc_mult[e324];
-        const int e326 = a42 * e325;
+        const double e326 = a42 * e325;
         const double e327 = p16_1 + e326;
         position[e320] = e327;
         const int e328 = (*nlocal) + i9;
@@ -497,7 +497,7 @@ void update_pbc(double grid0_d0_max, double grid0_d0_min, double grid0_d1_max, d
         const int e333 = i9 * 3;
         const int e334 = e333 + 2;
         const int a44 = pbc_mult[e334];
-        const int e336 = a44 * e335;
+        const double e336 = a44 * e335;
         const double e337 = p18_2 + e336;
         position[e330] = e337;
     }
@@ -852,16 +852,16 @@ int main() {
         prop_hflags[0] = e525;
         reset_volatile_properties(nlocal, force);
         const unsigned long long int a125 = prop_dflags[0];
-        const unsigned long long int e526 = a125 & 2;
+        const unsigned long long int e526 = a125 & 8;
         const bool e527 = e526 == 0;
         if(e527) {
-            pairs::copy_to_device(position)
+            pairs::copy_to_device(force)
         }
         const unsigned long long int a126 = prop_dflags[0];
-        const unsigned long long int e528 = a126 & 8;
+        const unsigned long long int e528 = a126 & 2;
         const bool e529 = e528 == 0;
         if(e529) {
-            pairs::copy_to_device(force)
+            pairs::copy_to_device(position)
         }
         const unsigned long long int a128 = prop_dflags[0];
         const unsigned long long int e530 = a128 | 10;
@@ -871,28 +871,28 @@ int main() {
         prop_hflags[0] = e531;
         module_0(neighborlist_capacity, nlocal, neighborlists, numneighs, position, force);
         const unsigned long long int a131 = prop_dflags[0];
-        const unsigned long long int e532 = a131 & 2;
+        const unsigned long long int e532 = a131 & 1;
         const bool e533 = e532 == 0;
         if(e533) {
-            pairs::copy_to_device(position)
+            pairs::copy_to_device(mass)
         }
         const unsigned long long int a132 = prop_dflags[0];
-        const unsigned long long int e534 = a132 & 4;
+        const unsigned long long int e534 = a132 & 8;
         const bool e535 = e534 == 0;
         if(e535) {
-            pairs::copy_to_device(velocity)
+            pairs::copy_to_device(force)
         }
         const unsigned long long int a133 = prop_dflags[0];
-        const unsigned long long int e536 = a133 & 1;
+        const unsigned long long int e536 = a133 & 2;
         const bool e537 = e536 == 0;
         if(e537) {
-            pairs::copy_to_device(mass)
+            pairs::copy_to_device(position)
         }
         const unsigned long long int a134 = prop_dflags[0];
-        const unsigned long long int e538 = a134 & 8;
+        const unsigned long long int e538 = a134 & 4;
         const bool e539 = e538 == 0;
         if(e539) {
-            pairs::copy_to_device(force)
+            pairs::copy_to_device(velocity)
         }
         const unsigned long long int a136 = prop_dflags[0];
         const unsigned long long int e540 = a136 | 15;
diff --git a/src/pairs/ir/bin_op.py b/src/pairs/ir/bin_op.py
index db6088bc06d4aeb510fe269bf84d53e4176eea1b..5aa6d778845b27a30bdbbe03a762564df8fcc62d 100644
--- a/src/pairs/ir/bin_op.py
+++ b/src/pairs/ir/bin_op.py
@@ -97,6 +97,12 @@ class BinOp(VectorExpression):
         if lhs_type == rhs_type:
             return lhs_type
 
+        if lhs_type == Types.Vector or rhs_type == Types.Vector:
+            return Types.Vector
+
+        if Types.is_real(lhs_type) or Types.is_real(rhs_type):
+            return Types.Double
+
         if Types.is_integer(lhs_type) or Types.is_integer(rhs_type):
             if isinstance(lhs, Lit) or Lit.is_literal(lhs):
                 return rhs_type
@@ -107,12 +113,6 @@ class BinOp(VectorExpression):
             # TODO: Are more checkings required here to generate proper integer data type?
             return lhs_type
 
-        if lhs_type == Types.Vector or rhs_type == Types.Vector:
-            return Types.Vector
-
-        if Types.is_real(lhs_type) or Types.is_real(rhs_type):
-            return Types.Double
-
         return None
 
     def inline_rec(self):
diff --git a/src/pairs/transformations/simplify.py b/src/pairs/transformations/simplify.py
index d00cab12f65521f97013049cd1998a2a461e62f5..4491f2c65e734e110ca649fd211dbf32c35a23ba 100644
--- a/src/pairs/transformations/simplify.py
+++ b/src/pairs/transformations/simplify.py
@@ -26,7 +26,7 @@ class SimplifyExpressions(Mutator):
             return ast_node.rhs
 
         if ast_node.op == '*' and ast_node.lhs == 0:
-            return Lit(sim, 0 if ast_node.type() == Types.Int32 else 0.0)
+            return Lit(sim, 0 if Types.is_integer(ast_node.type()) else 0.0)
 
         return ast_node