Optimal throwing angle

Time bar (total: 1.4s)

analyze29.0ms (2.1%)

Memory
-1.1MiB live, 37.6MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
25%25%74.9%0.1%0%0%0%3
37.5%37.5%62.4%0.1%0%0%0%4
50%43.7%43.7%0.1%0%12.5%0%5
60.7%53.1%34.3%0.1%0%12.5%0%6
72.2%60.9%23.4%0.1%0%15.6%0%7
79.4%63.2%16.4%0.1%0%20.3%0%8
85.6%67.5%11.3%0.1%0%21.1%0%9
89.6%68.9%8%0.1%0%23%0%10
92.7%71.1%5.6%0.1%0%23.2%0%11
94.8%71.9%4%0.1%0%24.1%0%12
Compiler

Compiled 15 to 13 computations (13.3% saved)

sample1.3s (91.4%)

Memory
-83.7MiB live, 1 297.0MiB allocated
Samples
1.0s8 256×0valid
9.0ms118×0invalid
Precisions
Click to see histograms. Total time spent on operations: 566.0ms
ival-mult: 170.0ms (30% of total)
const: 131.0ms (23.1% of total)
ival-atan: 84.0ms (14.8% of total)
ival-div: 70.0ms (12.4% of total)
ival-sqrt: 64.0ms (11.3% of total)
ival-sub: 34.0ms (6% of total)
ival-true: 6.0ms (1.1% of total)
exact: 5.0ms (0.9% of total)
ival-assert: 3.0ms (0.5% of total)
Bogosity

preprocess55.0ms (3.9%)

Memory
38.1MiB live, 38.1MiB allocated
Algorithm
egg-herbie
Rules
224×accelerator-lowering-fma.f32
224×accelerator-lowering-fma.f64
168×*-lowering-*.f32
168×*-lowering-*.f64
140×sub-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03272
16770
212270
322770
439770
564570
687270
7101570
8116070
9119470
10121070
01211
11911
22911
33811
45411
57511
611911
716311
821911
927611
1036511
1140511
1249411
1351611
1452411
052410
Stop Event
iter limit
saturated
saturated
Calls
Call 1
Inputs
(atan (/ v (sqrt (- (* v v) (* (* 2 49/5) H)))))
Outputs
(atan (/ v (sqrt (- (* v v) (* (* 2 49/5) H)))))
(atan.f64 (/.f64 v (sqrt.f64 (fma.f64 v v (fma.f64 H #s(literal -98/5 binary64) #s(literal 0 binary64))))))
Call 2
Inputs
(atan (/ v (sqrt (- (* v v) (* (* 2 49/5) H)))))
(atan (/ (neg v) (sqrt (- (* (neg v) (neg v)) (* (* 2 49/5) H)))))
(atan (/ v (sqrt (- (* v v) (* (* 2 49/5) (neg H))))))
(neg (atan (/ (neg v) (sqrt (- (* (neg v) (neg v)) (* (* 2 49/5) H))))))
(neg (atan (/ v (sqrt (- (* v v) (* (* 2 49/5) (neg H)))))))
(atan (/ H (sqrt (- (* H H) (* (* 2 49/5) v)))))
Outputs
(atan (/ v (sqrt (- (* v v) (* (* 2 49/5) H)))))
(atan (/ v (sqrt (+ (* v v) (* H -98/5)))))
(atan (/ (neg v) (sqrt (- (* (neg v) (neg v)) (* (* 2 49/5) H)))))
(atan (/ (neg v) (sqrt (+ (* v v) (* H -98/5)))))
(atan (/ v (sqrt (- (* v v) (* (* 2 49/5) (neg H))))))
(atan (/ v (sqrt (+ (* v v) (* 98/5 H)))))
(neg (atan (/ (neg v) (sqrt (- (* (neg v) (neg v)) (* (* 2 49/5) H))))))
(neg (atan (/ (neg v) (sqrt (+ (* v v) (* H -98/5))))))
(neg (atan (/ v (sqrt (- (* v v) (* (* 2 49/5) (neg H)))))))
(neg (atan (/ v (sqrt (+ (* v v) (* 98/5 H))))))
(atan (/ H (sqrt (- (* H H) (* (* 2 49/5) v)))))
(atan (/ H (sqrt (+ (* H H) (* v -98/5)))))

explain37.0ms (2.6%)

Memory
-37.7MiB live, 1.4MiB allocated
Samples
0.0ms0valid
Compiler

Compiled 61 to 13 computations (78.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
ival-div: 0.0ms (0% of total)
ival-mult: 0.0ms (0% of total)
ival-atan: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-sub: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
ival-sqrt: 0.0ms (0% of total)
const: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...