Distance on a great circle

Time bar (total: 10.5s)

analyze1.1s (10.5%)

Memory
-23.2MiB live, 1 160.6MiB 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
0%0%99.8%0.2%0%0%0%11
0%0%99.8%0.2%0%0%0%12
Compiler

Compiled 67 to 28 computations (58.2% saved)

sample8.9s (84.2%)

Memory
109.0MiB live, 8 393.7MiB allocated
Samples
7.4s7 493×1valid
416.0ms759×0valid
3.0ms3valid
Precisions
Click to see histograms. Total time spent on operations: 7.4s
ival-cos: 2.6s (35.3% of total)
ival-sin: 2.4s (32.4% of total)
ival-mult: 658.0ms (8.9% of total)
ival-sub: 327.0ms (4.4% of total)
ival-div: 293.0ms (4% of total)
ival-sqrt: 288.0ms (3.9% of total)
adjust: 266.0ms (3.6% of total)
ival-pow2: 212.0ms (2.9% of total)
ival-atan2: 193.0ms (2.6% of total)
ival-add: 112.0ms (1.5% of total)
exact: 22.0ms (0.3% of total)
ival-true: 8.0ms (0.1% of total)
ival-assert: 4.0ms (0.1% of total)
Bogosity

preprocess557.0ms (5.3%)

Memory
0.2MiB live, 477.4MiB allocated
Algorithm
egg-herbie
Rules
13 332×accelerator-lowering-fma.f32
13 332×accelerator-lowering-fma.f64
4 598×+-lowering-+.f64
4 598×+-lowering-+.f32
3 256×--lowering--.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02341374
15461369
213591369
335491345
462241337
02665
15565
211365
325465
450265
584365
6130965
7160265
8213365
9291265
10409665
11435965
12450065
13456065
14458465
15475365
16516365
17525165
18525165
19525965
20631565
0850563
Stop Event
iter limit
node limit
node limit
Calls
Call 1
Inputs
(* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))))
Outputs
(* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (fma.f64 (sin.f64 (fma.f64 (-.f64 lambda1 lambda2) #s(literal 1/2 binary64) #s(literal 0 binary64))) (fma.f64 (cos.f64 phi2) (sin.f64 (fma.f64 (-.f64 lambda1 lambda2) #s(literal 1/2 binary64) #s(literal 0 binary64))) #s(literal 0 binary64)) #s(literal 0 binary64)) (pow.f64 (sin.f64 (fma.f64 (-.f64 phi1 phi2) #s(literal 1/2 binary64) #s(literal 0 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 (fma.f64 (fma.f64 (fma.f64 (cos.f64 phi1) (cos.f64 phi2) #s(literal 0 binary64)) (sin.f64 (fma.f64 (-.f64 lambda1 lambda2) #s(literal 1/2 binary64) #s(literal 0 binary64))) #s(literal 0 binary64)) (sin.f64 (fma.f64 (-.f64 lambda1 lambda2) #s(literal -1/2 binary64) #s(literal 0 binary64))) #s(literal 1 binary64)) (pow.f64 (sin.f64 (fma.f64 (-.f64 phi1 phi2) #s(literal 1/2 binary64) #s(literal 0 binary64))) #s(literal 2 binary64))))) (*.f64 R #s(literal 2 binary64)))
Call 2
Inputs
(* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))))
(* (neg R) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))))
(* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- (neg lambda1) lambda2) 2))) (sin (/ (- (neg lambda1) lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- (neg lambda1) lambda2) 2))) (sin (/ (- (neg lambda1) lambda2) 2)))))))))
(* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 (neg lambda2)) 2))) (sin (/ (- lambda1 (neg lambda2)) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 (neg lambda2)) 2))) (sin (/ (- lambda1 (neg lambda2)) 2)))))))))
(* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- (neg phi1) phi2) 2)) 2) (* (* (* (cos (neg phi1)) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- (neg phi1) phi2) 2)) 2) (* (* (* (cos (neg phi1)) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))))
(* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 (neg phi2)) 2)) 2) (* (* (* (cos phi1) (cos (neg phi2))) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 (neg phi2)) 2)) 2) (* (* (* (cos phi1) (cos (neg phi2))) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))))
(neg (* (neg R) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))))
(neg (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- (neg lambda1) lambda2) 2))) (sin (/ (- (neg lambda1) lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- (neg lambda1) lambda2) 2))) (sin (/ (- (neg lambda1) lambda2) 2))))))))))
(neg (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 (neg lambda2)) 2))) (sin (/ (- lambda1 (neg lambda2)) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 (neg lambda2)) 2))) (sin (/ (- lambda1 (neg lambda2)) 2))))))))))
(neg (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- (neg phi1) phi2) 2)) 2) (* (* (* (cos (neg phi1)) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- (neg phi1) phi2) 2)) 2) (* (* (* (cos (neg phi1)) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))))
(neg (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 (neg phi2)) 2)) 2) (* (* (* (cos phi1) (cos (neg phi2))) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 (neg phi2)) 2)) 2) (* (* (* (cos phi1) (cos (neg phi2))) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))))
(* lambda1 (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- R lambda2) 2))) (sin (/ (- R lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- R lambda2) 2))) (sin (/ (- R lambda2) 2)))))))))
(* lambda2 (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 R) 2))) (sin (/ (- lambda1 R) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 R) 2))) (sin (/ (- lambda1 R) 2)))))))))
(* phi1 (* 2 (atan2 (sqrt (+ (pow (sin (/ (- R phi2) 2)) 2) (* (* (* (cos R) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- R phi2) 2)) 2) (* (* (* (cos R) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))))
(* phi2 (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 R) 2)) 2) (* (* (* (cos phi1) (cos R)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 R) 2)) 2) (* (* (* (cos phi1) (cos R)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))))
(* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda2 lambda1) 2))) (sin (/ (- lambda2 lambda1) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda2 lambda1) 2))) (sin (/ (- lambda2 lambda1) 2)))))))))
(* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- lambda1 phi2) 2)) 2) (* (* (* (cos lambda1) (cos phi2)) (sin (/ (- phi1 lambda2) 2))) (sin (/ (- phi1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- lambda1 phi2) 2)) 2) (* (* (* (cos lambda1) (cos phi2)) (sin (/ (- phi1 lambda2) 2))) (sin (/ (- phi1 lambda2) 2)))))))))
(* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 lambda1) 2)) 2) (* (* (* (cos phi1) (cos lambda1)) (sin (/ (- phi2 lambda2) 2))) (sin (/ (- phi2 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 lambda1) 2)) 2) (* (* (* (cos phi1) (cos lambda1)) (sin (/ (- phi2 lambda2) 2))) (sin (/ (- phi2 lambda2) 2)))))))))
(* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- lambda2 phi2) 2)) 2) (* (* (* (cos lambda2) (cos phi2)) (sin (/ (- lambda1 phi1) 2))) (sin (/ (- lambda1 phi1) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- lambda2 phi2) 2)) 2) (* (* (* (cos lambda2) (cos phi2)) (sin (/ (- lambda1 phi1) 2))) (sin (/ (- lambda1 phi1) 2)))))))))
(* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 lambda2) 2)) 2) (* (* (* (cos phi1) (cos lambda2)) (sin (/ (- lambda1 phi2) 2))) (sin (/ (- lambda1 phi2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 lambda2) 2)) 2) (* (* (* (cos phi1) (cos lambda2)) (sin (/ (- lambda1 phi2) 2))) (sin (/ (- lambda1 phi2) 2)))))))))
(* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi2 phi1) 2)) 2) (* (* (* (cos phi2) (cos phi1)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi2 phi1) 2)) 2) (* (* (* (cos phi2) (cos phi1)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))))
Outputs
(* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))))
(* (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (cos phi1) (cos phi2)) (* (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda1 lambda2) 2)))))) (sqrt (+ 1 (- (* (* (cos phi1) (cos phi2)) (* (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda2 lambda1) 2)))) (pow (sin (/ (- phi1 phi2) -2)) 2))))) (* R 2))
(* (neg R) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))))
(* (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (cos phi1) (cos phi2)) (* (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda1 lambda2) 2)))))) (sqrt (+ 1 (- (* (* (cos phi1) (cos phi2)) (* (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda2 lambda1) 2)))) (pow (sin (/ (- phi1 phi2) -2)) 2))))) (* R -2))
(* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- (neg lambda1) lambda2) 2))) (sin (/ (- (neg lambda1) lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- (neg lambda1) lambda2) 2))) (sin (/ (- (neg lambda1) lambda2) 2)))))))))
(* (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (sin (* (+ lambda1 lambda2) -1/2)) (* (* (cos phi1) (cos phi2)) (sin (* (+ lambda1 lambda2) -1/2)))))) (sqrt (+ 1 (- (* (sin (* (+ lambda1 lambda2) -1/2)) (* (* (cos phi1) (cos phi2)) (sin (/ (+ lambda1 lambda2) 2)))) (pow (sin (/ (- phi1 phi2) 2)) 2))))) (* R 2))
(* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 (neg lambda2)) 2))) (sin (/ (- lambda1 (neg lambda2)) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 (neg lambda2)) 2))) (sin (/ (- lambda1 (neg lambda2)) 2)))))))))
(* (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (sin (* (+ lambda1 lambda2) -1/2)) (* (* (cos phi1) (cos phi2)) (sin (* (+ lambda1 lambda2) -1/2)))))) (sqrt (+ 1 (- (* (sin (* (+ lambda1 lambda2) -1/2)) (* (* (cos phi1) (cos phi2)) (sin (/ (+ lambda1 lambda2) 2)))) (pow (sin (/ (- phi1 phi2) 2)) 2))))) (* R 2))
(* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- (neg phi1) phi2) 2)) 2) (* (* (* (cos (neg phi1)) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- (neg phi1) phi2) 2)) 2) (* (* (* (cos (neg phi1)) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))))
(* (atan2 (sqrt (+ (* (* (cos phi1) (cos phi2)) (* (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda1 lambda2) 2)))) (pow (sin (* (+ phi1 phi2) -1/2)) 2))) (sqrt (+ 1 (- (* (* (cos phi1) (cos phi2)) (* (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda2 lambda1) 2)))) (pow (sin (* (+ phi1 phi2) -1/2)) 2))))) (* R 2))
(* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 (neg phi2)) 2)) 2) (* (* (* (cos phi1) (cos (neg phi2))) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 (neg phi2)) 2)) 2) (* (* (* (cos phi1) (cos (neg phi2))) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))))
(* (atan2 (sqrt (+ (* (* (cos phi1) (cos phi2)) (* (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda1 lambda2) 2)))) (pow (sin (* (+ phi1 phi2) -1/2)) 2))) (sqrt (+ 1 (- (* (* (cos phi1) (cos phi2)) (* (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda2 lambda1) 2)))) (pow (sin (* (+ phi1 phi2) -1/2)) 2))))) (* R 2))
(neg (* (neg R) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))))
(* (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (cos phi1) (cos phi2)) (* (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda1 lambda2) 2)))))) (sqrt (+ 1 (- (* (* (cos phi1) (cos phi2)) (* (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda2 lambda1) 2)))) (pow (sin (/ (- phi1 phi2) -2)) 2))))) (* R 2))
(neg (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- (neg lambda1) lambda2) 2))) (sin (/ (- (neg lambda1) lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- (neg lambda1) lambda2) 2))) (sin (/ (- (neg lambda1) lambda2) 2))))))))))
(* (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (sin (* (+ lambda1 lambda2) -1/2)) (* (* (cos phi1) (cos phi2)) (sin (* (+ lambda1 lambda2) -1/2)))))) (sqrt (+ 1 (- (* (sin (* (+ lambda1 lambda2) -1/2)) (* (* (cos phi1) (cos phi2)) (sin (/ (+ lambda1 lambda2) 2)))) (pow (sin (/ (- phi1 phi2) 2)) 2))))) (* R -2))
(neg (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 (neg lambda2)) 2))) (sin (/ (- lambda1 (neg lambda2)) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 (neg lambda2)) 2))) (sin (/ (- lambda1 (neg lambda2)) 2))))))))))
(* (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (sin (* (+ lambda1 lambda2) -1/2)) (* (* (cos phi1) (cos phi2)) (sin (* (+ lambda1 lambda2) -1/2)))))) (sqrt (+ 1 (- (* (sin (* (+ lambda1 lambda2) -1/2)) (* (* (cos phi1) (cos phi2)) (sin (/ (+ lambda1 lambda2) 2)))) (pow (sin (/ (- phi1 phi2) 2)) 2))))) (* R -2))
(neg (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- (neg phi1) phi2) 2)) 2) (* (* (* (cos (neg phi1)) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- (neg phi1) phi2) 2)) 2) (* (* (* (cos (neg phi1)) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))))
(* (atan2 (sqrt (+ (* (* (cos phi1) (cos phi2)) (* (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda1 lambda2) 2)))) (pow (sin (* (+ phi1 phi2) -1/2)) 2))) (sqrt (+ 1 (- (* (* (cos phi1) (cos phi2)) (* (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda2 lambda1) 2)))) (pow (sin (* (+ phi1 phi2) -1/2)) 2))))) (* R -2))
(neg (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 (neg phi2)) 2)) 2) (* (* (* (cos phi1) (cos (neg phi2))) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 (neg phi2)) 2)) 2) (* (* (* (cos phi1) (cos (neg phi2))) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))))
(* (atan2 (sqrt (+ (* (* (cos phi1) (cos phi2)) (* (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda1 lambda2) 2)))) (pow (sin (* (+ phi1 phi2) -1/2)) 2))) (sqrt (+ 1 (- (* (* (cos phi1) (cos phi2)) (* (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda2 lambda1) 2)))) (pow (sin (* (+ phi1 phi2) -1/2)) 2))))) (* R -2))
(* lambda1 (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- R lambda2) 2))) (sin (/ (- R lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- R lambda2) 2))) (sin (/ (- R lambda2) 2)))))))))
(* (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (sin (/ (- R lambda2) 2)) (* (* (cos phi1) (cos phi2)) (sin (/ (- R lambda2) 2)))))) (sqrt (- (- 1 (pow (sin (/ (- phi1 phi2) 2)) 2)) (* (sin (/ (- R lambda2) 2)) (* (* (cos phi1) (cos phi2)) (sin (/ (- R lambda2) 2))))))) (* 2 lambda1))
(* lambda2 (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 R) 2))) (sin (/ (- lambda1 R) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 R) 2))) (sin (/ (- lambda1 R) 2)))))))))
(* (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (cos phi1) (cos phi2)) (* (sin (/ (- lambda1 R) 2)) (sin (/ (- lambda1 R) 2)))))) (sqrt (- (- 1 (pow (sin (/ (- phi1 phi2) 2)) 2)) (* (* (cos phi1) (cos phi2)) (* (sin (/ (- lambda1 R) 2)) (sin (/ (- lambda1 R) 2))))))) (* 2 lambda2))
(* phi1 (* 2 (atan2 (sqrt (+ (pow (sin (/ (- R phi2) 2)) 2) (* (* (* (cos R) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- R phi2) 2)) 2) (* (* (* (cos R) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))))
(* (atan2 (sqrt (+ (pow (sin (/ (- R phi2) 2)) 2) (* (sin (/ (- lambda1 lambda2) 2)) (* (cos phi2) (* (sin (/ (- lambda1 lambda2) 2)) (cos R)))))) (sqrt (+ (- 1 (pow (sin (/ (- R phi2) 2)) 2)) (* (sin (/ (- lambda1 lambda2) 2)) (* (cos phi2) (* (cos R) (sin (/ (- lambda2 lambda1) 2)))))))) (* 2 phi1))
(* phi2 (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 R) 2)) 2) (* (* (* (cos phi1) (cos R)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 R) 2)) 2) (* (* (* (cos phi1) (cos R)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))))
(* (atan2 (sqrt (+ (pow (sin (/ (- phi1 R) 2)) 2) (* (sin (/ (- lambda1 lambda2) 2)) (* (cos phi1) (* (sin (/ (- lambda1 lambda2) 2)) (cos R)))))) (sqrt (+ 1 (- (* (* (cos phi1) (cos R)) (* (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda2 lambda1) 2)))) (pow (sin (/ (- phi1 R) 2)) 2))))) (* 2 phi2))
(* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda2 lambda1) 2))) (sin (/ (- lambda2 lambda1) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda2 lambda1) 2))) (sin (/ (- lambda2 lambda1) 2)))))))))
(* (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (cos phi2) (sin (/ (- lambda2 lambda1) 2))) (* (cos phi1) (sin (/ (- lambda2 lambda1) 2)))))) (sqrt (- (- 1 (* (* (cos phi2) (sin (/ (- lambda2 lambda1) 2))) (* (cos phi1) (sin (/ (- lambda2 lambda1) 2))))) (pow (sin (/ (- phi1 phi2) 2)) 2)))) (* R 2))
(* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- lambda1 phi2) 2)) 2) (* (* (* (cos lambda1) (cos phi2)) (sin (/ (- phi1 lambda2) 2))) (sin (/ (- phi1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- lambda1 phi2) 2)) 2) (* (* (* (cos lambda1) (cos phi2)) (sin (/ (- phi1 lambda2) 2))) (sin (/ (- phi1 lambda2) 2)))))))))
(* (atan2 (sqrt (+ (pow (sin (/ (- lambda1 phi2) 2)) 2) (* (* (cos phi2) (cos lambda1)) (pow (sin (/ (- phi1 lambda2) 2)) 2)))) (sqrt (- (- 1 (pow (sin (/ (- lambda1 phi2) 2)) 2)) (* (* (cos phi2) (cos lambda1)) (pow (sin (/ (- phi1 lambda2) 2)) 2))))) (* R 2))
(* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 lambda1) 2)) 2) (* (* (* (cos phi1) (cos lambda1)) (sin (/ (- phi2 lambda2) 2))) (sin (/ (- phi2 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 lambda1) 2)) 2) (* (* (* (cos phi1) (cos lambda1)) (sin (/ (- phi2 lambda2) 2))) (sin (/ (- phi2 lambda2) 2)))))))))
(* (atan2 (sqrt (- (pow (sin (/ (- phi1 lambda1) 2)) 2) (* (cos phi1) (* (cos lambda1) (neg (pow (sin (/ (- phi2 lambda2) -2)) 2)))))) (sqrt (+ (- 1 (pow (sin (/ (- phi1 lambda1) 2)) 2)) (* (cos phi1) (* (cos lambda1) (neg (pow (sin (/ (- phi2 lambda2) -2)) 2))))))) (* R 2))
(* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- lambda2 phi2) 2)) 2) (* (* (* (cos lambda2) (cos phi2)) (sin (/ (- lambda1 phi1) 2))) (sin (/ (- lambda1 phi1) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- lambda2 phi2) 2)) 2) (* (* (* (cos lambda2) (cos phi2)) (sin (/ (- lambda1 phi1) 2))) (sin (/ (- lambda1 phi1) 2)))))))))
(* (atan2 (sqrt (+ (pow (sin (/ (- phi2 lambda2) -2)) 2) (* (sin (/ (- lambda1 phi1) 2)) (* (cos phi2) (* (cos lambda2) (sin (/ (- lambda1 phi1) 2))))))) (sqrt (- 1 (+ (pow (sin (/ (- phi2 lambda2) -2)) 2) (* (sin (/ (- lambda1 phi1) 2)) (* (cos phi2) (* (cos lambda2) (sin (/ (- lambda1 phi1) 2))))))))) (* R 2))
(* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 lambda2) 2)) 2) (* (* (* (cos phi1) (cos lambda2)) (sin (/ (- lambda1 phi2) 2))) (sin (/ (- lambda1 phi2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 lambda2) 2)) 2) (* (* (* (cos phi1) (cos lambda2)) (sin (/ (- lambda1 phi2) 2))) (sin (/ (- lambda1 phi2) 2)))))))))
(* (atan2 (sqrt (+ (pow (sin (/ (- phi1 lambda2) 2)) 2) (* (pow (sin (/ (- lambda1 phi2) 2)) 2) (* (cos phi1) (cos lambda2))))) (sqrt (- (- 1 (pow (sin (/ (- phi1 lambda2) 2)) 2)) (* (pow (sin (/ (- lambda1 phi2) 2)) 2) (* (cos phi1) (cos lambda2)))))) (* R 2))
(* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi2 phi1) 2)) 2) (* (* (* (cos phi2) (cos phi1)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi2 phi1) 2)) 2) (* (* (* (cos phi2) (cos phi1)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))))
(* (atan2 (sqrt (+ (* (* (cos phi1) (cos phi2)) (* (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda1 lambda2) 2)))) (pow (sin (/ (- phi1 phi2) -2)) 2))) (sqrt (+ 1 (- (* (* (cos phi1) (cos phi2)) (* (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda2 lambda1) 2)))) (pow (sin (/ (- phi1 phi2) -2)) 2))))) (* R 2))
Symmetry

(negabs R)

explain1.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Compiler

Compiled 392 to 28 computations (92.9% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...