-
Notifications
You must be signed in to change notification settings - Fork 1
/
distance_great_circle.txt
166 lines (140 loc) · 18.3 KB
/
distance_great_circle.txt
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
# Distance bewteen points on Earth along a great-circle path
# ==========================================================
#
# Damien Graux (Inria), 2022
# This file provides a SPARQL set of bindings used to compute the
# distance between two points on Earth represented by pairs of
# (lat,lon), following a great-circle path at the surface of the
# planet. (It is based on the haversine formula.)
# General useful bindings
BIND ( xsd:double("3.14159265359") AS ?PI ) # π (11 digits).
BIND ( xsd:double("6.28318530718") AS ?2PI ) # 2π (11 digits).
BIND ( xsd:double("6371") AS ?E_radius ) # Earth's radius, in km.
# [Inputs] It assumes that the variables representing the points are
# respectively ( ?lat1 , ?lon1 ) and ( ?lat2 , ?lon2 ) and that they
# are represented in degrees.
# Possible conversions in radians:
BIND ( (xsd:double(?lat1) * ?PI/180) AS ?lar1 )
BIND ( (xsd:double(?lon1) * ?PI/180) AS ?lor1 )
BIND ( (xsd:double(?lat2) * ?PI/180) AS ?lar2 )
BIND ( (xsd:double(?lon2) * ?PI/180) AS ?lor2 )
BIND ( ((xsd:double(?lat2)-xsd:double(?lat1)) * ?PI/180) AS ?dellar )
BIND ( ((xsd:double(?lon2)-xsd:double(?lon1)) * ?PI/180) AS ?dellor )
# [Output] The result will be stored in ?distance.
# [Warning] The following variables are introduced in the following
# block: ?PI, ?2PI, ?E_radius, ?lat1, ?lon1, ?lat2, ?lon2, ?lar1,
# ?lor1, ?lar2, ?lor2, ?Asub1, ?Asub2, ?Asub3, ?Asub4, ?A, ?sub1,
# ?sub2, ?sub3, ?sub4, ?sub5, ?sub6, ?sub7, ?sub8, ?sub9 and
# ?distance. Please make sure not to create conflicts with existing
# variables of yours!
# [Note] The following bindings are making use of developments in
# series to approximate some mathematical functions. Practically, we
# use here the first 7 terms of the series.
######################################################################
############## BEGINNING OF GENERATED SPARQL BINDINGS ##############
BIND ((0+1*(1* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) ))/1.0
+-1*(1* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) ))/6.0
+1*(1* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) ))/120.0
+-1*(1* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) ))/5040.0
+1*(1* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) ))/362880.0
+-1*(1* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) ))/39916800.0
+1*(1* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) ))/6227020800.0
+-1*(1* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) )* ((?dellar/2)-?2PI*FLOOR((?dellar/2)/?2PI) ))/1307674368000.0
)AS ?Asub1)
BIND ((0+1*(1)/1.0
+-1*(1* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) ))/2.0
+1*(1* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) ))/24.0
+-1*(1* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) ))/720.0
+1*(1* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) ))/40320.0
+-1*(1* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) ))/3628800.0
+1*(1* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) ))/479001600.0
+-1*(1* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) )* ((?lor1)-?2PI*FLOOR((?lor1)/?2PI) ))/87178291200.0
)AS ?Asub2)
BIND ((0+1*(1)/1.0
+-1*(1* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) ))/2.0
+1*(1* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) ))/24.0
+-1*(1* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) ))/720.0
+1*(1* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) ))/40320.0
+-1*(1* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) ))/3628800.0
+1*(1* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) ))/479001600.0
+-1*(1* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) )* ((?lor2)-?2PI*FLOOR((?lor2)/?2PI) ))/87178291200.0
)AS ?Asub3)
BIND ((0+1*(1* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) ))/1.0
+-1*(1* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) ))/6.0
+1*(1* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) ))/120.0
+-1*(1* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) ))/5040.0
+1*(1* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) ))/362880.0
+-1*(1* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) ))/39916800.0
+1*(1* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) ))/6227020800.0
+-1*(1* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) )* ((?dellor/2)-?2PI*FLOOR((?dellor/2)/?2PI) ))/1307674368000.0
)AS ?Asub4)
BIND ( ( FLOOR(( (1*(?Asub1)*(?Asub1)) +?Asub2*?Asub3* (1*(?Asub4)*(?Asub4)) )*100000)/100000 ) AS ?A )
BIND ((0+(1*(((?A)-1)/((?A)+1)))/1.0
+(1*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1)))/3.0
+(1*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1)))/5.0
+(1*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1)))/7.0
+(1*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1)))/9.0
+(1*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1)))/11.0
+(1*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1)))/13.0
+(1*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1))*(((?A)-1)/((?A)+1)))/15.0
)AS ?sub1)
BIND ((0+(1)/1.0
+(1*?sub1)/1.0
+(1*?sub1*?sub1)/2.0
+(1*?sub1*?sub1*?sub1)/6.0
+(1*?sub1*?sub1*?sub1*?sub1)/24.0
+(1*?sub1*?sub1*?sub1*?sub1*?sub1)/120.0
+(1*?sub1*?sub1*?sub1*?sub1*?sub1*?sub1)/720.0
+(1*?sub1*?sub1*?sub1*?sub1*?sub1*?sub1*?sub1)/5040.0
)AS ?sub2)
BIND ((0+(1*(((1-?A)-1)/((1-?A)+1)))/1.0
+(1*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1)))/3.0
+(1*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1)))/5.0
+(1*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1)))/7.0
+(1*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1)))/9.0
+(1*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1)))/11.0
+(1*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1)))/13.0
+(1*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1))*(((1-?A)-1)/((1-?A)+1)))/15.0
)AS ?sub3)
BIND ((0+(1)/1.0
+(1*?sub3)/1.0
+(1*?sub3*?sub3)/2.0
+(1*?sub3*?sub3*?sub3)/6.0
+(1*?sub3*?sub3*?sub3*?sub3)/24.0
+(1*?sub3*?sub3*?sub3*?sub3*?sub3)/120.0
+(1*?sub3*?sub3*?sub3*?sub3*?sub3*?sub3)/720.0
+(1*?sub3*?sub3*?sub3*?sub3*?sub3*?sub3*?sub3)/5040.0
)AS ?sub4)
BIND ((?sub2*?sub2+?sub4*?sub4)AS ?sub5)
BIND ((0+(1*(( ?sub5-1)/( ?sub5+1)))/1.0
+(1*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1)))/3.0
+(1*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1)))/5.0
+(1*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1)))/7.0
+(1*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1)))/9.0
+(1*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1)))/11.0
+(1*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1)))/13.0
+(1*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1))*(( ?sub5-1)/( ?sub5+1)))/15.0
)AS ?sub6)
BIND ((0+(1)/1.0
+(1*?sub6)/1.0
+(1*?sub6*?sub6)/2.0
+(1*?sub6*?sub6*?sub6)/6.0
+(1*?sub6*?sub6*?sub6*?sub6)/24.0
+(1*?sub6*?sub6*?sub6*?sub6*?sub6)/120.0
+(1*?sub6*?sub6*?sub6*?sub6*?sub6*?sub6)/720.0
+(1*?sub6*?sub6*?sub6*?sub6*?sub6*?sub6*?sub6)/5040.0
)AS ?sub7)
BIND ((?sub2/( ?sub7+?sub4))AS ?sub8)
BIND ((0+1*(1* ?sub8)/1.0
+-1*(1* ?sub8* ?sub8* ?sub8)/3.0
+1*(1* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8)/5.0
+-1*(1* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8)/7.0
+1*(1* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8)/9.0
+-1*(1* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8)/11.0
+1*(1* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8)/13.0
+-1*(1* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8* ?sub8)/15.0
)AS ?sub9)
BIND ( ( FLOOR((?E_radius*2*2 * ?sub9)*100000)/100000 ) AS ?distance )
### END OF BINDINGS
### result variable: ?distance
######################################################################