Destination given bearing on a great circle

Time bar (total: 4.0s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze928.0ms (23.3%)

Memory
4.8MiB live, 282.2MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
0%0%99.8%0.2%0%0%0%5
0%0%99.8%0.2%0%0%0%6
0%0%99.8%0.2%0%0%0%7
0%0%99.8%0.2%0%0%0%8
0%0%99.8%0.2%0%0%0%9
0%0%99.8%0.2%0%0%0%10
1.6%1.6%98.2%0.2%0%0%0%11
1.6%1.6%98.2%0.2%0%0%0%12
Compiler

Compiled 35 to 25 computations (28.6% saved)

sample69.0ms (1.7%)

Memory
4.8MiB live, 20.4MiB allocated
Samples
56.0ms260×0valid
Precisions
Click to see histograms. Total time spent on operations: 48.0ms
ival-sin: 18.0ms (37.4% of total)
ival-cos: 13.0ms (27% of total)
ival-mult: 8.0ms (16.6% of total)
ival-asin: 3.0ms (6.2% of total)
ival-add: 2.0ms (4.2% of total)
ival-atan2: 2.0ms (4.2% of total)
ival-sub: 1.0ms (2.1% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
Bogosity

explain2.7s (68.4%)

Memory
1.0MiB live, 1 723.7MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
51(-1.675855959073417e+234 -5.1798080004501245e+210 3.906354535260314e-90 -5.891510293411501e+234 -2.0174418999436444e-29)0-(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
20-0-(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
10-0-(+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))
00-0-(cos.f64 theta)
00-0-theta
00-0-(sin.f64 theta)
00-0-(*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
00-0-(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
00-0-delta
00-0-(sin.f64 phi1)
00-0-(*.f64 (sin.f64 phi1) (cos.f64 delta))
00-0-lambda1
00-0-(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
00-0-(*.f64 (sin.f64 theta) (sin.f64 delta))
00-0-phi1
00-0-(*.f64 (cos.f64 phi1) (sin.f64 delta))
00-0-(*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))
00-0-(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
00-0-(sin.f64 delta)
00-0-(sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
00-0-(cos.f64 delta)
00-0-(cos.f64 phi1)
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
asin.f64(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))sensitivity23
-.f64(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))cancellation12
+.f64(+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))cancellation10
Confusion
Predicted +Predicted -
+10
-2253
Precision
0.3333333333333333
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+100
-25248
Precision?
0.125
Recall?
1.0
2:
4:
8:
16:
32:
64:
128:
256:
512:
1024:
2048:
Freqs
test
numberfreq
0253
12
21
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
18.000732421875
Average Time
0.07031536102294922
Samples
717.0ms3 060×0valid
16.0ms12×1valid
Compiler

Compiled 7 512 to 1 128 computations (85% saved)

Precisions
Click to see histograms. Total time spent on operations: 580.0ms
ival-sin: 217.0ms (37.4% of total)
ival-cos: 163.0ms (28.1% of total)
ival-mult: 98.0ms (16.9% of total)
ival-asin: 38.0ms (6.6% of total)
ival-add: 25.0ms (4.3% of total)
ival-atan2: 22.0ms (3.8% of total)
ival-sub: 12.0ms (2.1% of total)
adjust: 2.0ms (0.3% of total)
ival-true: 2.0ms (0.3% of total)
ival-assert: 1.0ms (0.2% of total)

preprocess235.0ms (5.9%)

Memory
2.7MiB live, 10.5MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0179677
1399672
2699670
31226668
42722668
54034668
64664668
75393668
85778668
95943668
106050668
116182668
126432668
136965668
147098668
157124668
167124668
177124668
02233
04033
15733
28233
39733
411333
514133
618933
723833
832133
936033
1039433
1144633
1253733
1367133
1482233
15111733
16118933
17120833
18121033
19121333
20121533
0121532
Stop Event
iter limit
saturated
iter limit
node limit
Calls
Call 1
Inputs
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
Outputs
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
(+.f64 (atan2.f64 (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 theta) (sin.f64 delta))) (fma.f64 (neg.f64 (sin.f64 phi1)) (sin.f64 (asin.f64 (fma.f64 (cos.f64 theta) (*.f64 (cos.f64 phi1) (sin.f64 delta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))) (cos.f64 delta))) lambda1)
Symmetry

(abs phi2)

Compiler

Compiled 33 to 23 computations (30.3% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 5 computations (-∞% saved)

prune1.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.8%
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
Compiler

Compiled 66 to 46 computations (30.3% saved)

simplify23.0ms (0.6%)

Memory
-3.1MiB live, 18.7MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02233
13533
24733
35333
45733
55833
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
Outputs
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
(+.f64 (atan2.f64 (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (sin.f64 theta))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 (asin.f64 (+.f64 (*.f64 (cos.f64 theta) (*.f64 (cos.f64 phi1) (sin.f64 delta))) (*.f64 (sin.f64 phi1) (cos.f64 delta))))) (sin.f64 phi1)))) lambda1)

soundness0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Stop Event
fuel
Compiler

Compiled 33 to 23 computations (30.3% saved)

preprocess3.0ms (0.1%)

Memory
-6.0MiB live, 1.9MiB allocated
Remove

(abs phi2)

Compiler

Compiled 264 to 184 computations (30.3% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...