Destination given bearing on a great circle

Time bar (total: 6.0s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze1.3s (21.2%)

Memory
10.4MiB live, 1 199.7MiB 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)

sample3.0s (49%)

Memory
63.6MiB live, 2 529.2MiB allocated
Samples
2.4s8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 2.0s
ival-sin: 793.0ms (38.7% of total)
ival-cos: 548.0ms (26.8% of total)
ival-mult: 325.0ms (15.9% of total)
ival-asin: 145.0ms (7.1% of total)
ival-add: 90.0ms (4.4% of total)
ival-atan2: 76.0ms (3.7% of total)
ival-sub: 59.0ms (2.9% of total)
ival-true: 7.0ms (0.3% of total)
ival-assert: 4.0ms (0.2% of total)
Bogosity

explain398.0ms (6.6%)

Memory
-19.3MiB live, 379.9MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
121(8.538325301162344e+128 -3.3109502140937405e+91 -1.560714716607669e+220 4.805173528164559e-106 -1.5775240330322505e+286)5(-2.665216579672568e-13 -3.230811234812993e+216 1.1306180289323717e-38 3.03649527109364e-263 -3.7096545554255682e+270)(-.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)))))))
10-1(2.813597956056288e+27 5.191910884536024e+80 -3.274659888137171e+153 1.2691906532639479e+203 -4.014010479979492e-206)(+.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-(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 phi1)
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.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)))))))cancellation22
Confusion
Predicted +Predicted -
+12
-1252
Precision
0.5
Recall
0.3333333333333333
Confusion?
Predicted +Predicted MaybePredicted -
+111
-12250
Precision?
0.4
Recall?
0.6666666666666666
Freqs
test
numberfreq
0254
12
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
159.0ms512×0valid
Compiler

Compiled 628 to 96 computations (84.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 127.0ms
ival-sin: 39.0ms (30.7% of total)
ival-cos: 30.0ms (23.6% of total)
ival-asin: 26.0ms (20.5% of total)
ival-mult: 19.0ms (15% of total)
ival-add: 5.0ms (3.9% of total)
ival-atan2: 4.0ms (3.2% of total)
ival-sub: 2.0ms (1.6% of total)
ival-true: 1.0ms (0.8% of total)
ival-assert: 0.0ms (0% of total)

preprocess5.0ms (0.1%)

Memory
6.2MiB live, 6.2MiB allocated
Algorithm
egg-herbie
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)))))))))
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.7MiB live, 0.7MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(+.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 33 to 23 computations (30.3% saved)

simplify1.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 (sin.f64 theta) (sin.f64 delta))
cost-diff0
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
cost-diff0
(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))))))))
cost-diff0
(+.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)))))))))
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)))))))))
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 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
(*.f64 (sin.f64 theta) (sin.f64 delta))
(sin.f64 theta)
theta
(sin.f64 delta)
delta
(cos.f64 phi1)
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)))))))
(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))))))
(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)))))
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
(+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))
(*.f64 (sin.f64 phi1) (cos.f64 delta))
(*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))
(*.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)))))))))
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 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
(*.f64 (sin.f64 theta) (sin.f64 delta))
(sin.f64 theta)
theta
(sin.f64 delta)
delta
(cos.f64 phi1)
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)))))))
(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))))))
(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)))))
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
(+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))
(*.f64 (sin.f64 phi1) (cos.f64 delta))
(*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))
(*.f64 (cos.f64 phi1) (sin.f64 delta))
(cos.f64 theta)

localize103.0ms (1.7%)

Memory
4.6MiB live, 80.0MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.234375
(*.f64 (sin.f64 theta) (sin.f64 delta))
accuracy0.2578125
(*.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))))))
accuracy0.2769163937041713
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
accuracy0.59442489438083
(-.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)))))))
Samples
79.0ms256×0valid
Compiler

Compiled 396 to 48 computations (87.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 65.0ms
ival-sin: 20.0ms (30.9% of total)
ival-cos: 15.0ms (23.2% of total)
ival-atan2: 13.0ms (20.1% of total)
ival-mult: 10.0ms (15.5% of total)
ival-asin: 4.0ms (6.2% of total)
ival-add: 2.0ms (3.1% of total)
ival-sub: 1.0ms (1.5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series55.0ms (0.9%)

Memory
-2.5MiB live, 38.9MiB allocated
Counts
7 → 53
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)))))))))
(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 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
(*.f64 (sin.f64 theta) (sin.f64 delta))
(-.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)))))))
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
(*.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
(atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))))
(+ lambda1 (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))))
lambda1
(* lambda1 (+ 1 (/ (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))) lambda1)))
(* -1 (* lambda1 (- (* -1 (/ (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))) lambda1)) 1)))
(* (sin delta) (sin theta))
(+ (* -1/2 (* (pow phi1 2) (* (sin delta) (sin theta)))) (* (sin delta) (sin theta)))
(+ (* (sin delta) (sin theta)) (* (pow phi1 2) (+ (* -1/2 (* (sin delta) (sin theta))) (* 1/24 (* (pow phi1 2) (* (sin delta) (sin theta)))))))
(+ (* (sin delta) (sin theta)) (* (pow phi1 2) (+ (* -1/2 (* (sin delta) (sin theta))) (* (pow phi1 2) (+ (* -1/720 (* (pow phi1 2) (* (sin delta) (sin theta)))) (* 1/24 (* (sin delta) (sin theta))))))))
(cos delta)
(+ (cos delta) (* -1 (* phi1 (* (cos theta) (sin delta)))))
(+ (cos delta) (* phi1 (- (* -1 (* phi1 (cos delta))) (* (cos theta) (sin delta)))))
(+ (cos delta) (* phi1 (- (* phi1 (- (* -1 (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (* -1/6 (* (cos theta) (sin delta)))))) (cos delta))) (* (cos theta) (sin delta)))))
(asin (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))
(* phi1 (* (cos theta) (sin delta)))
(* phi1 (+ (* phi1 (cos delta)) (* (cos theta) (sin delta))))
(* phi1 (+ (* phi1 (+ (cos delta) (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (* -1/6 (* (cos theta) (sin delta))))))) (* (cos theta) (sin delta))))
(* phi1 (+ (* phi1 (+ (cos delta) (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (+ (* -1/3 (* phi1 (cos delta))) (* -1/6 (* (cos theta) (sin delta)))))))) (* (cos theta) (sin delta))))
(* (cos phi1) (* (sin delta) (sin theta)))
(- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))
(* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))
(* delta (* (cos phi1) (sin theta)))
(* delta (+ (* -1/6 (* (pow delta 2) (* (cos phi1) (sin theta)))) (* (cos phi1) (sin theta))))
(* delta (+ (* (cos phi1) (sin theta)) (* (pow delta 2) (+ (* -1/6 (* (cos phi1) (sin theta))) (* 1/120 (* (pow delta 2) (* (cos phi1) (sin theta))))))))
(* delta (+ (* (cos phi1) (sin theta)) (* (pow delta 2) (+ (* -1/6 (* (cos phi1) (sin theta))) (* (pow delta 2) (+ (* -1/5040 (* (pow delta 2) (* (cos phi1) (sin theta)))) (* 1/120 (* (cos phi1) (sin theta)))))))))
(* delta (sin theta))
(* delta (+ (sin theta) (* -1/6 (* (pow delta 2) (sin theta)))))
(* delta (+ (sin theta) (* (pow delta 2) (+ (* -1/6 (sin theta)) (* 1/120 (* (pow delta 2) (sin theta)))))))
(* delta (+ (sin theta) (* (pow delta 2) (+ (* -1/6 (sin theta)) (* (pow delta 2) (+ (* -1/5040 (* (pow delta 2) (sin theta))) (* 1/120 (sin theta))))))))
(- 1 (pow (sin phi1) 2))
(- (+ 1 (* -1 (* delta (* (cos phi1) (* (cos theta) (sin phi1)))))) (pow (sin phi1) 2))
(- (+ 1 (* delta (- (* -1 (* delta (+ 1/2 (* -1/2 (pow (sin phi1) 2))))) (* (cos phi1) (* (cos theta) (sin phi1)))))) (pow (sin phi1) 2))
(- (+ 1 (* delta (- (* delta (- (* 1/6 (* delta (* (cos phi1) (* (cos theta) (sin phi1))))) (+ 1/2 (* -1/2 (pow (sin phi1) 2))))) (* (cos phi1) (* (cos theta) (sin phi1)))))) (pow (sin phi1) 2))
(pow (sin phi1) 2)
(+ (* delta (* (cos phi1) (* (cos theta) (sin phi1)))) (pow (sin phi1) 2))
(+ (* delta (+ (* -1/2 (* delta (pow (sin phi1) 2))) (* (cos phi1) (* (cos theta) (sin phi1))))) (pow (sin phi1) 2))
(+ (* delta (+ (* delta (+ (* -1/2 (pow (sin phi1) 2)) (* -1/6 (* delta (* (cos phi1) (* (cos theta) (sin phi1))))))) (* (cos phi1) (* (cos theta) (sin phi1))))) (pow (sin phi1) 2))
(* theta (* (cos phi1) (sin delta)))
(* theta (+ (* -1/6 (* (pow theta 2) (* (cos phi1) (sin delta)))) (* (cos phi1) (sin delta))))
(* theta (+ (* (cos phi1) (sin delta)) (* (pow theta 2) (+ (* -1/6 (* (cos phi1) (sin delta))) (* 1/120 (* (pow theta 2) (* (cos phi1) (sin delta))))))))
(* theta (+ (* (cos phi1) (sin delta)) (* (pow theta 2) (+ (* -1/6 (* (cos phi1) (sin delta))) (* (pow theta 2) (+ (* -1/5040 (* (pow theta 2) (* (cos phi1) (sin delta)))) (* 1/120 (* (cos phi1) (sin delta)))))))))
(* theta (sin delta))
(* theta (+ (sin delta) (* -1/6 (* (pow theta 2) (sin delta)))))
(* theta (+ (sin delta) (* (pow theta 2) (+ (* -1/6 (sin delta)) (* 1/120 (* (pow theta 2) (sin delta)))))))
(* theta (+ (sin delta) (* (pow theta 2) (+ (* -1/6 (sin delta)) (* (pow theta 2) (+ (* -1/5040 (* (pow theta 2) (sin delta))) (* 1/120 (sin delta))))))))
(- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(- (+ (cos delta) (* 1/2 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1)))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(- (+ (cos delta) (* (pow theta 2) (- (* -1/24 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1))))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(- (+ (cos delta) (* (pow theta 2) (- (* (pow theta 2) (- (* 1/720 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* 1/24 (* (cos phi1) (* (sin delta) (sin phi1)))))) (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1))))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta))))
(+ (* -1/2 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(+ (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))) (* (pow theta 2) (+ (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1)))) (* 1/24 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))))))
(+ (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))) (* (pow theta 2) (+ (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1)))) (* (pow theta 2) (+ (* -1/720 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* 1/24 (* (cos phi1) (* (sin delta) (sin phi1)))))))))
Calls

15 calls:

TimeVariablePointExpression
26.0ms
phi1
@0
((+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (* (sin theta) (sin delta)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))
5.0ms
theta
@-inf
((+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (* (sin theta) (sin delta)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))
4.0ms
phi1
@inf
((+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (* (sin theta) (sin delta)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))
3.0ms
delta
@inf
((+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (* (sin theta) (sin delta)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))
3.0ms
delta
@-inf
((+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (* (sin theta) (sin delta)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))

simplify1.0ms (0%)

Memory
1.7MiB live, 1.7MiB allocated
Algorithm
egg-herbie
Counts
53 → 7
Calls
Call 1
Inputs
(atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))))
(+ lambda1 (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))))
lambda1
(* lambda1 (+ 1 (/ (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))) lambda1)))
(* -1 (* lambda1 (- (* -1 (/ (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))) lambda1)) 1)))
(* (sin delta) (sin theta))
(+ (* -1/2 (* (pow phi1 2) (* (sin delta) (sin theta)))) (* (sin delta) (sin theta)))
(+ (* (sin delta) (sin theta)) (* (pow phi1 2) (+ (* -1/2 (* (sin delta) (sin theta))) (* 1/24 (* (pow phi1 2) (* (sin delta) (sin theta)))))))
(+ (* (sin delta) (sin theta)) (* (pow phi1 2) (+ (* -1/2 (* (sin delta) (sin theta))) (* (pow phi1 2) (+ (* -1/720 (* (pow phi1 2) (* (sin delta) (sin theta)))) (* 1/24 (* (sin delta) (sin theta))))))))
(cos delta)
(+ (cos delta) (* -1 (* phi1 (* (cos theta) (sin delta)))))
(+ (cos delta) (* phi1 (- (* -1 (* phi1 (cos delta))) (* (cos theta) (sin delta)))))
(+ (cos delta) (* phi1 (- (* phi1 (- (* -1 (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (* -1/6 (* (cos theta) (sin delta)))))) (cos delta))) (* (cos theta) (sin delta)))))
(asin (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))
(* phi1 (* (cos theta) (sin delta)))
(* phi1 (+ (* phi1 (cos delta)) (* (cos theta) (sin delta))))
(* phi1 (+ (* phi1 (+ (cos delta) (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (* -1/6 (* (cos theta) (sin delta))))))) (* (cos theta) (sin delta))))
(* phi1 (+ (* phi1 (+ (cos delta) (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (+ (* -1/3 (* phi1 (cos delta))) (* -1/6 (* (cos theta) (sin delta)))))))) (* (cos theta) (sin delta))))
(* (cos phi1) (* (sin delta) (sin theta)))
(- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))
(* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))
(* delta (* (cos phi1) (sin theta)))
(* delta (+ (* -1/6 (* (pow delta 2) (* (cos phi1) (sin theta)))) (* (cos phi1) (sin theta))))
(* delta (+ (* (cos phi1) (sin theta)) (* (pow delta 2) (+ (* -1/6 (* (cos phi1) (sin theta))) (* 1/120 (* (pow delta 2) (* (cos phi1) (sin theta))))))))
(* delta (+ (* (cos phi1) (sin theta)) (* (pow delta 2) (+ (* -1/6 (* (cos phi1) (sin theta))) (* (pow delta 2) (+ (* -1/5040 (* (pow delta 2) (* (cos phi1) (sin theta)))) (* 1/120 (* (cos phi1) (sin theta)))))))))
(* delta (sin theta))
(* delta (+ (sin theta) (* -1/6 (* (pow delta 2) (sin theta)))))
(* delta (+ (sin theta) (* (pow delta 2) (+ (* -1/6 (sin theta)) (* 1/120 (* (pow delta 2) (sin theta)))))))
(* delta (+ (sin theta) (* (pow delta 2) (+ (* -1/6 (sin theta)) (* (pow delta 2) (+ (* -1/5040 (* (pow delta 2) (sin theta))) (* 1/120 (sin theta))))))))
(- 1 (pow (sin phi1) 2))
(- (+ 1 (* -1 (* delta (* (cos phi1) (* (cos theta) (sin phi1)))))) (pow (sin phi1) 2))
(- (+ 1 (* delta (- (* -1 (* delta (+ 1/2 (* -1/2 (pow (sin phi1) 2))))) (* (cos phi1) (* (cos theta) (sin phi1)))))) (pow (sin phi1) 2))
(- (+ 1 (* delta (- (* delta (- (* 1/6 (* delta (* (cos phi1) (* (cos theta) (sin phi1))))) (+ 1/2 (* -1/2 (pow (sin phi1) 2))))) (* (cos phi1) (* (cos theta) (sin phi1)))))) (pow (sin phi1) 2))
(pow (sin phi1) 2)
(+ (* delta (* (cos phi1) (* (cos theta) (sin phi1)))) (pow (sin phi1) 2))
(+ (* delta (+ (* -1/2 (* delta (pow (sin phi1) 2))) (* (cos phi1) (* (cos theta) (sin phi1))))) (pow (sin phi1) 2))
(+ (* delta (+ (* delta (+ (* -1/2 (pow (sin phi1) 2)) (* -1/6 (* delta (* (cos phi1) (* (cos theta) (sin phi1))))))) (* (cos phi1) (* (cos theta) (sin phi1))))) (pow (sin phi1) 2))
(* theta (* (cos phi1) (sin delta)))
(* theta (+ (* -1/6 (* (pow theta 2) (* (cos phi1) (sin delta)))) (* (cos phi1) (sin delta))))
(* theta (+ (* (cos phi1) (sin delta)) (* (pow theta 2) (+ (* -1/6 (* (cos phi1) (sin delta))) (* 1/120 (* (pow theta 2) (* (cos phi1) (sin delta))))))))
(* theta (+ (* (cos phi1) (sin delta)) (* (pow theta 2) (+ (* -1/6 (* (cos phi1) (sin delta))) (* (pow theta 2) (+ (* -1/5040 (* (pow theta 2) (* (cos phi1) (sin delta)))) (* 1/120 (* (cos phi1) (sin delta)))))))))
(* theta (sin delta))
(* theta (+ (sin delta) (* -1/6 (* (pow theta 2) (sin delta)))))
(* theta (+ (sin delta) (* (pow theta 2) (+ (* -1/6 (sin delta)) (* 1/120 (* (pow theta 2) (sin delta)))))))
(* theta (+ (sin delta) (* (pow theta 2) (+ (* -1/6 (sin delta)) (* (pow theta 2) (+ (* -1/5040 (* (pow theta 2) (sin delta))) (* 1/120 (sin delta))))))))
(- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(- (+ (cos delta) (* 1/2 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1)))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(- (+ (cos delta) (* (pow theta 2) (- (* -1/24 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1))))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(- (+ (cos delta) (* (pow theta 2) (- (* (pow theta 2) (- (* 1/720 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* 1/24 (* (cos phi1) (* (sin delta) (sin phi1)))))) (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1))))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta))))
(+ (* -1/2 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(+ (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))) (* (pow theta 2) (+ (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1)))) (* 1/24 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))))))
(+ (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))) (* (pow theta 2) (+ (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1)))) (* (pow theta 2) (+ (* -1/720 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* 1/24 (* (cos phi1) (* (sin delta) (sin phi1)))))))))
Outputs
(atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))))
(+.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)))))))))
(+ lambda1 (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))))
(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))))))))
lambda1
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
(* lambda1 (+ 1 (/ (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))) lambda1)))
(*.f64 (sin.f64 theta) (sin.f64 delta))
(* -1 (* lambda1 (- (* -1 (/ (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))) lambda1)) 1)))
(-.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)))))))
(* (sin delta) (sin theta))
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
(+ (* -1/2 (* (pow phi1 2) (* (sin delta) (sin theta)))) (* (sin delta) (sin theta)))
(*.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))))))

rewrite0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Counts
7 → 7
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)))))))))
(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 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
(*.f64 (sin.f64 theta) (sin.f64 delta))
(-.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)))))))
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
(*.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)))))))))
(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 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
(*.f64 (sin.f64 theta) (sin.f64 delta))
(-.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)))))))
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
(*.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))))))

eval4.0ms (0.1%)

Memory
-34.4MiB live, 3.0MiB allocated
Compiler

Compiled 602 to 52 computations (91.4% saved)

prune4.0ms (0.1%)

Memory
6.1MiB live, 6.1MiB allocated
Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New10414
Fresh000
Picked011
Done000
Total10515
Accuracy
99.7%
Counts
15 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(+.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)))))))))
27.7%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (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)))))))))
4.0%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.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))))))))
9.5%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)))
8.2%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (sin.f64 theta) (sin.f64 delta)))
Compiler

Compiled 235 to 157 computations (33.2% saved)

simplify2.0ms (0%)

Memory
2.6MiB live, 2.6MiB allocated
Algorithm
egg-herbie
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 (sin.f64 theta) (sin.f64 delta))
cost-diff0
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
cost-diff0
(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))))))))
cost-diff0
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (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)))))))))
cost-diff0
(*.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))))))
cost-diff0
(cos.f64 delta)
cost-diff0
(-.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)))))))
cost-diff0
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.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))))))))
cost-diff0
(sin.f64 theta)
cost-diff0
(*.f64 (sin.f64 theta) (sin.f64 delta))
cost-diff0
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
cost-diff0
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)))
cost-diff0
(sin.f64 delta)
cost-diff0
(sin.f64 theta)
cost-diff0
(*.f64 (sin.f64 theta) (sin.f64 delta))
cost-diff0
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (sin.f64 theta) (sin.f64 delta)))
Calls
Call 1
Inputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (sin.f64 theta) (sin.f64 delta)))
(*.f64 (sin.f64 theta) (sin.f64 delta))
(sin.f64 theta)
theta
(sin.f64 delta)
delta
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)))
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
(*.f64 (sin.f64 theta) (sin.f64 delta))
(sin.f64 theta)
theta
(sin.f64 delta)
delta
(cos.f64 phi1)
phi1
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.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 (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)))))))
(cos.f64 delta)
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))))))
(sin.f64 phi1)
phi1
(sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
(+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))
(*.f64 (sin.f64 phi1) (cos.f64 delta))
(*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))
(*.f64 (cos.f64 phi1) (sin.f64 delta))
(cos.f64 phi1)
(sin.f64 delta)
(cos.f64 theta)
theta
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (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)))))))))
(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 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
(*.f64 (sin.f64 theta) (sin.f64 delta))
(sin.f64 theta)
theta
(sin.f64 delta)
delta
(cos.f64 phi1)
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)))))))
(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))))))
(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)))))
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
(+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))
(*.f64 (sin.f64 phi1) (cos.f64 delta))
(*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))
(*.f64 (cos.f64 phi1) (sin.f64 delta))
(cos.f64 theta)
Outputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (sin.f64 theta) (sin.f64 delta)))
(*.f64 (sin.f64 theta) (sin.f64 delta))
(sin.f64 theta)
theta
(sin.f64 delta)
delta
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)))
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
(*.f64 (sin.f64 theta) (sin.f64 delta))
(sin.f64 theta)
theta
(sin.f64 delta)
delta
(cos.f64 phi1)
phi1
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.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 (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)))))))
(cos.f64 delta)
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))))))
(sin.f64 phi1)
phi1
(sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
(+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))
(*.f64 (sin.f64 phi1) (cos.f64 delta))
(*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))
(*.f64 (cos.f64 phi1) (sin.f64 delta))
(cos.f64 phi1)
(sin.f64 delta)
(cos.f64 theta)
theta
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (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)))))))))
(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 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
(*.f64 (sin.f64 theta) (sin.f64 delta))
(sin.f64 theta)
theta
(sin.f64 delta)
delta
(cos.f64 phi1)
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)))))))
(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))))))
(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)))))
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
(+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))
(*.f64 (sin.f64 phi1) (cos.f64 delta))
(*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))
(*.f64 (cos.f64 phi1) (sin.f64 delta))
(cos.f64 theta)

localize120.0ms (2%)

Memory
23.8MiB live, 99.3MiB allocated
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
accuracy0.2578125
(*.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))))))
accuracy0.2769163937041713
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
accuracy0.59442489438083
(-.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)))))))
accuracy46.108175710523014
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (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)))))))))
accuracy0.2578125
(*.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))))))
accuracy0.2769163937041713
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
accuracy0.59442489438083
(-.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)))))))
accuracy61.4201904708681
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.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))))))))
accuracy0.0
(cos.f64 phi1)
accuracy0.171875
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
accuracy0.234375
(*.f64 (sin.f64 theta) (sin.f64 delta))
accuracy57.90232271699774
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)))
accuracy0.0
(sin.f64 theta)
accuracy0.0
(sin.f64 delta)
accuracy0.234375
(*.f64 (sin.f64 theta) (sin.f64 delta))
accuracy58.76196291999107
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (sin.f64 theta) (sin.f64 delta)))
Samples
96.0ms256×0valid
Compiler

Compiled 962 to 69 computations (92.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 75.0ms
ival-sin: 41.0ms (54.4% of total)
ival-cos: 14.0ms (18.6% of total)
ival-mult: 10.0ms (13.3% of total)
ival-asin: 4.0ms (5.3% of total)
ival-add: 2.0ms (2.7% of total)
ival-atan2: 2.0ms (2.7% of total)
ival-sub: 1.0ms (1.3% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series24.0ms (0.4%)

Memory
-10.0MiB live, 31.2MiB allocated
Counts
14 → 71
Calls
Call 1
Inputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (sin.f64 theta) (sin.f64 delta)))
(*.f64 (sin.f64 theta) (sin.f64 delta))
(sin.f64 theta)
(sin.f64 delta)
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)))
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.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 (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)))))))
(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))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (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)))))))))
(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))))))))
(cos.f64 phi1)
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
Outputs
(atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))))
(+ lambda1 (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))))
lambda1
(* lambda1 (+ 1 (/ (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))) lambda1)))
(* -1 (* lambda1 (- (* -1 (/ (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))) lambda1)) 1)))
(* (sin delta) (sin theta))
(+ (* -1/2 (* (pow phi1 2) (* (sin delta) (sin theta)))) (* (sin delta) (sin theta)))
(+ (* (sin delta) (sin theta)) (* (pow phi1 2) (+ (* -1/2 (* (sin delta) (sin theta))) (* 1/24 (* (pow phi1 2) (* (sin delta) (sin theta)))))))
(+ (* (sin delta) (sin theta)) (* (pow phi1 2) (+ (* -1/2 (* (sin delta) (sin theta))) (* (pow phi1 2) (+ (* -1/720 (* (pow phi1 2) (* (sin delta) (sin theta)))) (* 1/24 (* (sin delta) (sin theta))))))))
(cos delta)
(+ (cos delta) (* -1 (* phi1 (* (cos theta) (sin delta)))))
(+ (cos delta) (* phi1 (- (* -1 (* phi1 (cos delta))) (* (cos theta) (sin delta)))))
(+ (cos delta) (* phi1 (- (* phi1 (- (* -1 (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (* -1/6 (* (cos theta) (sin delta)))))) (cos delta))) (* (cos theta) (sin delta)))))
(* phi1 (* (cos theta) (sin delta)))
(* phi1 (+ (* phi1 (cos delta)) (* (cos theta) (sin delta))))
(* phi1 (+ (* phi1 (+ (cos delta) (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (* -1/6 (* (cos theta) (sin delta))))))) (* (cos theta) (sin delta))))
(* phi1 (+ (* phi1 (+ (cos delta) (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (+ (* -1/3 (* phi1 (cos delta))) (* -1/6 (* (cos theta) (sin delta)))))))) (* (cos theta) (sin delta))))
1
(+ 1 (* -1/2 (pow phi1 2)))
(+ 1 (* (pow phi1 2) (- (* 1/24 (pow phi1 2)) 1/2)))
(+ 1 (* (pow phi1 2) (- (* (pow phi1 2) (+ 1/24 (* -1/720 (pow phi1 2)))) 1/2)))
(asin (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))
(* (cos phi1) (* (sin delta) (sin theta)))
(- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))
(* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))
(cos phi1)
(* delta (sin theta))
(* delta (+ (sin theta) (* -1/6 (* (pow delta 2) (sin theta)))))
(* delta (+ (sin theta) (* (pow delta 2) (+ (* -1/6 (sin theta)) (* 1/120 (* (pow delta 2) (sin theta)))))))
(* delta (+ (sin theta) (* (pow delta 2) (+ (* -1/6 (sin theta)) (* (pow delta 2) (+ (* -1/5040 (* (pow delta 2) (sin theta))) (* 1/120 (sin theta))))))))
delta
(* delta (+ 1 (* -1/6 (pow delta 2))))
(* delta (+ 1 (* (pow delta 2) (- (* 1/120 (pow delta 2)) 1/6))))
(* delta (+ 1 (* (pow delta 2) (- (* (pow delta 2) (+ 1/120 (* -1/5040 (pow delta 2)))) 1/6))))
(* delta (* (cos phi1) (sin theta)))
(* delta (+ (* -1/6 (* (pow delta 2) (* (cos phi1) (sin theta)))) (* (cos phi1) (sin theta))))
(* delta (+ (* (cos phi1) (sin theta)) (* (pow delta 2) (+ (* -1/6 (* (cos phi1) (sin theta))) (* 1/120 (* (pow delta 2) (* (cos phi1) (sin theta))))))))
(* delta (+ (* (cos phi1) (sin theta)) (* (pow delta 2) (+ (* -1/6 (* (cos phi1) (sin theta))) (* (pow delta 2) (+ (* -1/5040 (* (pow delta 2) (* (cos phi1) (sin theta)))) (* 1/120 (* (cos phi1) (sin theta)))))))))
(- 1 (pow (sin phi1) 2))
(- (+ 1 (* -1 (* delta (* (cos phi1) (* (cos theta) (sin phi1)))))) (pow (sin phi1) 2))
(- (+ 1 (* delta (- (* -1 (* delta (+ 1/2 (* -1/2 (pow (sin phi1) 2))))) (* (cos phi1) (* (cos theta) (sin phi1)))))) (pow (sin phi1) 2))
(- (+ 1 (* delta (- (* delta (- (* 1/6 (* delta (* (cos phi1) (* (cos theta) (sin phi1))))) (+ 1/2 (* -1/2 (pow (sin phi1) 2))))) (* (cos phi1) (* (cos theta) (sin phi1)))))) (pow (sin phi1) 2))
(+ 1 (* -1/2 (pow delta 2)))
(+ 1 (* (pow delta 2) (- (* 1/24 (pow delta 2)) 1/2)))
(+ 1 (* (pow delta 2) (- (* (pow delta 2) (+ 1/24 (* -1/720 (pow delta 2)))) 1/2)))
(pow (sin phi1) 2)
(+ (* delta (* (cos phi1) (* (cos theta) (sin phi1)))) (pow (sin phi1) 2))
(+ (* delta (+ (* -1/2 (* delta (pow (sin phi1) 2))) (* (cos phi1) (* (cos theta) (sin phi1))))) (pow (sin phi1) 2))
(+ (* delta (+ (* delta (+ (* -1/2 (pow (sin phi1) 2)) (* -1/6 (* delta (* (cos phi1) (* (cos theta) (sin phi1))))))) (* (cos phi1) (* (cos theta) (sin phi1))))) (pow (sin phi1) 2))
(sin delta)
(* theta (sin delta))
(* theta (+ (sin delta) (* -1/6 (* (pow theta 2) (sin delta)))))
(* theta (+ (sin delta) (* (pow theta 2) (+ (* -1/6 (sin delta)) (* 1/120 (* (pow theta 2) (sin delta)))))))
(* theta (+ (sin delta) (* (pow theta 2) (+ (* -1/6 (sin delta)) (* (pow theta 2) (+ (* -1/5040 (* (pow theta 2) (sin delta))) (* 1/120 (sin delta))))))))
theta
(* theta (+ 1 (* -1/6 (pow theta 2))))
(* theta (+ 1 (* (pow theta 2) (- (* 1/120 (pow theta 2)) 1/6))))
(* theta (+ 1 (* (pow theta 2) (- (* (pow theta 2) (+ 1/120 (* -1/5040 (pow theta 2)))) 1/6))))
(* theta (* (cos phi1) (sin delta)))
(* theta (+ (* -1/6 (* (pow theta 2) (* (cos phi1) (sin delta)))) (* (cos phi1) (sin delta))))
(* theta (+ (* (cos phi1) (sin delta)) (* (pow theta 2) (+ (* -1/6 (* (cos phi1) (sin delta))) (* 1/120 (* (pow theta 2) (* (cos phi1) (sin delta))))))))
(* theta (+ (* (cos phi1) (sin delta)) (* (pow theta 2) (+ (* -1/6 (* (cos phi1) (sin delta))) (* (pow theta 2) (+ (* -1/5040 (* (pow theta 2) (* (cos phi1) (sin delta)))) (* 1/120 (* (cos phi1) (sin delta)))))))))
(- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(- (+ (cos delta) (* 1/2 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1)))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(- (+ (cos delta) (* (pow theta 2) (- (* -1/24 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1))))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(- (+ (cos delta) (* (pow theta 2) (- (* (pow theta 2) (- (* 1/720 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* 1/24 (* (cos phi1) (* (sin delta) (sin phi1)))))) (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1))))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta))))
(+ (* -1/2 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(+ (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))) (* (pow theta 2) (+ (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1)))) (* 1/24 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))))))
(+ (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))) (* (pow theta 2) (+ (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1)))) (* (pow theta 2) (+ (* -1/720 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* 1/24 (* (cos phi1) (* (sin delta) (sin phi1)))))))))
(sin theta)
Calls

15 calls:

TimeVariablePointExpression
5.0ms
phi1
@-inf
((+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (* (sin theta) (sin delta)) (sin theta) (sin delta) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (cos phi1) (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))
2.0ms
delta
@inf
((+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (* (sin theta) (sin delta)) (sin theta) (sin delta) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (cos phi1) (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))
2.0ms
phi1
@inf
((+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (* (sin theta) (sin delta)) (sin theta) (sin delta) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (cos phi1) (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))
2.0ms
delta
@-inf
((+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (* (sin theta) (sin delta)) (sin theta) (sin delta) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (cos phi1) (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))
2.0ms
theta
@-inf
((+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (* (sin theta) (sin delta)) (sin theta) (sin delta) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (cos phi1) (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))

simplify1.0ms (0%)

Memory
1.6MiB live, 1.6MiB allocated
Algorithm
egg-herbie
Counts
71 → 14
Calls
Call 1
Inputs
(atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))))
(+ lambda1 (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))))
lambda1
(* lambda1 (+ 1 (/ (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))) lambda1)))
(* -1 (* lambda1 (- (* -1 (/ (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))) lambda1)) 1)))
(* (sin delta) (sin theta))
(+ (* -1/2 (* (pow phi1 2) (* (sin delta) (sin theta)))) (* (sin delta) (sin theta)))
(+ (* (sin delta) (sin theta)) (* (pow phi1 2) (+ (* -1/2 (* (sin delta) (sin theta))) (* 1/24 (* (pow phi1 2) (* (sin delta) (sin theta)))))))
(+ (* (sin delta) (sin theta)) (* (pow phi1 2) (+ (* -1/2 (* (sin delta) (sin theta))) (* (pow phi1 2) (+ (* -1/720 (* (pow phi1 2) (* (sin delta) (sin theta)))) (* 1/24 (* (sin delta) (sin theta))))))))
(cos delta)
(+ (cos delta) (* -1 (* phi1 (* (cos theta) (sin delta)))))
(+ (cos delta) (* phi1 (- (* -1 (* phi1 (cos delta))) (* (cos theta) (sin delta)))))
(+ (cos delta) (* phi1 (- (* phi1 (- (* -1 (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (* -1/6 (* (cos theta) (sin delta)))))) (cos delta))) (* (cos theta) (sin delta)))))
(* phi1 (* (cos theta) (sin delta)))
(* phi1 (+ (* phi1 (cos delta)) (* (cos theta) (sin delta))))
(* phi1 (+ (* phi1 (+ (cos delta) (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (* -1/6 (* (cos theta) (sin delta))))))) (* (cos theta) (sin delta))))
(* phi1 (+ (* phi1 (+ (cos delta) (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (+ (* -1/3 (* phi1 (cos delta))) (* -1/6 (* (cos theta) (sin delta)))))))) (* (cos theta) (sin delta))))
1
(+ 1 (* -1/2 (pow phi1 2)))
(+ 1 (* (pow phi1 2) (- (* 1/24 (pow phi1 2)) 1/2)))
(+ 1 (* (pow phi1 2) (- (* (pow phi1 2) (+ 1/24 (* -1/720 (pow phi1 2)))) 1/2)))
(asin (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))
(* (cos phi1) (* (sin delta) (sin theta)))
(- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))
(* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))
(cos phi1)
(* delta (sin theta))
(* delta (+ (sin theta) (* -1/6 (* (pow delta 2) (sin theta)))))
(* delta (+ (sin theta) (* (pow delta 2) (+ (* -1/6 (sin theta)) (* 1/120 (* (pow delta 2) (sin theta)))))))
(* delta (+ (sin theta) (* (pow delta 2) (+ (* -1/6 (sin theta)) (* (pow delta 2) (+ (* -1/5040 (* (pow delta 2) (sin theta))) (* 1/120 (sin theta))))))))
delta
(* delta (+ 1 (* -1/6 (pow delta 2))))
(* delta (+ 1 (* (pow delta 2) (- (* 1/120 (pow delta 2)) 1/6))))
(* delta (+ 1 (* (pow delta 2) (- (* (pow delta 2) (+ 1/120 (* -1/5040 (pow delta 2)))) 1/6))))
(* delta (* (cos phi1) (sin theta)))
(* delta (+ (* -1/6 (* (pow delta 2) (* (cos phi1) (sin theta)))) (* (cos phi1) (sin theta))))
(* delta (+ (* (cos phi1) (sin theta)) (* (pow delta 2) (+ (* -1/6 (* (cos phi1) (sin theta))) (* 1/120 (* (pow delta 2) (* (cos phi1) (sin theta))))))))
(* delta (+ (* (cos phi1) (sin theta)) (* (pow delta 2) (+ (* -1/6 (* (cos phi1) (sin theta))) (* (pow delta 2) (+ (* -1/5040 (* (pow delta 2) (* (cos phi1) (sin theta)))) (* 1/120 (* (cos phi1) (sin theta)))))))))
(- 1 (pow (sin phi1) 2))
(- (+ 1 (* -1 (* delta (* (cos phi1) (* (cos theta) (sin phi1)))))) (pow (sin phi1) 2))
(- (+ 1 (* delta (- (* -1 (* delta (+ 1/2 (* -1/2 (pow (sin phi1) 2))))) (* (cos phi1) (* (cos theta) (sin phi1)))))) (pow (sin phi1) 2))
(- (+ 1 (* delta (- (* delta (- (* 1/6 (* delta (* (cos phi1) (* (cos theta) (sin phi1))))) (+ 1/2 (* -1/2 (pow (sin phi1) 2))))) (* (cos phi1) (* (cos theta) (sin phi1)))))) (pow (sin phi1) 2))
(+ 1 (* -1/2 (pow delta 2)))
(+ 1 (* (pow delta 2) (- (* 1/24 (pow delta 2)) 1/2)))
(+ 1 (* (pow delta 2) (- (* (pow delta 2) (+ 1/24 (* -1/720 (pow delta 2)))) 1/2)))
(pow (sin phi1) 2)
(+ (* delta (* (cos phi1) (* (cos theta) (sin phi1)))) (pow (sin phi1) 2))
(+ (* delta (+ (* -1/2 (* delta (pow (sin phi1) 2))) (* (cos phi1) (* (cos theta) (sin phi1))))) (pow (sin phi1) 2))
(+ (* delta (+ (* delta (+ (* -1/2 (pow (sin phi1) 2)) (* -1/6 (* delta (* (cos phi1) (* (cos theta) (sin phi1))))))) (* (cos phi1) (* (cos theta) (sin phi1))))) (pow (sin phi1) 2))
(sin delta)
(* theta (sin delta))
(* theta (+ (sin delta) (* -1/6 (* (pow theta 2) (sin delta)))))
(* theta (+ (sin delta) (* (pow theta 2) (+ (* -1/6 (sin delta)) (* 1/120 (* (pow theta 2) (sin delta)))))))
(* theta (+ (sin delta) (* (pow theta 2) (+ (* -1/6 (sin delta)) (* (pow theta 2) (+ (* -1/5040 (* (pow theta 2) (sin delta))) (* 1/120 (sin delta))))))))
theta
(* theta (+ 1 (* -1/6 (pow theta 2))))
(* theta (+ 1 (* (pow theta 2) (- (* 1/120 (pow theta 2)) 1/6))))
(* theta (+ 1 (* (pow theta 2) (- (* (pow theta 2) (+ 1/120 (* -1/5040 (pow theta 2)))) 1/6))))
(* theta (* (cos phi1) (sin delta)))
(* theta (+ (* -1/6 (* (pow theta 2) (* (cos phi1) (sin delta)))) (* (cos phi1) (sin delta))))
(* theta (+ (* (cos phi1) (sin delta)) (* (pow theta 2) (+ (* -1/6 (* (cos phi1) (sin delta))) (* 1/120 (* (pow theta 2) (* (cos phi1) (sin delta))))))))
(* theta (+ (* (cos phi1) (sin delta)) (* (pow theta 2) (+ (* -1/6 (* (cos phi1) (sin delta))) (* (pow theta 2) (+ (* -1/5040 (* (pow theta 2) (* (cos phi1) (sin delta)))) (* 1/120 (* (cos phi1) (sin delta)))))))))
(- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(- (+ (cos delta) (* 1/2 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1)))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(- (+ (cos delta) (* (pow theta 2) (- (* -1/24 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1))))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(- (+ (cos delta) (* (pow theta 2) (- (* (pow theta 2) (- (* 1/720 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* 1/24 (* (cos phi1) (* (sin delta) (sin phi1)))))) (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1))))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta))))
(+ (* -1/2 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(+ (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))) (* (pow theta 2) (+ (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1)))) (* 1/24 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))))))
(+ (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))) (* (pow theta 2) (+ (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1)))) (* (pow theta 2) (+ (* -1/720 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* 1/24 (* (cos phi1) (* (sin delta) (sin phi1)))))))))
(sin theta)
Outputs
(atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (sin.f64 theta) (sin.f64 delta)))
(+ lambda1 (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))))
(*.f64 (sin.f64 theta) (sin.f64 delta))
lambda1
(sin.f64 theta)
(* lambda1 (+ 1 (/ (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))) lambda1)))
(sin.f64 delta)
(* -1 (* lambda1 (- (* -1 (/ (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))) lambda1)) 1)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)))
(* (sin delta) (sin theta))
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
(+ (* -1/2 (* (pow phi1 2) (* (sin delta) (sin theta)))) (* (sin delta) (sin theta)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.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))))))))
(+ (* (sin delta) (sin theta)) (* (pow phi1 2) (+ (* -1/2 (* (sin delta) (sin theta))) (* 1/24 (* (pow phi1 2) (* (sin delta) (sin theta)))))))
(-.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)))))))
(+ (* (sin delta) (sin theta)) (* (pow phi1 2) (+ (* -1/2 (* (sin delta) (sin theta))) (* (pow phi1 2) (+ (* -1/720 (* (pow phi1 2) (* (sin delta) (sin theta)))) (* 1/24 (* (sin delta) (sin theta))))))))
(cos.f64 delta)
(cos 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))))))
(+ (cos delta) (* -1 (* phi1 (* (cos theta) (sin delta)))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (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)))))))))
(+ (cos delta) (* phi1 (- (* -1 (* phi1 (cos delta))) (* (cos theta) (sin delta)))))
(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))))))))
(+ (cos delta) (* phi1 (- (* phi1 (- (* -1 (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (* -1/6 (* (cos theta) (sin delta)))))) (cos delta))) (* (cos theta) (sin delta)))))
(cos.f64 phi1)
(* phi1 (* (cos theta) (sin delta)))
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))

rewrite1.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated
Counts
14 → 14
Calls
Call 1
Inputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (sin.f64 theta) (sin.f64 delta)))
(*.f64 (sin.f64 theta) (sin.f64 delta))
(sin.f64 theta)
(sin.f64 delta)
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)))
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.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 (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)))))))
(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))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (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)))))))))
(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))))))))
(cos.f64 phi1)
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
Outputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (sin.f64 theta) (sin.f64 delta)))
(*.f64 (sin.f64 theta) (sin.f64 delta))
(sin.f64 theta)
(sin.f64 delta)
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)))
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.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 (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)))))))
(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))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (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)))))))))
(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))))))))
(cos.f64 phi1)
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))

eval6.0ms (0.1%)

Memory
8.3MiB live, 8.3MiB allocated
Compiler

Compiled 3 478 to 85 computations (97.6% saved)

prune35.0ms (0.6%)

Memory
-11.2MiB live, 27.3MiB allocated
Pruning

15 alts after pruning (10 fresh and 5 done)

PrunedKeptTotal
New441054
Fresh000
Picked044
Done011
Total441559
Accuracy
99.7%
Counts
59 → 15
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(+.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)))))))))
27.7%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (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)))))))))
13.7%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
7.6%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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)))))))))
10.4%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
4.4%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) (-.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)))))))))
4.0%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.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))))))))
4.0%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
9.5%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)))
8.2%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (sin.f64 theta) (sin.f64 delta)))
4.6%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 theta))
5.0%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 delta))
3.9%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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))))))))
4.6%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
4.2%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)))
Compiler

Compiled 1 487 to 809 computations (45.6% saved)

simplify2.0ms (0%)

Memory
2.6MiB live, 2.6MiB allocated
Algorithm
egg-herbie
Localize:

Found 17 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sin.f64 phi1)
cost-diff0
(*.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))))))
cost-diff0
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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)))))))
cost-diff0
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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))))))))
cost-diff0
(*.f64 (sin.f64 theta) (sin.f64 delta))
cost-diff0
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
cost-diff0
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
cost-diff0
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
cost-diff0
(sin.f64 delta)
cost-diff0
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 delta))
cost-diff0
(cos.f64 delta)
cost-diff0
#s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta))
cost-diff0
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)))
cost-diff0
(*.f64 (sin.f64 theta) (sin.f64 delta))
cost-diff0
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
cost-diff0
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
cost-diff0
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
Calls
Call 1
Inputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
(*.f64 (sin.f64 theta) (sin.f64 delta))
(sin.f64 theta)
theta
(sin.f64 delta)
delta
(cos.f64 phi1)
phi1
(-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
(cos.f64 delta)
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
(+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))
(*.f64 (sin.f64 phi1) (cos.f64 delta))
(sin.f64 phi1)
(*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))
(*.f64 (cos.f64 phi1) (sin.f64 delta))
(cos.f64 theta)
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)))
#s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta))
(cos.f64 delta)
delta
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 delta))
(sin.f64 delta)
delta
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
(*.f64 (sin.f64 theta) (sin.f64 delta))
(sin.f64 theta)
theta
(sin.f64 delta)
delta
(cos.f64 phi1)
phi1
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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))))))))
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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 (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))))))
(sin.f64 phi1)
phi1
(sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
(+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))
(*.f64 (sin.f64 phi1) (cos.f64 delta))
(cos.f64 delta)
delta
(*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))
(*.f64 (cos.f64 phi1) (sin.f64 delta))
(cos.f64 phi1)
(sin.f64 delta)
(cos.f64 theta)
theta
Outputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
(*.f64 (sin.f64 theta) (sin.f64 delta))
(sin.f64 theta)
theta
(sin.f64 delta)
delta
(cos.f64 phi1)
phi1
(-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
(cos.f64 delta)
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
(+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))
(*.f64 (sin.f64 phi1) (cos.f64 delta))
(sin.f64 phi1)
(*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))
(*.f64 (cos.f64 phi1) (sin.f64 delta))
(cos.f64 theta)
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)))
#s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta))
(cos.f64 delta)
delta
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 delta))
(sin.f64 delta)
delta
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
(*.f64 (sin.f64 theta) (sin.f64 delta))
(sin.f64 theta)
theta
(sin.f64 delta)
delta
(cos.f64 phi1)
phi1
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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))))))))
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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 (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))))))
(sin.f64 phi1)
phi1
(sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
(+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))
(*.f64 (sin.f64 phi1) (cos.f64 delta))
(cos.f64 delta)
delta
(*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))
(*.f64 (cos.f64 phi1) (sin.f64 delta))
(cos.f64 phi1)
(sin.f64 delta)
(cos.f64 theta)
theta

localize113.0ms (1.9%)

Memory
-9.2MiB live, 107.8MiB allocated
Localize:

Found 17 expressions of interest:

NewMetricScoreProgram
accuracy0.2578125
(*.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))))))
accuracy0.2769163937041713
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
accuracy58.28794038804074
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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)))))))
accuracy61.4201904708681
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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))))))))
accuracy0.171875
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
accuracy0.234375
(*.f64 (sin.f64 theta) (sin.f64 delta))
accuracy40.34418432153351
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))
accuracy46.108175710523014
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
accuracy0.0
(sin.f64 delta)
accuracy60.82185392750527
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 delta))
accuracy0.0
(cos.f64 delta)
accuracy57.90232271699774
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)))
accuracy60.8921915686203
#s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta))
accuracy0.2769163937041713
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
accuracy0.59442489438083
(-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
accuracy46.108175710523014
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
accuracy58.95496076821322
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
Samples
79.0ms256×0valid
Compiler

Compiled 1 256 to 75 computations (94% saved)

Precisions
Click to see histograms. Total time spent on operations: 56.0ms
ival-sin: 21.0ms (37.8% of total)
ival-cos: 15.0ms (27% of total)
ival-mult: 10.0ms (18% of total)
ival-asin: 4.0ms (7.2% of total)
ival-add: 2.0ms (3.6% of total)
ival-atan2: 2.0ms (3.6% of total)
ival-sub: 1.0ms (1.8% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series23.0ms (0.4%)

Memory
30.3MiB live, 30.3MiB allocated
Counts
19 → 67
Calls
Call 1
Inputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
(*.f64 (sin.f64 theta) (sin.f64 delta))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)))
#s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta))
(cos.f64 delta)
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 delta))
(sin.f64 delta)
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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))))))))
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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 (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))))))
(sin.f64 phi1)
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
(-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))
Outputs
(atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))))
(+ lambda1 (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))))
lambda1
(* lambda1 (+ 1 (/ (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))) lambda1)))
(* -1 (* lambda1 (- (* -1 (/ (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))) lambda1)) 1)))
(* (sin delta) (sin theta))
(+ (* -1/2 (* (pow phi1 2) (* (sin delta) (sin theta)))) (* (sin delta) (sin theta)))
(+ (* (sin delta) (sin theta)) (* (pow phi1 2) (+ (* -1/2 (* (sin delta) (sin theta))) (* 1/24 (* (pow phi1 2) (* (sin delta) (sin theta)))))))
(+ (* (sin delta) (sin theta)) (* (pow phi1 2) (+ (* -1/2 (* (sin delta) (sin theta))) (* (pow phi1 2) (+ (* -1/720 (* (pow phi1 2) (* (sin delta) (sin theta)))) (* 1/24 (* (sin delta) (sin theta))))))))
(cos delta)
(+ (cos delta) (* -1 (* phi1 (* (cos theta) (sin delta)))))
(+ (cos delta) (* phi1 (- (* -1 (* phi1 (cos delta))) (* (cos theta) (sin delta)))))
(+ (cos delta) (* phi1 (- (* phi1 (- (* -1 (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (* -1/6 (* (cos theta) (sin delta)))))) (cos delta))) (* (cos theta) (sin delta)))))
(* phi1 (* (cos theta) (sin delta)))
(* phi1 (+ (* phi1 (cos delta)) (* (cos theta) (sin delta))))
(* phi1 (+ (* phi1 (+ (cos delta) (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (* -1/6 (* (cos theta) (sin delta))))))) (* (cos theta) (sin delta))))
(* phi1 (+ (* phi1 (+ (cos delta) (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (+ (* -1/3 (* phi1 (cos delta))) (* -1/6 (* (cos theta) (sin delta)))))))) (* (cos theta) (sin delta))))
phi1
(* phi1 (+ 1 (* -1/6 (pow phi1 2))))
(* phi1 (+ 1 (* (pow phi1 2) (- (* 1/120 (pow phi1 2)) 1/6))))
(* phi1 (+ 1 (* (pow phi1 2) (- (* (pow phi1 2) (+ 1/120 (* -1/5040 (pow phi1 2)))) 1/6))))
(asin (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))
(* (cos phi1) (* (sin delta) (sin theta)))
(- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))
(* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))
(sin phi1)
(* delta (* (cos phi1) (sin theta)))
(* delta (+ (* -1/6 (* (pow delta 2) (* (cos phi1) (sin theta)))) (* (cos phi1) (sin theta))))
(* delta (+ (* (cos phi1) (sin theta)) (* (pow delta 2) (+ (* -1/6 (* (cos phi1) (sin theta))) (* 1/120 (* (pow delta 2) (* (cos phi1) (sin theta))))))))
(* delta (+ (* (cos phi1) (sin theta)) (* (pow delta 2) (+ (* -1/6 (* (cos phi1) (sin theta))) (* (pow delta 2) (+ (* -1/5040 (* (pow delta 2) (* (cos phi1) (sin theta)))) (* 1/120 (* (cos phi1) (sin theta)))))))))
(* delta (sin theta))
(* delta (+ (sin theta) (* -1/6 (* (pow delta 2) (sin theta)))))
(* delta (+ (sin theta) (* (pow delta 2) (+ (* -1/6 (sin theta)) (* 1/120 (* (pow delta 2) (sin theta)))))))
(* delta (+ (sin theta) (* (pow delta 2) (+ (* -1/6 (sin theta)) (* (pow delta 2) (+ (* -1/5040 (* (pow delta 2) (sin theta))) (* 1/120 (sin theta))))))))
1
(+ 1 (* -1/2 (pow delta 2)))
(+ 1 (* (pow delta 2) (- (* 1/24 (pow delta 2)) 1/2)))
(+ 1 (* (pow delta 2) (- (* (pow delta 2) (+ 1/24 (* -1/720 (pow delta 2)))) 1/2)))
delta
(* delta (+ 1 (* -1/6 (pow delta 2))))
(* delta (+ 1 (* (pow delta 2) (- (* 1/120 (pow delta 2)) 1/6))))
(* delta (+ 1 (* (pow delta 2) (- (* (pow delta 2) (+ 1/120 (* -1/5040 (pow delta 2)))) 1/6))))
(- 1 (pow (sin phi1) 2))
(- (+ 1 (* -1 (* delta (* (cos phi1) (* (cos theta) (sin phi1)))))) (pow (sin phi1) 2))
(- (+ 1 (* delta (- (* -1 (* delta (+ 1/2 (* -1/2 (pow (sin phi1) 2))))) (* (cos phi1) (* (cos theta) (sin phi1)))))) (pow (sin phi1) 2))
(- (+ 1 (* delta (- (* delta (- (* 1/6 (* delta (* (cos phi1) (* (cos theta) (sin phi1))))) (+ 1/2 (* -1/2 (pow (sin phi1) 2))))) (* (cos phi1) (* (cos theta) (sin phi1)))))) (pow (sin phi1) 2))
(pow (sin phi1) 2)
(+ (* delta (* (cos phi1) (* (cos theta) (sin phi1)))) (pow (sin phi1) 2))
(+ (* delta (+ (* -1/2 (* delta (pow (sin phi1) 2))) (* (cos phi1) (* (cos theta) (sin phi1))))) (pow (sin phi1) 2))
(+ (* delta (+ (* delta (+ (* -1/2 (pow (sin phi1) 2)) (* -1/6 (* delta (* (cos phi1) (* (cos theta) (sin phi1))))))) (* (cos phi1) (* (cos theta) (sin phi1))))) (pow (sin phi1) 2))
(sin delta)
(* theta (* (cos phi1) (sin delta)))
(* theta (+ (* -1/6 (* (pow theta 2) (* (cos phi1) (sin delta)))) (* (cos phi1) (sin delta))))
(* theta (+ (* (cos phi1) (sin delta)) (* (pow theta 2) (+ (* -1/6 (* (cos phi1) (sin delta))) (* 1/120 (* (pow theta 2) (* (cos phi1) (sin delta))))))))
(* theta (+ (* (cos phi1) (sin delta)) (* (pow theta 2) (+ (* -1/6 (* (cos phi1) (sin delta))) (* (pow theta 2) (+ (* -1/5040 (* (pow theta 2) (* (cos phi1) (sin delta)))) (* 1/120 (* (cos phi1) (sin delta)))))))))
(* theta (sin delta))
(* theta (+ (sin delta) (* -1/6 (* (pow theta 2) (sin delta)))))
(* theta (+ (sin delta) (* (pow theta 2) (+ (* -1/6 (sin delta)) (* 1/120 (* (pow theta 2) (sin delta)))))))
(* theta (+ (sin delta) (* (pow theta 2) (+ (* -1/6 (sin delta)) (* (pow theta 2) (+ (* -1/5040 (* (pow theta 2) (sin delta))) (* 1/120 (sin delta))))))))
(- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(- (+ (cos delta) (* 1/2 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1)))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(- (+ (cos delta) (* (pow theta 2) (- (* -1/24 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1))))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(- (+ (cos delta) (* (pow theta 2) (- (* (pow theta 2) (- (* 1/720 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* 1/24 (* (cos phi1) (* (sin delta) (sin phi1)))))) (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1))))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta))))
(+ (* -1/2 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(+ (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))) (* (pow theta 2) (+ (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1)))) (* 1/24 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))))))
(+ (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))) (* (pow theta 2) (+ (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1)))) (* (pow theta 2) (+ (* -1/720 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* 1/24 (* (cos phi1) (* (sin delta) (sin phi1)))))))))
Calls

15 calls:

TimeVariablePointExpression
3.0ms
phi1
@inf
((+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (* (sin theta) (sin delta)) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (cos delta) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin delta) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin phi1) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))
2.0ms
delta
@-inf
((+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (* (sin theta) (sin delta)) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (cos delta) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin delta) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin phi1) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))
2.0ms
delta
@inf
((+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (* (sin theta) (sin delta)) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (cos delta) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin delta) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin phi1) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))
2.0ms
phi1
@-inf
((+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (* (sin theta) (sin delta)) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (cos delta) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin delta) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin phi1) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))
2.0ms
theta
@inf
((+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (* (sin theta) (sin delta)) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (cos delta) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin delta) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin phi1) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))

simplify17.0ms (0.3%)

Memory
-36.1MiB live, 2.2MiB allocated
Algorithm
egg-herbie
Counts
67 → 19
Calls
Call 1
Inputs
(atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))))
(+ lambda1 (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))))
lambda1
(* lambda1 (+ 1 (/ (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))) lambda1)))
(* -1 (* lambda1 (- (* -1 (/ (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))) lambda1)) 1)))
(* (sin delta) (sin theta))
(+ (* -1/2 (* (pow phi1 2) (* (sin delta) (sin theta)))) (* (sin delta) (sin theta)))
(+ (* (sin delta) (sin theta)) (* (pow phi1 2) (+ (* -1/2 (* (sin delta) (sin theta))) (* 1/24 (* (pow phi1 2) (* (sin delta) (sin theta)))))))
(+ (* (sin delta) (sin theta)) (* (pow phi1 2) (+ (* -1/2 (* (sin delta) (sin theta))) (* (pow phi1 2) (+ (* -1/720 (* (pow phi1 2) (* (sin delta) (sin theta)))) (* 1/24 (* (sin delta) (sin theta))))))))
(cos delta)
(+ (cos delta) (* -1 (* phi1 (* (cos theta) (sin delta)))))
(+ (cos delta) (* phi1 (- (* -1 (* phi1 (cos delta))) (* (cos theta) (sin delta)))))
(+ (cos delta) (* phi1 (- (* phi1 (- (* -1 (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (* -1/6 (* (cos theta) (sin delta)))))) (cos delta))) (* (cos theta) (sin delta)))))
(* phi1 (* (cos theta) (sin delta)))
(* phi1 (+ (* phi1 (cos delta)) (* (cos theta) (sin delta))))
(* phi1 (+ (* phi1 (+ (cos delta) (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (* -1/6 (* (cos theta) (sin delta))))))) (* (cos theta) (sin delta))))
(* phi1 (+ (* phi1 (+ (cos delta) (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (+ (* -1/3 (* phi1 (cos delta))) (* -1/6 (* (cos theta) (sin delta)))))))) (* (cos theta) (sin delta))))
phi1
(* phi1 (+ 1 (* -1/6 (pow phi1 2))))
(* phi1 (+ 1 (* (pow phi1 2) (- (* 1/120 (pow phi1 2)) 1/6))))
(* phi1 (+ 1 (* (pow phi1 2) (- (* (pow phi1 2) (+ 1/120 (* -1/5040 (pow phi1 2)))) 1/6))))
(asin (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))
(* (cos phi1) (* (sin delta) (sin theta)))
(- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))
(* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))
(sin phi1)
(* delta (* (cos phi1) (sin theta)))
(* delta (+ (* -1/6 (* (pow delta 2) (* (cos phi1) (sin theta)))) (* (cos phi1) (sin theta))))
(* delta (+ (* (cos phi1) (sin theta)) (* (pow delta 2) (+ (* -1/6 (* (cos phi1) (sin theta))) (* 1/120 (* (pow delta 2) (* (cos phi1) (sin theta))))))))
(* delta (+ (* (cos phi1) (sin theta)) (* (pow delta 2) (+ (* -1/6 (* (cos phi1) (sin theta))) (* (pow delta 2) (+ (* -1/5040 (* (pow delta 2) (* (cos phi1) (sin theta)))) (* 1/120 (* (cos phi1) (sin theta)))))))))
(* delta (sin theta))
(* delta (+ (sin theta) (* -1/6 (* (pow delta 2) (sin theta)))))
(* delta (+ (sin theta) (* (pow delta 2) (+ (* -1/6 (sin theta)) (* 1/120 (* (pow delta 2) (sin theta)))))))
(* delta (+ (sin theta) (* (pow delta 2) (+ (* -1/6 (sin theta)) (* (pow delta 2) (+ (* -1/5040 (* (pow delta 2) (sin theta))) (* 1/120 (sin theta))))))))
1
(+ 1 (* -1/2 (pow delta 2)))
(+ 1 (* (pow delta 2) (- (* 1/24 (pow delta 2)) 1/2)))
(+ 1 (* (pow delta 2) (- (* (pow delta 2) (+ 1/24 (* -1/720 (pow delta 2)))) 1/2)))
delta
(* delta (+ 1 (* -1/6 (pow delta 2))))
(* delta (+ 1 (* (pow delta 2) (- (* 1/120 (pow delta 2)) 1/6))))
(* delta (+ 1 (* (pow delta 2) (- (* (pow delta 2) (+ 1/120 (* -1/5040 (pow delta 2)))) 1/6))))
(- 1 (pow (sin phi1) 2))
(- (+ 1 (* -1 (* delta (* (cos phi1) (* (cos theta) (sin phi1)))))) (pow (sin phi1) 2))
(- (+ 1 (* delta (- (* -1 (* delta (+ 1/2 (* -1/2 (pow (sin phi1) 2))))) (* (cos phi1) (* (cos theta) (sin phi1)))))) (pow (sin phi1) 2))
(- (+ 1 (* delta (- (* delta (- (* 1/6 (* delta (* (cos phi1) (* (cos theta) (sin phi1))))) (+ 1/2 (* -1/2 (pow (sin phi1) 2))))) (* (cos phi1) (* (cos theta) (sin phi1)))))) (pow (sin phi1) 2))
(pow (sin phi1) 2)
(+ (* delta (* (cos phi1) (* (cos theta) (sin phi1)))) (pow (sin phi1) 2))
(+ (* delta (+ (* -1/2 (* delta (pow (sin phi1) 2))) (* (cos phi1) (* (cos theta) (sin phi1))))) (pow (sin phi1) 2))
(+ (* delta (+ (* delta (+ (* -1/2 (pow (sin phi1) 2)) (* -1/6 (* delta (* (cos phi1) (* (cos theta) (sin phi1))))))) (* (cos phi1) (* (cos theta) (sin phi1))))) (pow (sin phi1) 2))
(sin delta)
(* theta (* (cos phi1) (sin delta)))
(* theta (+ (* -1/6 (* (pow theta 2) (* (cos phi1) (sin delta)))) (* (cos phi1) (sin delta))))
(* theta (+ (* (cos phi1) (sin delta)) (* (pow theta 2) (+ (* -1/6 (* (cos phi1) (sin delta))) (* 1/120 (* (pow theta 2) (* (cos phi1) (sin delta))))))))
(* theta (+ (* (cos phi1) (sin delta)) (* (pow theta 2) (+ (* -1/6 (* (cos phi1) (sin delta))) (* (pow theta 2) (+ (* -1/5040 (* (pow theta 2) (* (cos phi1) (sin delta)))) (* 1/120 (* (cos phi1) (sin delta)))))))))
(* theta (sin delta))
(* theta (+ (sin delta) (* -1/6 (* (pow theta 2) (sin delta)))))
(* theta (+ (sin delta) (* (pow theta 2) (+ (* -1/6 (sin delta)) (* 1/120 (* (pow theta 2) (sin delta)))))))
(* theta (+ (sin delta) (* (pow theta 2) (+ (* -1/6 (sin delta)) (* (pow theta 2) (+ (* -1/5040 (* (pow theta 2) (sin delta))) (* 1/120 (sin delta))))))))
(- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(- (+ (cos delta) (* 1/2 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1)))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(- (+ (cos delta) (* (pow theta 2) (- (* -1/24 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1))))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(- (+ (cos delta) (* (pow theta 2) (- (* (pow theta 2) (- (* 1/720 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* 1/24 (* (cos phi1) (* (sin delta) (sin phi1)))))) (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1))))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta))))
(+ (* -1/2 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(+ (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))) (* (pow theta 2) (+ (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1)))) (* 1/24 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))))))
(+ (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))) (* (pow theta 2) (+ (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1)))) (* (pow theta 2) (+ (* -1/720 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* 1/24 (* (cos phi1) (* (sin delta) (sin phi1)))))))))
Outputs
(atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
(+ lambda1 (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))))
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
lambda1
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
(* lambda1 (+ 1 (/ (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))) lambda1)))
(*.f64 (sin.f64 theta) (sin.f64 delta))
(* -1 (* lambda1 (- (* -1 (/ (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))) lambda1)) 1)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)))
(* (sin delta) (sin theta))
#s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta))
(+ (* -1/2 (* (pow phi1 2) (* (sin delta) (sin theta)))) (* (sin delta) (sin theta)))
(cos.f64 delta)
(+ (* (sin delta) (sin theta)) (* (pow phi1 2) (+ (* -1/2 (* (sin delta) (sin theta))) (* 1/24 (* (pow phi1 2) (* (sin delta) (sin theta)))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 delta))
(+ (* (sin delta) (sin theta)) (* (pow phi1 2) (+ (* -1/2 (* (sin delta) (sin theta))) (* (pow phi1 2) (+ (* -1/720 (* (pow phi1 2) (* (sin delta) (sin theta)))) (* 1/24 (* (sin delta) (sin theta))))))))
(sin.f64 delta)
(cos delta)
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
(+ (cos delta) (* -1 (* phi1 (* (cos theta) (sin delta)))))
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
(+ (cos delta) (* phi1 (- (* -1 (* phi1 (cos delta))) (* (cos theta) (sin delta)))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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))))))))
(+ (cos delta) (* phi1 (- (* phi1 (- (* -1 (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (* -1/6 (* (cos theta) (sin delta)))))) (cos delta))) (* (cos theta) (sin delta)))))
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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)))))))
(* phi1 (* (cos theta) (sin 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))))))
(* phi1 (+ (* phi1 (cos delta)) (* (cos theta) (sin delta))))
(sin.f64 phi1)
(* phi1 (+ (* phi1 (+ (cos delta) (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (* -1/6 (* (cos theta) (sin delta))))))) (* (cos theta) (sin delta))))
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
(* phi1 (+ (* phi1 (+ (cos delta) (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (+ (* -1/3 (* phi1 (cos delta))) (* -1/6 (* (cos theta) (sin delta)))))))) (* (cos theta) (sin delta))))
(-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
phi1
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
(* phi1 (+ 1 (* -1/6 (pow phi1 2))))
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))

rewrite1.0ms (0%)

Memory
2.3MiB live, 2.3MiB allocated
Counts
19 → 19
Calls
Call 1
Inputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
(*.f64 (sin.f64 theta) (sin.f64 delta))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)))
#s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta))
(cos.f64 delta)
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 delta))
(sin.f64 delta)
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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))))))))
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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 (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))))))
(sin.f64 phi1)
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
(-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))
Outputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
(*.f64 (sin.f64 theta) (sin.f64 delta))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)))
#s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta))
(cos.f64 delta)
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 delta))
(sin.f64 delta)
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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))))))))
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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 (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))))))
(sin.f64 phi1)
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
(-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))

eval7.0ms (0.1%)

Memory
11.0MiB live, 11.0MiB allocated
Compiler

Compiled 4 573 to 123 computations (97.3% saved)

prune30.0ms (0.5%)

Memory
-6.3MiB live, 32.4MiB allocated
Pruning

23 alts after pruning (13 fresh and 10 done)

PrunedKeptTotal
New48856
Fresh055
Picked055
Done055
Total482371
Accuracy
99.7%
Counts
71 → 23
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(+.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)))))))))
27.7%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (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)))))))))
13.7%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
9.3%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
7.6%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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)))))))))
10.4%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
5.0%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
4.9%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
4.4%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) (-.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)))))))))
4.4%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
4.3%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
4.0%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.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))))))))
4.0%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
9.5%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)))
8.2%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (sin.f64 theta) (sin.f64 delta)))
4.6%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 theta))
5.0%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 delta))
3.9%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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))))))))
3.7%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
4.6%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
4.1%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1))))
4.9%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
4.2%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)))
Compiler

Compiled 2 601 to 1 206 computations (53.6% saved)

simplify3.0ms (0.1%)

Memory
3.6MiB live, 3.7MiB allocated
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sin.f64 delta)
cost-diff0
#s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta))
cost-diff0
(atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
cost-diff0
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
cost-diff0
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
cost-diff0
(cos.f64 delta)
cost-diff0
(-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
cost-diff0
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
cost-diff0
(cos.f64 delta)
cost-diff0
#s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta))
cost-diff0
(atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
cost-diff0
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
cost-diff0
(sin.f64 phi1)
cost-diff0
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1))
cost-diff0
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1)))
cost-diff0
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1))))
cost-diff0
(*.f64 (sin.f64 theta) (sin.f64 delta))
cost-diff0
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
cost-diff0
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
cost-diff0
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
Calls
Call 1
Inputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
(*.f64 (sin.f64 theta) (sin.f64 delta))
(sin.f64 theta)
theta
(sin.f64 delta)
delta
(cos.f64 phi1)
phi1
(-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
(cos.f64 delta)
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
(asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
(+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))
(*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta))
#s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))
(*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))
(*.f64 (cos.f64 phi1) (sin.f64 delta))
(cos.f64 theta)
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1))))
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1)))
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1))
(sin.f64 phi1)
phi1
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
(atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
#s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta))
(cos.f64 delta)
delta
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))
(cos.f64 phi1)
phi1
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
(-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
(cos.f64 delta)
delta
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
(+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))
(*.f64 (sin.f64 phi1) (cos.f64 delta))
(sin.f64 phi1)
phi1
(*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))
(*.f64 (cos.f64 phi1) (sin.f64 delta))
(cos.f64 phi1)
(sin.f64 delta)
(cos.f64 theta)
theta
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
(atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
#s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta))
(sin.f64 delta)
delta
(-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
(cos.f64 delta)
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
(+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))
(*.f64 (sin.f64 phi1) (cos.f64 delta))
(sin.f64 phi1)
phi1
(*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))
(*.f64 (cos.f64 phi1) (sin.f64 delta))
(cos.f64 phi1)
(cos.f64 theta)
theta
Outputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
(*.f64 (sin.f64 theta) (sin.f64 delta))
(sin.f64 theta)
theta
(sin.f64 delta)
delta
(cos.f64 phi1)
phi1
(-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
(cos.f64 delta)
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
(asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
(+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))
(*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta))
#s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))
(*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))
(*.f64 (cos.f64 phi1) (sin.f64 delta))
(cos.f64 theta)
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1))))
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1)))
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1))
(sin.f64 phi1)
phi1
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
(atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
#s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta))
(cos.f64 delta)
delta
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))
(cos.f64 phi1)
phi1
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
(-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
(cos.f64 delta)
delta
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
(+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))
(*.f64 (sin.f64 phi1) (cos.f64 delta))
(sin.f64 phi1)
phi1
(*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))
(*.f64 (cos.f64 phi1) (sin.f64 delta))
(cos.f64 phi1)
(sin.f64 delta)
(cos.f64 theta)
theta
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
(atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
#s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta))
(sin.f64 delta)
delta
(-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
(cos.f64 delta)
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
(+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))
(*.f64 (sin.f64 phi1) (cos.f64 delta))
(sin.f64 phi1)
phi1
(*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))
(*.f64 (cos.f64 phi1) (sin.f64 delta))
(cos.f64 phi1)
(cos.f64 theta)
theta

localize143.0ms (2.4%)

Memory
-1.8MiB live, 113.9MiB allocated
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.59442489438083
(-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
accuracy46.108175710523014
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
accuracy58.60727291352462
#s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta))
accuracy58.95496076821322
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
accuracy0.2769163937041713
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
accuracy0.59442489438083
(-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
accuracy58.95496076821322
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
accuracy61.4201904708681
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
accuracy0.1484375
(atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
accuracy40.34418432153351
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))
accuracy46.108175710523014
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
accuracy60.8921915686203
#s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta))
accuracy0.0
(sin.f64 phi1)
accuracy57.12615936451133
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1))
accuracy58.28794038804074
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1)))
accuracy61.4201904708681
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1))))
accuracy40.34418432153351
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))
accuracy46.108175710523014
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
accuracy58.95496076821322
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
accuracy59.654540623173084
#s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
Samples
93.0ms256×0valid
Compiler

Compiled 1 979 to 82 computations (95.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 69.0ms
ival-cos: 29.0ms (41.9% of total)
ival-sin: 20.0ms (28.9% of total)
ival-mult: 10.0ms (14.5% of total)
ival-asin: 4.0ms (5.8% of total)
ival-add: 2.0ms (2.9% of total)
ival-atan2: 2.0ms (2.9% of total)
ival-sub: 1.0ms (1.4% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series27.0ms (0.4%)

Memory
-2.0MiB live, 36.2MiB allocated
Counts
23 → 67
Calls
Call 1
Inputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
(*.f64 (sin.f64 theta) (sin.f64 delta))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1))))
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1)))
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1))
(sin.f64 phi1)
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
(atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
#s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta))
(cos.f64 delta)
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
(-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
(atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
#s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta))
(sin.f64 delta)
#s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
Outputs
(atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))))
(+ lambda1 (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))))
lambda1
(* lambda1 (+ 1 (/ (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))) lambda1)))
(* -1 (* lambda1 (- (* -1 (/ (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))) lambda1)) 1)))
(* (sin delta) (sin theta))
(+ (* -1/2 (* (pow phi1 2) (* (sin delta) (sin theta)))) (* (sin delta) (sin theta)))
(+ (* (sin delta) (sin theta)) (* (pow phi1 2) (+ (* -1/2 (* (sin delta) (sin theta))) (* 1/24 (* (pow phi1 2) (* (sin delta) (sin theta)))))))
(+ (* (sin delta) (sin theta)) (* (pow phi1 2) (+ (* -1/2 (* (sin delta) (sin theta))) (* (pow phi1 2) (+ (* -1/720 (* (pow phi1 2) (* (sin delta) (sin theta)))) (* 1/24 (* (sin delta) (sin theta))))))))
(cos delta)
(+ (cos delta) (* -1 (* phi1 (* (cos theta) (sin delta)))))
(+ (cos delta) (* phi1 (- (* -1 (* phi1 (cos delta))) (* (cos theta) (sin delta)))))
(+ (cos delta) (* phi1 (- (* phi1 (- (* -1 (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (* -1/6 (* (cos theta) (sin delta)))))) (cos delta))) (* (cos theta) (sin delta)))))
(* phi1 (* (cos theta) (sin delta)))
(* phi1 (+ (* phi1 (cos delta)) (* (cos theta) (sin delta))))
(* phi1 (+ (* phi1 (+ (cos delta) (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (* -1/6 (* (cos theta) (sin delta))))))) (* (cos theta) (sin delta))))
(* phi1 (+ (* phi1 (+ (cos delta) (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (+ (* -1/3 (* phi1 (cos delta))) (* -1/6 (* (cos theta) (sin delta)))))))) (* (cos theta) (sin delta))))
phi1
(* phi1 (+ 1 (* -1/6 (pow phi1 2))))
(* phi1 (+ 1 (* (pow phi1 2) (- (* 1/120 (pow phi1 2)) 1/6))))
(* phi1 (+ 1 (* (pow phi1 2) (- (* (pow phi1 2) (+ 1/120 (* -1/5040 (pow phi1 2)))) 1/6))))
(asin (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))
(* (cos phi1) (* (sin delta) (sin theta)))
(- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))
(* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))
(sin phi1)
(* delta (* (cos phi1) (sin theta)))
(* delta (+ (* -1/6 (* (pow delta 2) (* (cos phi1) (sin theta)))) (* (cos phi1) (sin theta))))
(* delta (+ (* (cos phi1) (sin theta)) (* (pow delta 2) (+ (* -1/6 (* (cos phi1) (sin theta))) (* 1/120 (* (pow delta 2) (* (cos phi1) (sin theta))))))))
(* delta (+ (* (cos phi1) (sin theta)) (* (pow delta 2) (+ (* -1/6 (* (cos phi1) (sin theta))) (* (pow delta 2) (+ (* -1/5040 (* (pow delta 2) (* (cos phi1) (sin theta)))) (* 1/120 (* (cos phi1) (sin theta)))))))))
(* delta (sin theta))
(* delta (+ (sin theta) (* -1/6 (* (pow delta 2) (sin theta)))))
(* delta (+ (sin theta) (* (pow delta 2) (+ (* -1/6 (sin theta)) (* 1/120 (* (pow delta 2) (sin theta)))))))
(* delta (+ (sin theta) (* (pow delta 2) (+ (* -1/6 (sin theta)) (* (pow delta 2) (+ (* -1/5040 (* (pow delta 2) (sin theta))) (* 1/120 (sin theta))))))))
(- 1 (pow (sin phi1) 2))
(- (+ 1 (* -1 (* delta (* (cos phi1) (* (cos theta) (sin phi1)))))) (pow (sin phi1) 2))
(- (+ 1 (* delta (- (* -1 (* delta (+ 1/2 (* -1/2 (pow (sin phi1) 2))))) (* (cos phi1) (* (cos theta) (sin phi1)))))) (pow (sin phi1) 2))
(- (+ 1 (* delta (- (* delta (- (* 1/6 (* delta (* (cos phi1) (* (cos theta) (sin phi1))))) (+ 1/2 (* -1/2 (pow (sin phi1) 2))))) (* (cos phi1) (* (cos theta) (sin phi1)))))) (pow (sin phi1) 2))
(pow (sin phi1) 2)
(+ (* delta (* (cos phi1) (* (cos theta) (sin phi1)))) (pow (sin phi1) 2))
(+ (* delta (+ (* -1/2 (* delta (pow (sin phi1) 2))) (* (cos phi1) (* (cos theta) (sin phi1))))) (pow (sin phi1) 2))
(+ (* delta (+ (* delta (+ (* -1/2 (pow (sin phi1) 2)) (* -1/6 (* delta (* (cos phi1) (* (cos theta) (sin phi1))))))) (* (cos phi1) (* (cos theta) (sin phi1))))) (pow (sin phi1) 2))
1
(+ 1 (* -1/2 (pow delta 2)))
(+ 1 (* (pow delta 2) (- (* 1/24 (pow delta 2)) 1/2)))
(+ 1 (* (pow delta 2) (- (* (pow delta 2) (+ 1/24 (* -1/720 (pow delta 2)))) 1/2)))
delta
(* delta (+ 1 (* -1/6 (pow delta 2))))
(* delta (+ 1 (* (pow delta 2) (- (* 1/120 (pow delta 2)) 1/6))))
(* delta (+ 1 (* (pow delta 2) (- (* (pow delta 2) (+ 1/120 (* -1/5040 (pow delta 2)))) 1/6))))
(sin delta)
(* theta (* (cos phi1) (sin delta)))
(* theta (+ (* -1/6 (* (pow theta 2) (* (cos phi1) (sin delta)))) (* (cos phi1) (sin delta))))
(* theta (+ (* (cos phi1) (sin delta)) (* (pow theta 2) (+ (* -1/6 (* (cos phi1) (sin delta))) (* 1/120 (* (pow theta 2) (* (cos phi1) (sin delta))))))))
(* theta (+ (* (cos phi1) (sin delta)) (* (pow theta 2) (+ (* -1/6 (* (cos phi1) (sin delta))) (* (pow theta 2) (+ (* -1/5040 (* (pow theta 2) (* (cos phi1) (sin delta)))) (* 1/120 (* (cos phi1) (sin delta)))))))))
(* theta (sin delta))
(* theta (+ (sin delta) (* -1/6 (* (pow theta 2) (sin delta)))))
(* theta (+ (sin delta) (* (pow theta 2) (+ (* -1/6 (sin delta)) (* 1/120 (* (pow theta 2) (sin delta)))))))
(* theta (+ (sin delta) (* (pow theta 2) (+ (* -1/6 (sin delta)) (* (pow theta 2) (+ (* -1/5040 (* (pow theta 2) (sin delta))) (* 1/120 (sin delta))))))))
(- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(- (+ (cos delta) (* 1/2 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1)))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(- (+ (cos delta) (* (pow theta 2) (- (* -1/24 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1))))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(- (+ (cos delta) (* (pow theta 2) (- (* (pow theta 2) (- (* 1/720 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* 1/24 (* (cos phi1) (* (sin delta) (sin phi1)))))) (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1))))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta))))
(+ (* -1/2 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(+ (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))) (* (pow theta 2) (+ (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1)))) (* 1/24 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))))))
(+ (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))) (* (pow theta 2) (+ (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1)))) (* (pow theta 2) (+ (* -1/720 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* 1/24 (* (cos phi1) (* (sin delta) (sin phi1)))))))))
Calls

15 calls:

TimeVariablePointExpression
5.0ms
theta
@-inf
((+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (* (sin theta) (sin delta)) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin phi1) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (cos delta) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (sin delta) (sin phi1) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))
3.0ms
phi1
@inf
((+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (* (sin theta) (sin delta)) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin phi1) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (cos delta) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (sin delta) (sin phi1) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))
3.0ms
delta
@-inf
((+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (* (sin theta) (sin delta)) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin phi1) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (cos delta) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (sin delta) (sin phi1) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))
3.0ms
phi1
@-inf
((+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (* (sin theta) (sin delta)) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin phi1) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (cos delta) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (sin delta) (sin phi1) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))
3.0ms
delta
@inf
((+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (* (sin theta) (sin delta)) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin phi1) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (cos delta) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (* (* (sin theta) (sin delta)) (cos phi1)) (sin delta) (sin phi1) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))

simplify2.0ms (0%)

Memory
1.9MiB live, 1.9MiB allocated
Algorithm
egg-herbie
Counts
67 → 23
Calls
Call 1
Inputs
(atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))))
(+ lambda1 (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))))
lambda1
(* lambda1 (+ 1 (/ (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))) lambda1)))
(* -1 (* lambda1 (- (* -1 (/ (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))) lambda1)) 1)))
(* (sin delta) (sin theta))
(+ (* -1/2 (* (pow phi1 2) (* (sin delta) (sin theta)))) (* (sin delta) (sin theta)))
(+ (* (sin delta) (sin theta)) (* (pow phi1 2) (+ (* -1/2 (* (sin delta) (sin theta))) (* 1/24 (* (pow phi1 2) (* (sin delta) (sin theta)))))))
(+ (* (sin delta) (sin theta)) (* (pow phi1 2) (+ (* -1/2 (* (sin delta) (sin theta))) (* (pow phi1 2) (+ (* -1/720 (* (pow phi1 2) (* (sin delta) (sin theta)))) (* 1/24 (* (sin delta) (sin theta))))))))
(cos delta)
(+ (cos delta) (* -1 (* phi1 (* (cos theta) (sin delta)))))
(+ (cos delta) (* phi1 (- (* -1 (* phi1 (cos delta))) (* (cos theta) (sin delta)))))
(+ (cos delta) (* phi1 (- (* phi1 (- (* -1 (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (* -1/6 (* (cos theta) (sin delta)))))) (cos delta))) (* (cos theta) (sin delta)))))
(* phi1 (* (cos theta) (sin delta)))
(* phi1 (+ (* phi1 (cos delta)) (* (cos theta) (sin delta))))
(* phi1 (+ (* phi1 (+ (cos delta) (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (* -1/6 (* (cos theta) (sin delta))))))) (* (cos theta) (sin delta))))
(* phi1 (+ (* phi1 (+ (cos delta) (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (+ (* -1/3 (* phi1 (cos delta))) (* -1/6 (* (cos theta) (sin delta)))))))) (* (cos theta) (sin delta))))
phi1
(* phi1 (+ 1 (* -1/6 (pow phi1 2))))
(* phi1 (+ 1 (* (pow phi1 2) (- (* 1/120 (pow phi1 2)) 1/6))))
(* phi1 (+ 1 (* (pow phi1 2) (- (* (pow phi1 2) (+ 1/120 (* -1/5040 (pow phi1 2)))) 1/6))))
(asin (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))
(* (cos phi1) (* (sin delta) (sin theta)))
(- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))
(* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))
(sin phi1)
(* delta (* (cos phi1) (sin theta)))
(* delta (+ (* -1/6 (* (pow delta 2) (* (cos phi1) (sin theta)))) (* (cos phi1) (sin theta))))
(* delta (+ (* (cos phi1) (sin theta)) (* (pow delta 2) (+ (* -1/6 (* (cos phi1) (sin theta))) (* 1/120 (* (pow delta 2) (* (cos phi1) (sin theta))))))))
(* delta (+ (* (cos phi1) (sin theta)) (* (pow delta 2) (+ (* -1/6 (* (cos phi1) (sin theta))) (* (pow delta 2) (+ (* -1/5040 (* (pow delta 2) (* (cos phi1) (sin theta)))) (* 1/120 (* (cos phi1) (sin theta)))))))))
(* delta (sin theta))
(* delta (+ (sin theta) (* -1/6 (* (pow delta 2) (sin theta)))))
(* delta (+ (sin theta) (* (pow delta 2) (+ (* -1/6 (sin theta)) (* 1/120 (* (pow delta 2) (sin theta)))))))
(* delta (+ (sin theta) (* (pow delta 2) (+ (* -1/6 (sin theta)) (* (pow delta 2) (+ (* -1/5040 (* (pow delta 2) (sin theta))) (* 1/120 (sin theta))))))))
(- 1 (pow (sin phi1) 2))
(- (+ 1 (* -1 (* delta (* (cos phi1) (* (cos theta) (sin phi1)))))) (pow (sin phi1) 2))
(- (+ 1 (* delta (- (* -1 (* delta (+ 1/2 (* -1/2 (pow (sin phi1) 2))))) (* (cos phi1) (* (cos theta) (sin phi1)))))) (pow (sin phi1) 2))
(- (+ 1 (* delta (- (* delta (- (* 1/6 (* delta (* (cos phi1) (* (cos theta) (sin phi1))))) (+ 1/2 (* -1/2 (pow (sin phi1) 2))))) (* (cos phi1) (* (cos theta) (sin phi1)))))) (pow (sin phi1) 2))
(pow (sin phi1) 2)
(+ (* delta (* (cos phi1) (* (cos theta) (sin phi1)))) (pow (sin phi1) 2))
(+ (* delta (+ (* -1/2 (* delta (pow (sin phi1) 2))) (* (cos phi1) (* (cos theta) (sin phi1))))) (pow (sin phi1) 2))
(+ (* delta (+ (* delta (+ (* -1/2 (pow (sin phi1) 2)) (* -1/6 (* delta (* (cos phi1) (* (cos theta) (sin phi1))))))) (* (cos phi1) (* (cos theta) (sin phi1))))) (pow (sin phi1) 2))
1
(+ 1 (* -1/2 (pow delta 2)))
(+ 1 (* (pow delta 2) (- (* 1/24 (pow delta 2)) 1/2)))
(+ 1 (* (pow delta 2) (- (* (pow delta 2) (+ 1/24 (* -1/720 (pow delta 2)))) 1/2)))
delta
(* delta (+ 1 (* -1/6 (pow delta 2))))
(* delta (+ 1 (* (pow delta 2) (- (* 1/120 (pow delta 2)) 1/6))))
(* delta (+ 1 (* (pow delta 2) (- (* (pow delta 2) (+ 1/120 (* -1/5040 (pow delta 2)))) 1/6))))
(sin delta)
(* theta (* (cos phi1) (sin delta)))
(* theta (+ (* -1/6 (* (pow theta 2) (* (cos phi1) (sin delta)))) (* (cos phi1) (sin delta))))
(* theta (+ (* (cos phi1) (sin delta)) (* (pow theta 2) (+ (* -1/6 (* (cos phi1) (sin delta))) (* 1/120 (* (pow theta 2) (* (cos phi1) (sin delta))))))))
(* theta (+ (* (cos phi1) (sin delta)) (* (pow theta 2) (+ (* -1/6 (* (cos phi1) (sin delta))) (* (pow theta 2) (+ (* -1/5040 (* (pow theta 2) (* (cos phi1) (sin delta)))) (* 1/120 (* (cos phi1) (sin delta)))))))))
(* theta (sin delta))
(* theta (+ (sin delta) (* -1/6 (* (pow theta 2) (sin delta)))))
(* theta (+ (sin delta) (* (pow theta 2) (+ (* -1/6 (sin delta)) (* 1/120 (* (pow theta 2) (sin delta)))))))
(* theta (+ (sin delta) (* (pow theta 2) (+ (* -1/6 (sin delta)) (* (pow theta 2) (+ (* -1/5040 (* (pow theta 2) (sin delta))) (* 1/120 (sin delta))))))))
(- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(- (+ (cos delta) (* 1/2 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1)))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(- (+ (cos delta) (* (pow theta 2) (- (* -1/24 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1))))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(- (+ (cos delta) (* (pow theta 2) (- (* (pow theta 2) (- (* 1/720 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* 1/24 (* (cos phi1) (* (sin delta) (sin phi1)))))) (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1))))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta))))
(+ (* -1/2 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))))
(+ (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))) (* (pow theta 2) (+ (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1)))) (* 1/24 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))))))
(+ (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (sin delta)))) (* (pow theta 2) (+ (* -1/2 (* (cos phi1) (* (sin delta) (sin phi1)))) (* (pow theta 2) (+ (* -1/720 (* (pow theta 2) (* (cos phi1) (* (sin delta) (sin phi1))))) (* 1/24 (* (cos phi1) (* (sin delta) (sin phi1)))))))))
Outputs
(atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
(+ lambda1 (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))))
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
lambda1
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
(* lambda1 (+ 1 (/ (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))) lambda1)))
(*.f64 (sin.f64 theta) (sin.f64 delta))
(* -1 (* lambda1 (- (* -1 (/ (atan2 (* (cos phi1) (* (sin delta) (sin theta))) (- (cos delta) (* (sin phi1) (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta))))))) lambda1)) 1)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1))))
(* (sin delta) (sin theta))
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1)))
(+ (* -1/2 (* (pow phi1 2) (* (sin delta) (sin theta)))) (* (sin delta) (sin theta)))
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1))
(+ (* (sin delta) (sin theta)) (* (pow phi1 2) (+ (* -1/2 (* (sin delta) (sin theta))) (* 1/24 (* (pow phi1 2) (* (sin delta) (sin theta)))))))
(sin.f64 phi1)
(+ (* (sin delta) (sin theta)) (* (pow phi1 2) (+ (* -1/2 (* (sin delta) (sin theta))) (* (pow phi1 2) (+ (* -1/720 (* (pow phi1 2) (* (sin delta) (sin theta)))) (* 1/24 (* (sin delta) (sin theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
(cos delta)
(atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
(+ (cos delta) (* -1 (* phi1 (* (cos theta) (sin delta)))))
#s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta))
(+ (cos delta) (* phi1 (- (* -1 (* phi1 (cos delta))) (* (cos theta) (sin delta)))))
(cos.f64 delta)
(+ (cos delta) (* phi1 (- (* phi1 (- (* -1 (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (* -1/6 (* (cos theta) (sin delta)))))) (cos delta))) (* (cos theta) (sin delta)))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
(* phi1 (* (cos theta) (sin delta)))
(-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
(* phi1 (+ (* phi1 (cos delta)) (* (cos theta) (sin delta))))
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
(* phi1 (+ (* phi1 (+ (cos delta) (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (* -1/6 (* (cos theta) (sin delta))))))) (* (cos theta) (sin delta))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
(* phi1 (+ (* phi1 (+ (cos delta) (* phi1 (+ (* -1/2 (* (cos theta) (sin delta))) (+ (* -1/3 (* phi1 (cos delta))) (* -1/6 (* (cos theta) (sin delta)))))))) (* (cos theta) (sin delta))))
(atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
phi1
#s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta))
(* phi1 (+ 1 (* -1/6 (pow phi1 2))))
(sin.f64 delta)
(* phi1 (+ 1 (* (pow phi1 2) (- (* 1/120 (pow phi1 2)) 1/6))))
#s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
(* phi1 (+ 1 (* (pow phi1 2) (- (* (pow phi1 2) (+ 1/120 (* -1/5040 (pow phi1 2)))) 1/6))))
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
(asin (+ (* (cos delta) (sin phi1)) (* (cos phi1) (* (cos theta) (sin delta)))))
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))
(* (cos phi1) (* (sin delta) (sin theta)))
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))

rewrite2.0ms (0%)

Memory
2.6MiB live, 2.6MiB allocated
Counts
23 → 23
Calls
Call 1
Inputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
(*.f64 (sin.f64 theta) (sin.f64 delta))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1))))
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1)))
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1))
(sin.f64 phi1)
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
(atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
#s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta))
(cos.f64 delta)
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
(-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
(atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
#s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta))
(sin.f64 delta)
#s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
Outputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
(*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1))
(*.f64 (sin.f64 theta) (sin.f64 delta))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1))))
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1)))
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1))
(sin.f64 phi1)
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
(atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
#s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta))
(cos.f64 delta)
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
(-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
(atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
#s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta))
(sin.f64 delta)
#s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
#s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))
#s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))

eval8.0ms (0.1%)

Memory
11.6MiB live, 11.6MiB allocated
Compiler

Compiled 6 709 to 150 computations (97.8% saved)

prune35.0ms (0.6%)

Memory
9.1MiB live, 47.7MiB allocated
Pruning

33 alts after pruning (18 fresh and 15 done)

PrunedKeptTotal
New601070
Fresh088
Picked055
Done01010
Total603393
Accuracy
99.7%
Counts
93 → 33
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(+.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)))))))))
27.7%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (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)))))))))
13.7%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
9.3%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
7.6%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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)))))))))
10.4%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
5.1%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
5.0%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
4.8%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) (sin.f64 delta)) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
4.4%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
4.9%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))))))
4.9%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
4.4%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) (-.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)))))))))
4.4%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
4.3%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
4.1%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) #s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
4.0%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.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))))))))
4.0%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
3.7%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) (sin.f64 delta)) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
2.1%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
3.6%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
4.4%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))))
9.5%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)))
8.2%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (sin.f64 theta) (sin.f64 delta)))
4.6%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 theta))
5.0%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 delta))
3.9%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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))))))))
3.7%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
4.6%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
4.1%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1))))
4.9%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
4.4%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (sin phi1) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
4.2%
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)))
Compiler

Compiled 5 438 to 1 270 computations (76.6% saved)

regimes100.0ms (1.7%)

Memory
-3.7MiB live, 74.8MiB allocated
Counts
33 → 1
Calls
Call 1
Inputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 delta))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 theta))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (sin.f64 theta) (sin.f64 delta)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (sin phi1) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) (sin.f64 delta)) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) (sin.f64 delta)) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.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))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) #s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) (-.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)))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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)))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (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 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)))))))))
Calls

7 calls:

32.0ms
phi1
15.0ms
(+.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)))))))))
10.0ms
(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))))))))
10.0ms
theta
10.0ms
phi2
Results
AccuracySegmentsBranch
99.7%1lambda1
99.7%1phi1
99.7%1phi2
99.7%1delta
99.7%1theta
99.7%1(+.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)))))))))
99.7%1(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 69 to 70 computations (-1.4% saved)

regimes74.0ms (1.2%)

Memory
6.6MiB live, 82.9MiB allocated
Counts
32 → 1
Calls
Call 1
Inputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 delta))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 theta))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (sin.f64 theta) (sin.f64 delta)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (sin phi1) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) (sin.f64 delta)) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) (sin.f64 delta)) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.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))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) #s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) (-.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)))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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)))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (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
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (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)))))))))
Calls

7 calls:

12.0ms
(+.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)))))))))
11.0ms
phi1
10.0ms
theta
10.0ms
delta
10.0ms
phi2
Results
AccuracySegmentsBranch
27.7%1lambda1
27.7%1phi1
27.7%1phi2
27.7%1delta
27.7%1theta
27.7%1(+.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)))))))))
27.7%1(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 69 to 70 computations (-1.4% saved)

regimes91.0ms (1.5%)

Memory
-0.0MiB live, 78.6MiB allocated
Counts
31 → 1
Calls
Call 1
Inputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 delta))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 theta))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (sin.f64 theta) (sin.f64 delta)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (sin phi1) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) (sin.f64 delta)) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) (sin.f64 delta)) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.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))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) #s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) (-.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)))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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)))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
Outputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
Calls

7 calls:

28.0ms
phi1
12.0ms
phi2
10.0ms
(+.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)))))))))
9.0ms
theta
9.0ms
lambda1
Results
AccuracySegmentsBranch
13.7%1delta
13.7%1phi1
13.7%1(+.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)))))))))
13.7%1(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))))))))
13.7%1lambda1
13.7%1phi2
13.7%1theta
Compiler

Compiled 69 to 70 computations (-1.4% saved)

regimes67.0ms (1.1%)

Memory
-3.6MiB live, 72.8MiB allocated
Counts
28 → 2
Calls
Call 1
Inputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 delta))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 theta))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (sin.f64 theta) (sin.f64 delta)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (sin phi1) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) (sin.f64 delta)) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) (sin.f64 delta)) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.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))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) #s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) (-.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)))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
Outputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
Calls

7 calls:

12.0ms
delta
10.0ms
(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))))))))
9.0ms
(+.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)))))))))
9.0ms
theta
9.0ms
phi2
Results
AccuracySegmentsBranch
10.4%1phi1
12.3%2delta
10.4%1lambda1
10.4%1(+.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)))))))))
10.4%1theta
10.4%1(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))))))))
12.3%2phi2
Compiler

Compiled 69 to 70 computations (-1.4% saved)

regimes19.0ms (0.3%)

Memory
22.3MiB live, 22.3MiB allocated
Counts
27 → 1
Calls
Call 1
Inputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 delta))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 theta))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (sin.f64 theta) (sin.f64 delta)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (sin phi1) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) (sin.f64 delta)) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (*.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))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) (sin.f64 delta)) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.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))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) #s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) (-.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
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
Calls

2 calls:

8.0ms
delta
8.0ms
phi2
Results
AccuracySegmentsBranch
10.4%1phi2
10.4%1delta
Compiler

Compiled 2 to 10 computations (-400% saved)

regimes39.0ms (0.6%)

Memory
-5.9MiB live, 36.5MiB allocated
Counts
11 → 1
Calls
Call 1
Inputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 delta))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 theta))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (sin.f64 theta) (sin.f64 delta)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))))))
Outputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)))
Calls

7 calls:

12.0ms
delta
4.0ms
(+.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)))))))))
4.0ms
(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))))))))
4.0ms
phi2
4.0ms
theta
Results
AccuracySegmentsBranch
9.5%1theta
9.5%1lambda1
9.5%1phi1
9.5%1phi2
9.5%1(+.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)))))))))
9.5%1(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))))))))
9.5%1delta
Compiler

Compiled 69 to 70 computations (-1.4% saved)

regimes33.0ms (0.5%)

Memory
-8.3MiB live, 30.3MiB allocated
Counts
9 → 1
Calls
Call 1
Inputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 delta))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 theta))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (sin.f64 theta) (sin.f64 delta)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (sin.f64 delta)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
Outputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (sin.f64 theta) (sin.f64 delta)))
Calls

7 calls:

10.0ms
(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))))))))
4.0ms
(+.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)))))))))
3.0ms
phi1
3.0ms
delta
3.0ms
theta
Results
AccuracySegmentsBranch
8.2%1phi1
8.2%1lambda1
8.2%1(+.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)))))))))
8.2%1phi2
8.2%1theta
8.2%1(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))))))))
8.2%1delta
Compiler

Compiled 69 to 70 computations (-1.4% saved)

regimes22.0ms (0.4%)

Memory
-12.3MiB live, 26.4MiB allocated
Counts
6 → 1
Calls
Call 1
Inputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 delta))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 theta))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) #s(approx (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))))
Outputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 delta))
Calls

7 calls:

5.0ms
lambda1
3.0ms
(+.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)))))))))
3.0ms
(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))))))))
3.0ms
theta
3.0ms
phi2
Results
AccuracySegmentsBranch
5.0%1phi1
5.0%1delta
5.0%1lambda1
5.0%1phi2
5.0%1(+.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)))))))))
5.0%1(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))))))))
5.0%1theta
Compiler

Compiled 69 to 70 computations (-1.4% saved)

regimes14.0ms (0.2%)

Memory
21.0MiB live, 21.0MiB allocated
Counts
3 → 1
Calls
Call 1
Inputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
Outputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
Calls

7 calls:

2.0ms
(+.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)))))))))
2.0ms
(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))))))))
2.0ms
lambda1
2.0ms
delta
2.0ms
theta
Results
AccuracySegmentsBranch
4.6%1phi1
4.6%1delta
4.6%1lambda1
4.6%1theta
4.6%1phi2
4.6%1(+.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)))))))))
4.6%1(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 69 to 70 computations (-1.4% saved)

regimes28.0ms (0.5%)

Memory
-19.8MiB live, 19.2MiB allocated
Accuracy

Total -1.0b remaining (-1.7%)

Threshold costs -1b (-1.7%)

Counts
2 → 1
Calls
Call 1
Inputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (sin.f64 phi1))))
Outputs
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)))
Calls

7 calls:

18.0ms
lambda1
2.0ms
(+.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)))))))))
2.0ms
(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))))))))
1.0ms
theta
1.0ms
delta
Results
AccuracySegmentsBranch
4.2%1(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))))))))
4.2%1phi1
4.2%1theta
4.2%1lambda1
4.2%1(+.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)))))))))
4.2%1phi2
4.2%1delta
Compiler

Compiled 69 to 70 computations (-1.4% saved)

bsearch47.0ms (0.8%)

Memory
10.3MiB live, 49.7MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
44.0ms
-7.194177131596159e-54
-1.6796355999233398e-66
Samples
36.0ms160×0valid
Compiler

Compiled 1 786 to 771 computations (56.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 31.0ms
ival-sin: 9.0ms (29.3% of total)
ival-cos: 7.0ms (22.8% of total)
ival-mult: 6.0ms (19.6% of total)
ival-atan2: 4.0ms (13% of total)
ival-asin: 2.0ms (6.5% of total)
ival-add: 1.0ms (3.3% of total)
ival-sub: 1.0ms (3.3% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

simplify6.0ms (0.1%)

Memory
9.0MiB live, 9.0MiB allocated
Algorithm
egg-herbie
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)))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (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)))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
(if (<=.f64 delta #s(literal -6039028053441743/862718293348820473429344482784628181556388621521298319395315527974912 binary64)) #s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))) #s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (sin.f64 theta) (sin.f64 delta)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 delta))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)))
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)))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (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)))))))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
(if (<=.f64 delta #s(literal -6039028053441743/862718293348820473429344482784628181556388621521298319395315527974912 binary64)) #s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) #s(approx (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (asin.f64 (+.f64 (*.f64 #s(approx (sin phi1) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))) #s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1))))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (*.f64 (sin.f64 theta) (sin.f64 delta)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) (sin.f64 delta))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))) (cos.f64 phi1)))
#s(approx (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))) #s(approx (* (* (sin theta) (sin delta)) (cos phi1)) (cos.f64 delta)))

soundness2.0ms (0%)

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

Compiled 647 to 66 computations (89.8% saved)

preprocess80.0ms (1.3%)

Memory
-5.5MiB live, 69.7MiB allocated
Compiler

Compiled 1 360 to 178 computations (86.9% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...