Migdal et al, Equation (51)

Time bar (total: 21.4s)

analyze110.0ms (0.5%)

Memory
-13.3MiB live, 35.3MiB 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%50%0.1%0%50%0%2
50%25%25%0.1%0%50%0%3
50%25%25%0.1%0%50%0%4
50%25%25%0.1%0%50%0%5
50%25%25%0.1%0%50%0%6
51.6%25%23.4%0.1%0%51.5%0%7
52.5%25%22.6%0.1%0%52.3%0%8
53.8%25%21.5%0.1%0%53.5%0%9
54.5%25%20.9%0.1%0%54%0%10
55.3%25%20.2%0.1%0%54.7%0%11
55.7%25%19.9%0.1%0%55.1%0%12
Compiler

Compiled 37 to 29 computations (21.6% saved)

sample21.1s (98.8%)

Memory
7.8MiB live, 3 991.3MiB allocated
Samples
452.0ms5 052×0valid-rival
452.0ms5 052×0valid-sollya
446.0ms5 052×0valid-baseline
169.0ms1 535×0valid-rival-only-real
167.0ms1 656×0valid-rival+baseline-inf
1.0ms13×0valid-rival+baseline-zero
Bogosity

preprocess128.0ms (0.6%)

Memory
8.2MiB live, 23.5MiB allocated
Algorithm
egg-herbie
Rules
465×fma-define
240×fmm-def
123×associate-*r*
80×associate-*l*
74×sub-neg
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
039438
196380
2211380
3410364
4686352
51171352
61433352
71696352
82015352
92058352
102086352
112097352
122099352
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 k)) (pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) n) (/.f64 (-.f64 #s(literal 1 binary64) k) #s(literal 2 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 k)) (pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) n) (/.f64 (-.f64 #s(literal 1 binary64) k) #s(literal 2 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (neg.f64 k))) (pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) n) (/.f64 (-.f64 #s(literal 1 binary64) (neg.f64 k)) #s(literal 2 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 k)) (pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) (neg.f64 n)) (/.f64 (-.f64 #s(literal 1 binary64) k) #s(literal 2 binary64))))
(neg.f64 (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (neg.f64 k))) (pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) n) (/.f64 (-.f64 #s(literal 1 binary64) (neg.f64 k)) #s(literal 2 binary64)))))
(neg.f64 (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 k)) (pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) (neg.f64 n)) (/.f64 (-.f64 #s(literal 1 binary64) k) #s(literal 2 binary64)))))
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 n)) (pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) k) (/.f64 (-.f64 #s(literal 1 binary64) n) #s(literal 2 binary64))))
Outputs
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 k)) (pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) n) (/.f64 (-.f64 #s(literal 1 binary64) k) #s(literal 2 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 k)) (pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 (PI.f64) n)) (-.f64 #s(literal 1/2 binary64) (/.f64 k #s(literal 2 binary64)))))
(/.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 (PI.f64) n)) (-.f64 #s(literal 1/2 binary64) (/.f64 k #s(literal 2 binary64)))) (sqrt.f64 k))
(/.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 (PI.f64) n)) (+.f64 #s(literal 1/2 binary64) (*.f64 k #s(literal -1/2 binary64)))) (sqrt.f64 k))
(/.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 (PI.f64) n)) (fma.f64 k #s(literal -1/2 binary64) #s(literal 1/2 binary64))) (sqrt.f64 k))
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 k)) (pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) n) (/.f64 (-.f64 #s(literal 1 binary64) k) #s(literal 2 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 k)) (pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 (PI.f64) n)) (-.f64 #s(literal 1/2 binary64) (/.f64 k #s(literal 2 binary64)))))
(/.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 (PI.f64) n)) (-.f64 #s(literal 1/2 binary64) (/.f64 k #s(literal 2 binary64)))) (sqrt.f64 k))
(/.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 (PI.f64) n)) (+.f64 #s(literal 1/2 binary64) (*.f64 k #s(literal -1/2 binary64)))) (sqrt.f64 k))
(/.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 (PI.f64) n)) (fma.f64 k #s(literal -1/2 binary64) #s(literal 1/2 binary64))) (sqrt.f64 k))
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (neg.f64 k))) (pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) n) (/.f64 (-.f64 #s(literal 1 binary64) (neg.f64 k)) #s(literal 2 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (neg.f64 k))) (pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 (PI.f64) n)) (/.f64 (-.f64 #s(literal 1 binary64) (neg.f64 k)) #s(literal 2 binary64))))
(/.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 (PI.f64) n)) (/.f64 (+.f64 #s(literal 1 binary64) k) #s(literal 2 binary64))) (sqrt.f64 (neg.f64 k)))
(/.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 (PI.f64) n)) (+.f64 #s(literal 1/2 binary64) (/.f64 k #s(literal 2 binary64)))) (sqrt.f64 (neg.f64 k)))
(/.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 (PI.f64) n)) (+.f64 #s(literal 1/2 binary64) (*.f64 k #s(literal 1/2 binary64)))) (sqrt.f64 (neg.f64 k)))
(/.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 (PI.f64) n)) (fma.f64 k #s(literal 1/2 binary64) #s(literal 1/2 binary64))) (sqrt.f64 (neg.f64 k)))
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 k)) (pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) (neg.f64 n)) (/.f64 (-.f64 #s(literal 1 binary64) k) #s(literal 2 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 k)) (pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) (neg.f64 n)) (-.f64 #s(literal 1/2 binary64) (/.f64 k #s(literal 2 binary64)))))
(/.f64 (pow.f64 (*.f64 #s(literal -2 binary64) (*.f64 (PI.f64) n)) (-.f64 #s(literal 1/2 binary64) (/.f64 k #s(literal 2 binary64)))) (sqrt.f64 k))
(/.f64 (pow.f64 (*.f64 (PI.f64) (*.f64 n #s(literal -2 binary64))) (+.f64 #s(literal 1/2 binary64) (*.f64 k #s(literal -1/2 binary64)))) (sqrt.f64 k))
(/.f64 (pow.f64 (*.f64 (PI.f64) (*.f64 n #s(literal -2 binary64))) (fma.f64 k #s(literal -1/2 binary64) #s(literal 1/2 binary64))) (sqrt.f64 k))
(neg.f64 (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (neg.f64 k))) (pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) n) (/.f64 (-.f64 #s(literal 1 binary64) (neg.f64 k)) #s(literal 2 binary64)))))
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (neg.f64 k))) (neg.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 (PI.f64) n)) (/.f64 (-.f64 #s(literal 1 binary64) (neg.f64 k)) #s(literal 2 binary64)))))
(/.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 (PI.f64) n)) (/.f64 (+.f64 #s(literal 1 binary64) k) #s(literal 2 binary64))) (neg.f64 (sqrt.f64 (neg.f64 k))))
(/.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 (PI.f64) n)) (+.f64 #s(literal 1/2 binary64) (/.f64 k #s(literal 2 binary64)))) (neg.f64 (sqrt.f64 (neg.f64 k))))
(/.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 (PI.f64) n)) (+.f64 #s(literal 1/2 binary64) (*.f64 k #s(literal 1/2 binary64)))) (neg.f64 (sqrt.f64 (neg.f64 k))))
(/.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 (PI.f64) n)) (fma.f64 k #s(literal 1/2 binary64) #s(literal 1/2 binary64))) (neg.f64 (sqrt.f64 (neg.f64 k))))
(neg.f64 (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 k)) (pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) (neg.f64 n)) (/.f64 (-.f64 #s(literal 1 binary64) k) #s(literal 2 binary64)))))
(*.f64 (neg.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 k))) (pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) (neg.f64 n)) (-.f64 #s(literal 1/2 binary64) (/.f64 k #s(literal 2 binary64)))))
(/.f64 (pow.f64 (*.f64 #s(literal -2 binary64) (*.f64 (PI.f64) n)) (-.f64 #s(literal 1/2 binary64) (/.f64 k #s(literal 2 binary64)))) (neg.f64 (sqrt.f64 k)))
(/.f64 (pow.f64 (*.f64 (PI.f64) (*.f64 n #s(literal -2 binary64))) (+.f64 #s(literal 1/2 binary64) (*.f64 k #s(literal -1/2 binary64)))) (neg.f64 (sqrt.f64 k)))
(/.f64 (pow.f64 (*.f64 (PI.f64) (*.f64 n #s(literal -2 binary64))) (fma.f64 k #s(literal -1/2 binary64) #s(literal 1/2 binary64))) (neg.f64 (sqrt.f64 k)))
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 n)) (pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) k) (/.f64 (-.f64 #s(literal 1 binary64) n) #s(literal 2 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 n)) (pow.f64 (*.f64 k (*.f64 #s(literal 2 binary64) (PI.f64))) (-.f64 #s(literal 1/2 binary64) (/.f64 n #s(literal 2 binary64)))))
(/.f64 (pow.f64 (*.f64 k (*.f64 #s(literal 2 binary64) (PI.f64))) (-.f64 #s(literal 1/2 binary64) (/.f64 n #s(literal 2 binary64)))) (sqrt.f64 n))
(/.f64 (pow.f64 (*.f64 k (*.f64 #s(literal 2 binary64) (PI.f64))) (+.f64 #s(literal 1/2 binary64) (/.f64 n #s(literal -2 binary64)))) (sqrt.f64 n))
(/.f64 (pow.f64 (*.f64 k (*.f64 #s(literal 2 binary64) (PI.f64))) (+.f64 #s(literal 1/2 binary64) (*.f64 n #s(literal -1/2 binary64)))) (sqrt.f64 n))
(/.f64 (pow.f64 (*.f64 k (*.f64 #s(literal 2 binary64) (PI.f64))) (fma.f64 n #s(literal -1/2 binary64) #s(literal 1/2 binary64))) (sqrt.f64 n))
Compiler

Compiled 18 to 13 computations (27.8% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 k)) (pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) n) (/.f64 (-.f64 #s(literal 1 binary64) k) #s(literal 2 binary64))))
Compiler

Compiled 36 to 26 computations (27.8% saved)

simplify2.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Algorithm
egg-herbie
Rules
*-commutative
1-exp
sub-neg
+-commutative
neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01958
12958
23358
33558
43658
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 k)) (pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) n) (/.f64 (-.f64 #s(literal 1 binary64) k) #s(literal 2 binary64))))
Outputs
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 k)) (pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) n) (/.f64 (-.f64 #s(literal 1 binary64) k) #s(literal 2 binary64))))

soundness0.0ms (0%)

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

Compiled 18 to 13 computations (27.8% saved)

preprocess20.0ms (0.1%)

Memory
-10.9MiB live, 21.9MiB allocated
Compiler

Compiled 72 to 52 computations (27.8% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...