Henrywood and Agarwal, Equation (3)

Time bar (total: 2.6s)

start0.0ms (0%)

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

analyze296.0ms (11.4%)

Memory
7.7MiB live, 332.3MiB allocated; 128ms 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.8s (69.3%)

Memory
-40.1MiB live, 2 329.7MiB allocated; 351ms collecting garbage
Samples
612.0ms8 256×0valid
577.0ms6 826×0invalid
Precisions
Click to see histograms. Total time spent on operations: 537.0ms
ival-mult: 251.0ms (46.7% of total)
ival-sqrt: 149.0ms (27.7% of total)
ival-div: 128.0ms (23.8% of total)
adjust: 5.0ms (0.9% of total)
ival-assert: 5.0ms (0.9% of total)
Bogosity

explain95.0ms (3.7%)

Memory
-5.4MiB live, 133.2MiB allocated; 10ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
710-3(8.351420856857886e-157 -1.1629646854742723e-36 1.7073491485839242e+160 -3.26921393354149e+116)(sqrt.f64 (/.f64 A (*.f64 V l)))
180-0-(/.f64 A (*.f64 V l))
60-2(-1.6582049012954758e+146 -2.9289562925569213e-230 -4.9359903768583265e+246 2.648894666381321e+167)(*.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)))uflow-rescue400
(sqrt.f64 (/.f64 A (*.f64 V l)))underflow5
(/.f64 A (*.f64 V l))underflow45
(*.f64 V l)underflow27
sqrt.f64(sqrt.f64 (/.f64 A (*.f64 V l)))oflow-rescue280
(sqrt.f64 (/.f64 A (*.f64 V l)))overflow6
(/.f64 A (*.f64 V l))overflow34
(*.f64 V l)overflow34
/.f64(/.f64 A (*.f64 V l))n/u100
(*.f64 V l)underflow27
/.f64(/.f64 A (*.f64 V l))n/o80
(*.f64 V l)overflow34
*.f64(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))n*o30
*.f64(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))n*u10
Confusion
Predicted +Predicted -
+662
-24164
Precision
0.7333333333333333
Recall
0.9705882352941176
Confusion?
Predicted +Predicted MaybePredicted -
+6602
-240164
Precision?
0.7333333333333333
Recall?
0.9705882352941176
Freqs
test
numberfreq
0166
190
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
40.0ms512×0valid
Compiler

Compiled 64 to 28 computations (56.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 23.0ms
ival-div: 12.0ms (51.3% of total)
ival-mult: 7.0ms (29.9% of total)
ival-sqrt: 4.0ms (17.1% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess26.0ms (1%)

Memory
-8.7MiB live, 45.2MiB allocated; 9ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
051130
1102130
2126130
3164130
4212130
5271130
6337130
7400130
8472130
9487130
10502130
088
0128
1168
2188
0188
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Outputs
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
(*.f64 (sqrt.f64 (/.f64 A (*.f64 l V))) c0)
Symmetry

(negabs c0)

(sort V l)

Compiler

Compiled 8 to 8 computations (0% saved)

eval0.0ms (0%)

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

Compiled 0 to 4 computations (-∞% saved)

prune1.0ms (0%)

Memory
1.6MiB live, 1.6MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.8%
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Compiler

Compiled 8 to 8 computations (0% saved)

series18.0ms (0.7%)

Memory
33.3MiB live, 33.3MiB 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
A
@-inf
((* 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
l
@-inf
((* c0 (sqrt (/ A (* V l)))) c0 (sqrt (/ A (* V l))) (/ A (* V l)) A (* V l) V l)

rewrite31.0ms (1.2%)

Memory
-7.3MiB live, 37.3MiB allocated; 10ms 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.8MiB live, 4.8MiB allocated; 0ms collecting garbage
Compiler

Compiled 288 to 71 computations (75.3% saved)

prune3.0ms (0.1%)

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

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New24226
Fresh000
Picked011
Done000
Total24327
Accuracy
87.0%
Counts
27 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
43.6%
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))))
74.0%
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
74.8%
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Compiler

Compiled 25 to 25 computations (0% saved)

series23.0ms (0.9%)

Memory
-4.0MiB live, 42.3MiB allocated; 5ms 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
5.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))
4.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))
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))
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))

rewrite25.0ms (1%)

Memory
-18.9MiB live, 27.0MiB allocated; 5ms 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)

eval4.0ms (0.1%)

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

Compiled 559 to 140 computations (75% saved)

prune3.0ms (0.1%)

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

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New48351
Fresh000
Picked022
Done011
Total48654
Accuracy
93.6%
Counts
54 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
43.1%
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))
68.6%
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
28.4%
(*.f64 c0 (/.f64 (sqrt.f64 A) (*.f64 (sqrt.f64 l) (sqrt.f64 V))))
43.6%
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))))
74.0%
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
74.8%
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Compiler

Compiled 53 to 53 computations (0% saved)

series28.0ms (1.1%)

Memory
0.0MiB live, 51.5MiB 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
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))
2.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))
1.0ms
c0
@-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))

rewrite26.0ms (1%)

Memory
-6.2MiB live, 40.7MiB allocated; 3ms 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))))

eval5.0ms (0.2%)

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

Compiled 981 to 211 computations (78.5% saved)

prune7.0ms (0.3%)

Memory
-34.8MiB live, 12.1MiB allocated; 3ms collecting garbage
Pruning

7 alts after pruning (1 fresh and 6 done)

PrunedKeptTotal
New83184
Fresh000
Picked033
Done033
Total83790
Accuracy
93.6%
Counts
90 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
66.2%
(/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l))
43.1%
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))
68.6%
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
28.4%
(*.f64 c0 (/.f64 (sqrt.f64 A) (*.f64 (sqrt.f64 l) (sqrt.f64 V))))
43.6%
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))))
74.0%
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
74.8%
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Compiler

Compiled 62 to 62 computations (0% saved)

series15.0ms (0.6%)

Memory
30.0MiB live, 30.0MiB allocated; 0ms collecting garbage
Counts
9 → 16
Calls
Call 1
Inputs
(/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l))
(*.f64 c0 (sqrt.f64 (/.f64 A V)))
c0
(sqrt.f64 (/.f64 A V))
(/.f64 A V)
A
V
(sqrt.f64 l)
l
Outputs
#s(approx (/ (* c0 (sqrt (/ A V))) (sqrt l)) #s(hole binary64 (* (sqrt (/ A (* V l))) c0)))
#s(approx (* c0 (sqrt (/ A V))) #s(hole binary64 (* (sqrt (/ A V)) c0)))
#s(approx c0 #s(hole binary64 c0))
#s(approx (sqrt (/ A V)) #s(hole binary64 (sqrt (/ A V))))
#s(approx (/ A V) #s(hole binary64 (/ A V)))
#s(approx A #s(hole binary64 A))
#s(approx (/ (* c0 (sqrt (/ A V))) (sqrt l)) #s(hole binary64 (* -1 (* (sqrt (/ A (* V l))) (* c0 (pow (sqrt -1) 2))))))
#s(approx (* c0 (sqrt (/ A V))) #s(hole binary64 (* -1 (* (sqrt (/ A V)) (* c0 (pow (sqrt -1) 2))))))
#s(approx (sqrt (/ A V)) #s(hole binary64 (* -1 (* (sqrt (/ A V)) (pow (sqrt -1) 2)))))
#s(approx V #s(hole binary64 V))
#s(approx (/ (* c0 (sqrt (/ A V))) (sqrt l)) #s(hole binary64 (* (sqrt (/ A (* V l))) (* c0 (pow (sqrt -1) 2)))))
#s(approx (* c0 (sqrt (/ A V))) #s(hole binary64 (* (sqrt (/ A V)) (* c0 (pow (sqrt -1) 2)))))
#s(approx (sqrt (/ A V)) #s(hole binary64 (* (sqrt (/ A 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
2.0ms
A
@-inf
((/ (* c0 (sqrt (/ A V))) (sqrt l)) (* c0 (sqrt (/ A V))) c0 (sqrt (/ A V)) (/ A V) A V (sqrt l) l)
2.0ms
c0
@-inf
((/ (* c0 (sqrt (/ A V))) (sqrt l)) (* c0 (sqrt (/ A V))) c0 (sqrt (/ A V)) (/ A V) A V (sqrt l) l)
2.0ms
V
@-inf
((/ (* c0 (sqrt (/ A V))) (sqrt l)) (* c0 (sqrt (/ A V))) c0 (sqrt (/ A V)) (/ A V) A V (sqrt l) l)
1.0ms
A
@inf
((/ (* c0 (sqrt (/ A V))) (sqrt l)) (* c0 (sqrt (/ A V))) c0 (sqrt (/ A V)) (/ A V) A V (sqrt l) l)
1.0ms
c0
@0
((/ (* c0 (sqrt (/ A V))) (sqrt l)) (* c0 (sqrt (/ A V))) c0 (sqrt (/ A V)) (/ A V) A V (sqrt l) l)

rewrite21.0ms (0.8%)

Memory
-22.0MiB live, 25.2MiB allocated; 3ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
048220
055195
0120195
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
25 → 32
Calls
Call 1
Inputs
(/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l))
(*.f64 c0 (sqrt.f64 (/.f64 A V)))
c0
(sqrt.f64 (/.f64 A V))
(/.f64 A V)
A
V
(sqrt.f64 l)
l
#s(approx (/ (* c0 (sqrt (/ A V))) (sqrt l)) #s(hole binary64 (* (sqrt (/ A (* V l))) c0)))
#s(approx (* c0 (sqrt (/ A V))) #s(hole binary64 (* (sqrt (/ A V)) c0)))
#s(approx c0 #s(hole binary64 c0))
#s(approx (sqrt (/ A V)) #s(hole binary64 (sqrt (/ A V))))
#s(approx (/ A V) #s(hole binary64 (/ A V)))
#s(approx A #s(hole binary64 A))
#s(approx (/ (* c0 (sqrt (/ A V))) (sqrt l)) #s(hole binary64 (* -1 (* (sqrt (/ A (* V l))) (* c0 (pow (sqrt -1) 2))))))
#s(approx (* c0 (sqrt (/ A V))) #s(hole binary64 (* -1 (* (sqrt (/ A V)) (* c0 (pow (sqrt -1) 2))))))
#s(approx (sqrt (/ A V)) #s(hole binary64 (* -1 (* (sqrt (/ A V)) (pow (sqrt -1) 2)))))
#s(approx V #s(hole binary64 V))
#s(approx (/ (* c0 (sqrt (/ A V))) (sqrt l)) #s(hole binary64 (* (sqrt (/ A (* V l))) (* c0 (pow (sqrt -1) 2)))))
#s(approx (* c0 (sqrt (/ A V))) #s(hole binary64 (* (sqrt (/ A V)) (* c0 (pow (sqrt -1) 2)))))
#s(approx (sqrt (/ A V)) #s(hole binary64 (* (sqrt (/ A 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 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0)) (neg.f64 (sqrt.f64 l)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 A V)) c0) (sqrt.f64 l))
(*.f64 (sqrt.f64 (/.f64 A V)) c0)
(*.f64 c0 (sqrt.f64 (/.f64 A V)))
c0
(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)
A
V
(pow.f64 l #s(literal 1/2 binary64))
(sqrt.f64 l)
l
#s(approx (/ (* c0 (sqrt (/ A V))) (sqrt l)) (*.f64 (sqrt.f64 (/.f64 (/.f64 A V) l)) c0))
#s(approx (* c0 (sqrt (/ A V))) (*.f64 (sqrt.f64 (/.f64 A V)) c0))
#s(approx c0 c0)
#s(approx (sqrt (/ A V)) (sqrt.f64 (/.f64 A V)))
#s(approx (/ A V) (/.f64 A V))
#s(approx A A)
#s(approx (/ (* c0 (sqrt (/ A V))) (sqrt l)) (neg.f64 (*.f64 (*.f64 #s(literal -1 binary64) c0) (sqrt.f64 (/.f64 (/.f64 A V) l)))))
#s(approx (* c0 (sqrt (/ A V))) (neg.f64 (*.f64 (*.f64 #s(literal -1 binary64) c0) (sqrt.f64 (/.f64 A V)))))
#s(approx (sqrt (/ A V)) (neg.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 (/.f64 A V)))))
#s(approx V V)
#s(approx (/ (* c0 (sqrt (/ A V))) (sqrt l)) (*.f64 (*.f64 #s(literal -1 binary64) c0) (sqrt.f64 (/.f64 (/.f64 A V) l))))
#s(approx (* c0 (sqrt (/ A V))) (*.f64 (*.f64 #s(literal -1 binary64) c0) (sqrt.f64 (/.f64 A V))))
#s(approx (sqrt (/ A V)) (*.f64 #s(literal -1 binary64) (sqrt.f64 (/.f64 A 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))))

eval3.0ms (0.1%)

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

Compiled 394 to 93 computations (76.4% saved)

prune4.0ms (0.1%)

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

8 alts after pruning (1 fresh and 7 done)

PrunedKeptTotal
New31132
Fresh000
Picked011
Done066
Total31839
Accuracy
94.0%
Counts
39 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
28.0%
(/.f64 (*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 V))) (sqrt.f64 l))
66.2%
(/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l))
43.1%
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 l V)))
68.6%
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
28.4%
(*.f64 c0 (/.f64 (sqrt.f64 A) (*.f64 (sqrt.f64 l) (sqrt.f64 V))))
43.6%
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))))
74.0%
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
74.8%
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Compiler

Compiled 144 to 104 computations (27.8% saved)

regimes50.0ms (1.9%)

Memory
4.3MiB live, 56.9MiB allocated; 14ms collecting garbage
Counts
8 → 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 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l))
(*.f64 c0 (/.f64 (sqrt.f64 A) (*.f64 (sqrt.f64 l) (sqrt.f64 V))))
(/.f64 (*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 V))) (sqrt.f64 l))
Outputs
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))))
Calls

8 calls:

31.0ms
c0
3.0ms
l
3.0ms
A
3.0ms
V
2.0ms
(*.f64 V l)
Results
AccuracySegmentsBranch
88.1%2(*.f64 V l)
86.4%3(/.f64 A (*.f64 V l))
86.4%3(sqrt.f64 (/.f64 A (*.f64 V l)))
85.3%3(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
78.7%3c0
87.4%2A
83.8%3V
86.3%2l
Compiler

Compiled 26 to 42 computations (-61.5% saved)

regimes10.0ms (0.4%)

Memory
-24.2MiB live, 23.0MiB allocated; 2ms collecting garbage
Counts
4 → 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)))
Outputs
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V))))
Calls

5 calls:

3.0ms
A
2.0ms
l
2.0ms
(*.f64 V l)
2.0ms
(sqrt.f64 (/.f64 A (*.f64 V l)))
2.0ms
(/.f64 A (*.f64 V l))
Results
AccuracySegmentsBranch
80.4%3(/.f64 A (*.f64 V l))
80.4%3(sqrt.f64 (/.f64 A (*.f64 V l)))
78.0%2l
82.8%2A
83.9%2(*.f64 V l)
Compiler

Compiled 16 to 26 computations (-62.5% saved)

regimes8.0ms (0.3%)

Memory
18.1MiB live, 18.1MiB 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

6 calls:

1.0ms
V
1.0ms
A
1.0ms
(*.f64 V l)
1.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
1.0ms
(sqrt.f64 (/.f64 A (*.f64 V l)))
Results
AccuracySegmentsBranch
80.4%3(/.f64 A (*.f64 V l))
80.4%3(sqrt.f64 (/.f64 A (*.f64 V l)))
74.8%1V
77.1%2A
80.4%3(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
77.5%2(*.f64 V l)
Compiler

Compiled 24 to 34 computations (-41.7% saved)

regimes9.0ms (0.4%)

Memory
-25.8MiB live, 21.8MiB allocated; 1ms 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:

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

Compiled 26 to 42 computations (-61.5% saved)

bsearch0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.0
3.26857e-318
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
-0.0
3.26857e-318
Compiler

Compiled 11 to 15 computations (-36.4% saved)

bsearch0.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.956697712484798e+168
1.8623925186953248e+171
0.0ms
0.0
3.05105126e-316
Compiler

Compiled 11 to 15 computations (-36.4% saved)

simplify9.0ms (0.4%)

Memory
15.3MiB live, 15.3MiB allocated; 0ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03094
13394
Stop Event
saturated
Calls
Call 1
Inputs
(if (<=.f64 (*.f64 V l) #s(literal 0 binary64)) (*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))) (*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V)))))
(if (<=.f64 (*.f64 V l) #s(literal 0 binary64)) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) (*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V)))))
(if (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) #s(literal 0 binary64)) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) (if (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) #s(literal 4999999999999999669302474173714872811859751082151657593058464111538503233498018238128462162979229735854572772998492607377696904067224063966397292527018643087471925002240 binary64)) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Outputs
(if (<=.f64 (*.f64 V l) #s(literal 0 binary64)) (*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))) (*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V)))))
(if (<=.f64 (*.f64 V l) #s(literal 0 binary64)) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) (*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 l V)))))
(if (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) #s(literal 0 binary64)) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) (if (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) #s(literal 4999999999999999669302474173714872811859751082151657593058464111538503233498018238128462162979229735854572772998492607377696904067224063966397292527018643087471925002240 binary64)) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))))
(if (or (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) #s(literal 0 binary64)) (not (<=.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))) #s(literal 4999999999999999669302474173714872811859751082151657593058464111538503233498018238128462162979229735854572772998492607377696904067224063966397292527018643087471925002240 binary64)))) (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l))) (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))))
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))

derivations3.0ms (0.1%)

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

Compiled 94 to 31 computations (67% saved)

preprocess71.0ms (2.8%)

Memory
-11.7MiB live, 84.6MiB allocated; 7ms collecting garbage
Remove

(negabs c0)

Compiler

Compiled 492 to 294 computations (40.2% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...