Herbie run

Date:Sunday, January 19th, 2025
Commit:7183cd93 on autofix-12-1
Seed:2025019
Parameters:256 points for 4 iterations
Flags:
localize:costslocalize:errorsreduce:regimesreduce:binary-searchreduce:branch-expressionssetup:simplifysetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:simplifygenerate:proofs
default
Memory:636 006.5 MB

Time bar (total: 9.9min)

sample3.9min (39%)

Memory
1 596.6MiB live, 232 747.9MiB allocated; 1.1min collecting garbage
Samples
56.7s119 720×1valid
55.4s17 997×5exit
41.8s281 749×0valid
17.5s24 659×2valid
7.4s3 162×3valid
6.8s35 339×0exit
4.5s19 750×0invalid
3.0s12 050×1invalid
464.0ms871×2invalid
173.0ms22×4valid
25.0ms48×1exit
2.0ms2exit
Precisions
Click to see histograms. Total time spent on operations: 2.8min
ival-pow: 46.8s (27.6% of total)
ival-mult: 18.6s (10.9% of total)
adjust: 15.9s (9.4% of total)
ival-cos: 11.2s (6.6% of total)
ival-div: 11.0s (6.5% of total)
ival-sin: 10.0s (5.9% of total)
ival-pow2: 7.7s (4.5% of total)
ival-add: 6.8s (4% of total)
ival-sub: 6.7s (4% of total)
ival-exp: 6.1s (3.6% of total)
ival-sinu: 5.3s (3.1% of total)
ival-cosu: 4.5s (2.7% of total)
ival-log: 4.5s (2.6% of total)
ival-sqrt: 3.6s (2.1% of total)
ival-neg: 1.9s (1.1% of total)
ival-<: 1.8s (1.1% of total)
const: 1.6s (0.9% of total)
ival-log1p: 999.0ms (0.6% of total)
ival-atan2: 772.0ms (0.5% of total)
ival-tan: 718.0ms (0.4% of total)
ival-hypot: 646.0ms (0.4% of total)
exact: 380.0ms (0.2% of total)
ival-acos: 347.0ms (0.2% of total)
ival-and: 346.0ms (0.2% of total)
ival-atan: 322.0ms (0.2% of total)
ival-true: 289.0ms (0.2% of total)
ival-cbrt: 282.0ms (0.2% of total)
ival-assert: 212.0ms (0.1% of total)
ival-fabs: 170.0ms (0.1% of total)
ival-<=: 121.0ms (0.1% of total)
ival-pi: 112.0ms (0.1% of total)
ival-asin: 105.0ms (0.1% of total)
ival-==: 1.0ms (0% of total)
ival-or: 0.0ms (0% of total)
Bogosity

simplify1.3min (13.4%)

Memory
670.2MiB live, 80 608.9MiB allocated; 16.8s collecting garbage
Stop Event
609×iter limit
431×node limit
19×saturated
unsound
Counts
30 268 → 30 268

localize1.2min (12%)

Memory
689.9MiB live, 78 355.0MiB allocated; 17.9s collecting garbage
Samples
27.2s16 235×1valid
10.3s4 168×2valid
9.8s27 526×0valid
7.2s709×5exit
1.1s1 978×0invalid
898.0ms371×3valid
333.0ms128×1invalid
117.0ms11×4exit
23.0ms71×0exit
4.0ms4valid
Compiler

Compiled 118 306 to 9 300 computations (92.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 46.8s
ival-mult: 9.0s (19.2% of total)
ival-sin: 7.7s (16.5% of total)
adjust: 5.9s (12.7% of total)
ival-cos: 5.1s (11% of total)
ival-div: 4.1s (8.7% of total)
ival-add: 2.8s (5.9% of total)
ival-pow2: 2.1s (4.4% of total)
const: 1.4s (2.9% of total)
ival-sub: 1.3s (2.8% of total)
ival-pow: 1.2s (2.6% of total)
ival-sinu: 1.2s (2.6% of total)
ival-sqrt: 895.0ms (1.9% of total)
ival-log: 719.0ms (1.5% of total)
ival-exp: 654.0ms (1.4% of total)
ival-cosu: 653.0ms (1.4% of total)
ival-neg: 455.0ms (1% of total)
ival-atan2: 275.0ms (0.6% of total)
ival-hypot: 217.0ms (0.5% of total)
ival-cbrt: 165.0ms (0.4% of total)
ival-tan: 156.0ms (0.3% of total)
ival-acos: 137.0ms (0.3% of total)
exact: 102.0ms (0.2% of total)
ival-atan: 97.0ms (0.2% of total)
ival-pi: 80.0ms (0.2% of total)
ival-asin: 65.0ms (0.1% of total)
ival-fabs: 61.0ms (0.1% of total)
ival-cosh: 52.0ms (0.1% of total)
ival-asinh: 45.0ms (0.1% of total)
ival-true: 44.0ms (0.1% of total)
ival-log1p: 31.0ms (0.1% of total)
ival-assert: 23.0ms (0% of total)
ival-expm1: 13.0ms (0% of total)
ival-acosh: 12.0ms (0% of total)
ival-tanh: 7.0ms (0% of total)
ival-sinh: 5.0ms (0% of total)
ival->: 1.0ms (0% of total)
ival-then: 0.0ms (0% of total)
ival-nan: 0.0ms (0% of total)

regimes37.3s (6.3%)

Memory
-223.3MiB live, 43 971.4MiB allocated; 9.5s collecting garbage
Counts
19 214 → 862
Calls

155 calls:

3.3s
phi1
2.3s
phi2
2.3s
lambda2
1.9s
lambda1
1.7s
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
Compiler

Compiled 20 127 to 15 794 computations (21.5% saved)

series28.5s (4.8%)

Memory
-571.1MiB live, 32 381.9MiB allocated; 10.3s collecting garbage
Counts
3 669 → 30 268
Calls

1638 calls:

TimeVariablePointExpression
1.1s
c_n
@-inf
((/ (* (pow (/ 1 (+ 1 (exp (neg s)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (neg s))))) c_n)) (* (pow (/ 1 (+ 1 (exp (neg t)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (neg t))))) c_n))) (/ (pow (- 1 (/ 1 (+ (exp (neg s)) 1))) c_n) (pow (- 1 (/ 1 (+ (exp (neg t)) 1))) c_n)) (pow (- 1 (/ 1 (+ (exp (neg s)) 1))) c_n) (- 1 (/ 1 (+ (exp (neg s)) 1))) (/ (* (pow (/ 1 (+ 1 (exp (neg s)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (neg s))))) c_n)) (* (pow (/ 1 (+ 1 (exp (neg t)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (neg t))))) c_n))) (/ (pow (/ 1 (+ (exp (neg s)) 1)) c_p) (pow (/ 1 (+ (exp (neg t)) 1)) c_p)) (pow (/ 1 (+ (exp (neg s)) 1)) c_p) (/ 1 (+ (exp (neg s)) 1)) (/ (* (pow (/ 1 (+ 1 (exp (neg s)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (neg s))))) c_n)) (* (pow (/ 1 (+ 1 (exp (neg t)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (neg t))))) c_n))) (* (pow (/ 1 (+ 1 (exp (neg s)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (neg s))))) c_n)) (pow (/ 1 (+ 1 (exp (neg s)))) c_p) (/ 1 (+ 1 (exp (neg s)))) (* -1 c_p) (/ (* (pow (- (exp (neg s)) -1) (* -1 c_p)) (pow (- 1 (/ 1 (+ 1 (exp (neg s))))) c_n)) (* (pow (/ 1 (+ 1 (exp (neg t)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (neg t))))) c_n))) (* (pow (- (exp (neg s)) -1) (* -1 c_p)) (pow (- 1 (/ 1 (+ 1 (exp (neg s))))) c_n)) (pow (- (exp (neg s)) -1) (* -1 c_p)) (/ (* (pow (pow (- (exp (neg s)) -1) -2) (/ c_p 2)) (pow (- 1 (/ 1 (+ 1 (exp (neg s))))) c_n)) (* (pow (/ 1 (+ 1 (exp (neg t)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (neg t))))) c_n))) (* (pow (pow (- (exp (neg s)) -1) -2) (/ c_p 2)) (pow (- 1 (/ 1 (+ 1 (exp (neg s))))) c_n)) (pow (pow (- (exp (neg s)) -1) -2) (/ c_p 2)) (pow (- (exp (neg s)) -1) -2) (- 1 (/ 1 (+ (exp (neg t)) 1))) (pow (/ 1 (+ (exp (neg t)) 1)) c_p) (pow (/ 1 (+ 1 (exp (neg t)))) c_p) (- 1 (/ 1 (+ 1 (exp (neg s))))) (pow (/ 1 (+ 1 (exp (neg t)))) c_p))
924.0ms
lambda1
@0
((* R (sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))))) (sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2)))) (sqrt (+ (* (* (cos (* -1/2 phi2)) (- lambda1 lambda2)) (* (cos (* -1/2 phi2)) (- lambda1 lambda2))) (* phi2 phi2))) (* (cos (* -1/2 phi2)) (- lambda1 lambda2)) (+ (* -1 phi1) phi2) (* R (sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))))) (* (neg phi1) (+ (* (neg R) (/ phi2 phi1)) R)) (* (+ (* -1 phi1) phi2) R) (/ (* phi1 R) phi1) (* R (sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))))) (* (neg phi1) (+ (* (neg R) (/ phi2 phi1)) R)) (neg phi1) (* R (sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))))) (* (* R lambda1) (cos (* 1/2 (+ phi2 phi1)))) (* R lambda1) (cos (* 1/2 (+ phi2 phi1))) (* R (sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))))) (sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2)))) (sqrt (+ (* (* (cos (* -1/2 phi2)) (- lambda1 lambda2)) (* (cos (* -1/2 phi2)) (- lambda1 lambda2))) (* phi2 phi2))) (* (cos (* -1/2 phi2)) (- lambda1 lambda2)) (+ (* phi2 (/ (neg R) phi1)) (/ (* phi1 R) phi1)) (* 1/2 (+ phi2 phi1)) (* (cos (* 1/2 phi2)) lambda1))
526.0ms
x
@inf
((+ (* (tan x) (neg (tan x))) 1) (* (tan x) (tan x)) (/ (+ (* (tan x) (neg (tan x))) 1) (+ 1 (* (tan x) (tan x)))) (tan x) (/ (- 1 (* (tan x) (tan x))) (+ 1 (* (tan x) (tan x)))) (/ (- 1 (pow (tan x) 2)) (+ 1 (* (tan x) (tan x)))) (- 1 (pow (tan x) 2)) (pow (tan x) 2) (/ (- 1 (pow (tan x) 4)) (* (+ (* (tan x) (tan x)) 1) (+ (* (tan x) (tan x)) 1))) (- 1 (pow (tan x) 4)) (pow (tan x) 4) (/ (- 1 (* (tan x) (tan x))) (+ 1 (* (tan x) (tan x)))) (/ (- 1 (/ (pow (sin x) 2) (pow (cos x) 2))) (+ (* (/ (sin x) (pow (cos x) 2)) (sin x)) 1)) (- 1 (/ (pow (sin x) 2) (pow (cos x) 2))) (/ (pow (sin x) 2) (pow (cos x) 2)) (+ 1 (* (tan x) (tan x))) (* (+ (* (tan x) (tan x)) 1) (+ (* (tan x) (tan x)) 1)) (+ (* (tan x) (tan x)) 1) (pow (sin x) 2) (pow (cos x) 2) (/ (sin x) (pow (cos x) 2)))
475.0ms
a
@inf
((/ (neg (sqrt (* (* (* 2 (/ (* 4 (* (* b a) (* b (neg a)))) (pow (* x-scale y-scale) 2))) (* (* b a) (* b (neg a)))) (- (+ (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2))))))) (/ (* 4 (* (* b a) (* b (neg a)))) (pow (* x-scale y-scale) 2))) (* (* 1/4 a) (* (* x-scale (sqrt 2)) (sqrt 8))) (* 1/4 a) (* (* x-scale (sqrt 2)) (sqrt 8)) (* 2 (/ (* 4 (* (* b a) (* b (neg a)))) (pow (* x-scale y-scale) 2))) (/ (neg (sqrt (* (* (* 2 (/ (* 4 (* (* b a) (* b (neg a)))) (pow (* x-scale y-scale) 2))) (* (* b a) (* b (neg a)))) (- (+ (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2))))))) (/ (* 4 (* (* b a) (* b (neg a)))) (pow (* x-scale y-scale) 2))) (neg (sqrt (* (* (* 2 (/ (* 4 (* (* b a) (* b (neg a)))) (pow (* x-scale y-scale) 2))) (* (* b a) (* b (neg a)))) (- (+ (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2))))))) (sqrt (* (* (* 2 (/ (* 4 (* (* b a) (* b (neg a)))) (pow (* x-scale y-scale) 2))) (* (* b a) (* b (neg a)))) (- (+ (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2)))))) (/ (neg (sqrt (* (* (* 2 (/ (* 4 (* (* b a) (* b (neg a)))) (pow (* x-scale y-scale) 2))) (* (* b a) (* b (neg a)))) (- (+ (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2))))))) (/ (* 4 (* (* b a) (* b (neg a)))) (pow (* x-scale y-scale) 2))) (* (* 1/4 (* (* (* (sqrt 8) y-scale) x-scale) b)) (sqrt (- (+ (/ (pow (sin (* (* (PI) angle) 1/180)) 2) (* y-scale y-scale)) (/ (pow (cos (* -1/180 (* (PI) angle))) 2) (* x-scale x-scale))) (sqrt (+ (* (* (pow (cos (* -1/180 (* (PI) angle))) 2) (/ (pow (sin (* (* (PI) angle) 1/180)) 2) (pow (* y-scale x-scale) 2))) 4) (pow (- (/ (pow (cos (* -1/180 (* (PI) angle))) 2) (* x-scale x-scale)) (/ (pow (sin (* (* (PI) angle) 1/180)) 2) (* y-scale y-scale))) 2)))))) (* 1/4 (* (* (* (sqrt 8) y-scale) x-scale) b)) (* (* (* (sqrt 8) y-scale) x-scale) b) (+ (* (/ (pow (cos (* -1/180 (* (PI) angle))) 2) x-scale) (/ (* b b) x-scale)) (* (/ (* b b) y-scale) (/ (pow (sin (* (* (PI) angle) 1/180)) 2) y-scale))) (+ (* (/ (pow (cos (* -1/180 (* (PI) angle))) 2) x-scale) (/ (* b b) x-scale)) (* (* (neg b) b) (/ (pow (sin (* (* (PI) angle) 1/180)) 2) (* y-scale y-scale)))) (/ (neg (sqrt (* (* (* 2 (/ (* 4 (* (* b a) (* b (neg a)))) (pow (* x-scale y-scale) 2))) (* (* b a) (* b (neg a)))) (- (+ (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2))))))) (/ (* 4 (* (* b a) (* b (neg a)))) (pow (* x-scale y-scale) 2))) (+ (* (/ 4 y-scale) (/ (* (* (pow (* (+ b a) (- b a)) 2) (pow (sin (* (* (PI) angle) 1/180)) 2)) (pow (cos (* -1/180 (* (PI) angle))) 2)) y-scale)) (* (* -2 (+ (* (pow (sin (* (* (PI) angle) 1/180)) 2) (* a a)) (* (pow (cos (* -1/180 (* (PI) angle))) 2) (* b b)))) (/ (+ (* (pow (sin (* (* (PI) angle) 1/180)) 2) (* b b)) (* (pow (cos (* -1/180 (* (PI) angle))) 2) (* a a))) (* y-scale y-scale)))) (- (/ (+ (* (pow (sin (* (* (PI) angle) 1/180)) 2) (* b b)) (* (pow (cos (* -1/180 (* (PI) angle))) 2) (* a a))) (* y-scale y-scale)) (* (/ (+ (* (/ 4 y-scale) (/ (* (* (pow (* (+ b a) (- b a)) 2) (pow (sin (* (* (PI) angle) 1/180)) 2)) (pow (cos (* -1/180 (* (PI) angle))) 2)) y-scale)) (* (* -2 (+ (* (pow (sin (* (* (PI) angle) 1/180)) 2) (* a a)) (* (pow (cos (* -1/180 (* (PI) angle))) 2) (* b b)))) (/ (+ (* (pow (sin (* (* (PI) angle) 1/180)) 2) (* b b)) (* (pow (cos (* -1/180 (* (PI) angle))) 2) (* a a))) (* y-scale y-scale)))) (+ (* (pow (sin (* (* (PI) angle) 1/180)) 2) (* a a)) (* (pow (cos (* -1/180 (* (PI) angle))) 2) (* b b)))) 1/2)) (/ (neg (sqrt (* (* (* 2 (/ (* 4 (* (* b a) (* b (neg a)))) (pow (* x-scale y-scale) 2))) (* (* b a) (* b (neg a)))) (- (+ (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2))))))) (/ (* 4 (* (* b a) (* b (neg a)))) (pow (* x-scale y-scale) 2))) (* (* 1/4 (* (* (sqrt 8) y-scale) x-scale)) (sqrt (- (/ (+ (* (pow (sin (* (* (PI) angle) 1/180)) 2) (* b b)) (* (pow (cos (* -1/180 (* (PI) angle))) 2) (* a a))) (* y-scale y-scale)) (* (/ (+ (* (/ 4 y-scale) (/ (* (* (pow (* (+ b a) (- b a)) 2) (pow (sin (* (* (PI) angle) 1/180)) 2)) (pow (cos (* -1/180 (* (PI) angle))) 2)) y-scale)) (* (* -2 (+ (* (pow (sin (* (* (PI) angle) 1/180)) 2) (* a a)) (* (pow (cos (* -1/180 (* (PI) angle))) 2) (* b b)))) (/ (+ (* (pow (sin (* (* (PI) angle) 1/180)) 2) (* b b)) (* (pow (cos (* -1/180 (* (PI) angle))) 2) (* a a))) (* y-scale y-scale)))) (+ (* (pow (sin (* (* (PI) angle) 1/180)) 2) (* a a)) (* (pow (cos (* -1/180 (* (PI) angle))) 2) (* b b)))) 1/2)))) (sqrt 2) (sqrt 8) (- (+ (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2)))) (neg a) (PI) (cos (* -1/180 (* (PI) angle))) (sin (* (* (PI) angle) 1/180)) (- (+ (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2)))))
331.0ms
a
@inf
((* 180 (/ (atan (/ (- (- (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale) (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2)))) (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale))) (PI))) (/ (atan (/ (- (- (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale) (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2)))) (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale))) (PI)) (atan (/ (- (- (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale) (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2)))) (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale))) (/ (- (- (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale) (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2)))) (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale)) (* (* (/ x-scale angle) (/ (* (* 2 (- (/ (* a a) (* y-scale y-scale)) (/ (* b b) (* x-scale x-scale)))) y-scale) (* (* (+ b a) (- b a)) (PI)))) 90) (* 180 (/ (atan (/ (- (- (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale) (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2)))) (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale))) (PI))) (/ (atan (/ (- (- (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale) (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2)))) (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale))) (PI)) (atan (/ (- (- (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale) (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2)))) (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale))) (* 180 (/ (atan (/ (- (- (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale) (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2)))) (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale))) (PI))) (/ (atan (/ (- (- (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale) (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2)))) (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale))) (PI)) (atan (/ (- (- (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale) (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2)))) (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale))) (/ (- (- (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale) (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2)))) (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale)) (* 180 (/ (atan (/ (- (- (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale) (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2)))) (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale))) (PI))) (/ (atan (/ (- (- (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale) (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2)))) (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale))) (PI)) (atan (/ (- (- (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale) (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2)))) (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale))) (/ (- (- (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale) (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2)))) (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2))) (* 180 (/ (atan (/ (- (- (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale) (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2)))) (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale))) (PI))) (/ (atan (/ (- (- (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale) (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2)))) (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale))) (PI)) (atan (/ (- (- (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale) (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2)))) (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale))) (cos (* -1/180 (* (PI) angle))) (sin (* (* (PI) angle) 1/180)) (* (* x-scale y-scale) (- (- (/ (pow (sin (* (* (PI) angle) 1/180)) 2) (* y-scale y-scale)) (sqrt (+ (* (* (pow (cos (* -1/180 (* (PI) angle))) 2) (/ (pow (sin (* (* (PI) angle) 1/180)) 2) (* (* y-scale x-scale) (* y-scale x-scale)))) 4) (pow (- (/ (pow (cos (* -1/180 (* (PI) angle))) 2) (* x-scale x-scale)) (/ (pow (sin (* (* (PI) angle) 1/180)) 2) (* y-scale y-scale))) 2)))) (/ (pow (cos (* -1/180 (* (PI) angle))) 2) (* x-scale x-scale)))) (/ (- (- (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale) (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2)))) (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale)) (/ (* (* 2 (- (/ (* a a) (* y-scale y-scale)) (/ (* b b) (* x-scale x-scale)))) y-scale) (* (* (+ b a) (- b a)) (PI))) (/ (* b b) (* x-scale x-scale)) (/ (* a a) (* y-scale y-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2))) (cos (* (/ angle 180) (PI))) (sin (* (/ angle 180) (PI))) (cos (* (/ angle 180) (PI))) (/ (- (- (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale) (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2)))) (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale)))

rewrite22.8s (3.8%)

Memory
297.7MiB live, 23 352.9MiB allocated; 3.9s collecting garbage
Stop Event
604×iter limit
154×node limit
41×unsound
saturated
Counts
3 669 → 51 492

explain20.8s (3.5%)

Memory
-176.8MiB live, 25 225.2MiB allocated; 3.1s collecting garbage
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
cos.f64#fsensitivity19512
sin.f64#fsensitivity16872
+.f64#fcancellation168239
sqrt.f64#foflow-rescue13890
-.f64#fcancellation9079
-.f64#fnan-rescue5910
log.f64#fsensitivity5771
/.f64#fo/n4860
/.f64#fo/o3560
/.f64#fu/u2910
*.f64#fn*o2480
sqrt.f64#fuflow-rescue1550
exp.f64#fsensitivity15523
/.f64#fu/n1410
/.f64#fn/o1020
cbrt.f64#foflow-rescue940
*.f64#fn*u750
*.f64#fo*u390
/.f64#fn/u380
cbrt.f64#fuflow-rescue380
*.f64#fu*o240
acos.f64(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))sensitivity154
log.f64#foflow-rescue70
pow.f64#fuflow-rescue60
pow.f64#fsensitivity52
asin.f64(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))sensitivity12
Confusion
Predicted +Predicted -
+567176
-13616204
Precision
0.8064562002275313
Recall
0.9867757090655994
Confusion?
Predicted +Predicted MaybePredicted -
+56714828
-1361296175
Precision?
0.8044732029821353
Recall?
0.9951278928136419
Freqs
test
numberfreq
06280
14608
21622
3341
4238
5146
646
723
86
92
Total Confusion?
Predicted +Predicted MaybePredicted -
+4300
-207
Precision?
0.9555555555555556
Recall?
1.0
Samples
3.8s7 554×1valid
2.4s16 724×0valid
2.3s2 052×2valid
584.0ms294×3valid
Compiler

Compiled 19 935 to 2 551 computations (87.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.4s
ival-sin: 1.2s (16.5% of total)
ival-mult: 1.0s (13.9% of total)
ival-cos: 881.0ms (11.8% of total)
adjust: 844.0ms (11.4% of total)
ival-div: 521.0ms (7% of total)
ival-pow2: 441.0ms (5.9% of total)
ival-cosu: 322.0ms (4.3% of total)
ival-add: 300.0ms (4% of total)
ival-sinu: 296.0ms (4% of total)
ival-sub: 294.0ms (4% of total)
ival-exp: 280.0ms (3.8% of total)
ival-log: 242.0ms (3.3% of total)
ival-sqrt: 202.0ms (2.7% of total)
ival-hypot: 156.0ms (2.1% of total)
ival-neg: 64.0ms (0.9% of total)
ival-atan: 57.0ms (0.8% of total)
ival-tan: 45.0ms (0.6% of total)
ival-acos: 41.0ms (0.6% of total)
ival-atan2: 40.0ms (0.5% of total)
ival-true: 24.0ms (0.3% of total)
ival-pow: 24.0ms (0.3% of total)
ival-pi: 21.0ms (0.3% of total)
exact: 19.0ms (0.3% of total)
ival-cbrt: 18.0ms (0.2% of total)
ival-asin: 15.0ms (0.2% of total)
ival-assert: 12.0ms (0.2% of total)
ival-fabs: 11.0ms (0.1% of total)
ival-log1p: 5.0ms (0.1% of total)

derivations20.3s (3.4%)

Memory
-183.0MiB live, 14 861.0MiB allocated; 3.0s collecting garbage
Stop Event
45×fuel
done
Compiler

Compiled 44 619 to 5 781 computations (87% saved)

analyze19.4s (3.3%)

Memory
256.1MiB live, 20 789.8MiB allocated; 5.8s collecting garbage
Algorithm
53×search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%79.4%20.6%0%0%0%0
17.2%13.7%65.7%20.6%0%0%0%1
25%19.6%58.5%20.6%0%1.3%0%2
35.2%26.6%48.9%20.6%0%3.8%0%3
42.3%31.7%43.1%20.6%0%4.5%0%4
47.9%35.6%38.7%20.6%0%5.1%0%5
51%37.6%36.1%20.6%0%5.7%0%6
54.4%39.7%33.2%20.6%0%6.5%0%7
56.2%40.7%31.8%20.6%0%6.8%0%8
59%42.5%29.5%20.6%0%7.4%0%9
60.3%43.2%28.4%20.6%0%7.7%0%10
62.1%44.3%27%20.6%0%8.1%0%11
63.6%45.1%25.8%20.6%0%8.5%0%12
Compiler

Compiled 1 826 to 963 computations (47.3% saved)

prune18.9s (3.2%)

Memory
64.9MiB live, 29 451.3MiB allocated; 3.3s collecting garbage
Counts
87 766 → 6 518
Compiler

Compiled 1 049 213 to 397 350 computations (62.1% saved)

eval18.5s (3.1%)

Memory
445.3MiB live, 23 721.8MiB allocated; 6.0s collecting garbage
Compiler

Compiled 7 956 881 to 437 235 computations (94.5% saved)

preprocess13.7s (2.3%)

Memory
650.4MiB live, 15 237.0MiB allocated; 2.1s collecting garbage
Stop Event
104×iter limit
92×node limit
12×saturated
Compiler

Compiled 121 297 to 21 581 computations (82.2% saved)

bsearch11.2s (1.9%)

Memory
337.9MiB live, 15 294.8MiB allocated; 1.8s collecting garbage
Algorithm
297×binary-search
84×left-value
Stop Event
290×narrow-enough
predicate-same
Samples
4.9s6 753×1valid
2.7s13 490×0valid
680.0ms763×2valid
436.0ms162×3valid
87.0ms586×0invalid
Compiler

Compiled 252 936 to 151 087 computations (40.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.7s
ival-sin: 1.7s (21.9% of total)
ival-cos: 1.6s (20.8% of total)
ival-mult: 1.0s (13.4% of total)
adjust: 635.0ms (8.2% of total)
ival-pow2: 442.0ms (5.7% of total)
ival-div: 407.0ms (5.3% of total)
ival-sub: 326.0ms (4.2% of total)
ival-cosu: 319.0ms (4.1% of total)
ival-sinu: 284.0ms (3.7% of total)
ival-add: 168.0ms (2.2% of total)
ival-acos: 148.0ms (1.9% of total)
ival-sqrt: 138.0ms (1.8% of total)
ival-atan2: 120.0ms (1.5% of total)
ival-neg: 110.0ms (1.4% of total)
ival-tan: 89.0ms (1.1% of total)
ival-exp: 69.0ms (0.9% of total)
ival-hypot: 48.0ms (0.6% of total)
ival-atan: 31.0ms (0.4% of total)
ival-log: 16.0ms (0.2% of total)
ival-true: 16.0ms (0.2% of total)
ival-fabs: 10.0ms (0.1% of total)
exact: 10.0ms (0.1% of total)
ival-assert: 9.0ms (0.1% of total)
ival-asin: 6.0ms (0.1% of total)
ival-pi: 6.0ms (0.1% of total)
ival-log1p: 1.0ms (0% of total)

start3.0ms (0%)

Memory
6.7MiB live, 6.7MiB allocated; 0ms collecting garbage

end0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...