Midpoint on a great circle

Time bar (total: 3.3s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze433.0ms (13.2%)

Memory
6.7MiB live, 149.0MiB 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
9.4%9.4%90.4%0.2%0%0%0%9
9.4%9.4%90.4%0.2%0%0%0%10
10.9%10.9%88.9%0.2%0%0%0%11
10.9%10.9%88.9%0.2%0%0%0%12
Compiler

Compiled 22 to 16 computations (27.3% saved)

sample115.0ms (3.5%)

Memory
-3.7MiB live, 19.4MiB allocated
Samples
89.0ms144×1valid
14.0ms116×0valid
Precisions
Click to see histograms. Total time spent on operations: 95.0ms
ival-cos: 56.0ms (58.9% of total)
ival-sin: 13.0ms (13.7% of total)
adjust: 9.0ms (9.5% of total)
ival-atan2: 7.0ms (7.4% of total)
ival-mult: 5.0ms (5.3% of total)
ival-add: 3.0ms (3.2% of total)
ival-sub: 2.0ms (2.1% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
Bogosity

explain2.6s (78.9%)

Memory
9.0MiB live, 1 137.9MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
76121(1.3055613914903282e-295 6.182995586542432e+227 9.75617669585152e-196 2.3858977558235082e-217)0-(sin.f64 (-.f64 lambda1 lambda2))
76121(1.3055613914903282e-295 6.182995586542432e+227 9.75617669585152e-196 2.3858977558235082e-217)0-(cos.f64 (-.f64 lambda1 lambda2))
62(1.8417339675264304e-203 -2.666753628538046e+140 1.1436859718034335e-221 -1.5875671534293908e-77)1(7.575551336141047e-42 1.1816120176548038e+72 -2.3392563085957917e+142 1.171152593122046e+31)(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))
00-0-lambda2
00-0-phi1
00-0-(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
00-0-phi2
00-0-(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
00-0-(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
00-0-(*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))
00-0-(-.f64 lambda1 lambda2)
00-0-lambda1
00-0-(cos.f64 phi2)
00-0-(cos.f64 phi1)
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
cos.f64(cos.f64 (-.f64 lambda1 lambda2))sensitivity1971
sin.f64(sin.f64 (-.f64 lambda1 lambda2))sensitivity1970
+.f64(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))cancellation66
Confusion
Predicted +Predicted -
+101
-19055
Precision
0.05
Recall
0.9090909090909091
Confusion?
Predicted +Predicted MaybePredicted -
+1001
-190253
Precision?
0.04950495049504951
Recall?
0.9090909090909091
Freqs
test
numberfreq
056
13
2194
33
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
12.092041015625
Average Time
0.047234535217285156
Samples
1.4s2 340×1valid
91.0ms732×0valid
Compiler

Compiled 3 180 to 696 computations (78.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.3s
ival-cos: 768.0ms (57.1% of total)
ival-sin: 197.0ms (14.6% of total)
adjust: 150.0ms (11.2% of total)
ival-atan2: 86.0ms (6.4% of total)
ival-mult: 68.0ms (5.1% of total)
ival-add: 46.0ms (3.4% of total)
ival-sub: 27.0ms (2% of total)
ival-true: 2.0ms (0.1% of total)
ival-assert: 1.0ms (0.1% of total)

preprocess124.0ms (3.7%)

Memory
-2.3MiB live, 8.4MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
092294
1168287
2260285
3480285
4784285
5994285
61259285
71523285
81851285
92185285
102611285
112780285
122875285
132915285
142939285
152943285
162943285
01420
02420
13020
23520
34120
45020
57420
611320
715220
822120
927420
1036220
1139720
1242620
1349020
1452920
1554820
1656820
1759020
1860620
1960920
060919
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
Outputs
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
(+.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2) (cos.f64 phi1))) lambda1)
Symmetry

(abs phi2)

(abs phi1)

Compiler

Compiled 20 to 14 computations (30% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 4 computations (-∞% saved)

prune1.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.1%
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
Compiler

Compiled 40 to 28 computations (30% saved)

simplify19.0ms (0.6%)

Memory
2.3MiB live, 18.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01420
12020
22520
32720
42820
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
Outputs
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
(+.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1))) lambda1)

soundness0.0ms (0%)

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

Compiled 20 to 14 computations (30% saved)

preprocess5.0ms (0.1%)

Memory
3.1MiB live, 3.1MiB allocated
Remove

(abs phi1)

(abs phi2)

Compiler

Compiled 240 to 168 computations (30% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...