Henrywood and Agarwal, Equation (3)

Time bar (total: 2.5s)

start0.0ms (0%)

Memory
0.1MiB live, 0.0MiB allocated; 0ms collecting garbage

analyze341.0ms (13.5%)

Memory
27.7MiB live, 491.5MiB allocated; 113ms collecting garbage
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
12.5%12.5%87.3%0.2%0%0%0%5
12.5%12.5%87.3%0.2%0%0%0%6
12.5%12.5%87.3%0.2%0%0%0%7
18.8%18.7%81.1%0.2%0%0%0%8
28.6%28.1%70.2%0.2%0%1.6%0%9
28.6%28.1%70.2%0.2%0%1.6%0%10
28.8%28.1%69.4%0.2%0%2.3%0%11
36.1%32.7%58.1%0.2%0%9%0%12
Compiler

Compiled 10 to 10 computations (0% saved)

sample1.6s (65.1%)

Memory
121.7MiB live, 2 093.0MiB allocated; 507ms collecting garbage
Samples
736.0ms8 256×0valid
454.0ms6 713×0invalid
Precisions
Click to see histograms. Total time spent on operations: 461.0ms
ival-mult!: 247.0ms (53.6% of total)
ival-sqrt: 124.0ms (26.9% of total)
ival-div!: 87.0ms (18.9% of total)
adjust: 3.0ms (0.7% of total)
Bogosity

explain78.0ms (3.1%)

Memory
17.0MiB live, 150.9MiB allocated; 13ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
791(1.441217562652912e+250 2.575363728968537e-300 6.510224413255656e+104 2.8167405791942343e+240)2(-8.959245783503678e+269 -2.9407323627995687e-220 1.9966637010350644e-163 -7.57305927813323e+255)(sqrt.f64 (/.f64 A (*.f64 V l)))
210-0-(/.f64 A (*.f64 V l))
100-1(1.441217562652912e+250 2.575363728968537e-300 6.510224413255656e+104 2.8167405791942343e+240)(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
00-0-A
00-0-(*.f64 V l)
00-0-V
00-0-l
00-0-c0
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64(sqrt.f64 (/.f64 A (*.f64 V l)))oflow-rescue420
(sqrt.f64 (/.f64 A (*.f64 V l)))overflow7
(/.f64 A (*.f64 V l))overflow49
(*.f64 V l)overflow31
sqrt.f64(sqrt.f64 (/.f64 A (*.f64 V l)))uflow-rescue360
(sqrt.f64 (/.f64 A (*.f64 V l)))underflow5
(/.f64 A (*.f64 V l))underflow41
(*.f64 V l)underflow35
/.f64(/.f64 A (*.f64 V l))n/u120
(*.f64 V l)underflow35
/.f64(/.f64 A (*.f64 V l))n/o90
(*.f64 V l)overflow31
*.f64(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))n*u50
*.f64(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))n*o40
Confusion
Predicted +Predicted -
+782
-30146
Precision
0.7222222222222222
Recall
0.975
Confusion?
Predicted +Predicted MaybePredicted -
+7802
-300146
Precision?
0.7222222222222222
Recall?
0.975
Freqs
test
numberfreq
0148
1108
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
32.0ms512×0valid
Compiler

Compiled 64 to 28 computations (56.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 16.0ms
ival-mult!: 9.0ms (57.6% of total)
ival-sqrt: 4.0ms (25.6% of total)
ival-div!: 3.0ms (19.2% of total)
adjust: 0.0ms (0% of total)

preprocess24.0ms (0.9%)

Memory
-43.1MiB live, 20.0MiB allocated; 14ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
051130
1102130
2126130
3164130
4212130
5271130
6337130
7400130
8472130
9487130
10502130
Stop Event
saturated
Alt Table
Click to see full alt table
StatusAccuracyProgram
70.4%
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Symmetry

(negabs c0)

(sort V l)

Compiler

Compiled 16 to 16 computations (0% saved)

series19.0ms (0.7%)

Memory
39.8MiB live, 39.8MiB allocated; 0ms collecting garbage
Counts
8 → 12
Calls
Call 1
Inputs
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
c0
(sqrt.f64 (/.f64 A (*.f64 V l)))
(/.f64 A (*.f64 V l))
A
(*.f64 V l)
V
l
Outputs
#s(approx (* c0 (sqrt (/ A (* V l)))) #s(hole binary64 (* (sqrt (/ A (* V l))) c0)))
#s(approx c0 #s(hole binary64 c0))
#s(approx (sqrt (/ A (* V l))) #s(hole binary64 (sqrt (/ A (* V l)))))
#s(approx (/ A (* V l)) #s(hole binary64 (/ A (* V l))))
#s(approx A #s(hole binary64 A))
#s(approx (* c0 (sqrt (/ A (* V l)))) #s(hole binary64 (* -1 (* (sqrt (/ A (* V l))) (* c0 (pow (sqrt -1) 2))))))
#s(approx (sqrt (/ A (* V l))) #s(hole binary64 (* -1 (* (sqrt (/ A (* V l))) (pow (sqrt -1) 2)))))
#s(approx (* V l) #s(hole binary64 (* V l)))
#s(approx V #s(hole binary64 V))
#s(approx (* c0 (sqrt (/ A (* V l)))) #s(hole binary64 (* (sqrt (/ A (* V l))) (* c0 (pow (sqrt -1) 2)))))
#s(approx (sqrt (/ A (* V l))) #s(hole binary64 (* (sqrt (/ A (* V l))) (pow (sqrt -1) 2))))
#s(approx l #s(hole binary64 l))
Calls

12 calls:

TimeVariablePointExpression
2.0ms
l
@0
((* c0 (sqrt (/ A (* V l)))) c0 (sqrt (/ A (* V l))) (/ A (* V l)) A (* V l) V l)
2.0ms
V
@-inf
((* c0 (sqrt (/ A (* V l)))) c0 (sqrt (/ A (* V l))) (/ A (* V l)) A (* V l) V l)
2.0ms
A
@-inf
((* c0 (sqrt (/ A (* V l)))) c0 (sqrt (/ A (* V l))) (/ A (* V l)) A (* V l) V l)
2.0ms
A
@inf
((* c0 (sqrt (/ A (* V l)))) c0 (sqrt (/ A (* V l))) (/ A (* V l)) A (* V l) V l)
2.0ms
l
@-inf
((* c0 (sqrt (/ A (* V l)))) c0 (sqrt (/ A (* V l))) (/ A (* V l)) A (* V l) V l)

rewrite35.0ms (1.4%)

Memory
-37.5MiB live, 54.6MiB allocated; 7ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
034170
039156
079156
Stop Event
iter-limit
iter-limit
iter-limit
unsound
iter-limit
Counts
20 → 26
Calls
Call 1
Inputs
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
c0
(sqrt.f64 (/.f64 A (*.f64 V l)))
(/.f64 A (*.f64 V l))
A
(*.f64 V l)
V
l
#s(approx (* c0 (sqrt (/ A (* V l)))) #s(hole binary64 (* (sqrt (/ A (* V l))) c0)))
#s(approx c0 #s(hole binary64 c0))
#s(approx (sqrt (/ A (* V l))) #s(hole binary64 (sqrt (/ A (* V l)))))
#s(approx (/ A (* V l)) #s(hole binary64 (/ A (* V l))))
#s(approx A #s(hole binary64 A))
#s(approx (* c0 (sqrt (/ A (* V l)))) #s(hole binary64 (* -1 (* (sqrt (/ A (* V l))) (* c0 (pow (sqrt -1) 2))))))
#s(approx (sqrt (/ A (* V l))) #s(hole binary64 (* -1 (* (sqrt (/ A (* V l))) (pow (sqrt -1) 2)))))
#s(approx (* V l) #s(hole binary64 (* V l)))
#s(approx V #s(hole binary64 V))
#s(approx (* c0 (sqrt (/ A (* V l)))) #s(hole binary64 (* (sqrt (/ A (* V l))) (* c0 (pow (sqrt -1) 2)))))
#s(approx (sqrt (/ A (* V l))) #s(hole binary64 (* (sqrt (/ A (* V l))) (pow (sqrt -1) 2))))
#s(approx l #s(hole binary64 l))
Outputs
(*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 l V))))
c0
(pow.f64 (/.f64 A (*.f64 l V)) #s(literal 1/2 binary64))
(/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V)))
(sqrt.f64 (/.f64 A (*.f64 l V)))
(/.f64 (/.f64 A V) l)
(/.f64 (neg.f64 A) (neg.f64 (*.f64 l V)))
(/.f64 A (*.f64 l V))
A
(*.f64 l V)
(*.f64 V l)
V
l
#s(approx (* c0 (sqrt (/ A (* V l)))) (*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0))
#s(approx c0 c0)
#s(approx (sqrt (/ A (* V l))) (sqrt.f64 (/.f64 A (*.f64 l V))))
#s(approx (/ A (* V l)) (/.f64 A (*.f64 l V)))
#s(approx A A)
#s(approx (* c0 (sqrt (/ A (* V l)))) (neg.f64 (*.f64 (*.f64 #s(literal -1 binary64) c0) (sqrt.f64 (/.f64 A (*.f64 l V))))))
#s(approx (sqrt (/ A (* V l))) (neg.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 (/.f64 A (*.f64 l V))))))
#s(approx (* V l) (*.f64 l V))
#s(approx V V)
#s(approx (* c0 (sqrt (/ A (* V l)))) (*.f64 (*.f64 #s(literal -1 binary64) c0) (sqrt.f64 (/.f64 A (*.f64 l V)))))
#s(approx (sqrt (/ A (* V l))) (*.f64 #s(literal -1 binary64) (sqrt.f64 (/.f64 A (*.f64 l V)))))
#s(approx l l)

eval2.0ms (0.1%)

Memory
4.6MiB live, 4.6MiB allocated; 0ms collecting garbage
Compiler

Compiled 248 to 70 computations (71.8% saved)

prune2.0ms (0.1%)

Memory
4.7MiB live, 4.7MiB allocated; 0ms collecting garbage
Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New19221
Fresh000
Picked011
Done000
Total19322
Accuracy
82.3%
Counts
22 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
41.2%
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))))
72.5%
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
70.4%
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Compiler

Compiled 25 to 25 computations (0% saved)

series18.0ms (0.7%)

Memory
30.7MiB live, 30.7MiB allocated; 0ms collecting garbage
Counts
13 → 21
Calls
Call 1
Inputs
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
c0
(sqrt.f64 (/.f64 (/.f64 A V) l))
(/.f64 (/.f64 A V) l)
(/.f64 A V)
A
V
l
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))))
(/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V)))
(sqrt.f64 A)
(sqrt.f64 (*.f64 l V))
(*.f64 l V)
Outputs
#s(approx (* c0 (sqrt (/ (/ A V) l))) #s(hole binary64 (* (sqrt (/ A (* V l))) c0)))
#s(approx c0 #s(hole binary64 c0))
#s(approx (* c0 (/ (sqrt A) (sqrt (* l V)))) #s(hole binary64 (* (sqrt (/ A (* V l))) c0)))
#s(approx (sqrt (/ (/ A V) l)) #s(hole binary64 (sqrt (/ A (* V l)))))
#s(approx (/ (/ A V) l) #s(hole binary64 (/ A (* V l))))
#s(approx (/ A V) #s(hole binary64 (/ A V)))
#s(approx A #s(hole binary64 A))
#s(approx (/ (sqrt A) (sqrt (* l V))) #s(hole binary64 (sqrt (/ A (* V l)))))
#s(approx (sqrt A) #s(hole binary64 (sqrt A)))
#s(approx (* c0 (sqrt (/ (/ A V) l))) #s(hole binary64 (* -1 (* (sqrt (/ A (* V l))) (* c0 (pow (sqrt -1) 2))))))
#s(approx (sqrt (/ (/ A V) l)) #s(hole binary64 (* -1 (* (sqrt (/ A (* V l))) (pow (sqrt -1) 2)))))
#s(approx (* c0 (/ (sqrt A) (sqrt (* l V)))) #s(hole binary64 (* -1 (* (sqrt (/ A (* V l))) (* c0 (pow (sqrt -1) 2))))))
#s(approx (/ (sqrt A) (sqrt (* l V))) #s(hole binary64 (* -1 (* (sqrt (/ A (* V l))) (pow (sqrt -1) 2)))))
#s(approx (sqrt A) #s(hole binary64 (* -1 (* (sqrt A) (pow (sqrt -1) 2)))))
#s(approx V #s(hole binary64 V))
#s(approx (sqrt (* l V)) #s(hole binary64 (sqrt (* V l))))
#s(approx (* l V) #s(hole binary64 (* V l)))
#s(approx (* c0 (sqrt (/ (/ A V) l))) #s(hole binary64 (* (sqrt (/ A (* V l))) (* c0 (pow (sqrt -1) 2)))))
#s(approx (sqrt (/ (/ A V) l)) #s(hole binary64 (* (sqrt (/ A (* V l))) (pow (sqrt -1) 2))))
#s(approx (sqrt (* l V)) #s(hole binary64 (* -1 (* (sqrt (* V l)) (pow (sqrt -1) 2)))))
#s(approx l #s(hole binary64 l))
Calls

12 calls:

TimeVariablePointExpression
3.0ms
V
@-inf
((* c0 (sqrt (/ (/ A V) l))) c0 (sqrt (/ (/ A V) l)) (/ (/ A V) l) (/ A V) A V l (* c0 (/ (sqrt A) (sqrt (* l V)))) (/ (sqrt A) (sqrt (* l V))) (sqrt A) (sqrt (* l V)) (* l V))
3.0ms
l
@-inf
((* c0 (sqrt (/ (/ A V) l))) c0 (sqrt (/ (/ A V) l)) (/ (/ A V) l) (/ A V) A V l (* c0 (/ (sqrt A) (sqrt (* l V)))) (/ (sqrt A) (sqrt (* l V))) (sqrt A) (sqrt (* l V)) (* l V))
3.0ms
A
@-inf
((* c0 (sqrt (/ (/ A V) l))) c0 (sqrt (/ (/ A V) l)) (/ (/ A V) l) (/ A V) A V l (* c0 (/ (sqrt A) (sqrt (* l V)))) (/ (sqrt A) (sqrt (* l V))) (sqrt A) (sqrt (* l V)) (* l V))
2.0ms
A
@inf
((* c0 (sqrt (/ (/ A V) l))) c0 (sqrt (/ (/ A V) l)) (/ (/ A V) l) (/ A V) A V l (* c0 (/ (sqrt A) (sqrt (* l V)))) (/ (sqrt A) (sqrt (* l V))) (sqrt A) (sqrt (* l V)) (* l V))
1.0ms
V
@0
((* c0 (sqrt (/ (/ A V) l))) c0 (sqrt (/ (/ A V) l)) (/ (/ A V) l) (/ A V) A V l (* c0 (/ (sqrt A) (sqrt (* l V)))) (/ (sqrt A) (sqrt (* l V))) (sqrt A) (sqrt (* l V)) (* l V))

rewrite42.0ms (1.7%)

Memory
-25.5MiB live, 21.1MiB allocated; 3ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
061322
074286
0159286
Stop Event
iter-limit
iter-limit
iter-limit
unsound
iter-limit
Counts
34 → 55
Calls
Call 1
Inputs
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
c0
(sqrt.f64 (/.f64 (/.f64 A V) l))
(/.f64 (/.f64 A V) l)
(/.f64 A V)
A
V
l
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))))
(/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V)))
(sqrt.f64 A)
(sqrt.f64 (*.f64 l V))
(*.f64 l V)
#s(approx (* c0 (sqrt (/ (/ A V) l))) #s(hole binary64 (* (sqrt (/ A (* V l))) c0)))
#s(approx c0 #s(hole binary64 c0))
#s(approx (* c0 (/ (sqrt A) (sqrt (* l V)))) #s(hole binary64 (* (sqrt (/ A (* V l))) c0)))
#s(approx (sqrt (/ (/ A V) l)) #s(hole binary64 (sqrt (/ A (* V l)))))
#s(approx (/ (/ A V) l) #s(hole binary64 (/ A (* V l))))
#s(approx (/ A V) #s(hole binary64 (/ A V)))
#s(approx A #s(hole binary64 A))
#s(approx (/ (sqrt A) (sqrt (* l V))) #s(hole binary64 (sqrt (/ A (* V l)))))
#s(approx (sqrt A) #s(hole binary64 (sqrt A)))
#s(approx (* c0 (sqrt (/ (/ A V) l))) #s(hole binary64 (* -1 (* (sqrt (/ A (* V l))) (* c0 (pow (sqrt -1) 2))))))
#s(approx (sqrt (/ (/ A V) l)) #s(hole binary64 (* -1 (* (sqrt (/ A (* V l))) (pow (sqrt -1) 2)))))
#s(approx (* c0 (/ (sqrt A) (sqrt (* l V)))) #s(hole binary64 (* -1 (* (sqrt (/ A (* V l))) (* c0 (pow (sqrt -1) 2))))))
#s(approx (/ (sqrt A) (sqrt (* l V))) #s(hole binary64 (* -1 (* (sqrt (/ A (* V l))) (pow (sqrt -1) 2)))))
#s(approx (sqrt A) #s(hole binary64 (* -1 (* (sqrt A) (pow (sqrt -1) 2)))))
#s(approx V #s(hole binary64 V))
#s(approx (sqrt (* l V)) #s(hole binary64 (sqrt (* V l))))
#s(approx (* l V) #s(hole binary64 (* V l)))
#s(approx (* c0 (sqrt (/ (/ A V) l))) #s(hole binary64 (* (sqrt (/ A (* V l))) (* c0 (pow (sqrt -1) 2)))))
#s(approx (sqrt (/ (/ A V) l)) #s(hole binary64 (* (sqrt (/ A (* V l))) (pow (sqrt -1) 2))))
#s(approx (sqrt (* l V)) #s(hole binary64 (* -1 (* (sqrt (* V l)) (pow (sqrt -1) 2)))))
#s(approx l #s(hole binary64 l))
Outputs
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))
c0
(pow.f64 (/.f64 (/.f64 A V) l) #s(literal 1/2 binary64))
(/.f64 (neg.f64 (sqrt.f64 A)) (neg.f64 (sqrt.f64 (*.f64 l V))))
(/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))
(/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V)))
(sqrt.f64 (/.f64 (/.f64 A V) l))
(/.f64 (neg.f64 (/.f64 A V)) (neg.f64 l))
(/.f64 (neg.f64 A) (neg.f64 (*.f64 l V)))
(/.f64 (/.f64 A V) l)
(/.f64 A (*.f64 l V))
(/.f64 (neg.f64 A) (neg.f64 V))
(/.f64 A V)
A
V
l
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))
(pow.f64 (/.f64 (/.f64 A V) l) #s(literal 1/2 binary64))
(/.f64 (neg.f64 (sqrt.f64 A)) (neg.f64 (sqrt.f64 (*.f64 l V))))
(/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))
(/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V)))
(sqrt.f64 (/.f64 (/.f64 A V) l))
(pow.f64 A #s(literal 1/2 binary64))
(sqrt.f64 A)
(*.f64 (sqrt.f64 l) (sqrt.f64 V))
(*.f64 (sqrt.f64 V) (sqrt.f64 l))
(pow.f64 (*.f64 l V) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 l V))
(*.f64 l V)
(*.f64 V l)
#s(approx (* c0 (/ (sqrt A) (sqrt (* l V)))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))
#s(approx c0 c0)
#s(approx (* c0 (/ (sqrt A) (sqrt (* l V)))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))
#s(approx (sqrt (/ (/ A V) l)) (sqrt.f64 (/.f64 (/.f64 A V) l)))
#s(approx (/ (/ A V) l) (/.f64 (/.f64 A V) l))
#s(approx (/ A V) (/.f64 A V))
#s(approx A A)
#s(approx (sqrt (/ (/ A V) l)) (sqrt.f64 (/.f64 (/.f64 A V) l)))
#s(approx (sqrt A) (sqrt.f64 A))
#s(approx (* c0 (/ (sqrt A) (sqrt (* l V)))) (neg.f64 (*.f64 (*.f64 #s(literal -1 binary64) c0) (sqrt.f64 (/.f64 (/.f64 A V) l)))))
#s(approx (sqrt (/ (/ A V) l)) (neg.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 (/.f64 (/.f64 A V) l)))))
#s(approx (* c0 (/ (sqrt A) (sqrt (* l V)))) (neg.f64 (*.f64 (*.f64 #s(literal -1 binary64) c0) (sqrt.f64 (/.f64 (/.f64 A V) l)))))
#s(approx (sqrt (/ (/ A V) l)) (neg.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 (/.f64 (/.f64 A V) l)))))
#s(approx (sqrt A) (neg.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 A))))
#s(approx V V)
#s(approx (sqrt (* l V)) (sqrt.f64 (*.f64 l V)))
#s(approx (* l V) (*.f64 l V))
#s(approx (* c0 (/ (sqrt A) (sqrt (* l V)))) (*.f64 (*.f64 #s(literal -1 binary64) c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))
#s(approx (sqrt (/ (/ A V) l)) (*.f64 #s(literal -1 binary64) (sqrt.f64 (/.f64 (/.f64 A V) l))))
#s(approx (sqrt (* l V)) (neg.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 (*.f64 l V)))))
#s(approx l l)

eval3.0ms (0.1%)

Memory
4.9MiB live, 4.9MiB allocated; 0ms collecting garbage
Compiler

Compiled 423 to 138 computations (67.4% saved)

prune2.0ms (0.1%)

Memory
4.3MiB live, 4.3MiB allocated; 0ms collecting garbage
Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New32335
Fresh000
Picked022
Done011
Total32638
Accuracy
87.9%
Counts
38 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
39.7%
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))
58.1%
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
21.5%
(*.f64 c0 (/.f64 (sqrt.f64 A) (*.f64 (sqrt.f64 l) (sqrt.f64 V))))
41.2%
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))))
72.5%
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
70.4%
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Compiler

Compiled 53 to 53 computations (0% saved)

series33.0ms (1.3%)

Memory
-1.1MiB live, 47.7MiB allocated; 7ms collecting garbage
Counts
18 → 33
Calls
Call 1
Inputs
(*.f64 c0 (/.f64 (sqrt.f64 A) (*.f64 (sqrt.f64 l) (sqrt.f64 V))))
c0
(/.f64 (sqrt.f64 A) (*.f64 (sqrt.f64 l) (sqrt.f64 V)))
(sqrt.f64 A)
A
(*.f64 (sqrt.f64 l) (sqrt.f64 V))
(sqrt.f64 l)
l
(sqrt.f64 V)
V
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))
(sqrt.f64 (/.f64 A V))
(/.f64 A V)
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))
(*.f64 c0 (sqrt.f64 A))
(sqrt.f64 (*.f64 l V))
(*.f64 l V)
Outputs
#s(approx (* c0 (/ (sqrt A) (* (sqrt l) (sqrt V)))) #s(hole binary64 (* (sqrt (/ A (* V l))) c0)))
#s(approx c0 #s(hole binary64 c0))
#s(approx (* c0 (/ (sqrt (/ A V)) (sqrt l))) #s(hole binary64 (* (sqrt (/ A (* V l))) c0)))
#s(approx (/ (* c0 (sqrt A)) (sqrt (* l V))) #s(hole binary64 (* (sqrt (/ A (* V l))) c0)))
#s(approx (* c0 (sqrt A)) #s(hole binary64 (* (sqrt A) c0)))
#s(approx (/ (sqrt A) (* (sqrt l) (sqrt V))) #s(hole binary64 (sqrt (/ A (* V l)))))
#s(approx (sqrt A) #s(hole binary64 (sqrt A)))
#s(approx A #s(hole binary64 A))
#s(approx (/ (sqrt (/ A V)) (sqrt l)) #s(hole binary64 (sqrt (/ A (* V l)))))
#s(approx (sqrt (/ A V)) #s(hole binary64 (sqrt (/ A V))))
#s(approx (/ A V) #s(hole binary64 (/ A V)))
#s(approx (* c0 (/ (sqrt A) (* (sqrt l) (sqrt V)))) #s(hole binary64 (* -1 (* (sqrt (/ A (* V l))) (* c0 (pow (sqrt -1) 2))))))
#s(approx (/ (sqrt A) (* (sqrt l) (sqrt V))) #s(hole binary64 (* -1 (* (sqrt (/ A (* V l))) (pow (sqrt -1) 2)))))
#s(approx (sqrt A) #s(hole binary64 (* -1 (* (sqrt A) (pow (sqrt -1) 2)))))
#s(approx (* c0 (/ (sqrt (/ A V)) (sqrt l))) #s(hole binary64 (* -1 (* (sqrt (/ A (* V l))) (* c0 (pow (sqrt -1) 2))))))
#s(approx (/ (sqrt (/ A V)) (sqrt l)) #s(hole binary64 (* -1 (* (sqrt (/ A (* V l))) (pow (sqrt -1) 2)))))
#s(approx (sqrt (/ A V)) #s(hole binary64 (* -1 (* (sqrt (/ A V)) (pow (sqrt -1) 2)))))
#s(approx (/ (* c0 (sqrt A)) (sqrt (* l V))) #s(hole binary64 (* -1 (* (sqrt (/ A (* V l))) (* c0 (pow (sqrt -1) 2))))))
#s(approx (* c0 (sqrt A)) #s(hole binary64 (* -1 (* (sqrt A) (* c0 (pow (sqrt -1) 2))))))
#s(approx (* (sqrt l) (sqrt V)) #s(hole binary64 (sqrt (* V l))))
#s(approx (sqrt V) #s(hole binary64 (sqrt V)))
#s(approx V #s(hole binary64 V))
#s(approx (sqrt (* l V)) #s(hole binary64 (sqrt (* V l))))
#s(approx (* l V) #s(hole binary64 (* V l)))
#s(approx (* (sqrt l) (sqrt V)) #s(hole binary64 (* -1 (* (sqrt (* V l)) (pow (sqrt -1) 2)))))
#s(approx (sqrt V) #s(hole binary64 (* -1 (* (sqrt V) (pow (sqrt -1) 2)))))
#s(approx (* c0 (/ (sqrt (/ A V)) (sqrt l))) #s(hole binary64 (* (sqrt (/ A (* V l))) (* c0 (pow (sqrt -1) 2)))))
#s(approx (/ (sqrt (/ A V)) (sqrt l)) #s(hole binary64 (* (sqrt (/ A (* V l))) (pow (sqrt -1) 2))))
#s(approx (sqrt (/ A V)) #s(hole binary64 (* (sqrt (/ A V)) (pow (sqrt -1) 2))))
#s(approx (sqrt (* l V)) #s(hole binary64 (* -1 (* (sqrt (* V l)) (pow (sqrt -1) 2)))))
#s(approx (sqrt l) #s(hole binary64 (sqrt l)))
#s(approx l #s(hole binary64 l))
#s(approx (sqrt l) #s(hole binary64 (* -1 (* (sqrt l) (pow (sqrt -1) 2)))))
Calls

12 calls:

TimeVariablePointExpression
10.0ms
V
@inf
((* c0 (/ (sqrt A) (* (sqrt l) (sqrt V)))) c0 (/ (sqrt A) (* (sqrt l) (sqrt V))) (sqrt A) A (* (sqrt l) (sqrt V)) (sqrt l) l (sqrt V) V (* c0 (/ (sqrt (/ A V)) (sqrt l))) (/ (sqrt (/ A V)) (sqrt l)) (sqrt (/ A V)) (/ A V) (/ (* c0 (sqrt A)) (sqrt (* l V))) (* c0 (sqrt A)) (sqrt (* l V)) (* l V))
6.0ms
A
@-inf
((* c0 (/ (sqrt A) (* (sqrt l) (sqrt V)))) c0 (/ (sqrt A) (* (sqrt l) (sqrt V))) (sqrt A) A (* (sqrt l) (sqrt V)) (sqrt l) l (sqrt V) V (* c0 (/ (sqrt (/ A V)) (sqrt l))) (/ (sqrt (/ A V)) (sqrt l)) (sqrt (/ A V)) (/ A V) (/ (* c0 (sqrt A)) (sqrt (* l V))) (* c0 (sqrt A)) (sqrt (* l V)) (* l V))
3.0ms
V
@-inf
((* c0 (/ (sqrt A) (* (sqrt l) (sqrt V)))) c0 (/ (sqrt A) (* (sqrt l) (sqrt V))) (sqrt A) A (* (sqrt l) (sqrt V)) (sqrt l) l (sqrt V) V (* c0 (/ (sqrt (/ A V)) (sqrt l))) (/ (sqrt (/ A V)) (sqrt l)) (sqrt (/ A V)) (/ A V) (/ (* c0 (sqrt A)) (sqrt (* l V))) (* c0 (sqrt A)) (sqrt (* l V)) (* l V))
3.0ms
l
@-inf
((* c0 (/ (sqrt A) (* (sqrt l) (sqrt V)))) c0 (/ (sqrt A) (* (sqrt l) (sqrt V))) (sqrt A) A (* (sqrt l) (sqrt V)) (sqrt l) l (sqrt V) V (* c0 (/ (sqrt (/ A V)) (sqrt l))) (/ (sqrt (/ A V)) (sqrt l)) (sqrt (/ A V)) (/ A V) (/ (* c0 (sqrt A)) (sqrt (* l V))) (* c0 (sqrt A)) (sqrt (* l V)) (* l V))
2.0ms
A
@inf
((* c0 (/ (sqrt A) (* (sqrt l) (sqrt V)))) c0 (/ (sqrt A) (* (sqrt l) (sqrt V))) (sqrt A) A (* (sqrt l) (sqrt V)) (sqrt l) l (sqrt V) V (* c0 (/ (sqrt (/ A V)) (sqrt l))) (/ (sqrt (/ A V)) (sqrt l)) (sqrt (/ A V)) (/ A V) (/ (* c0 (sqrt A)) (sqrt (* l V))) (* c0 (sqrt A)) (sqrt (* l V)) (* l V))

rewrite31.0ms (1.2%)

Memory
-3.9MiB live, 40.7MiB allocated; 5ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
092514
0114431
0233431
Stop Event
iter-limit
iter-limit
iter-limit
unsound
iter-limit
Counts
51 → 89
Calls
Call 1
Inputs
(*.f64 c0 (/.f64 (sqrt.f64 A) (*.f64 (sqrt.f64 l) (sqrt.f64 V))))
c0
(/.f64 (sqrt.f64 A) (*.f64 (sqrt.f64 l) (sqrt.f64 V)))
(sqrt.f64 A)
A
(*.f64 (sqrt.f64 l) (sqrt.f64 V))
(sqrt.f64 l)
l
(sqrt.f64 V)
V
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))
(sqrt.f64 (/.f64 A V))
(/.f64 A V)
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))
(*.f64 c0 (sqrt.f64 A))
(sqrt.f64 (*.f64 l V))
(*.f64 l V)
#s(approx (* c0 (/ (sqrt A) (* (sqrt l) (sqrt V)))) #s(hole binary64 (* (sqrt (/ A (* V l))) c0)))
#s(approx c0 #s(hole binary64 c0))
#s(approx (* c0 (/ (sqrt (/ A V)) (sqrt l))) #s(hole binary64 (* (sqrt (/ A (* V l))) c0)))
#s(approx (/ (* c0 (sqrt A)) (sqrt (* l V))) #s(hole binary64 (* (sqrt (/ A (* V l))) c0)))
#s(approx (* c0 (sqrt A)) #s(hole binary64 (* (sqrt A) c0)))
#s(approx (/ (sqrt A) (* (sqrt l) (sqrt V))) #s(hole binary64 (sqrt (/ A (* V l)))))
#s(approx (sqrt A) #s(hole binary64 (sqrt A)))
#s(approx A #s(hole binary64 A))
#s(approx (/ (sqrt (/ A V)) (sqrt l)) #s(hole binary64 (sqrt (/ A (* V l)))))
#s(approx (sqrt (/ A V)) #s(hole binary64 (sqrt (/ A V))))
#s(approx (/ A V) #s(hole binary64 (/ A V)))
#s(approx (* c0 (/ (sqrt A) (* (sqrt l) (sqrt V)))) #s(hole binary64 (* -1 (* (sqrt (/ A (* V l))) (* c0 (pow (sqrt -1) 2))))))
#s(approx (/ (sqrt A) (* (sqrt l) (sqrt V))) #s(hole binary64 (* -1 (* (sqrt (/ A (* V l))) (pow (sqrt -1) 2)))))
#s(approx (sqrt A) #s(hole binary64 (* -1 (* (sqrt A) (pow (sqrt -1) 2)))))
#s(approx (* c0 (/ (sqrt (/ A V)) (sqrt l))) #s(hole binary64 (* -1 (* (sqrt (/ A (* V l))) (* c0 (pow (sqrt -1) 2))))))
#s(approx (/ (sqrt (/ A V)) (sqrt l)) #s(hole binary64 (* -1 (* (sqrt (/ A (* V l))) (pow (sqrt -1) 2)))))
#s(approx (sqrt (/ A V)) #s(hole binary64 (* -1 (* (sqrt (/ A V)) (pow (sqrt -1) 2)))))
#s(approx (/ (* c0 (sqrt A)) (sqrt (* l V))) #s(hole binary64 (* -1 (* (sqrt (/ A (* V l))) (* c0 (pow (sqrt -1) 2))))))
#s(approx (* c0 (sqrt A)) #s(hole binary64 (* -1 (* (sqrt A) (* c0 (pow (sqrt -1) 2))))))
#s(approx (* (sqrt l) (sqrt V)) #s(hole binary64 (sqrt (* V l))))
#s(approx (sqrt V) #s(hole binary64 (sqrt V)))
#s(approx V #s(hole binary64 V))
#s(approx (sqrt (* l V)) #s(hole binary64 (sqrt (* V l))))
#s(approx (* l V) #s(hole binary64 (* V l)))
#s(approx (* (sqrt l) (sqrt V)) #s(hole binary64 (* -1 (* (sqrt (* V l)) (pow (sqrt -1) 2)))))
#s(approx (sqrt V) #s(hole binary64 (* -1 (* (sqrt V) (pow (sqrt -1) 2)))))
#s(approx (* c0 (/ (sqrt (/ A V)) (sqrt l))) #s(hole binary64 (* (sqrt (/ A (* V l))) (* c0 (pow (sqrt -1) 2)))))
#s(approx (/ (sqrt (/ A V)) (sqrt l)) #s(hole binary64 (* (sqrt (/ A (* V l))) (pow (sqrt -1) 2))))
#s(approx (sqrt (/ A V)) #s(hole binary64 (* (sqrt (/ A V)) (pow (sqrt -1) 2))))
#s(approx (sqrt (* l V)) #s(hole binary64 (* -1 (* (sqrt (* V l)) (pow (sqrt -1) 2)))))
#s(approx (sqrt l) #s(hole binary64 (sqrt l)))
#s(approx l #s(hole binary64 l))
#s(approx (sqrt l) #s(hole binary64 (* -1 (* (sqrt l) (pow (sqrt -1) 2)))))
Outputs
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 A) c0)) (neg.f64 (sqrt.f64 (*.f64 V l))))
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
c0
(pow.f64 (/.f64 (/.f64 A V) l) #s(literal 1/2 binary64))
(/.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 l)) (sqrt.f64 V))
(/.f64 (neg.f64 (sqrt.f64 A)) (neg.f64 (sqrt.f64 (*.f64 V l))))
(/.f64 (neg.f64 (sqrt.f64 (/.f64 A V))) (neg.f64 (sqrt.f64 l)))
(/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))
(/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))
(sqrt.f64 (/.f64 (/.f64 A V) l))
(pow.f64 A #s(literal 1/2 binary64))
(sqrt.f64 A)
A
(*.f64 (sqrt.f64 V) (sqrt.f64 l))
(*.f64 (sqrt.f64 l) (sqrt.f64 V))
(pow.f64 (*.f64 V l) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 V l))
(pow.f64 l #s(literal 1/2 binary64))
(sqrt.f64 l)
l
(pow.f64 V #s(literal 1/2 binary64))
(sqrt.f64 V)
V
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 A) c0)) (neg.f64 (sqrt.f64 (*.f64 V l))))
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
(pow.f64 (/.f64 (/.f64 A V) l) #s(literal 1/2 binary64))
(/.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 l)) (sqrt.f64 V))
(/.f64 (neg.f64 (sqrt.f64 A)) (neg.f64 (sqrt.f64 (*.f64 V l))))
(/.f64 (neg.f64 (sqrt.f64 (/.f64 A V))) (neg.f64 (sqrt.f64 l)))
(/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))
(/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l)))
(sqrt.f64 (/.f64 (/.f64 A V) l))
(pow.f64 (/.f64 A V) #s(literal 1/2 binary64))
(/.f64 (sqrt.f64 A) (sqrt.f64 V))
(sqrt.f64 (/.f64 A V))
(/.f64 (neg.f64 A) (neg.f64 V))
(/.f64 A V)
(*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 A) c0)) (neg.f64 (sqrt.f64 (*.f64 V l))))
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
(*.f64 (sqrt.f64 A) c0)
(*.f64 c0 (sqrt.f64 A))
(*.f64 (sqrt.f64 V) (sqrt.f64 l))
(*.f64 (sqrt.f64 l) (sqrt.f64 V))
(pow.f64 (*.f64 V l) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 V l))
(*.f64 V l)
(*.f64 l V)
#s(approx (* c0 (/ (sqrt A) (* (sqrt l) (sqrt V)))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))
#s(approx c0 c0)
#s(approx (* c0 (/ (sqrt A) (* (sqrt l) (sqrt V)))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))
#s(approx (* c0 (/ (sqrt A) (* (sqrt l) (sqrt V)))) (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))
#s(approx (* c0 (sqrt A)) (*.f64 (sqrt.f64 A) c0))
#s(approx (/ (sqrt A) (* (sqrt l) (sqrt V))) (sqrt.f64 (/.f64 (/.f64 A V) l)))
#s(approx (sqrt A) (sqrt.f64 A))
#s(approx A A)
#s(approx (/ (sqrt A) (* (sqrt l) (sqrt V))) (sqrt.f64 (/.f64 (/.f64 A V) l)))
#s(approx (sqrt (/ A V)) (sqrt.f64 (/.f64 A V)))
#s(approx (/ A V) (/.f64 A V))
#s(approx (* c0 (/ (sqrt A) (* (sqrt l) (sqrt V)))) (neg.f64 (*.f64 (*.f64 #s(literal -1 binary64) c0) (sqrt.f64 (/.f64 (/.f64 A V) l)))))
#s(approx (/ (sqrt A) (* (sqrt l) (sqrt V))) (neg.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 (/.f64 (/.f64 A V) l)))))
#s(approx (sqrt A) (neg.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 A))))
#s(approx (* c0 (/ (sqrt A) (* (sqrt l) (sqrt V)))) (neg.f64 (*.f64 (*.f64 #s(literal -1 binary64) c0) (sqrt.f64 (/.f64 (/.f64 A V) l)))))
#s(approx (/ (sqrt A) (* (sqrt l) (sqrt V))) (neg.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 (/.f64 (/.f64 A V) l)))))
#s(approx (sqrt (/ A V)) (neg.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 (/.f64 A V)))))
#s(approx (* c0 (/ (sqrt A) (* (sqrt l) (sqrt V)))) (neg.f64 (*.f64 (*.f64 #s(literal -1 binary64) c0) (sqrt.f64 (/.f64 (/.f64 A V) l)))))
#s(approx (* c0 (sqrt A)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 A) c0) #s(literal -1 binary64))))
#s(approx (* (sqrt l) (sqrt V)) (sqrt.f64 (*.f64 V l)))
#s(approx (sqrt V) (sqrt.f64 V))
#s(approx V V)
#s(approx (* (sqrt l) (sqrt V)) (sqrt.f64 (*.f64 V l)))
#s(approx (* l V) (*.f64 V l))
#s(approx (* (sqrt l) (sqrt V)) (neg.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 (*.f64 V l)))))
#s(approx (sqrt V) (neg.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 V))))
#s(approx (* c0 (/ (sqrt A) (* (sqrt l) (sqrt V)))) (*.f64 (*.f64 #s(literal -1 binary64) c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))
#s(approx (/ (sqrt A) (* (sqrt l) (sqrt V))) (*.f64 #s(literal -1 binary64) (sqrt.f64 (/.f64 (/.f64 A V) l))))
#s(approx (sqrt (/ A V)) (*.f64 #s(literal -1 binary64) (sqrt.f64 (/.f64 A V))))
#s(approx (* (sqrt l) (sqrt V)) (neg.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 (*.f64 V l)))))
#s(approx (sqrt l) (sqrt.f64 l))
#s(approx l l)
#s(approx (sqrt l) (neg.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 l))))

eval4.0ms (0.1%)

Memory
8.9MiB live, 8.9MiB allocated; 0ms collecting garbage
Compiler

Compiled 750 to 207 computations (72.4% saved)

prune3.0ms (0.1%)

Memory
5.9MiB live, 5.9MiB allocated; 0ms collecting garbage
Pruning

7 alts after pruning (1 fresh and 6 done)

PrunedKeptTotal
New58159
Fresh000
Picked033
Done033
Total58765
Accuracy
88.0%
Counts
65 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
39.7%
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))
21.5%
(*.f64 c0 (/.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 l)) (sqrt.f64 V)))
58.1%
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
21.5%
(*.f64 c0 (/.f64 (sqrt.f64 A) (*.f64 (sqrt.f64 l) (sqrt.f64 V))))
41.2%
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))))
72.5%
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
70.4%
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Compiler

Compiled 63 to 63 computations (0% saved)

series18.0ms (0.7%)

Memory
-6.7MiB live, 37.2MiB allocated; 4ms collecting garbage
Counts
10 → 16
Calls
Call 1
Inputs
(*.f64 c0 (/.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 l)) (sqrt.f64 V)))
c0
(/.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 l)) (sqrt.f64 V))
(/.f64 (sqrt.f64 A) (sqrt.f64 l))
(sqrt.f64 A)
A
(sqrt.f64 l)
l
(sqrt.f64 V)
V
Outputs
#s(approx (* c0 (/ (/ (sqrt A) (sqrt l)) (sqrt V))) #s(hole binary64 (* (sqrt (/ A (* V l))) c0)))
#s(approx c0 #s(hole binary64 c0))
#s(approx (/ (/ (sqrt A) (sqrt l)) (sqrt V)) #s(hole binary64 (sqrt (/ A (* V l)))))
#s(approx (/ (sqrt A) (sqrt l)) #s(hole binary64 (sqrt (/ A l))))
#s(approx (sqrt A) #s(hole binary64 (sqrt A)))
#s(approx A #s(hole binary64 A))
#s(approx (* c0 (/ (/ (sqrt A) (sqrt l)) (sqrt V))) #s(hole binary64 (* -1 (* (sqrt (/ A (* V l))) (* c0 (pow (sqrt -1) 2))))))
#s(approx (/ (/ (sqrt A) (sqrt l)) (sqrt V)) #s(hole binary64 (* -1 (* (sqrt (/ A (* V l))) (pow (sqrt -1) 2)))))
#s(approx (/ (sqrt A) (sqrt l)) #s(hole binary64 (* -1 (* (sqrt (/ A l)) (pow (sqrt -1) 2)))))
#s(approx (sqrt A) #s(hole binary64 (* -1 (* (sqrt A) (pow (sqrt -1) 2)))))
#s(approx (sqrt V) #s(hole binary64 (sqrt V)))
#s(approx V #s(hole binary64 V))
#s(approx (sqrt V) #s(hole binary64 (* -1 (* (sqrt V) (pow (sqrt -1) 2)))))
#s(approx (sqrt l) #s(hole binary64 (sqrt l)))
#s(approx l #s(hole binary64 l))
#s(approx (sqrt l) #s(hole binary64 (* -1 (* (sqrt l) (pow (sqrt -1) 2)))))
Calls

12 calls:

TimeVariablePointExpression
6.0ms
A
@-inf
((* c0 (/ (/ (sqrt A) (sqrt l)) (sqrt V))) c0 (/ (/ (sqrt A) (sqrt l)) (sqrt V)) (/ (sqrt A) (sqrt l)) (sqrt A) A (sqrt l) l (sqrt V) V)
2.0ms
l
@-inf
((* c0 (/ (/ (sqrt A) (sqrt l)) (sqrt V))) c0 (/ (/ (sqrt A) (sqrt l)) (sqrt V)) (/ (sqrt A) (sqrt l)) (sqrt A) A (sqrt l) l (sqrt V) V)
2.0ms
V
@-inf
((* c0 (/ (/ (sqrt A) (sqrt l)) (sqrt V))) c0 (/ (/ (sqrt A) (sqrt l)) (sqrt V)) (/ (sqrt A) (sqrt l)) (sqrt A) A (sqrt l) l (sqrt V) V)
1.0ms
A
@inf
((* c0 (/ (/ (sqrt A) (sqrt l)) (sqrt V))) c0 (/ (/ (sqrt A) (sqrt l)) (sqrt V)) (/ (sqrt A) (sqrt l)) (sqrt A) A (sqrt l) l (sqrt V) V)
1.0ms
l
@0
((* c0 (/ (/ (sqrt A) (sqrt l)) (sqrt V))) c0 (/ (/ (sqrt A) (sqrt l)) (sqrt V)) (/ (sqrt A) (sqrt l)) (sqrt A) A (sqrt l) l (sqrt V) V)

rewrite25.0ms (1%)

Memory
-4.6MiB live, 41.6MiB allocated; 3ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
055205
061172
0145172
Stop Event
iter-limit
iter-limit
iter-limit
unsound
iter-limit
Counts
26 → 36
Calls
Call 1
Inputs
(*.f64 c0 (/.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 l)) (sqrt.f64 V)))
c0
(/.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 l)) (sqrt.f64 V))
(/.f64 (sqrt.f64 A) (sqrt.f64 l))
(sqrt.f64 A)
A
(sqrt.f64 l)
l
(sqrt.f64 V)
V
#s(approx (* c0 (/ (/ (sqrt A) (sqrt l)) (sqrt V))) #s(hole binary64 (* (sqrt (/ A (* V l))) c0)))
#s(approx c0 #s(hole binary64 c0))
#s(approx (/ (/ (sqrt A) (sqrt l)) (sqrt V)) #s(hole binary64 (sqrt (/ A (* V l)))))
#s(approx (/ (sqrt A) (sqrt l)) #s(hole binary64 (sqrt (/ A l))))
#s(approx (sqrt A) #s(hole binary64 (sqrt A)))
#s(approx A #s(hole binary64 A))
#s(approx (* c0 (/ (/ (sqrt A) (sqrt l)) (sqrt V))) #s(hole binary64 (* -1 (* (sqrt (/ A (* V l))) (* c0 (pow (sqrt -1) 2))))))
#s(approx (/ (/ (sqrt A) (sqrt l)) (sqrt V)) #s(hole binary64 (* -1 (* (sqrt (/ A (* V l))) (pow (sqrt -1) 2)))))
#s(approx (/ (sqrt A) (sqrt l)) #s(hole binary64 (* -1 (* (sqrt (/ A l)) (pow (sqrt -1) 2)))))
#s(approx (sqrt A) #s(hole binary64 (* -1 (* (sqrt A) (pow (sqrt -1) 2)))))
#s(approx (sqrt V) #s(hole binary64 (sqrt V)))
#s(approx V #s(hole binary64 V))
#s(approx (sqrt V) #s(hole binary64 (* -1 (* (sqrt V) (pow (sqrt -1) 2)))))
#s(approx (sqrt l) #s(hole binary64 (sqrt l)))
#s(approx l #s(hole binary64 l))
#s(approx (sqrt l) #s(hole binary64 (* -1 (* (sqrt l) (pow (sqrt -1) 2)))))
Outputs
(*.f64 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)) c0)
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)))
(/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l))) (sqrt.f64 V))
c0
(/.f64 (neg.f64 (sqrt.f64 (/.f64 A l))) (neg.f64 (sqrt.f64 V)))
(/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V))
(/.f64 (sqrt.f64 A) (*.f64 (sqrt.f64 l) (sqrt.f64 V)))
(pow.f64 (/.f64 A l) #s(literal 1/2 binary64))
(/.f64 (neg.f64 (sqrt.f64 A)) (neg.f64 (sqrt.f64 l)))
(/.f64 (sqrt.f64 A) (sqrt.f64 l))
(sqrt.f64 (/.f64 A l))
(pow.f64 A #s(literal 1/2 binary64))
(sqrt.f64 A)
A
(pow.f64 l #s(literal 1/2 binary64))
(sqrt.f64 l)
l
(pow.f64 V #s(literal 1/2 binary64))
(sqrt.f64 V)
V
#s(approx (* c0 (/ (/ (sqrt A) (sqrt l)) (sqrt V))) (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))
#s(approx c0 c0)
#s(approx (/ (/ (sqrt A) (sqrt l)) (sqrt V)) (sqrt.f64 (/.f64 A (*.f64 V l))))
#s(approx (/ (sqrt A) (sqrt l)) (sqrt.f64 (/.f64 A l)))
#s(approx (sqrt A) (sqrt.f64 A))
#s(approx A A)
#s(approx (* c0 (/ (/ (sqrt A) (sqrt l)) (sqrt V))) (neg.f64 (*.f64 (*.f64 #s(literal -1 binary64) c0) (sqrt.f64 (/.f64 A (*.f64 V l))))))
#s(approx (/ (/ (sqrt A) (sqrt l)) (sqrt V)) (neg.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 (/.f64 A (*.f64 V l))))))
#s(approx (/ (sqrt A) (sqrt l)) (neg.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 (/.f64 A l)))))
#s(approx (sqrt A) (neg.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 A))))
#s(approx (sqrt V) (sqrt.f64 V))
#s(approx V V)
#s(approx (sqrt V) (neg.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 V))))
#s(approx (sqrt l) (sqrt.f64 l))
#s(approx l l)
#s(approx (sqrt l) (neg.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 l))))

eval2.0ms (0.1%)

Memory
4.4MiB live, 4.4MiB allocated; 0ms collecting garbage
Compiler

Compiled 357 to 114 computations (68.1% saved)

prune3.0ms (0.1%)

Memory
9.5MiB live, 9.5MiB allocated; 0ms collecting garbage
Pruning

9 alts after pruning (2 fresh and 7 done)

PrunedKeptTotal
New25227
Fresh000
Picked011
Done066
Total25934
Accuracy
91.9%
Counts
34 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
15.5%
(/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l))) (sqrt.f64 V))
39.7%
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))
17.2%
(*.f64 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)) c0)
21.5%
(*.f64 c0 (/.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 l)) (sqrt.f64 V)))
58.1%
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
21.5%
(*.f64 c0 (/.f64 (sqrt.f64 A) (*.f64 (sqrt.f64 l) (sqrt.f64 V))))
41.2%
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))))
72.5%
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
70.4%
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Compiler

Compiled 162 to 117 computations (27.8% saved)

regimes30.0ms (1.2%)

Memory
12.1MiB live, 65.5MiB allocated; 7ms collecting garbage
Counts
9 → 4
Calls
Call 1
Inputs
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))))
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(*.f64 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)) c0)
(/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l))) (sqrt.f64 V))
(*.f64 c0 (/.f64 (sqrt.f64 A) (*.f64 (sqrt.f64 l) (sqrt.f64 V))))
(*.f64 c0 (/.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 l)) (sqrt.f64 V)))
Outputs
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))))
(*.f64 c0 (/.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 l)) (sqrt.f64 V)))
Calls

8 calls:

10.0ms
A
3.0ms
l
3.0ms
c0
3.0ms
V
3.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Results
AccuracySegmentsBranch
85.7%4(*.f64 V l)
79.2%3(/.f64 A (*.f64 V l))
79.2%3(sqrt.f64 (/.f64 A (*.f64 V l)))
79.2%3(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
72.5%1c0
81.9%2A
78.1%2V
82.3%2l
Compiler

Compiled 26 to 42 computations (-61.5% saved)

regimes4.0ms (0.2%)

Memory
-39.0MiB live, 8.1MiB allocated; 2ms collecting garbage
Counts
8 → 4
Calls
Call 1
Inputs
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))))
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(*.f64 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)) c0)
(/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l))) (sqrt.f64 V))
(*.f64 c0 (/.f64 (sqrt.f64 A) (*.f64 (sqrt.f64 l) (sqrt.f64 V))))
Outputs
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))))
(*.f64 c0 (/.f64 (sqrt.f64 A) (*.f64 (sqrt.f64 l) (sqrt.f64 V))))
Calls

1 calls:

4.0ms
(*.f64 V l)
Results
AccuracySegmentsBranch
85.7%4(*.f64 V l)
Compiler

Compiled 3 to 5 computations (-66.7% saved)

regimes5.0ms (0.2%)

Memory
13.5MiB live, 13.5MiB allocated; 0ms collecting garbage
Counts
7 → 2
Calls
Call 1
Inputs
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))))
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(*.f64 (/.f64 (sqrt.f64 (/.f64 A l)) (sqrt.f64 V)) c0)
(/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A l))) (sqrt.f64 V))
Outputs
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))))
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
Calls

2 calls:

2.0ms
l
2.0ms
(*.f64 V l)
Results
AccuracySegmentsBranch
82.3%2l
83.4%3(*.f64 V l)
Compiler

Compiled 4 to 9 computations (-125% saved)

regimes13.0ms (0.5%)

Memory
-15.9MiB live, 31.2MiB allocated; 2ms collecting garbage
Counts
4 → 4
Calls
Call 1
Inputs
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))))
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))
Outputs
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))))
Calls

7 calls:

3.0ms
(/.f64 A (*.f64 V l))
2.0ms
(*.f64 V l)
2.0ms
l
2.0ms
A
2.0ms
V
Results
AccuracySegmentsBranch
77.5%3(/.f64 A (*.f64 V l))
77.5%3(sqrt.f64 (/.f64 A (*.f64 V l)))
77.5%3(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
72.5%1V
80.7%4(*.f64 V l)
75.9%2A
75.2%2l
Compiler

Compiled 25 to 38 computations (-52% saved)

regimes4.0ms (0.2%)

Memory
8.9MiB live, 8.9MiB allocated; 0ms collecting garbage
Counts
2 → 3
Calls
Call 1
Inputs
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
Outputs
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
Calls

3 calls:

1.0ms
A
1.0ms
(*.f64 V l)
1.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Results
AccuracySegmentsBranch
77.5%3(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
72.5%1A
75.8%3(*.f64 V l)
Compiler

Compiled 12 to 17 computations (-41.7% saved)

regimes8.0ms (0.3%)

Memory
19.6MiB live, 19.6MiB allocated; 0ms collecting garbage
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Outputs
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Calls

8 calls:

1.0ms
l
1.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
1.0ms
V
1.0ms
A
1.0ms
c0
Results
AccuracySegmentsBranch
70.4%1c0
70.4%1V
70.4%1A
70.4%1(*.f64 V l)
70.4%1l
70.4%1(/.f64 A (*.f64 V l))
70.4%1(sqrt.f64 (/.f64 A (*.f64 V l)))
70.4%1(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Compiler

Compiled 26 to 42 computations (-61.5% saved)

bsearch1.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
5.090463823211704e+303
1.7209752760187253e+308
0.0ms
3.343285136455944e-269
2.1119850183899118e-259
0.0ms
-9.147281915441305e-276
-1.8458094786938232e-277
Compiler

Compiled 11 to 15 computations (-36.4% saved)

bsearch1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
5.574541600145612e+294
6.303254455213429e+299
0.0ms
3.343285136455944e-269
2.1119850183899118e-259
0.0ms
-9.147281915441305e-276
-1.8458094786938232e-277
Compiler

Compiled 11 to 15 computations (-36.4% saved)

bsearch42.0ms (1.7%)

Memory
-3.9MiB live, 43.1MiB allocated; 1ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
39.0ms
-1.45735608132889e-307
7.329896648631066e-301
Samples
22.0ms226×0invalid
7.0ms144×0valid
Compiler

Compiled 173 to 195 computations (-12.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-mult!: 14.0ms (76.8% of total)
ival-sqrt: 3.0ms (16.5% of total)
ival-div!: 2.0ms (11% of total)
adjust: 0.0ms (0% of total)

bsearch1.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.343285136455944e-269
2.1119850183899118e-259
0.0ms
-3.024677756915411e-244
-1.814934007410594e-264
0.0ms
-2.2657946992963445e+157
-2.4747976160324e+141
Compiler

Compiled 11 to 15 computations (-36.4% saved)

bsearch0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
4.17484195134368e+150
6.2814056096438214e+150
0.0ms
7.141056513524416e-280
4.367491272143922e-279
Compiler

Compiled 11 to 15 computations (-36.4% saved)

derivations6.0ms (0.2%)

Memory
8.0MiB live, 8.0MiB allocated; 0ms collecting garbage
Stop Event
fuel
Compiler

Compiled 235 to 58 computations (75.3% saved)

preprocess83.0ms (3.3%)

Memory
2.5MiB live, 141.8MiB allocated; 14ms collecting garbage
Remove

(sort V l)

(negabs c0)

Compiler

Compiled 1 545 to 800 computations (48.2% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...